


 



<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://docwiki.cisco.com/w/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://docwiki.cisco.com/w/index.php?title=Special:Contributions/Juliew&amp;feed=atom&amp;limit=50&amp;target=Juliew&amp;year=&amp;month=</id>
		<title>DocWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://docwiki.cisco.com/w/index.php?title=Special:Contributions/Juliew&amp;feed=atom&amp;limit=50&amp;target=Juliew&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Special:Contributions/Juliew"/>
		<updated>2013-05-18T09:50:58Z</updated>
		<subtitle>From DocWiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs</id>
		<title>Cisco Unity Connection APIs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs"/>
				<updated>2010-12-15T17:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cisco Unity Connection is a feature-rich voice messaging platform based on the same Linux operating system as Cisco Unified Communications Manager. Connection users can access voice messages by using email, web clients, mobile devices, instant messaging, and desktop clients such as Cisco Unified Personal Communicator; and can view, search, sort, and play messages on a Cisco Unified IP Phone display. Connection also provides comprehensive automated-attendant functions, including intelligent call routing and easily customizable call screen and message notification options. For more information see [http://www.cisco.com/en/US/products/ps6509/tsd_products_support_series_home.html  Cisco Unity Connection documentation on Cisco.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection includes several Representational State Transfer (REST) application programming interfaces (APIs) that provide provisioning, messaging, and telephony access to Connection. These APIs provide the ability to integrate Connection features into existing enterprise-wide provisioning management systems and messaging clients.&lt;br /&gt;
The APIs are REST interfaces that standardize operations such as add, delete, view, and modify.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Available Connection APIs ==&lt;br /&gt;
&lt;br /&gt;
'''CUPI''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API]] &lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API provides access to the most commonly provisioned data on Cisco Unity Connection systems—users, contacts, distribution lists, and call handlers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUPI for End Users''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API includes access for individual users when authenticating against user credentials. This allows for custom end-user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUMI''': [[Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Messaging Interface (CUMI) API provides access to user messages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUTI''': [[Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Telephony Interface (CUTI) API provides the ability to play and record audio content over the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUNI''': [[Cisco_Unity_Connection_Notification_Interface_(CUNI)_API]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Notification Interface (CUNI) API provides notification for one or more users. CUNI is designed for use in server-to-server applications where receiving notifications for many users over a single connection is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs</id>
		<title>Cisco Unity Connection APIs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs"/>
				<updated>2010-12-15T02:07:12Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cisco Unity Connection is a feature-rich voice messaging platform based on the same Linux operating system as Cisco Unified Communications Manager. Connection users can access voice messages by using email, web clients, mobile devices, instant messaging, and desktop clients such as Cisco Unified Personal Communicator; and can view, search, sort, and play messages on a Cisco Unified IP Phone display. Connection also provides comprehensive automated-attendant functions, including intelligent call routing and easily customizable call screen and message notification options. For more information see [http://www.cisco.com/en/US/products/ps6509/tsd_products_support_series_home.html  Cisco Unity Connection documentation on Cisco.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection includes several Representational State Transfer (REST) application programming interfaces (APIs) that provide provisioning, messaging, and telephony access to Connection. These APIs provide the ability to integrate Connection features into existing enterprise-wide provisioning management systems and messaging clients.&lt;br /&gt;
The APIs are REST interfaces that standardize operations such as add, delete, view, and modify.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Available Connection APIs ==&lt;br /&gt;
&lt;br /&gt;
'''CUPI''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API]] &lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API provides access to the most commonly provisioned data on Cisco Unity Connection systems—users, contacts, distribution lists, and call handlers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUPI for End Users''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API includes access for individual users when authenticating against user credentials. This allows for custom end-user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUMI''': [[Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Messaging Interface (CUMI) API provides access to user messages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUTI''': [[Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Telephony Interface (CUTI) API provides the ability to play and record audio content over the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUNI''': [[Cisco_Unity_Connection_Notification_Interface_(CUNI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Notification Interface (CUNI) API provides notification for one or more users. CUNI is designed for use in server-to-server applications where receiving notifications for many users over a single connection is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs"/>
				<updated>2010-12-14T19:28:20Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs|CUNI FAQs]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Where Can I Get the WSDL? == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the WSDL is the same across versions except that for 8.0 there was a '''keepAlive''' parameter added to the '''subscribe''' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Happens to Subscriptions if the Cisco Unity Connection Server Is Restarted? == &lt;br /&gt;
&lt;br /&gt;
Subscriptions are stored in the database. When Cisco Unity Connection is restarted, the Notifier reads the existing subscriptions and begins sending out notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Are There Any Unsupported Methods? == &lt;br /&gt;
&lt;br /&gt;
Yes. '''subscribeForAllResources''' is currently not supported, so users must be listed explicitly. Also there is no current support for SSL connections for callbacks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Can Multiple Subscriptions Use the Same Callback URL? ==&lt;br /&gt;
&lt;br /&gt;
Not exactly. If Cisco Unity Connection sees a repeat subscription for a callback URL, it will delete the previous subscription as a safeguard against ending up with unintentional subscriptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Notification Interface (CUNI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs"/>
				<updated>2010-12-14T19:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs|CUNI FAQs]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Where Can I Get the WSDL? == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the WSDL is the same across versions except that for 8.0 there was a ''keepAlive'' parameter added to the ''subscribe'' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Happens to Subscriptions if the Cisco Unity Connection Server Is Restarted? == &lt;br /&gt;
&lt;br /&gt;
Subscriptions are stored in the database. When Cisco Unity Connection is restarted, the Notifier reads the existing subscriptions and begins sending out notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Are There Any Unsupported Methods? == &lt;br /&gt;
&lt;br /&gt;
Yes. ''subscribeForAllResources'' is currently not supported, so users must be listed explicitly. Also there is no current support for SSL connections for callbacks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Can Multiple Subscriptions Use the Same Callback URL? ==&lt;br /&gt;
&lt;br /&gt;
Not exactly. If Cisco Unity Connection sees a repeat subscription for a callback URL, it will delete the previous subscription as a safeguard against ending up with unintentional subscriptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Notification Interface (CUNI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs"/>
				<updated>2010-12-14T19:27:05Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs|CUNI FAQs]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Where Can I Get the WSDL? == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the WSDL is the same across versions except that for 8.0 there was a ''keepAlive'' parameter added to the ''subscribe'' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Happens to Subscriptions if the Cisco Unity Connection Server Is Restarted? == &lt;br /&gt;
&lt;br /&gt;
Subscriptions are stored in the database. When Cisco Unity Connection is restarted, the Notifier reads the existing subscriptions and begins sending out notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Are There Any Unsupported Methods? == &lt;br /&gt;
&lt;br /&gt;
Yes. ''subscribeForAllResources'' is currently not supported, so users must be listed explicitly. Also there is no current support for SSL connections for callbacks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Can Multiple Subscriptions Use the Same Callback URL? ==&lt;br /&gt;
&lt;br /&gt;
Not exactly. If Cisco Unity Connection sees a repeat subscription for a callback URL, it will delete the previous subscription as a safeguard against ending up with unintentional subscriptions.&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_FAQs"/>
				<updated>2010-12-14T19:23:35Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: New page:     * Where can I get the WSDL   http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl  Note: the WSDL is the same across versions *except* that for 8.0 there wa...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;    * Where can I get the WSDL &lt;br /&gt;
&lt;br /&gt;
http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl&lt;br /&gt;
&lt;br /&gt;
Note: the WSDL is the same across versions *except* that for 8.0 there was a &amp;quot;keepAlive&amp;quot; parameter added to the &amp;quot;subscribe&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
    * What happens to subscriptions if the Unity Connection server is restarted? &lt;br /&gt;
&lt;br /&gt;
Subscriptions are stored in the database. When Unity Connection is restarted, the Notifier reads the existing subscriptions and begins sending out notifications.&lt;br /&gt;
&lt;br /&gt;
    * Are there any unsupported methods? &lt;br /&gt;
&lt;br /&gt;
Yes - subscribeForAllResources currently not supported, so users must be listed explicitly. Also there's not currently support for SSL connections for callbacks.&lt;br /&gt;
&lt;br /&gt;
    * Can multiple subscriptions use the same callback URL? &lt;br /&gt;
&lt;br /&gt;
Not exactly - if Unity Connection sees a repeat subscription for a callback URL it will delete the previous subscription as a safeguard against ending up with unintentional subscriptions.&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API"/>
				<updated>2010-12-14T19:23:21Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI FAQs|CUNI FAQs]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Notification Interface (CUNI) API is a web service interface for managing subscriptions to events from Cisco Unity Connection systems. It provides a way to get asynchronous notifications when voice mail messages are received, deleted, or changed. CUNI can be used to integrate Connection into an existing enterprise-wide portal.&lt;br /&gt;
&lt;br /&gt;
CUNI is designed to provide a simple, stable method of accessing the notification functionality on Connection systems through a standards based interface using XML and HTTPS.&lt;br /&gt;
&lt;br /&gt;
Through CUNI, you can do the following:&lt;br /&gt;
&lt;br /&gt;
* Subscribe for message events&lt;br /&gt;
* Subscribe for one or many users on a single channel&lt;br /&gt;
&lt;br /&gt;
Note that CUNI is intended for use in server-to-server applications where receiving notifications for many users over a single connection is required. As such, it is designed to handle a small number of clients that are each subscribing for notifications on a large set of subscribers. It also requires Administrative credentials, making it inappropriate for browser applications to use directly.&lt;br /&gt;
&lt;br /&gt;
CUNI is composed of two parts: a SOAP interface for subscribing, and an asynchronous piece (the Notifier) that delivers events as XML over HTTP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
* CUNI is standards-based: it implements a standard SOAP-based interface for managing subscriptions. Message events are sent as standard XML over HTTP.&lt;br /&gt;
* CUNI is easy to use: as a web-based interface, CUNI is independent of operating systems and programming languages, and does not require any client libraries to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started with CUNI ==&lt;br /&gt;
&lt;br /&gt;
In order to begin developing with CUNI, you need to obtain the following:&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 or later&lt;br /&gt;
* For detailed hardware-specification information, see the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/supported_platforms/8xcucspl.html Cisco Unity Connection 8.x Supported Platforms List]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Unity Connection Software Ordering&lt;br /&gt;
* Not for Resale Kits (Must for eligible to purchase)&lt;br /&gt;
* Select Unified Communications System Release Kit&lt;br /&gt;
&lt;br /&gt;
Discounts for some of the above hardware and software may be available for participants in the Cisco Technology Developer Program.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Other CUNI Resources ==&lt;br /&gt;
&lt;br /&gt;
Additional information about CUNI is also available on the Cisco Developer Network ([http://developer.cisco.com/web/cuni/home link to CDN]). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUNI.&lt;br /&gt;
&lt;br /&gt;
To participate in the CUNI forum, see the [http://developer.cisco.com/web/cuni/forums CUNI forum on CDN].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See the following for information on troubleshooting all Connection APIs:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection APIs -- Troubleshooting |Troubleshooting (applies to all Connection APIs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Notification Interface (CUNI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedules</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedules"/>
				<updated>2010-12-14T17:47:36Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedule Example|Schedule Example ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview of Cisco Unity Connection Schedule Objects ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSet Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedule Objects === &lt;br /&gt;
&lt;br /&gt;
Schedule objects are composed of one or more ScheduleDetail objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleDetail Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSetMemberMap Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedule Example ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* First, we create a top-level ScheduleSet called WeekdaySet. WeekdaySet includes the WeekdaySchedule and excludes the HolidaySchedule (2 Schedule objects).&lt;br /&gt;
* After we create these 2 Schedule objects, we create 2 ScheduleSetMemberMap objects for WeekdaySet - one to include WeekdaySchedule and one to exclude HolidaySchedule.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see how to create this schedule via CUPI, see the [[Cisco_Unity_Connection_Provisioning_Interface_%28CUPI%29_API_--_Schedule_Example|Schedule Example page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CUPI for Schedules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSets in CUPI ===&lt;br /&gt;
&lt;br /&gt;
ScheduleSets are top-level resources in CUPI, with a base URI of +/vmrest/schedulesets+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleSet object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| DisplayName &lt;br /&gt;
| String(64) &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerLocattonObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| One of the Owners must be non-NULL&lt;br /&gt;
|- &lt;br /&gt;
| OwnerPersonalRuleSetObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerSubscriberObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Undeletable &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| Is only True for factory default objects&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of ScheduleSets ====&lt;br /&gt;
&lt;br /&gt;
To retrieve the list of ScheduleSets, an administrator makes a GET to the schedulesets resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSets total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;All Hours&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Voice Recognition Update Schedule&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;false&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSets&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
To retrieve a single ScheduleSet, an administrator makes a GET to the schedulesets resource, specifying the ObjectId of the requested ScheduleSet in the URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified ScheduleSet does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
To add a new ScheduleSet, an administrator makes a POST to the schedulesets resource, specifying the new ScheduleSet via XML:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Night Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSet (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/0e58ec49-5064-4c9a-b1dc-dd47fe189419&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Graveyard Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduleset does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;ScheduleSet not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduleset does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if an administrator deletes a ScheduleSet object, then all of the supporting ScheduleSetMembers for that ScheduleSet will also be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedules in CUPI ===&lt;br /&gt;
&lt;br /&gt;
Schedules are top-level resources in CUPI, with a base URI of +/vmrest/schedules+.&lt;br /&gt;
&lt;br /&gt;
A Schedule object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| DisplayName&lt;br /&gt;
| String(64)&lt;br /&gt;
| none&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerLocattonObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| One of the Owner's must be non-NULL&lt;br /&gt;
|- &lt;br /&gt;
| OwnerPersonalRuleSetObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerSubscriberObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Undeletable&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| Is only True for factory default objects&lt;br /&gt;
|- &lt;br /&gt;
| StartDate&lt;br /&gt;
| DateTime&lt;br /&gt;
| NULL&lt;br /&gt;
| NULL means effective immediately&lt;br /&gt;
|- &lt;br /&gt;
| EndDate&lt;br /&gt;
| DateTime&lt;br /&gt;
| NULL&lt;br /&gt;
| NULL means effective indefinitely&lt;br /&gt;
|- &lt;br /&gt;
| IsHoliday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| Holiday Greetings are used during this period if True&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of Schedules ====&lt;br /&gt;
&lt;br /&gt;
To retrieve the list of Schedules, an administrator makes a GET to the schedules resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Schedules total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;All Hours&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Holidays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;false&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;true&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/Schedules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a Schedule ====&lt;br /&gt;
&lt;br /&gt;
To retrieve a single Schedule, an administrator makes a GET to the schedules resource, specifying the Objectid of the requested Schedule in the URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified Schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a Schedule ====&lt;br /&gt;
&lt;br /&gt;
To add a new Schedule, an administrator makes a POST to the schedules resource, specifying the new Schedule via XML:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;EveningShift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created Schedule (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedules/df7faf3b-3278-4852-b488-7e3134dc3336&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a Schedule ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedules/df7faf3b-3278-4852-b488-7e3134dc3336&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;No Daylight Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;Schedule not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a Schedule ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if an administrator deletes a Schedule object, then all of the supporting ScheduleDetail objects for that Schedule will also be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSetMembers in CUPI ===&lt;br /&gt;
&lt;br /&gt;
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/+{_}+&amp;lt;ScheduleSetObjectId&amp;gt;+{_}+/schedulesetmembers+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleSetMember object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ScheduleSetObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| Owning ScheduleSet&lt;br /&gt;
|-&lt;br /&gt;
| ScheduleObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| Schedule to include/exclude from ScheduleSet&lt;br /&gt;
|-&lt;br /&gt;
| Exclude&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| False means Include, True means Exclude&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Retrieving the list of ScheduleSetMembers ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSetMembers total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Exclude&amp;gt;true&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMembers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;db46f878-bc72-4870-9482-9f1c336641ed&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/68c53107-5d28-4f40-ae43-f83d35eee8d6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedulesetmember does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleDetails in CUPI ===&lt;br /&gt;
&lt;br /&gt;
ScheduleDetails are sub-resources of Schedules in CUPI, and thus are at a sub-URI of the schedules resources: +/vmrest/schedules/+{_}+&amp;lt;ScheduleObjectId&amp;gt;+{_}+/scheduledetails+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleDetail object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Subject &lt;br /&gt;
| String(2048) &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| ScheduleObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| Owning Schedule&lt;br /&gt;
|- &lt;br /&gt;
| StartDate &lt;br /&gt;
| DateTime &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means effective immediately, also Time portion of DateTime is ignored&lt;br /&gt;
|- &lt;br /&gt;
| StartTime &lt;br /&gt;
| Int &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means 12:00AM, otherwise minutes past 12:00AM so 480 means 8:00AM&lt;br /&gt;
|- &lt;br /&gt;
| EndDate &lt;br /&gt;
| DateTime &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means effective indefinitely, also Time portion of DateTime is ignored&lt;br /&gt;
|- &lt;br /&gt;
| EndTime &lt;br /&gt;
| Int &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means End-of-Day (11:59:59PM), otherwise minutes past 12:00AM so 1020 means 5:00PM&lt;br /&gt;
|- &lt;br /&gt;
| IsActiveMonday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveTuesday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveWednesday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveThursday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveFriday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveSaturday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveSunday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of ScheduleDetails ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleDetails total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Subject&amp;gt;Weekday Mornings&amp;lt;/Subject&amp;gt;&lt;br /&gt;
    &amp;lt;StartTime&amp;gt;480&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
    &amp;lt;EndTime&amp;gt;720&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/e049dc1e-7447-4e2a-907e-03d67e2d40a1&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e049dc1e-7447-4e2a-907e-03d67e2d40a1&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Subject&amp;gt;Weekday Afternoons&amp;lt;/Subject&amp;gt;&lt;br /&gt;
    &amp;lt;StartTime&amp;gt;780&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
    &amp;lt;EndTime&amp;gt;1020&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;Weekday Mornings&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;480&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;720&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified ScheduleDetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduledetail - ObjectId=fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;Saturday (Half-day)&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;540&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;780&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSaturday&amp;gt;true&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleDetail (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleDetail ==== &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;450&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduledetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;ScheduleDetail not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduledetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduledetail - ObjectId=9d8afb61-bd4b-4e65-b274-e870a2b51865&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API"/>
				<updated>2010-12-14T14:29:29Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
By using CUPI, you can securely do the following:&lt;br /&gt;
&lt;br /&gt;
* Create, read, update, and delete users and user configurations&lt;br /&gt;
* Reset passwords&lt;br /&gt;
* Create, read, and update distribution lists&lt;br /&gt;
* Create, read, update, and delete call handlers&lt;br /&gt;
* Create, read, update, and delete contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As a web-based interface, CUPI is independent of operating system and programming language and does not require any client libraries to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
In order to begin developing with the Cisco Unity Connection CUPI API, you need to obtain the following:&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 and later&lt;br /&gt;
* For detailed hardware requirements, see the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/supported_platforms/8xcucspl.html Cisco Unity Connection 8.x Supported Platforms List]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Unity Connection Software Ordering&lt;br /&gt;
* Not for Resale Kits (Must be eligible to purchase)&lt;br /&gt;
* Communications System Release Kit&lt;br /&gt;
&lt;br /&gt;
Discounts for some of the required hardware and software may be available for participants in the Cisco Technology Developer Program.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CUPI Documentation ==&lt;br /&gt;
See the following for an index of all CUPI documentation on DocWiki:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other CUPI Resources ==&lt;br /&gt;
&lt;br /&gt;
Additional information about CUPI is also available on the Cisco Developer Network ([http://developer.cisco.com/web/cupi/home link to CDN]). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUPI.&lt;br /&gt;
&lt;br /&gt;
To participate in the CUPI forum, see the [http://developer.cisco.com/web/cupi/forums CUPI forum on CDN].&lt;br /&gt;
&lt;br /&gt;
On the CUPI page on CDN, you will also find links to the CUPI WADL and CUPI XML schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See the following for information on troubleshooting all Connection APIs:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection APIs -- Troubleshooting |Troubleshooting (applies to all Connection APIs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users"/>
				<updated>2010-12-14T14:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI for End Users Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Basics, Voice Name, Greetings |Basics, Voice Name, Greetings ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Unified Messaging Accounts |Unified Messaging Accounts ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Alternate Devices |Alternate Devices ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Directory |Directory ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Enabling and Disabling Greetings |Enabling and Disabling Greetings ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Location |Location ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Private Lists |Private Lists ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- SMTP Proxy Addresses |SMTP Proxy Addresses ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- System Configuration |System Configuration ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Transfer Options |Transfer Options ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Provisioning Interface (CUPI) for End Users 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 many of the end user's account settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
By using CUPI, end users can do the following:&lt;br /&gt;
&lt;br /&gt;
* Update transfer options (basic transfer rules), unified messaging account passwords (Connection 8.5 and later), external services account passwords (Connection 8.0), and user passwords and PINs&lt;br /&gt;
&lt;br /&gt;
* Record greetings and voice names&lt;br /&gt;
&lt;br /&gt;
* Create, read, update, and delete private lists and private list members, alternate names, and user-defined alternate extensions&lt;br /&gt;
&lt;br /&gt;
* Read SMTP proxy addresses. basic user information (for example, alias, display name, and DTMF access ID), class of service information, and administrator-defined alternate extensions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As a web-based interface, CUPI is independent of operating system and programming language and does not require any client libraries to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
In order to begin developing with the Cisco Unity Connection CUPI API, you need to obtain the following:&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 and later&lt;br /&gt;
* For detailed hardware requirements, see the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/supported_platforms/8xcucspl.html Cisco Unity Connection 8.x Supported Platforms List]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Unity Connection Software Ordering&lt;br /&gt;
* Not for Resale Kits (Must be eligible to purchase)&lt;br /&gt;
* Communications System Release Kit&lt;br /&gt;
&lt;br /&gt;
Discounts for some of the required hardware and software may be available for participants in the Cisco Technology Developer Program.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Other CUPI Resources ==&lt;br /&gt;
&lt;br /&gt;
Additional information about CUPI is also available on the Cisco Developer Network ([http://developer.cisco.com/web/cupi/home link to CDN]). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUPI.&lt;br /&gt;
&lt;br /&gt;
To participate in the CUPI forum, see the [http://developer.cisco.com/web/cupi/forums CUPI forum on CDN].&lt;br /&gt;
&lt;br /&gt;
On the CUPI page on CDN, you will also find links to the CUPI WADL and CUPI XML schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See the following for information on troubleshooting all Connection APIs:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection APIs -- Troubleshooting |Troubleshooting (applies to all Connection APIs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API For End Users]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API"/>
				<updated>2010-12-14T14:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Notification Interface (CUNI) API is a web service interface for managing subscriptions to events from Cisco Unity Connection systems. It provides a way to get asynchronous notifications when voice mail messages are received, deleted, or changed. CUNI can be used to integrate Connection into an existing enterprise-wide portal.&lt;br /&gt;
&lt;br /&gt;
CUNI is designed to provide a simple, stable method of accessing the notification functionality on Connection systems through a standards based interface using XML and HTTPS.&lt;br /&gt;
&lt;br /&gt;
Through CUNI, you can do the following:&lt;br /&gt;
&lt;br /&gt;
* Subscribe for message events&lt;br /&gt;
* Subscribe for one or many users on a single channel&lt;br /&gt;
&lt;br /&gt;
Note that CUNI is intended for use in server-to-server applications where receiving notifications for many users over a single connection is required. As such, it is designed to handle a small number of clients that are each subscribing for notifications on a large set of subscribers. It also requires Administrative credentials, making it inappropriate for browser applications to use directly.&lt;br /&gt;
&lt;br /&gt;
CUNI is composed of two parts: a SOAP interface for subscribing, and an asynchronous piece (the Notifier) that delivers events as XML over HTTP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
* CUNI is standards-based: it implements a standard SOAP-based interface for managing subscriptions. Message events are sent as standard XML over HTTP.&lt;br /&gt;
* CUNI is easy to use: as a web-based interface, CUNI is independent of operating systems and programming languages, and does not require any client libraries to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started with CUNI ==&lt;br /&gt;
&lt;br /&gt;
In order to begin developing with CUNI, you need to obtain the following:&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 or later&lt;br /&gt;
* For detailed hardware-specification information, see the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/supported_platforms/8xcucspl.html Cisco Unity Connection 8.x Supported Platforms List]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Unity Connection Software Ordering&lt;br /&gt;
* Not for Resale Kits (Must for eligible to purchase)&lt;br /&gt;
* Select Unified Communications System Release Kit&lt;br /&gt;
&lt;br /&gt;
Discounts for some of the above hardware and software may be available for participants in the Cisco Technology Developer Program.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Other CUNI Resources ==&lt;br /&gt;
&lt;br /&gt;
Additional information about CUNI is also available on the Cisco Developer Network ([http://developer.cisco.com/web/cuni/home link to CDN]). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUNI.&lt;br /&gt;
&lt;br /&gt;
To participate in the CUNI forum, see the [http://developer.cisco.com/web/cuni/forums CUNI forum on CDN].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See the following for information on troubleshooting all Connection APIs:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection APIs -- Troubleshooting |Troubleshooting (applies to all Connection APIs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Notification Interface (CUNI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_Event_Schema</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_CUNI_Event_Schema"/>
				<updated>2010-12-14T14:26:54Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUNI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Notification Interface (CUNI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- CUNI Event Schema|CUNI Event Schema ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events|Subscribing to and Processing Notification Events]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schema Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns=&amp;quot;\[http://www.cisco.com&amp;quot;\] elementFormDefault=&amp;quot;qualified&amp;quot; targetNamespace=&amp;quot;\[http://www.cisco.com&amp;quot;\] xmlns:xs=&amp;quot;\[http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;\]&lt;br /&gt;
&amp;lt;xs:simpleType name=&amp;quot;priorityType&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Low-Priority&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Normal-Priority&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Urgent&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Unknown-Priority&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;xs:simpleType name=&amp;quot;eventType&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;MESSAGE_INFO&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;NEW_MESSAGE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;SAVED_MESSAGE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;UNREAD_MESSAGE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;DELETED_MESSAGE&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;FAILOVER&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;xs:simpleType name=&amp;quot;messageType&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Voice&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;NDR&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;DR&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;RR&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Fax&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;Text&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:enumeration value=&amp;quot;UnknownType&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
&amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;messageInfoType&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;messageId&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;receiveTime&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;msgType&amp;quot; type=&amp;quot;messageType&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;uid&amp;quot; type=&amp;quot;xs:integer&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;priority&amp;quot; type=&amp;quot;priorityType&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;sender&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;callerAni&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;messageEvent&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;xs:sequence minOccurs=&amp;quot;1&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;messageInfo&amp;quot; type=&amp;quot;messageInfoType&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;subscriptionId&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;eventType&amp;quot; type=&amp;quot;eventType&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;eventTime&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;mailboxId&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;displayName&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;xs:attribute name=&amp;quot;USN&amp;quot; type=&amp;quot;xs:integer&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Notification Interface (CUNI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs</id>
		<title>Cisco Unity Connection APIs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs"/>
				<updated>2010-12-14T01:09:27Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cisco Unity Connection is a feature-rich voice messaging platform based on the same Linux operating system as Cisco Unified Communications Manager. Connection users can access voice messages by using email, web clients, mobile devices, instant messaging, and desktop clients such as Cisco Unified Personal Communicator, and can view, search, sort, and play messages on a Cisco Unified IP Phone display. Connection also provides comprehensive automated-attendant functions, including intelligent call routing and easily customizable call screen and message notification options. For more information see [http://www.cisco.com/en/US/products/ps6509/tsd_products_support_series_home.html  Cisco Unity Connection documentation on Cisco.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection includes several Representational State Transfer (REST) application programming interfaces (APIs) that provide provisioning, messaging, and telephony access to Connection. These APIs provide the ability to integrate Connection features into existing enterprise-wide provisioning management systems and messaging clients.&lt;br /&gt;
The APIs are REST interfaces that standardize operations such as add, delete, view, and modify.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Available Connection APIs ==&lt;br /&gt;
&lt;br /&gt;
'''CUPI''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API]] &lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API provides access to the most commonly provisioned data on Cisco Unity Connection systems—users, contacts, distribution lists, and call handlers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUPI for End Users''': [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users]]&lt;br /&gt;
&lt;br /&gt;
The Cisco Unity Connection Provisioning Interface (CUPI) API includes access for individual users when authenticating against user credentials. This allows for custom end-user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUMI''': [[Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Messaging Interface (CUMI) API provides access to user messages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUTI''': [[Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Telephony Interface (CUTI) API provides the ability to play and record audio content over the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CUNI''': [[Cisco_Unity_Connection_Notification_Interface_(CUNI)_API]]&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection Notification Interface (CUNI) API provides notification for one or more users. CUNI is designed for use in server-to-server applications where receiving notifications for many users over a single connection is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_About_Versioning</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_About_Versioning"/>
				<updated>2010-12-14T00:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About Versioning ==&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection REST interfaces essentially are not versioned. There are several mechanisms in place to ease forward and backward compatibility:&lt;br /&gt;
&lt;br /&gt;
1. The version is available as a resource at /vmrest/version:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VersionInformation&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;vmrest&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;8.0.0.229&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/VersionInformation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Extra fields in a resource are ignored by the server.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
3. Clients ignore new fields.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
4. New resources are added at new URLs.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Wave_Formats</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Wave_Formats"/>
				<updated>2010-12-13T22:58:03Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Wave Formats ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all wave formats:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/waveformats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific wave format by its object ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/waveformats/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;WaveFormat&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/waveformats/cb85b520-e2de-4878-96e2-3331607f4671&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;cb85b520-e2de-4878-96e2-3331607f4671&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;AvgBytesPerSec&amp;gt;1000&amp;lt;/AvgBytesPerSec&amp;gt;&lt;br /&gt;
  &amp;lt;BitsPerSample&amp;gt;0&amp;lt;/BitsPerSample&amp;gt;&lt;br /&gt;
  &amp;lt;BlockAlign&amp;gt;10&amp;lt;/BlockAlign&amp;gt;&lt;br /&gt;
  &amp;lt;Channels&amp;gt;1&amp;lt;/Channels&amp;gt;&lt;br /&gt;
  &amp;lt;FormatName&amp;gt;G.729a&amp;lt;/FormatName&amp;gt;&lt;br /&gt;
  &amp;lt;FormatTag&amp;gt;307&amp;lt;/FormatTag&amp;gt;&lt;br /&gt;
  &amp;lt;SamplesPerSec&amp;gt;8000&amp;lt;/SamplesPerSec&amp;gt;&lt;br /&gt;
  &amp;lt;JavaEncoding&amp;gt;G.729a&amp;lt;/JavaEncoding&amp;gt;&lt;br /&gt;
  &amp;lt;CodecId&amp;gt;3&amp;lt;/CodecId&amp;gt;&lt;br /&gt;
&amp;lt;/WaveFormat&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_System_Default_Language_and_TTS_Language</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_System_Default_Language_and_TTS_Language"/>
				<updated>2010-12-13T22:57:35Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About System Default Language and System Default TTS Language ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to display and update the System Default Language and the System Default TTS Language.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/installedlanguages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
&lt;br /&gt;
The System Default Language and System Default TTS Language are considered part of the &amp;quot;local&amp;quot; Connection server. To retrieve the current values for these fields, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/locations/locallocation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LocalLocation&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultLanguage&amp;gt;1033&amp;lt;/DefaultLanguage&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultTTSLanguage&amp;gt;1033&amp;lt;/DefaultTTSLanguage&amp;gt;&lt;br /&gt;
&amp;lt;/LocalLocation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
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 must be valid, and that they must correspond to a language that has been installed and licensed on your Connection server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/locations/locallocation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LocalLocation&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultLanguage&amp;gt;1041&amp;lt;/DefaultLanguage&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultTTSLanguage&amp;gt;1041&amp;lt;/DefaultTTSLanguage&amp;gt;&lt;br /&gt;
&amp;lt;/LocalLocation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedule_Example</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedule Example</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedule_Example"/>
				<updated>2010-12-13T22:57:12Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedule Example|Schedule Example ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Schedules in Unity Connection are composed of several objects. As an 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 on the [[Cisco_Unity_Connection_Provisioning_Interface_%28CUPI%29_API_--_Schedules|CUPI Schedules page]], this schedule might be composed like so:&lt;br /&gt;
&lt;br /&gt;
* First, we create a top-level ScheduleSet called WeekdaySet. WeekdaySet includes the WeekdaySchedule and excludes the HolidaySchedule (2 Schedule objects).&lt;br /&gt;
* After we create these 2 Schedule objects, we create 2 ScheduleSetMemberMap objects for WeekdaySet - one to include WeekdaySchedule and one to exclude HolidaySchedule.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
In this example, we will assume that the Owner for the ScheduleSet and Schedules is the Unity Connection Location, which can be retrieved by making a GET to +/vmrest/locations/connectionlocations+ and then a look-up of the ObjectId field.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create the ScheduleSet &amp;quot;WeekdaySet&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
To create the top-level ScheduleSet called &amp;quot;WeekdaySet&amp;quot;, an administrator makes a POST to the schedulesets resource like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;WeekdaySet&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;WeekdaySet&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/7f7e1df2-df8d-4cac-9111-3fc4efc106e6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create the Schedules &amp;quot;WeekdaySchedule&amp;quot; and &amp;quot;HolidaySchedule&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
To create the top-level Schedules called &amp;quot;WeekdaySchedule&amp;quot; and &amp;quot;HolidaySchedule&amp;quot;, an administrator makes two POSTs to the schedules resource as shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the &amp;quot;WeekdaySchedule&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;WeekdaySchedule&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;WeekdaySchedule&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedules/8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the &amp;quot;HolidaySchedule&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;HolidaySchedule&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;true&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;HolidaySchedule&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedules/f0aacc32-6183-47ae-91ea-41aab0e7170c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add &amp;quot;WeekdaySchedule&amp;quot; and &amp;quot;HolidaySchedule&amp;quot; to &amp;quot;WeekdaySet&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
To associate the &amp;quot;WeekdaySchedule&amp;quot; and &amp;quot;HolidaySchedule&amp;quot; with the &amp;quot;WeekdaySet&amp;quot;, an administrator makes two POSTs to &amp;quot;WeekdaySet&amp;quot;'s schedulesetmembers resource as shown below. Note that the ScheduleSetObjectId and ScheduleObjectIds were returned when we created those objects earlier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the ScheduleSetMember that includes &amp;quot;WeekdaySchedule&amp;quot; in &amp;quot;WeekdaySet&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets/7f7e1df2-df8d-4cac-9111-3fc4efc106e6/schedulesetmembers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;7f7e1df2-df8d-4cac-9111-3fc4efc106e6&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/7f7e1df2-df8d-4cac-9111-3fc4efc106e6/schedulesetmembers/eb1f344c-90a2-4e6d-9b87-3523cf9f6838&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the ScheduleSetMember that excludes &amp;quot;HolidaySchedule&amp;quot; from &amp;quot;WeekdaySet&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets/7f7e1df2-df8d-4cac-9111-3fc4efc106e6/schedulesetmembers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;7f7e1df2-df8d-4cac-9111-3fc4efc106e6&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;f0aacc32-6183-47ae-91ea-41aab0e7170c&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;true&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/7f7e1df2-df8d-4cac-9111-3fc4efc106e6/schedulesetmembers/3ba9b61f-6eb1-4e5e-bddf-1c0d321445bc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add ScheduleDetails to &amp;quot;WeekdaySchedule&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
To fill out the &amp;quot;WeekdaySchedule&amp;quot; for every weekday with the lunch hour blocked out, an administrator makes two POSTs to &amp;quot;WeekdaySchedule&amp;quot;'s scheduledetails resource as shown below. Note that the ScheduleObjectId in the URI was returned when we created the &amp;quot;WeekdaySchedule&amp;quot; object earlier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the &amp;quot;WeekdayMorning ScheduleDetail&amp;quot; for 8AM to 12PM ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;WeekdayMorning ScheduleDetail&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;480&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;720&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;WeekdayMorning ScheduleDetail&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b/scheduledetails/d5d98691-770d-44ad-b267-51fe55531ff0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the &amp;quot;WeekdayAfternoon ScheduleDetail&amp;quot; for 1PM to 5PM ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;WeekdayAfternoon ScheduleDetail&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;780&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;1020&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;WeekdayAfternoon ScheduleDetail&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/8b2fdf44-ed5e-4fe1-a5b8-7124cb199c4b/scheduledetails/09df80a7-8f46-415c-a4d9-f9b2a44ac869&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add ScheduleDetails to &amp;quot;HolidaySchedule&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
To add July 4th and Winter Break holidays to &amp;quot;HolidaySchedule&amp;quot;, an administrator makes two POSTs to &amp;quot;HolidaySchedule&amp;quot;'s scheduledetails resource as shown below.  Note that the ScheduleObjectId in the URI was returned when we created the &amp;quot;HolidaySchedule&amp;quot; object earlier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the July 4th holiday ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/f0aacc32-6183-47ae-91ea-41aab0e7170c/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;July 4th ScheduleDetail&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartDate&amp;gt;2010-07-04&amp;lt;/StartDate&amp;gt;&lt;br /&gt;
  &amp;lt;EndDate&amp;gt;2010-07-04&amp;lt;/EndDate&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;July 4th ScheduleDetail&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/f0aacc32-6183-47ae-91ea-41aab0e7170c/scheduledetails/ce7bf677-97d5-4290-8c59-e2258ca351b6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Creating the Winter Break holiday (Dec 23 to Jan 3) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/f0aacc32-6183-47ae-91ea-41aab0e7170c/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;Winter Break ScheduleDetail&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartDate&amp;gt;2010-12-23&amp;lt;/StartDate&amp;gt;&lt;br /&gt;
  &amp;lt;EndDate&amp;gt;2011-01-03&amp;lt;/EndDate&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created &amp;quot;Winter Break ScheduleDetail&amp;quot; (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/f0aacc32-6183-47ae-91ea-41aab0e7170c/scheduledetails/a85efd4e-cd27-4e21-a8ba-10d7ed7676d3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedules</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Schedules"/>
				<updated>2010-12-13T22:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedule Example|Schedule Example ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview of Cisco Unity Connection Schedule Objects ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSet Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedule Objects === &lt;br /&gt;
&lt;br /&gt;
Schedule objects are composed of one or more ScheduleDetail objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleDetail Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSetMemberMap Objects ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedule Example ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* First, we create a top-level ScheduleSet called WeekdaySet. WeekdaySet includes the WeekdaySchedule and excludes the HolidaySchedule (2 Schedule objects).&lt;br /&gt;
* After we create these 2 Schedule objects, we create 2 ScheduleSetMemberMap objects for WeekdaySet - one to include WeekdaySchedule and one to exclude HolidaySchedule.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see how to create this schedule via CUPI, see the [[Cisco_Unity_Connection_Provisioning_Interface_%28CUPI%29_API_--_Schedule_Example|Schedule Example page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CUPI for Schedules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSets in CUPI ===&lt;br /&gt;
&lt;br /&gt;
ScheduleSets are top-level resources in CUPI, with a base URI of +/vmrest/schedulesets+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleSet object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| DisplayName &lt;br /&gt;
| String(64) &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerLocattonObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| One of the Owners must be non-NULL&lt;br /&gt;
|- &lt;br /&gt;
| OwnerPersonalRuleSetObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerSubscriberObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| NULL &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Undeletable &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| Is only True for factory default objects&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of ScheduleSets ====&lt;br /&gt;
&lt;br /&gt;
To retrieve the list of ScheduleSets, an administrator makes a GET to the schedulesets resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSets total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;All Hours&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Voice Recognition Update Schedule&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;false&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSets&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
To retrieve a single ScheduleSet, an administrator makes a GET to the schedulesets resource, specifying the ObjectId of the requested ScheduleSet in the URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMemberURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&amp;lt;/ScheduleSetMemberURI&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified ScheduleSet does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
To add a new ScheduleSet, an administrator makes a POST to the schedulesets resource, specifying the new ScheduleSet via XML:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Night Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSet (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/0e58ec49-5064-4c9a-b1dc-dd47fe189419&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSet&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Graveyard Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduleset does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;ScheduleSet not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleSet ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduleset does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if an administrator deletes a ScheduleSet object, then all of the supporting ScheduleSetMembers for that ScheduleSet will also be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schedules in CUPI ===&lt;br /&gt;
&lt;br /&gt;
Schedules are top-level resources in CUPI, with a base URI of +/vmrest/schedules+.&lt;br /&gt;
&lt;br /&gt;
A Schedule object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| DisplayName&lt;br /&gt;
| String(64)&lt;br /&gt;
| none&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerLocattonObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| One of the Owner's must be non-NULL&lt;br /&gt;
|- &lt;br /&gt;
| OwnerPersonalRuleSetObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| OwnerSubscriberObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| NULL&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Undeletable&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| Is only True for factory default objects&lt;br /&gt;
|- &lt;br /&gt;
| StartDate&lt;br /&gt;
| DateTime&lt;br /&gt;
| NULL&lt;br /&gt;
| NULL means effective immediately&lt;br /&gt;
|- &lt;br /&gt;
| EndDate&lt;br /&gt;
| DateTime&lt;br /&gt;
| NULL&lt;br /&gt;
| NULL means effective indefinitely&lt;br /&gt;
|- &lt;br /&gt;
| IsHoliday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| Holiday Greetings are used during this period if True&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of Schedules ====&lt;br /&gt;
&lt;br /&gt;
To retrieve the list of Schedules, an administrator makes a GET to the schedules resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Schedules total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;75af01af-d290-4e0e-9862-5adf8293536c&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;All Hours&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;Schedule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e2e381e4-6096-4643-b0bb-b17a65b101bc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Holidays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;false&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;IsHoliday&amp;gt;true&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/Schedules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a Schedule ====&lt;br /&gt;
&lt;br /&gt;
To retrieve a single Schedule, an administrator makes a GET to the schedules resource, specifying the Objectid of the requested Schedule in the URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Weekdays&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationURI&amp;gt;/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetailsURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&amp;lt;/ScheduleDetailsURI&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified Schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a Schedule ====&lt;br /&gt;
&lt;br /&gt;
To add a new Schedule, an administrator makes a POST to the schedules resource, specifying the new Schedule via XML:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;EveningShift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;OwnerLocationObjectId&amp;gt;6a56503e-c1c8-406c-85fd-76be40994d39&amp;lt;/OwnerLocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;IsHoliday&amp;gt;false&amp;lt;/IsHoliday&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created Schedule (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedules/df7faf3b-3278-4852-b488-7e3134dc3336&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a Schedule ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedules/df7faf3b-3278-4852-b488-7e3134dc3336&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Schedule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;No Daylight Shift&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/Schedule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;Schedule not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a Schedule ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedule does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if an administrator deletes a Schedule object, then all of the supporting ScheduleDetail objects for that Schedule will also be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleSetMembers in CUPI ===&lt;br /&gt;
&lt;br /&gt;
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/+{_}+&amp;lt;ScheduleSetObjectId&amp;gt;+{_}+/schedulesetmembers+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleSetMember object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ScheduleSetObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| Owning ScheduleSet&lt;br /&gt;
|-&lt;br /&gt;
| ScheduleObjectId&lt;br /&gt;
| GUID&lt;br /&gt;
| none&lt;br /&gt;
| Schedule to include/exclude from ScheduleSet&lt;br /&gt;
|-&lt;br /&gt;
| Exclude&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| False means Include, True means Exclude&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Retrieving the list of ScheduleSetMembers ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSetMembers total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/279fd73f-36a9-469a-9ad5-a0f80f09b2d&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Exclude&amp;gt;true&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMembers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleSetMember&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;30d9c0df-534b-437a-a6b7-439adfd850da&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;db46f878-bc72-4870-9482-9f1c336641ed&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;Exclude&amp;gt;false&amp;lt;/Exclude&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleSetMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/68c53107-5d28-4f40-ae43-f83d35eee8d6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleSetMember ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified schedulesetmember does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScheduleDetails in CUPI ===&lt;br /&gt;
&lt;br /&gt;
ScheduleDetails are sub-resources of Schedules in CUPI, and thus are at a sub-URI of the schedules resources: +/vmrest/schedules/+{_}+&amp;lt;ScheduleObjectId&amp;gt;+{_}+/scheduledetails+.&lt;br /&gt;
&lt;br /&gt;
A ScheduleDetail object has the following fields:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Field Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| Subject &lt;br /&gt;
| String(2048) &lt;br /&gt;
| none &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| ScheduleObjectId &lt;br /&gt;
| GUID &lt;br /&gt;
| none &lt;br /&gt;
| Owning Schedule&lt;br /&gt;
|- &lt;br /&gt;
| StartDate &lt;br /&gt;
| DateTime &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means effective immediately, also Time portion of DateTime is ignored&lt;br /&gt;
|- &lt;br /&gt;
| StartTime &lt;br /&gt;
| Int &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means 12:00AM, otherwise minutes past 12:00AM so 480 means 8:00AM&lt;br /&gt;
|- &lt;br /&gt;
| EndDate &lt;br /&gt;
| DateTime &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means effective indefinitely, also Time portion of DateTime is ignored&lt;br /&gt;
|- &lt;br /&gt;
| EndTime &lt;br /&gt;
| Int &lt;br /&gt;
| NULL &lt;br /&gt;
| NULL means End-of-Day (11:59:59PM), otherwise minutes past 12:00AM so 1020 means 5:00PM&lt;br /&gt;
|- &lt;br /&gt;
| IsActiveMonday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveTuesday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveWednesday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveThursday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveFriday &lt;br /&gt;
| Boolean &lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveSaturday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| IsActiveSunday&lt;br /&gt;
| Boolean&lt;br /&gt;
| False &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving the list of ScheduleDetails ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleDetails total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Subject&amp;gt;Weekday Mornings&amp;lt;/Subject&amp;gt;&lt;br /&gt;
    &amp;lt;StartTime&amp;gt;480&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
    &amp;lt;EndTime&amp;gt;720&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/e049dc1e-7447-4e2a-907e-03d67e2d40a1&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e049dc1e-7447-4e2a-907e-03d67e2d40a1&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Subject&amp;gt;Weekday Afternoons&amp;lt;/Subject&amp;gt;&lt;br /&gt;
    &amp;lt;StartTime&amp;gt;780&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
    &amp;lt;EndTime&amp;gt;1020&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
    &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
  &amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Retrieving a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleObjectId&amp;gt;387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleURI&amp;gt;/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76&amp;lt;/ScheduleURI&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;Weekday Mornings&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;480&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;720&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveMonday&amp;gt;true&amp;lt;/IsActiveMonday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveTuesday&amp;gt;true&amp;lt;/IsActiveTuesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveWednesday&amp;gt;true&amp;lt;/IsActiveWednesday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveThursday&amp;gt;true&amp;lt;/IsActiveThursday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveFriday&amp;gt;true&amp;lt;/IsActiveFriday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSaturday&amp;gt;false&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSunday&amp;gt;false&amp;lt;/IsActiveSunday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified ScheduleDetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduledetail - ObjectId=fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Adding a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;Subject&amp;gt;Saturday (Half-day)&amp;lt;/Subject&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;540&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
  &amp;lt;EndTime&amp;gt;780&amp;lt;/EndTime&amp;gt;&lt;br /&gt;
  &amp;lt;IsActiveSaturday&amp;gt;true&amp;lt;/IsActiveSaturday&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return the URI to the newly created ScheduleDetail (which includes its ObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Changing a ScheduleDetail ==== &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ScheduleDetail&amp;gt;&lt;br /&gt;
  &amp;lt;StartTime&amp;gt;450&amp;lt;/StartTime&amp;gt;&lt;br /&gt;
&amp;lt;/ScheduleDetail&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduledetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
400&lt;br /&gt;
Bad Request&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;DATA_EXCEPTION&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;ScheduleDetail not found &amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deleting a ScheduleDetail ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following on success:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would return the following if the specified scheduledetail does not exist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
404&lt;br /&gt;
Not Found&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;scheduledetail - ObjectId=9d8afb61-bd4b-4e65-b274-e870a2b51865&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Routing_Rules</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rules</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Routing_Rules"/>
				<updated>2010-12-13T22:55:54Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Routing Rules and Routing Rule Conditions ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Routing Rules ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Listing and Viewing ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all Routing Rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRules total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;a2f64719-c82f-491c-996f-ee543e6d7e38&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Opening Greeting&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;State&amp;gt;0&amp;lt;/State&amp;gt;&lt;br /&gt;
    &amp;lt;RuleIndex&amp;gt;2&amp;lt;/RuleIndex&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;3&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;Flags&amp;gt;3&amp;lt;/Flags&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetConversation&amp;gt;PHTransfer&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetHandlerObjectId&amp;gt;198ff222-1129-486c-9bef-c05057dae950&amp;lt;/RouteTargetHandlerObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetHandlerDisplayName&amp;gt;Opening Greeting&amp;lt;/RouteTargetHandlerDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetHandlerObjectType&amp;gt;3&amp;lt;/RouteTargetHandlerObjectType&amp;gt;&lt;br /&gt;
    &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;0&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;UseDefaultLanguage&amp;gt;true&amp;lt;/UseDefaultLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;UseCallLanguage&amp;gt;true&amp;lt;/UseCallLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;CallType&amp;gt;2&amp;lt;/CallType&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceObjectId&amp;gt;02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceURI&amp;gt;/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleConditionsURI&amp;gt;/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38/routingruleconditions&amp;lt;/RoutingRuleConditionsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;857c5cd6-0153-4673-a917-27c59bf5ce37&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Attempt Sign In&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;State&amp;gt;0&amp;lt;/State&amp;gt;&lt;br /&gt;
    &amp;lt;RuleIndex&amp;gt;1&amp;lt;/RuleIndex&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;1&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;Flags&amp;gt;3&amp;lt;/Flags&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetConversation&amp;gt;AttemptSignIn&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetHandlerObjectType&amp;gt;0&amp;lt;/RouteTargetHandlerObjectType&amp;gt;&lt;br /&gt;
    &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;0&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;UseDefaultLanguage&amp;gt;true&amp;lt;/UseDefaultLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;UseCallLanguage&amp;gt;true&amp;lt;/UseCallLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;CallType&amp;gt;2&amp;lt;/CallType&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceObjectId&amp;gt;02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceURI&amp;gt;/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleConditionsURI&amp;gt;/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37/routingruleconditions&amp;lt;/RoutingRuleConditionsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;8b7ea5be-48c5-4e7b-bc9d-c06f052074a4&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Attempt Forward&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;State&amp;gt;0&amp;lt;/State&amp;gt;&lt;br /&gt;
    &amp;lt;RuleIndex&amp;gt;0&amp;lt;/RuleIndex&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;2&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;Flags&amp;gt;3&amp;lt;/Flags&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetConversation&amp;gt;AttemptForward&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;RouteTargetHandlerObjectType&amp;gt;0&amp;lt;/RouteTargetHandlerObjectType&amp;gt;&lt;br /&gt;
    &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;0&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;UseDefaultLanguage&amp;gt;true&amp;lt;/UseDefaultLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;UseCallLanguage&amp;gt;true&amp;lt;/UseCallLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;CallType&amp;gt;2&amp;lt;/CallType&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceObjectId&amp;gt;02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SearchSpaceURI&amp;gt;/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177&amp;lt;/SearchSpaceURI&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleConditionsURI&amp;gt;/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4/routingruleconditions&amp;lt;/RoutingRuleConditionsURI&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a sorted list of all Routing Rules, add the following query parameter to the GET: sort=(column [asc | desc])&lt;br /&gt;
&lt;br /&gt;
For example, to retrieve a list of all Routing Rules sorted by RuleIndex in ascending order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules?sort=(RuleIndex%20asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific Routing Rule by its ObjectId:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Searching ===&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
For example, to find the Routing Rule at RuleIndex 1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingules?query=(RuleIndex%20is%201)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The following is an  example of a POST that creates a Routing Rule with the name &amp;quot;My Routing Rule&amp;quot; of Type 1 (Direct):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;My Routing Rule&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;Type&amp;gt;1&amp;lt;/Type&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/routingrules/bd73528d-e810-4533-8aab-89de32013885&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the DisplayName of an existing Routing Rule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/&amp;lt;objectid&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Changed Display Name&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Deleting ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes a Routing Rule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changing Routing Rule Indices ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the RuleIndices of a collection of Routing Rules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RoutingRules&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;aabbccdd-1111-2222-3333-1234567890ab&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;12345678-abcd-abcd-abcd-123412341234&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;99990000-1234-1234-1234-abcdef012345&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is a response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Routing Rule Conditions ==&lt;br /&gt;
&lt;br /&gt;
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/&amp;lt;routingruleobjectid&amp;gt;/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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Listing and Viewing ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all Routing Rule Conditions that belong to a specified Routing Rule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/&amp;lt;routingruleobjectid&amp;gt;/routingruleconditions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET  request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRuleConditions total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/2a5263b7-c896-47ff-ad8c-749e0459a28c&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;2a5263b7-c896-47ff-ad8c-749e0459a28c&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleObjectId&amp;gt;d2f86bc0-4cab-4c29-9321-d756fe3add6a&amp;lt;/RoutingRuleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleURI&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a&amp;lt;/RoutingRuleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Parameter&amp;gt;1&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
    &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
    &amp;lt;OperandValue&amp;gt;12345&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/d9635722-f1ee-4459-a2d4-533f85cd2c24&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;d9635722-f1ee-4459-a2d4-533f85cd2c24&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleObjectId&amp;gt;d2f86bc0-4cab-4c29-9321-d756fe3add6a&amp;lt;/RoutingRuleObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RoutingRuleURI&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a&amp;lt;/RoutingRuleURI&amp;gt;&lt;br /&gt;
    &amp;lt;Parameter&amp;gt;7&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
    &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
    &amp;lt;OperandValue&amp;gt;4cc6c1be-e1ba-4fcf-be81-95bce20acbec&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
  &amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleConditions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific Routing Rule Condition by its ObjectId:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/&amp;lt;routingruleobjectid&amp;gt;/routingruleconditions/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating ===&lt;br /&gt;
&lt;br /&gt;
The required fields for creating a Routing Rule Condition are Parameter, Operator, and OperandValue. All other Routing Rule Condition fields are optional.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;Parameter&amp;gt;2&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
  &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;8675309&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/74b50eeb-8c06-4e86-b981-e4be62586feb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the OperandValue of an existing Routing Rule Condition to 5551212:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/74b50eeb-8c06-4e86-b981-e4be62586feb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;5551212&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Deleting ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes a Routing Rule Condition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE https://&amp;lt;connection-server&amp;gt;/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/74b50eeb-8c06-4e86-b981-e4be62586feb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Routing Rule Examples ==&lt;br /&gt;
&lt;br /&gt;
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 RouteTargetHandlerDisplayName and RouteTargetHandlerObjectType should not be specified when creating or updating a Routing Rule; rather they are set automatically based on the other specified values.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transfer to a User or Call Handler ===&lt;br /&gt;
&lt;br /&gt;
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 PHTransfer Conversation (meaning it will attempt to transfer to the call handler). If you want to transfer to a different call handler, set RouteTargetCallHandlerObjectId to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetConversation&amp;gt;PHTransfer&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetHandlerObjectId&amp;gt;aab5eab2-38f7-4231-a3be-bf2a8fde820c&amp;lt;/RouteTargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to a User or Call Handler's Greeting ===&lt;br /&gt;
&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetConversation&amp;gt;PHGreeting&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetHandlerObjectId&amp;gt;aab5eab2-38f7-4231-a3be-bf2a8fde820c&amp;lt;/RouteTargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to an Interview Handler ===&lt;br /&gt;
&lt;br /&gt;
The following Routing Rule will go to (Action=2) the interview handler (60367a3d-213e-4696-bd2a-f8d46091f2bf by using the PHInterview Conversation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetConversation&amp;gt;PHInterview&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetHandlerObjectId&amp;gt;60367a3d-213e-4696-bd2a-f8d46091f2bf&amp;lt;/RouteTargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to a Directory Handler ===&lt;br /&gt;
&lt;br /&gt;
The following Routing Rule will go to (Action=2) the directory handler e6304212-d846-4957-b364-ebe323251007 by using the AD Conversation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetConversation&amp;gt;AD&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetHandlerObjectId&amp;gt;e6304212-d846-4957-b364-ebe323251007&amp;lt;/RouteTargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to a Specific Conversation ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRule&amp;gt;&lt;br /&gt;
  &amp;lt;RouteAction&amp;gt;2&amp;lt;/RouteAction&amp;gt;&lt;br /&gt;
  &amp;lt;RouteTargetConversation&amp;gt;BroadcastMessageAdministrator&amp;lt;/RouteTargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Routing Rule Condition Examples ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Condition Based on a Phone Number ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;Parameter&amp;gt;1&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
  &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;1234&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Condition Based on a Port ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;Parameter&amp;gt;5&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
  &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;b79765f1-e14f-47b6-b8e1-00479909f710&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Condition Based on a Phone System ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;Parameter&amp;gt;9&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
  &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;2eb79e66-1e53-415c-9222-36665e0e76ae&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Condition Based on a Schedule Set ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;RoutingRuleCondition&amp;gt;&lt;br /&gt;
  &amp;lt;Parameter&amp;gt;7&amp;lt;/Parameter&amp;gt;&lt;br /&gt;
  &amp;lt;Operator&amp;gt;2&amp;lt;/Operator&amp;gt;&lt;br /&gt;
  &amp;lt;OperandValue&amp;gt;4cc6c1be-e1ba-4fcf-be81-95bce20acbec&amp;lt;/OperandValue&amp;gt;&lt;br /&gt;
&amp;lt;/RoutingRuleCondition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enumeration Types ==&lt;br /&gt;
&lt;br /&gt;
Routing Rules and Routing Rule Conditions have several fields that are enumeration types, meaning the fields are numeric constants whose meaning is not immediately obvious. The following tables list these constants and their meanings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule RouteAction ===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 0 &lt;br /&gt;
| Ignore (take no action)&lt;br /&gt;
|- &lt;br /&gt;
| 1 &lt;br /&gt;
| Hang up call&lt;br /&gt;
|- &lt;br /&gt;
| 2 &lt;br /&gt;
| Go to specified object&lt;br /&gt;
|- &lt;br /&gt;
| 3 &lt;br /&gt;
| Error (Play error message)&lt;br /&gt;
|- &lt;br /&gt;
| 4 &lt;br /&gt;
| Take a message&lt;br /&gt;
|- &lt;br /&gt;
| 5 &lt;br /&gt;
| Skip Greeting&lt;br /&gt;
|- &lt;br /&gt;
| 6 &lt;br /&gt;
| Restart Greeting&lt;br /&gt;
|- &lt;br /&gt;
| 7 &lt;br /&gt;
| Transfer to Alternate Contact Number&lt;br /&gt;
|- &lt;br /&gt;
| 8 &lt;br /&gt;
| Route from Next Call Routing Rule&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule RouteTargetHandlerObjectType ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| Call Handler&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Interview Handler&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Directory Handler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule State ===&lt;br /&gt;
&lt;br /&gt;
The State field in a Routing Rule is read/write, and can take the following values. It defaults to 0.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 0&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Inactive&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Invalid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule Type ===&lt;br /&gt;
&lt;br /&gt;
The Type field in a Routing Rule is read/write, and can take the following values.  It defaults to 1.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Direct&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Forwarded&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Both (normally only used by Opening Greeting)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule Condition Operator ===&lt;br /&gt;
&lt;br /&gt;
The Operator field in a Routing Rule Condition is read/write, and can take the following values. It does not have a default value.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| In&lt;br /&gt;
|- &lt;br /&gt;
| 2&lt;br /&gt;
| Equals&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| Greater than&lt;br /&gt;
|- &lt;br /&gt;
| 4&lt;br /&gt;
| Less than&lt;br /&gt;
|- &lt;br /&gt;
| 5&lt;br /&gt;
| Less than or equal to&lt;br /&gt;
|- &lt;br /&gt;
| 6&lt;br /&gt;
| Greater than or equal to&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule Condition Parameter ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Calling Number&lt;br /&gt;
|- &lt;br /&gt;
| 2&lt;br /&gt;
| Dialed Number&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| Forwarding Number&lt;br /&gt;
|- &lt;br /&gt;
| 5&lt;br /&gt;
| PortID&lt;br /&gt;
|- &lt;br /&gt;
| 7&lt;br /&gt;
| Schedule Set&lt;br /&gt;
|- &lt;br /&gt;
| 9&lt;br /&gt;
| Phone System&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routing Rule RouteTargetConversation ===&lt;br /&gt;
&lt;br /&gt;
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 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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
! TargetHandler&lt;br /&gt;
|- &lt;br /&gt;
| AD&lt;br /&gt;
| Directory Conversation&lt;br /&gt;
| Directory Handler&lt;br /&gt;
|- &lt;br /&gt;
| PHTransfer&lt;br /&gt;
| Transfer to User or Call Handler&lt;br /&gt;
| User or Call Handler&lt;br /&gt;
|- &lt;br /&gt;
| PHGreeting&lt;br /&gt;
| Play Greeting of User or Call Handler&lt;br /&gt;
| User or Call Handler&lt;br /&gt;
|- &lt;br /&gt;
| PHInterview&lt;br /&gt;
| Interview Conversation&lt;br /&gt;
| Interview Handler&lt;br /&gt;
|- &lt;br /&gt;
| AttemptForward&lt;br /&gt;
| Forwards the call to the User's Greeting if the Forwarding Number matches a User&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| AttemptSignIn&lt;br /&gt;
| Sends the call to a User's Sign-in if the Calling Number matches a User&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| BroadcastMessageAdministrator&lt;br /&gt;
| Sends the call to a Conversation for Sending Broadcast Messages&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| SystemTransfer&lt;br /&gt;
| Sends the call to a Conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it)&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| CheckedOutGuest&lt;br /&gt;
| Sends the call to a Conversation for checked-out hotel guests&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| GreetingsAdministrator&lt;br /&gt;
| Sends the call to a Conversation allowing changing greetings by phone&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| ReverseTrapConv&lt;br /&gt;
| Connects to Visual Voicemail&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| SubSignIn&lt;br /&gt;
| Sends the call to the Sign-In Conversation, which prompts the user to enter their ID&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| ConvUtilsLiveRecord&lt;br /&gt;
| Sends the call to the Live-Record pilot number configured on CUCM&lt;br /&gt;
| n/a&lt;br /&gt;
|- &lt;br /&gt;
| SubSysTransfer&lt;br /&gt;
| Similar to SystemTransfer, but requires users sign-in first (so unknown callers cannot use it)&lt;br /&gt;
| n/a&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Port_Groups_and_Ports</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Port_Groups_and_Ports"/>
				<updated>2010-12-13T22:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Port Groups and Ports ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to:&lt;br /&gt;
&lt;br /&gt;
* List, view, and update port groups&lt;br /&gt;
* List and view ports&lt;br /&gt;
&lt;br /&gt;
Note that ports are read-only resources and cannot be created, updated, or deleted via the API. Port groups also cannot be created or deleted via the API, and only two fields (MwiOnCode &amp;amp; MwiOffCode) can be updated by using the PUT method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all port groups:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/portgroups&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PortGroups total=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PortGroup&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupTemplateObjectId&amp;gt;90dd306f-b8af-46b6-8289-f13437cc1e5e&amp;lt;/MediaPortGroupTemplateObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;TelephonyIntegrationMethodEnum&amp;gt;1&amp;lt;/TelephonyIntegrationMethodEnum&amp;gt;&lt;br /&gt;
    &amp;lt;EnableMWI&amp;gt;true&amp;lt;/EnableMWI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;PhoneSystem-1&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;CcmDoAutoFailback&amp;gt;true&amp;lt;/CcmDoAutoFailback&amp;gt;&lt;br /&gt;
    &amp;lt;MwiOnCode/&amp;gt;&lt;br /&gt;
    &amp;lt;MwiOffCode/&amp;gt;&lt;br /&gt;
    &amp;lt;MwiRetryCountOnSuccess&amp;gt;0&amp;lt;/MwiRetryCountOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;MwiRetryIntervalOnSuccessMs&amp;gt;5&amp;lt;/MwiRetryIntervalOnSuccessMs&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SipTransportProtocolEnum&amp;gt;10&amp;lt;/SipTransportProtocolEnum&amp;gt;&lt;br /&gt;
    &amp;lt;SipRegisterWithProxyServer&amp;gt;false&amp;lt;/SipRegisterWithProxyServer&amp;gt;&lt;br /&gt;
    &amp;lt;SipDoAuthenticate&amp;gt;false&amp;lt;/SipDoAuthenticate&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnyDevicePrefix&amp;gt;test-VI&amp;lt;/SkinnyDevicePrefix&amp;gt;&lt;br /&gt;
    &amp;lt;MwiMinRequestIntervalMs&amp;gt;0&amp;lt;/MwiMinRequestIntervalMs&amp;gt;&lt;br /&gt;
    &amp;lt;MwiMaxConcurrentRequests&amp;gt;0&amp;lt;/MwiMaxConcurrentRequests&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;PortCount&amp;gt;2&amp;lt;/PortCount&amp;gt;&lt;br /&gt;
    &amp;lt;SipDoSRTP&amp;gt;true&amp;lt;/SipDoSRTP&amp;gt;&lt;br /&gt;
    &amp;lt;SipTLSModeEnum&amp;gt;11&amp;lt;/SipTLSModeEnum&amp;gt;&lt;br /&gt;
    &amp;lt;ResetStatusEnum&amp;gt;0&amp;lt;/ResetStatusEnum&amp;gt;&lt;br /&gt;
  &amp;lt;/PortGroup&amp;gt;&lt;br /&gt;
&amp;lt;/PortGroups&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
For example, to retrieve a list of all port groups sorted by display name in descending order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/portgroups?sort=(DisplayName%20desc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific port group by its object ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/portgroups/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, to retrieve a list of all ports, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Ports total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Port&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/ports/2806ecdc-0a3d-43f3-a2c8-93d786fa506b&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;2806ecdc-0a3d-43f3-a2c8-93d786fa506b&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupObjectId&amp;gt;035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/MediaPortGroupObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PortGroupURI&amp;gt;/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/PortGroupURI&amp;gt;&lt;br /&gt;
    &amp;lt;TelephonyIntegrationMethodEnum&amp;gt;1&amp;lt;/TelephonyIntegrationMethodEnum&amp;gt;&lt;br /&gt;
    &amp;lt;PortNumInGroup&amp;gt;1&amp;lt;/PortNumInGroup&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnySecurityModeEnum&amp;gt;0&amp;lt;/SkinnySecurityModeEnum&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnyDoMediaEncryption&amp;gt;false&amp;lt;/SkinnyDoMediaEncryption&amp;gt;&lt;br /&gt;
    &amp;lt;VmsServerObjectId&amp;gt;a7ba129e-6420-4d44-b060-93b638ba866a&amp;lt;/VmsServerObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;HuntOrder&amp;gt;0&amp;lt;/HuntOrder&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;PhoneSystem-1-001&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnyDeviceName&amp;gt;test-VI1&amp;lt;/SkinnyDeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PimgPortNumber&amp;gt;1&amp;lt;/PimgPortNumber&amp;gt;&lt;br /&gt;
    &amp;lt;CapAnswer&amp;gt;true&amp;lt;/CapAnswer&amp;gt;&lt;br /&gt;
    &amp;lt;CapNotification&amp;gt;true&amp;lt;/CapNotification&amp;gt;&lt;br /&gt;
    &amp;lt;CapMWI&amp;gt;true&amp;lt;/CapMWI&amp;gt;&lt;br /&gt;
    &amp;lt;CapEnabled&amp;gt;true&amp;lt;/CapEnabled&amp;gt;&lt;br /&gt;
    &amp;lt;CapDeliverAmis&amp;gt;false&amp;lt;/CapDeliverAmis&amp;gt;&lt;br /&gt;
    &amp;lt;CapTrapConnection&amp;gt;true&amp;lt;/CapTrapConnection&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupDisplayName&amp;gt;PhoneSystem-1&amp;lt;/MediaPortGroupDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupEnableMWI&amp;gt;true&amp;lt;/MediaPortGroupEnableMWI&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupMwiReqPortSpecific&amp;gt;true&amp;lt;/MediaPortGroupMwiReqPortSpecific&amp;gt;&lt;br /&gt;
    &amp;lt;SipSendPort&amp;gt;0&amp;lt;/SipSendPort&amp;gt;&lt;br /&gt;
    &amp;lt;VmsServerName&amp;gt;cuc-install-55&amp;lt;/VmsServerName&amp;gt;&lt;br /&gt;
  &amp;lt;/Port&amp;gt;&lt;br /&gt;
  &amp;lt;Port&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/ports/f87ad180-7d06-48c9-b9bd-e6b5cd2311bc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;f87ad180-7d06-48c9-b9bd-e6b5cd2311bc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupObjectId&amp;gt;035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/MediaPortGroupObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PortGroupURI&amp;gt;/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555&amp;lt;/PortGroupURI&amp;gt;&lt;br /&gt;
    &amp;lt;TelephonyIntegrationMethodEnum&amp;gt;1&amp;lt;/TelephonyIntegrationMethodEnum&amp;gt;&lt;br /&gt;
    &amp;lt;PortNumInGroup&amp;gt;2&amp;lt;/PortNumInGroup&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnySecurityModeEnum&amp;gt;0&amp;lt;/SkinnySecurityModeEnum&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnyDoMediaEncryption&amp;gt;false&amp;lt;/SkinnyDoMediaEncryption&amp;gt;&lt;br /&gt;
    &amp;lt;VmsServerObjectId&amp;gt;a7ba129e-6420-4d44-b060-93b638ba866a&amp;lt;/VmsServerObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;HuntOrder&amp;gt;0&amp;lt;/HuntOrder&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;PhoneSystem-1-002&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;SkinnyDeviceName&amp;gt;test-VI2&amp;lt;/SkinnyDeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PimgPortNumber&amp;gt;2&amp;lt;/PimgPortNumber&amp;gt;&lt;br /&gt;
    &amp;lt;CapAnswer&amp;gt;true&amp;lt;/CapAnswer&amp;gt;&lt;br /&gt;
    &amp;lt;CapNotification&amp;gt;true&amp;lt;/CapNotification&amp;gt;&lt;br /&gt;
    &amp;lt;CapMWI&amp;gt;true&amp;lt;/CapMWI&amp;gt;&lt;br /&gt;
    &amp;lt;CapEnabled&amp;gt;true&amp;lt;/CapEnabled&amp;gt;&lt;br /&gt;
    &amp;lt;CapDeliverAmis&amp;gt;false&amp;lt;/CapDeliverAmis&amp;gt;&lt;br /&gt;
    &amp;lt;CapTrapConnection&amp;gt;true&amp;lt;/CapTrapConnection&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupDisplayName&amp;gt;PhoneSystem-1&amp;lt;/MediaPortGroupDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupEnableMWI&amp;gt;true&amp;lt;/MediaPortGroupEnableMWI&amp;gt;&lt;br /&gt;
    &amp;lt;MediaPortGroupMwiReqPortSpecific&amp;gt;true&amp;lt;/MediaPortGroupMwiReqPortSpecific&amp;gt;&lt;br /&gt;
    &amp;lt;SipSendPort&amp;gt;0&amp;lt;/SipSendPort&amp;gt;&lt;br /&gt;
    &amp;lt;VmsServerName&amp;gt;cuc-install-55&amp;lt;/VmsServerName&amp;gt;&lt;br /&gt;
  &amp;lt;/Port&amp;gt;&lt;br /&gt;
&amp;lt;/Ports&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, to retrieve a specific port by its object ID, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/ports/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Note that the search column must either be an indexed column or contain boolean values.&lt;br /&gt;
&lt;br /&gt;
For example, to find all port groups with a display name that starts with &amp;quot;PhoneSystem&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/portgroups?query=(displayname%20startswith%20PhoneSystem)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next example finds all port groups with a EnableMwi that is set to 1 (i.e., enabled):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/portgroups?query=(EnableMWI%20is%201)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
Ports are read-only resources and cannot be updated. Port groups, however, contain two fields, MwiOnCode and MwiOffCode, that can be updated.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies these fields of an existing port group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/portgroups/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PortGroup&amp;gt;&lt;br /&gt;
	&amp;lt;MwiOnCode&amp;gt;678&amp;lt;/MwiOnCode&amp;gt;&lt;br /&gt;
	&amp;lt;MwiOffCode&amp;gt;876&amp;lt;/MwiOffCode&amp;gt;&lt;br /&gt;
&amp;lt;/PortGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_LDAP_Phone_Number_Transform</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_LDAP_Phone_Number_Transform"/>
				<updated>2010-12-13T22:51:58Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About LDAP Phone Number Transform ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to create, list, update, and delete LDAP phone number transforms.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET request that lists all LDAP phone number transforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/ldapphonenumbertransforms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LdapPhoneNumberTransforms total=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;0d49a281-cc35-4b8b-bccc-f94f8b8903bd&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Regex&amp;gt;.*([0-9][0-9][0-9][0-9])&amp;lt;/Regex&amp;gt;&lt;br /&gt;
    &amp;lt;Replacement&amp;gt;9$1&amp;lt;/Replacement&amp;gt;&lt;br /&gt;
  &amp;lt;/LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
&amp;lt;/LdapPhoneNumberTransforms&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
The required fields for creating an LDAP phone number transform are Regex and Replacement.&lt;br /&gt;
&lt;br /&gt;
The following is an  example of a POST request that creates an LDAP phone number transform with the Regex field set to &amp;quot;.*(\[0-9\]\[0-9\]\[0-9\]\[0-9\])&amp;quot;, and the Replacement field set to &amp;quot;9$1&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/ldapphonenumbertransforms/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
    &amp;lt;Regex&amp;gt;.*([0-9][0-9][0-9][0-9])&amp;lt;/Regex&amp;gt;&lt;br /&gt;
    &amp;lt;Replacement&amp;gt;9$1&amp;lt;/Replacement&amp;gt;&lt;br /&gt;
&amp;lt;/LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
The Regex and Replacement fields of an LDAP Phone Number Transform can be updated via a PUT request.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the Regex and Replacement fields of an existing LDAP phone number transform:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://&amp;lt;connection-server&amp;gt;/vmrest/ldapphonenumbertransforms/&lt;br /&gt;
0d49a281-cc35-4b8b-bccc-f94f8b8903bd&lt;br /&gt;
&amp;lt;LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
  &amp;lt;Regex&amp;gt;.*([0-9][0-9][0-9][0-9][0-9])&amp;lt;/Regex&amp;gt;&lt;br /&gt;
  &amp;lt;Replacement&amp;gt;8$1&amp;lt;/Replacement&amp;gt;&lt;br /&gt;
&amp;lt;/LdapPhoneNumberTransform&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes an LDAP phone number transform:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE https://&amp;lt;connection-server&amp;gt;/vmrest/ldapphonenumbertransforms/&lt;br /&gt;
0d49a281-cc35-4b8b-bccc-f94f8b8903bd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Possible  Errors ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
405&lt;br /&gt;
Method Not Allowed&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ErrorDetails&amp;gt;&lt;br /&gt;
  &amp;lt;errors&amp;gt;&lt;br /&gt;
    &amp;lt;code&amp;gt;METHOD_NOT_ALLOWED&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;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.)&amp;lt;/message&amp;gt;&lt;br /&gt;
  &amp;lt;/errors&amp;gt;&lt;br /&gt;
&amp;lt;/ErrorDetails&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Language_Map</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Language_Map"/>
				<updated>2010-12-13T22:45:16Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Language Map ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/installedlanguages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all language mappings in the language map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/languagemap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an excerpt of the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LanguageMappings total=&amp;quot;149&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;1025&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageAbbreviation&amp;gt;ARA&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageTag&amp;gt;ar-SA&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
  &amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;1026&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageAbbreviation&amp;gt;BGR&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageTag&amp;gt;bg-BG&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
  &amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;1027&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageAbbreviation&amp;gt;CAT&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageTag&amp;gt;ca-ES&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
  &amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
&amp;lt;/LanguageMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use the query parameters rowsPerPage and pageNumber to limit the number of returned results. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/languagemap?rowsPerPage=2&amp;amp;pageNumber=3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This request returns the two languages on the third page, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LanguageMappings total=&amp;quot;149&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;1029&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageAbbreviation&amp;gt;CSY&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageTag&amp;gt;cs-CZ&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
  &amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageCode&amp;gt;1030&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageAbbreviation&amp;gt;DAN&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
    &amp;lt;LanguageTag&amp;gt;da-DK&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
  &amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
&amp;lt;/LanguageMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/languagemap/1041&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageCode&amp;gt;1041&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageAbbreviation&amp;gt;JPN&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageTag&amp;gt;ja-JP&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
&amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/languagemap/ENU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This GET request yields the following response, which indicates that 1033 is the language code for US English:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LanguageMapping&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageCode&amp;gt;1033&amp;lt;/LanguageCode&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageAbbreviation&amp;gt;ENU&amp;lt;/LanguageAbbreviation&amp;gt;&lt;br /&gt;
  &amp;lt;LanguageTag&amp;gt;en-US&amp;lt;/LanguageTag&amp;gt;&lt;br /&gt;
&amp;lt;/LanguageMapping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
For a list of supported languages and the corresponding language codes/abbreviations, see the section &amp;quot;Numeric and Alphabetic Codes for Supported Languages in Cisco Unity Connection&amp;quot; in the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/requirements/8xcucsysreqs.html System Requirements for Cisco Unity Connection Release 8.x].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Cluster</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Cluster"/>
				<updated>2010-12-13T22:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Clusters ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the CUPI API to view cluster information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that displays cluster information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/cluster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Cluster&amp;gt;&lt;br /&gt;
  &amp;lt;Server&amp;gt;&lt;br /&gt;
    &amp;lt;Key&amp;gt;24a001ce-5090-44ec-99b2-0a214a4f8884&amp;lt;/Key&amp;gt;&lt;br /&gt;
    &amp;lt;DatabaseReplication&amp;gt;0&amp;lt;/DatabaseReplication&amp;gt;&lt;br /&gt;
    &amp;lt;HostName&amp;gt;qa-ks-vm-48&amp;lt;/HostName&amp;gt;&lt;br /&gt;
    &amp;lt;Ipv6Name/&amp;gt;&lt;br /&gt;
    &amp;lt;MacAddress/&amp;gt;&lt;br /&gt;
    &amp;lt;Description/&amp;gt;&lt;br /&gt;
  &amp;lt;/Server&amp;gt;&lt;br /&gt;
  &amp;lt;Server&amp;gt;&lt;br /&gt;
    &amp;lt;Key&amp;gt;56831ca1-e855-6305-3d47-58a5f9dc6d2c&amp;lt;/Key&amp;gt;&lt;br /&gt;
    &amp;lt;DatabaseReplication&amp;gt;1&amp;lt;/DatabaseReplication&amp;gt;&lt;br /&gt;
    &amp;lt;HostName&amp;gt;qa-ks-vm-107.cisco.com&amp;lt;/HostName&amp;gt;&lt;br /&gt;
    &amp;lt;Ipv6Name/&amp;gt;&lt;br /&gt;
    &amp;lt;MacAddress/&amp;gt;&lt;br /&gt;
    &amp;lt;Description/&amp;gt;&lt;br /&gt;
  &amp;lt;/Server&amp;gt;&lt;br /&gt;
&amp;lt;/Cluster&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the DatabaseReplication field, a value of 0 indicates that the server is the publisher, whereas 1 indicates that it is the subscriber.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Updating_Caller_Input_Keys</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Updating_Caller_Input_Keys"/>
				<updated>2010-12-13T22:42:51Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
In order to change a caller input key for a call handler, you need to know the object ID of the call handler.&lt;br /&gt;
&lt;br /&gt;
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'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/users/&amp;lt;userobjectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you have obtained the object ID of the call handler you want to change, you can do any of the following actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Ignore ===&lt;br /&gt;
&lt;br /&gt;
This is the default setting of most keys. To set a key to ignore you would do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;0&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field is a custom type used to determine at a basic level what the caller input key is going to want to do. The 0 value denotes that this key should be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hang Up ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;1&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 1 denotes that this key should terminate the call.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Restart Greeting ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;6&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 6 denotes that this key should restart playback of the greeting from the beginning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Route From Next Call Routing Rule ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;8&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 8 denotes that this key should route the call starting from the next call routing rule.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skip Greeting ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;5&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Take a Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
        &amp;lt;Action&amp;gt;4&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 4 denotes that this key should take the caller to record a message.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alternate Contact Number (ACN) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
    &amp;lt;Action&amp;gt;7&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;TransferNumber&amp;gt;number to transfer to&amp;lt;/TransferNumber&amp;gt;&lt;br /&gt;
  &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transfer to a User or Call Handler ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
    &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;TargetConversation&amp;gt;PHTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;TargetHandlerObjectId&amp;gt;05d9e169-5c87-4415-aaed-c58a14816c8d&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 2 denotes that this key should take 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The TargetHandlerObjectId is the call handler object ID of the call handler that you want the key to transfer the caller to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to an Interview Handler ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
    &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;TargetConversation&amp;gt;PHInterview&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;TargetHandlerObjectId&amp;gt;interview handler object id&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to a Directory Handler ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
    &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
    &amp;lt;TargetConversation&amp;gt;AD&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;TargetHandlerObjectId&amp;gt;object id of directory handler&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to the Broadcast Message Administrator Conversation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;TargetConversation&amp;gt;BroadcastMessageAdministrator&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to the Caller System Transfer Conversation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;TargetConversation&amp;gt;SystemTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to the Greetings Administrator Conversation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;TargetConversation&amp;gt;GreetingsAdministrator&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to the Sign-In Conversation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;TargetConversation&amp;gt;SubSignIn&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Go to the User System Transfer Conversation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;TargetConversation&amp;gt;SubSysTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Greetings</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Greetings"/>
				<updated>2010-12-13T22:41:56Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Greetings ==&lt;br /&gt;
&lt;br /&gt;
Modifying greetings involves a fairly long hierarchy in the URI, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/vmrest/handlers/callhandlers/&amp;lt;call handler object id&amp;gt;/greetings/&amp;lt;greeting type&amp;gt;/&lt;br /&gt;
greetingstreamfiles/&amp;lt;language id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The greeting types are:&lt;br /&gt;
&lt;br /&gt;
*Standard&lt;br /&gt;
*Alternate&lt;br /&gt;
*Busy&lt;br /&gt;
*Closed&lt;br /&gt;
*Holiday&lt;br /&gt;
*Error&lt;br /&gt;
*Internal&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Greeting Audio GET for 8.5 and Later ===&lt;br /&gt;
&lt;br /&gt;
Use the standard greeting audio URI to get the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;call handler object id&amp;gt;/greetings&lt;br /&gt;
/&amp;lt;greeting type&amp;gt;/greetingstreamfiles/&amp;lt;language id&amp;gt;/audio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response will return the audio/wav data for the greeting of the specified type and language.&lt;br /&gt;
&lt;br /&gt;
=== Voice Name GET for 7.x and 8.0.x ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;call handler object id&amp;gt;/greetings&lt;br /&gt;
/&amp;lt;greeting type&amp;gt;/greetingstreamfiles/&amp;lt;language id&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/voicefiles/&amp;lt;stream file&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response will return the audio/wav data for the greeting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting Greetings ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a Greeting in 8.5 and Later ===&lt;br /&gt;
&lt;br /&gt;
PUT the audio data directly to the standard greeting stream file URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;call handler object id&amp;gt;/greetings&lt;br /&gt;
/&amp;lt;greeting type&amp;gt;/greetingstreamfiles/&amp;lt;language id&amp;gt;/audio content is audio/wav data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response is a 204 indicating that the content has been accepted and copied into the temporary file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setting a Greeting in 7.x and 8.0.x ===&lt;br /&gt;
&lt;br /&gt;
To create a greeting for a resource is a three step process.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/voicefiles&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response code is 201 and the content is the name of the newly created temporary file.&lt;br /&gt;
&lt;br /&gt;
Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is &amp;quot;audio/wav&amp;quot; and the payload content is the audio data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/voicefiles/&amp;lt;temporary file name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response is a 204 indicating that the content has been accepted and copied into the temporary file.&lt;br /&gt;
&lt;br /&gt;
Step 3: Set the greeting stream file of the target resource to the temporary file name.&lt;br /&gt;
&lt;br /&gt;
See the following example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;call handler object id&amp;gt;/greetings&lt;br /&gt;
/&amp;lt;greeting type&amp;gt;/greetingstreamfiles/&amp;lt;language id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Only the stream file field needs to be filled out for PUT. All the other greeting stream file fields are derived from the URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GreetingStreamFile&amp;gt;&lt;br /&gt;
&amp;lt;StreamFile&amp;gt;temporary file name&amp;lt;/StreamFile&amp;gt;&lt;br /&gt;
&amp;lt;/GreetingStreamFile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Caller_Input_Keys</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Caller_Input_Keys"/>
				<updated>2010-12-13T22:41:11Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Caller Input Keys ==&lt;br /&gt;
&lt;br /&gt;
(Note that this content is applicable to Cisco Unity Connection 7.1(3) and later)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;CallHandlerObjectId&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/users/&amp;lt;userobjectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you have determined the object ID of the call handler that you want to change, you can do any of the following operations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ignore ==&lt;br /&gt;
&lt;br /&gt;
The default setting of most keys is &amp;quot;Ignore.&amp;quot; To set a key to ignore, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;0&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hang Up ==&lt;br /&gt;
&lt;br /&gt;
To set a key to hang up, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;1&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 1 denotes that this key should terminate the call.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Restart Greeting ==&lt;br /&gt;
&lt;br /&gt;
To set a key to restart the greeting, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;6&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 6 denotes that this key should restart playback of the greeting from the beginning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Route from Next Call Routing Rule ==&lt;br /&gt;
&lt;br /&gt;
To set a key to route the call starting from the next call routing rule, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;8&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 8 denotes that this key should route the call starting from the next call routing rule.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Skip Greeting ==&lt;br /&gt;
&lt;br /&gt;
To set a key to skip the greeting, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;5&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Take a Message ==&lt;br /&gt;
&lt;br /&gt;
To set a key to take a message, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;4&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Action field of 4 denotes that this key should prompt the caller to record a message.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to an Alternate Contact Number ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to an alternate contact number, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;7&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TransferNumber&amp;gt;number to transfer to&amp;lt;/TransferNumber&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to a User or a Call Handler ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to a user or a call handler, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;PHTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;TargetHandlerObjectId&amp;gt;05d9e169-5c87-4415-aaed-c58a14816c8d&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to an Interview Handler ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to an interview handler, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;PHInterview&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;TargetHandlerObjectId&amp;gt;interview handler object id&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to a Directory Handler ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to a directory handler, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;AD&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;TargetHandlerObjectId&amp;gt;object id of directory handler&amp;lt;/TargetHandlerObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to the Broadcast Message Administrator Conversation ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to the Broadcast Message Administrator conversation, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;BroadcastMessageAdministrator&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to the Caller System Transfer Conversation ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to the Caller System Transfer conversation, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;SystemTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to the Greetings Administrator Conversation ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to the Greetings Administrator conversation, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;GreetingsAdministrator&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to the Sign-In Conversation ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to the sign-in conversation, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;SubSignIn&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transfer to the User System Transfer Conversation ==&lt;br /&gt;
&lt;br /&gt;
To transfer a caller to the subscriber system transfer conversation, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;server&amp;gt;/vmrest/handlers/callhandlers/&amp;lt;callhandlerobjectid&amp;gt;/menuentries/&amp;lt;key&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;Action&amp;gt;2&amp;lt;/Action&amp;gt;&lt;br /&gt;
&amp;lt;TargetConversation&amp;gt;SubSysTransfer&amp;lt;/TargetConversation&amp;gt;&lt;br /&gt;
&amp;lt;/MenuEntry&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Assigning_a_Schedule_to_a_Call_Handler</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Assigning_a_Schedule_to_a_Call_Handler"/>
				<updated>2010-12-13T22:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a Schedule ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
When a schedule has been created, the administrator will need the ScheduleSet's ObjectId in order to associate it with a call handler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Associating a ScheduleSet with a Call Handler ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Retrieving the List of Call Handlers ===&lt;br /&gt;
&lt;br /&gt;
In order to retrieve the list of call handlers, an administrator makes a GET request to the call handler resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/handlers/callhandlers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will return a list of all call handlers on the system. A portion of that list is shown here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Callhandlers total=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Callhandler&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;CreationTime&amp;gt;2010-05-25T18:38:51Z&amp;lt;/CreationTime&amp;gt;&lt;br /&gt;
    &amp;lt;Language&amp;gt;1033&amp;lt;/Language&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;VoiceName&amp;gt;0164efab-5c35-42bd-8284-018746edc64b.wav&amp;lt;/VoiceName&amp;gt;&lt;br /&gt;
    &amp;lt;VoiceFileURI&amp;gt;/vmrest/voicefiles/0164efab-5c35-42bd-8284-018746edc64b.wav&amp;lt;/VoiceFileURI&amp;gt;&lt;br /&gt;
    &amp;lt;LocationObjectId&amp;gt;6919b242-ed60-4f3a-95fa-40967171485e&amp;lt;/LocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;LocationURI&amp;gt;/vmrest/locations/connectionlocations/6919b242-ed60-4f3a-95fa-40967171485e&amp;lt;/LocationURI&amp;gt;&lt;br /&gt;
    &amp;lt;EditMsg&amp;gt;true&amp;lt;/EditMsg&amp;gt;&lt;br /&gt;
    &amp;lt;IsPrimary&amp;gt;false&amp;lt;/IsPrimary&amp;gt;&lt;br /&gt;
    &amp;lt;OneKeyDelay&amp;gt;1500&amp;lt;/OneKeyDelay&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;a7e21c61-296d-46f1-9860-50966bbfbb8e&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetURI&amp;gt;/vmrest/schedulesets/a7e21c61-296d-46f1-9860-50966bbfbb8e&amp;lt;/ScheduleSetURI&amp;gt;&lt;br /&gt;
    &amp;lt;SendUrgentMsg&amp;gt;0&amp;lt;/SendUrgentMsg&amp;gt;&lt;br /&gt;
    &amp;lt;MaxMsgLen&amp;gt;300&amp;lt;/MaxMsgLen&amp;gt;&lt;br /&gt;
    &amp;lt;IsTemplate&amp;gt;false&amp;lt;/IsTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;03991ce8-0eaa-40cc-86a9-c0c88d9066ad&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RecipientDistributionListObjectId&amp;gt;7082dace-606c-4f2c-8af1-764d149e4500&amp;lt;/RecipientDistributionListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;RecipientDistributionListURI&amp;gt;/vmrest/distributionlists/7082dace-606c-4f2c-8af1-764d149e4500&amp;lt;/RecipientDistributionListURI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Opening Greeting&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;AfterMessageAction&amp;gt;2&amp;lt;/AfterMessageAction&amp;gt;&lt;br /&gt;
    &amp;lt;AfterMessageTargetConversation&amp;gt;PHGreeting&amp;lt;/AfterMessageTargetConversation&amp;gt;&lt;br /&gt;
    &amp;lt;AfterMessageTargetHandlerObjectId&amp;gt;3910fd6b-8d56-4b83-89a6-d5c825d69916&amp;lt;/AfterMessageTargetHandlerObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;TimeZone&amp;gt;4&amp;lt;/TimeZone&amp;gt;&lt;br /&gt;
    &amp;lt;UseDefaultLanguage&amp;gt;true&amp;lt;/UseDefaultLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;UseDefaultTimeZone&amp;gt;true&amp;lt;/UseDefaultTimeZone&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;2d4be643-a206-4705-92a9-261d191f2df4&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/2d4be643-a206-4705-92a9-261d191f2df4&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;UseCallLanguage&amp;gt;true&amp;lt;/UseCallLanguage&amp;gt;&lt;br /&gt;
    &amp;lt;SendSecureMsg&amp;gt;false&amp;lt;/SendSecureMsg&amp;gt;&lt;br /&gt;
    &amp;lt;EnablePrependDigits&amp;gt;false&amp;lt;/EnablePrependDigits&amp;gt;&lt;br /&gt;
    &amp;lt;DispatchDelivery&amp;gt;false&amp;lt;/DispatchDelivery&amp;gt;&lt;br /&gt;
    &amp;lt;CallSearchSpaceObjectId&amp;gt;44228e57-f458-4d56-809a-8d33fbdecb56&amp;lt;/CallSearchSpaceObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;CallSearchSpaceURI&amp;gt;/vmrest/searchspaces/44228e57-f458-4d56-809a-8d33fbdecb56&amp;lt;/CallSearchSpaceURI&amp;gt;&lt;br /&gt;
    &amp;lt;InheritSearchSpaceFromCall&amp;gt;true&amp;lt;/InheritSearchSpaceFromCall&amp;gt;&lt;br /&gt;
    &amp;lt;PartitionObjectId&amp;gt;5d61a103-87a8-41c6-ba0b-90e1c72eda7c&amp;lt;/PartitionObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PartitionURI&amp;gt;/vmrest/partitions/5d61a103-87a8-41c6-ba0b-90e1c72eda7c&amp;lt;/PartitionURI&amp;gt;&lt;br /&gt;
    &amp;lt;GreetingsURI&amp;gt;/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/greetings&amp;lt;/GreetingsURI&amp;gt;&lt;br /&gt;
    &amp;lt;TransferOptionsURI&amp;gt;/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/transferoptions&amp;lt;/TransferOptionsURI&amp;gt;&lt;br /&gt;
    &amp;lt;MenuEntriesURI&amp;gt;/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/menuentries&amp;lt;/MenuEntriesURI&amp;gt;&lt;br /&gt;
  &amp;lt;/Callhandler&amp;gt;&lt;br /&gt;
  &amp;lt;Callhandler&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/Callhandler&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/Callhandlers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Selecting the Call Handler ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
In this example, let's choose the Opening Greeting Call Handler, meaning the call handler with the DisplayName &amp;quot;Opening Greeting.&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modifying the Call Handler ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Callhandler&amp;gt;&lt;br /&gt;
  &amp;lt;ScheduleSetObjectId&amp;gt;9dd6c1d5-249e-4715-8953-396ce2f26314&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/Callhandler&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this point, the call handler will now be active during the time periods described by the ScheduleSet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Finding Which Schedule Is Assigned to a Call Handler ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/schedulesets/9dd6c1d5-249e-4715-8953-396ce2f26314&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That will return the ScheduleSet. From that ScheduleSet object, the administrator can retrieve the ScheduleSetMembers, Schedules, and ScheduleDetails that comprise the entire Schedule.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_User_Import</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_User_Import"/>
				<updated>2010-12-13T22:38:49Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Differences Between LDAP Import and CUCMBE Import ==&lt;br /&gt;
&lt;br /&gt;
There are very few differences between an LDAP import and a Cisco Unified Communications Manager Business Edition (CUCMBE) import. The primary differences involve the dtmfAccessId.&lt;br /&gt;
&lt;br /&gt;
A GET of an LDAP user will have a phone number, whereas a CUCMBE user will have a dtmfAccessId (based on data in the Cisco Unified Communications Manager (CUCM) database).&lt;br /&gt;
&lt;br /&gt;
When a user is imported, an LDAP import must specify a dtmfAccessId in the payload (this is often based on the phone number). A CUCMBE import will use the value that comes from the CUCM database for the dtmfAccessId.&lt;br /&gt;
&lt;br /&gt;
In this document, &amp;lt;type&amp;gt; in a URI refers to one of these values: ldap or cucmbe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before any LDAP users can be imported, the LDAP synchronization has to be set as described in this [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/design/guide/8xcucdg040.html section of the ''Design Guide for Cisco Unity Connection 8.x''].&lt;br /&gt;
&lt;br /&gt;
For CUCM user import, users are first created in the CUCM system. Prior to import, the creation of a user account must be done as described in this [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/user_mac/guide/8xcucmac100.html#wp1050464 section of the ''User Moves, Adds, and Changes Guide for Cisco Unity Connection 8.x''].&lt;br /&gt;
&lt;br /&gt;
The important point for a CUCMBE import is that the user must have a primary directory number. This is a Cisco Unified Communications Manager concept, but it effectively means that the user must have at least one device, that device must have at least one line number, and that line number needs to be assigned as the user's primary DN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GET a List of Users That Can Be Imported ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;server&amp;gt;/vmrest/import/users/&amp;lt;type&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Only users that are eligible for import are returned; users that are already imported are not in this list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Offset and Limit Parameters Can Be Part of the ldap Query ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;server&amp;gt;/vmrest/import/users/&amp;lt;type&amp;gt;?offset=x&amp;amp;limit=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the following:&lt;br /&gt;
&lt;br /&gt;
* Either parameter can be specified individually&lt;br /&gt;
&lt;br /&gt;
* If the offset exceeds the number of entries, the response is an empty list&lt;br /&gt;
&lt;br /&gt;
* If no limit is specified and more than 2000 results are returned, the response is an error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filter and Sort ===&lt;br /&gt;
&lt;br /&gt;
To put constraints on search results, LDAP requests support the CUPI standard filter and sort parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/import/users/ldap?limit=5 HTTP/1.1&lt;br /&gt;
Accept: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_20&lt;br /&gt;
Host: cuc-install-69.cisco.com&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GET above would produce the following response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Pragma: No-cache&lt;br /&gt;
Cache-Control: no-cache&lt;br /&gt;
Expires: Wed, 31 Dec 1969 16:00:00 PST&lt;br /&gt;
Set-Cookie: JSESSIONIDSSO=11D3599617B30496BAD4BF2BB4C23B32; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=2D9E4ACB334EF6DED8734E51EDDDB7F9; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Wed, 28 Apr 2010 19:39:03 GMT&lt;br /&gt;
Server: &lt;br /&gt;
&lt;br /&gt;
\{&amp;quot;ImportUser&amp;quot;:\[\{&amp;quot;alias&amp;quot;:&amp;quot;ui&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;unity&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;install&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;af7dea71-d6c7-47d9-b1db-44190073cf6c&amp;quot;\},\{&amp;quot;alias&amp;quot;:&amp;quot;um&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;unity&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;msgstore&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;452caa72-57e5-4644-a14c-f6e147a66e54&amp;quot;\},\{&amp;quot;alias&amp;quot;:&amp;quot;ud&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;unity&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;dirsvc&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;8bff5502-64f2-4425-9381-7ff524aea491&amp;quot;\},\{&amp;quot;alias&amp;quot;:&amp;quot;ua&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;unity&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;7ddba5d6-9eaa-4a92-8513-a9454141d27c&amp;quot;\},\{&amp;quot;alias&amp;quot;:&amp;quot;S-SvrG&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;Sonya&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;ServerG&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;aca43d25-4aa3-4270-a174-e5e9f1c3b5b5&amp;quot;\}\]\}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Import a User ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;server&amp;gt;/vmrest/import/users/&amp;lt;type&amp;gt;?templateAlias=&amp;lt;voice mail user template&amp;gt; with an ImportUser object as payload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An important point here is that because these users are imported, almost all values come from the internal database. The only value used on a CUCMBE import is the pkid of the passed-in user. The rest of the fields are ignored and their values are pulled from the CUCM database during the import process. 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.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/import/users/ldap?templateAlias=voicemailusertemplate HTTP/1.1&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_20&lt;br /&gt;
Host: cuc-install-69.cisco.com&lt;br /&gt;
Accept: text/html, image/gif, image/jpeg, \*; q=.2, \*/*; q=.2&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
Content-Length: 126&lt;br /&gt;
&lt;br /&gt;
\{&amp;quot;alias&amp;quot;:&amp;quot;sdavis&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;sonya&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;davis&amp;quot;,&amp;quot;dtmfAccessId&amp;quot;:&amp;quot;12123&amp;quot;,&amp;quot;pkid&amp;quot;:&amp;quot;c2e2bf1c-f249-40e5-b7b8-31a5b0333647&amp;quot;\}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The POST above would produce the following response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 201 Created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_SMTP_Proxy_Addresses</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_SMTP_Proxy_Addresses"/>
				<updated>2010-12-13T22:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About SMTP Proxy Addresses ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to list SMTP Proxy Addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all &amp;lt;element name&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/smtpproxyaddresses&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;SmtpProxyAddresses total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;SmtpProxyAddress&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/smtpproxyaddresses/9fd21b87-1509-42f1-88ce-3f36122c68ee&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;9fd21b87-1509-42f1-88ce-3f36122c68ee&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SmtpAddress&amp;gt;somedude@somewhere.com&amp;lt;/SmtpAddress&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectGlobalUserObjectId&amp;gt;0804bda6-953c-4271-b44a-0830c1429af2&amp;lt;/ObjectGlobalUserObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectGlobalUserURI&amp;gt;/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2&amp;lt;/ObjectGlobalUserURI&amp;gt;&lt;br /&gt;
  &amp;lt;/SmtpProxyAddress&amp;gt;&lt;br /&gt;
  &amp;lt;SmtpProxyAddress&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/smtpproxyaddresses/fc107ad8-b9e5-409e-b0bc-62e295c7532e&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;fc107ad8-b9e5-409e-b0bc-62e295c7532e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;SmtpAddress&amp;gt;someotherdude@somewhereelse.com&amp;lt;/SmtpAddress&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectGlobalUserObjectId&amp;gt;0804bda6-953c-4271-b44a-0830c1429af2&amp;lt;/ObjectGlobalUserObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectGlobalUserURI&amp;gt;/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2&amp;lt;/ObjectGlobalUserURI&amp;gt;&lt;br /&gt;
  &amp;lt;/SmtpProxyAddress&amp;gt;&lt;br /&gt;
&amp;lt;/SmtpProxyAddresses&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a sorted list of all SMTP Proxy Addresses, add the following query parameter: sort=(column [asc | desc])&lt;br /&gt;
&lt;br /&gt;
For example, to retrieve a list of all SMTP Proxy Addresses sorted by SMTP Address in ascending order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;vmrest/smtpproxyaddresses?sort=(smtpaddress%20asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific SMTP Proxy Address by its object ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/smtpproxyaddresses/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
For example, to find all SMTP Proxy Addresses with an SMTP Address that starts with &amp;quot;a&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/smtpproxyaddresses?query=(smtpaddress%20startswith%20a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following properties can be used for searching and sorting SMTP Proxy Addresses:&lt;br /&gt;
&lt;br /&gt;
* SmtpAddress&lt;br /&gt;
* ObjectId&lt;br /&gt;
* ObjectContactObjectId&lt;br /&gt;
* ObjectDistributionListObjectId&lt;br /&gt;
* ObjectGlobalUserObjectId&lt;br /&gt;
* ObjectPersonalGroupObjectId&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Private_Lists</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Private_Lists"/>
				<updated>2010-12-13T22:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
&lt;br /&gt;
Every user with a mailbox can have private lists. To see the private lists belonging to a user, do the following GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/users/&amp;lt;user object id&amp;gt;/privatelists/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the response you might receive to such a request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateLists total=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;PrivateList&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc/&lt;br /&gt;
privatelists/1f443e29-1d6b-4ef8-89a6-2767549e3577&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;1f443e29-1d6b-4ef8-89a6-2767549e3577&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;1&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;UserObjectId&amp;gt;f90d26fc-0e4a-405a-8c42-189a93129bdc&amp;lt;/UserObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfName&amp;gt;1&amp;lt;/DtmfName&amp;gt;&lt;br /&gt;
    &amp;lt;Alias&amp;gt;UserA_1f443e29-1d6b-4ef8-89a6-2767549e3577&amp;lt;/Alias&amp;gt;&lt;br /&gt;
    &amp;lt;VoiceName&amp;gt;6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav&amp;lt;/VoiceName&amp;gt;&lt;br /&gt;
    &amp;lt;VoiceFileURI&amp;gt;/vmrest/voicefiles/&lt;br /&gt;
     6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav&amp;lt;/VoiceFileURI&amp;gt;&lt;br /&gt;
    &amp;lt;NumericId&amp;gt;1&amp;lt;/NumericId&amp;gt;&lt;br /&gt;
    &amp;lt;IsAddressable&amp;gt;true&amp;lt;/IsAddressable&amp;gt;&lt;br /&gt;
  &amp;lt;/PrivateList&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateLists&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Private lists belong to specific users. The '''UserObjectId''' and '''UserURI''' field show that relationship.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''IsAddressable''' is an odd flag. It flags whether or not the private list is addressable. By default, all private lists are addressable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
The following POST creates a private list. In this example, it would be private list 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/users/&amp;lt;user object id&amp;gt;/privatelists&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateList&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;2&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;VoiceName&amp;gt;6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav&amp;lt;/VoiceName&amp;gt;&lt;br /&gt;
    &amp;lt;NumericId&amp;gt;2&amp;lt;/NumericId&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
Only the following fields can be updated in a PUT request:&lt;br /&gt;
&lt;br /&gt;
* DisplayName&lt;br /&gt;
* VoiceName&lt;br /&gt;
* NumericId&lt;br /&gt;
&lt;br /&gt;
The following example shows a PUT request that modifies some fields, changing a private list to private list 6.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/users/&amp;lt;user object id&amp;gt;/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateList&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;6&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;NumericId&amp;gt;6&amp;lt;/NumericId&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
A private list can be deleted by a DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/users/&amp;lt;user object id&amp;gt;/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Voice Names ==&lt;br /&gt;
&lt;br /&gt;
Creating a voice name for a private list (or for any object exposed in CUPI) is a multi-step process.&lt;br /&gt;
&lt;br /&gt;
Step 1: Create a place-holder for the WAV file by doing a POST:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/voicefiles&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the WAV file will be included in the response.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
6f9c6d05-42e5-48e3-8d07-204250af320d.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2: Take the name returned in Step 1, and do a PUT where the HTTP content type is &amp;quot;audio/wav&amp;quot; and the payload content is the audio data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/users/&amp;lt;user object id&amp;gt;/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateList&amp;gt;&lt;br /&gt;
  &amp;lt;VoiceName&amp;gt;6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav&amp;lt;/VoiceName&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The voice name can always be retrieved through the voice name URI, it will return the audio of the greeting as an  &amp;quot;audio/wav&amp;quot; media type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Private_List_Members</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Private_List_Members"/>
				<updated>2010-12-13T22:36:23Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
&lt;br /&gt;
Every private list has members. To see the members of a private list, do the following GET:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/users/&amp;lt;userobjectid&amp;gt;/privatelists/&amp;lt;privatelistobjectid&amp;gt;/privatelistmembers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the response you might receive to such a request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateListMembers total=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PrivateListMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/&lt;br /&gt;
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/&lt;br /&gt;
4d390786-56a8-45e3-85a1-1c0933375b99&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;PersonalVoiceMailListObjectId&amp;gt;df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PersonalVoiceMailListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PrivateListURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/&lt;br /&gt;
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PrivateListURI&amp;gt;&lt;br /&gt;
    &amp;lt;MemberSubscriberObjectId&amp;gt;444ded7b-e2b9-48c1-9aca-bcfda4372928&amp;lt;/&lt;br /&gt;
MemberSubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MemberUserURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928&amp;lt;/&lt;br /&gt;
MemberUserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;4d390786-56a8-45e3-85a1-1c0933375b99&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Alias&amp;gt;UserA&amp;lt;/Alias&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;User A&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Extension&amp;gt;1017&amp;lt;/Extension&amp;gt;&lt;br /&gt;
  &amp;lt;/PrivateListMember&amp;gt;&lt;br /&gt;
  &amp;lt;PrivateListMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/&lt;br /&gt;
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/&lt;br /&gt;
4e16bf12-6383-46d9-ae32-9ca9a857ca4f&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;PersonalVoiceMailListObjectId&amp;gt;df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PersonalVoiceMailListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PrivateListURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/&lt;br /&gt;
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PrivateListURI&amp;gt;&lt;br /&gt;
    &amp;lt;MemberDistributionListObjectId&amp;gt;4523ba2f-015c-414e-ad96-92aba431ed39&amp;lt;/MemberDistributionListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MemberDistributionListURI&amp;gt;/vmrest/distributionlists/&lt;br /&gt;
4523ba2f-015c-414e-ad96-92aba431ed39&amp;lt;/MemberDistributionListURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;4e16bf12-6383-46d9-ae32-9ca9a857ca4f&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Alias&amp;gt;ListA&amp;lt;/Alias&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;List A&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/PrivateListMember&amp;gt;&lt;br /&gt;
  &amp;lt;PrivateListMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/&lt;br /&gt;
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/&lt;br /&gt;
c61a60f6-0aa5-4c85-94ba-94fd6c167bd4&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;PersonalVoiceMailListObjectId&amp;gt;df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PersonalVoiceMailListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PrivateListURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/&lt;br /&gt;
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PrivateListURI&amp;gt;&lt;br /&gt;
    &amp;lt;MemberPersonalVoiceMailListObjectId&amp;gt;48eb2b0f-15a8-4bdf-a3a0-098debed181d&amp;lt;/MemberPersonalVoiceMailListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MemberPrivateListURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/&lt;br /&gt;
privatelists/48eb2b0f-15a8-4bdf-a3a0-098debed181d&amp;lt;/MemberPrivateListURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;c61a60f6-0aa5-4c85-94ba-94fd6c167bd4&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Alias&amp;gt;UserA_48eb2b0f-15a8-4bdf-a3a0-098debed181d&amp;lt;/Alias&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;2&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/PrivateListMember&amp;gt;&lt;br /&gt;
  &amp;lt;PrivateListMember&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/&lt;br /&gt;
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/&lt;br /&gt;
41295a7c-c9c0-45d3-8060-5a5038f0a49e&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;PersonalVoiceMailListObjectId&amp;gt;df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PersonalVoiceMailListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PrivateListURI&amp;gt;/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/&lt;br /&gt;
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c&amp;lt;/PrivateListURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;41295a7c-c9c0-45d3-8060-5a5038f0a49e&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MemberContactObjectId&amp;gt;27e58431-981f-4fbd-b667-69b1aaac89fd&amp;lt;/&lt;br /&gt;
MemberContactObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;MemberContactURI&amp;gt;/vmrest/contacts/27e58431-981f-4fbd-b667-69b1aaac89fd&amp;lt;/&lt;br /&gt;
MemberContactURI&amp;gt;&lt;br /&gt;
    &amp;lt;Alias&amp;gt;ConA&amp;lt;/Alias&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Con A&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Extension&amp;gt;1290390&amp;lt;/Extension&amp;gt;&lt;br /&gt;
  &amp;lt;/PrivateListMember&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateListMembers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/users/&amp;lt;userobjectid&amp;gt;/privatelists/&amp;lt;privatelistobjectid&amp;gt;/&lt;br /&gt;
privatelistmembers&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PrivateListMember&amp;gt;&lt;br /&gt;
  &amp;lt;MemberSubscriberObjectId&amp;gt;9bc04f85-9ac4-42f8-9314-547408a6126c&amp;lt;/&lt;br /&gt;
MemberSubscriberObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/PrivateListMember&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use MemberDistributionListObjectId to add distribution lists to a private list.&lt;br /&gt;
Use MemberPersonalVoiceMailListObjectId to add other private lists, and use MemberContactObjectId to add contacts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
The following DELETE removes a member from a private list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/users/&amp;lt;userobjectid&amp;gt;/privatelists/&amp;lt;privatelistobjectid&amp;gt;/&lt;br /&gt;
privatelistmembers/&amp;lt;privatelistmemberobjectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Notification_Devices</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Notification_Devices"/>
				<updated>2010-12-13T22:34:37Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Notification Devices ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to create, list, update, and delete Notification Devices.&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection supports four different types of Notification Devices:&lt;br /&gt;
&lt;br /&gt;
* Phone Devices&lt;br /&gt;
* Pager Devices&lt;br /&gt;
* SMS Devices&lt;br /&gt;
* SMTP Devices&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
An API user can list all generic Notification Device resources or all Device resources of a specified type (Phone, Pager, SMS, or SMTP).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Listing and Viewing Notification Devices ===&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all Notification Devices of all types for the specified User:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices&lt;br /&gt;
{noformat}&lt;br /&gt;
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).&lt;br /&gt;
{noformat}&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;NotificationDevices total=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;NotificationDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/2b13dda8-6249-45b2-9a87-aba1b27a1f95&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;2b13dda8-6249-45b2-9a87-aba1b27a1f95&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Pager&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;2&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;SendCount&amp;gt;true&amp;lt;/SendCount&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;true&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Pager&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;SendCallerId&amp;gt;true&amp;lt;/SendCallerId&amp;gt;&lt;br /&gt;
    &amp;lt;SendPcaLink&amp;gt;false&amp;lt;/SendPcaLink&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;SuccessRetryInterval&amp;gt;1&amp;lt;/SuccessRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnSuccess&amp;gt;0&amp;lt;/RetriesOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/NotificationDevice&amp;gt;&lt;br /&gt;
  &amp;lt;NotificationDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Home Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;1&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;SendCount&amp;gt;false&amp;lt;/SendCount&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;true&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Home Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;SendCallerId&amp;gt;false&amp;lt;/SendCallerId&amp;gt;&lt;br /&gt;
    &amp;lt;SendPcaLink&amp;gt;false&amp;lt;/SendPcaLink&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;SuccessRetryInterval&amp;gt;0&amp;lt;/SuccessRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnSuccess&amp;gt;0&amp;lt;/RetriesOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/NotificationDevice&amp;gt;&lt;br /&gt;
  &amp;lt;NotificationDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/878de0bf-9169-4ef7-afe4-ec82998c2322&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;878de0bf-9169-4ef7-afe4-ec82998c2322&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Mobile Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;1&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;SendCount&amp;gt;false&amp;lt;/SendCount&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;true&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Mobile Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;SendCallerId&amp;gt;false&amp;lt;/SendCallerId&amp;gt;&lt;br /&gt;
    &amp;lt;SendPcaLink&amp;gt;false&amp;lt;/SendPcaLink&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;SuccessRetryInterval&amp;gt;0&amp;lt;/SuccessRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnSuccess&amp;gt;0&amp;lt;/RetriesOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/NotificationDevice&amp;gt;&lt;br /&gt;
  &amp;lt;NotificationDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3a314c33-a69f-4179-a260-0c84a4520b3b&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;3a314c33-a69f-4179-a260-0c84a4520b3b&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Work Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;true&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;AfterDialDigits&amp;gt;1701&amp;lt;/AfterDialDigits&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;1&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneNumber&amp;gt;3475&amp;lt;/PhoneNumber&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;SendCount&amp;gt;false&amp;lt;/SendCount&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;false&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Work Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;true&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;SendCallerId&amp;gt;false&amp;lt;/SendCallerId&amp;gt;&lt;br /&gt;
    &amp;lt;SendPcaLink&amp;gt;false&amp;lt;/SendPcaLink&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchDisplayName&amp;gt;PhoneSystem&amp;lt;/MediaSwitchDisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;SuccessRetryInterval&amp;gt;0&amp;lt;/SuccessRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnSuccess&amp;gt;0&amp;lt;/RetriesOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;AllMessage&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;5&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;15&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;true&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
    &amp;lt;FailDeviceObjectId&amp;gt;0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/FailDeviceObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/NotificationDevice&amp;gt;&lt;br /&gt;
  &amp;lt;NotificationDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3e7f802b-d707-489f-b241-399ab67a0dc3&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;3e7f802b-d707-489f-b241-399ab67a0dc3&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;SMTP&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;0&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;4&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;0&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;0&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;0&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;0&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;0&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;SendCount&amp;gt;true&amp;lt;/SendCount&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;false&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;SMTP&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;SendCallerId&amp;gt;true&amp;lt;/SendCallerId&amp;gt;&lt;br /&gt;
    &amp;lt;SendPcaLink&amp;gt;false&amp;lt;/SendPcaLink&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;SuccessRetryInterval&amp;gt;0&amp;lt;/SuccessRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnSuccess&amp;gt;0&amp;lt;/RetriesOnSuccess&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/NotificationDevice&amp;gt;&lt;br /&gt;
&amp;lt;/NotificationDevices&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Listing and Viewing Specialized Devices ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/phonedevices&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PhoneDevices total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PhoneDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/3a314c33-a69f-4179-a260-0c84a4520b3b&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;AfterDialDigits&amp;gt;1701&amp;lt;/AfterDialDigits&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneNumber&amp;gt;3475&amp;lt;/PhoneNumber&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;false&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;3a314c33-a69f-4179-a260-0c84a4520b3b&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;true&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Work Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Work Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;true&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;AllMessage&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;5&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;15&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;true&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
    &amp;lt;FailDeviceObjectId&amp;gt;0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/FailDeviceObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/PhoneDevice&amp;gt;&lt;br /&gt;
  &amp;lt;PhoneDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;true&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;0f4ce029-1939-4ae0-9dee-9d84c77fadae&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Home Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Home Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/PhoneDevice&amp;gt;&lt;br /&gt;
  &amp;lt;PhoneDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/878de0bf-9169-4ef7-afe4-ec82998c2322&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;TransmitForcedAuthorizationCode&amp;gt;false&amp;lt;/TransmitForcedAuthorizationCode&amp;gt;&lt;br /&gt;
    &amp;lt;BusyRetryInterval&amp;gt;5&amp;lt;/BusyRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;Conversation&amp;gt;SubNotify&amp;lt;/Conversation&amp;gt;&lt;br /&gt;
    &amp;lt;DialDelay&amp;gt;1&amp;lt;/DialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnBusy&amp;gt;4&amp;lt;/RetriesOnBusy&amp;gt;&lt;br /&gt;
    &amp;lt;RetriesOnRna&amp;gt;4&amp;lt;/RetriesOnRna&amp;gt;&lt;br /&gt;
    &amp;lt;RingsToWait&amp;gt;4&amp;lt;/RingsToWait&amp;gt;&lt;br /&gt;
    &amp;lt;RnaRetryInterval&amp;gt;15&amp;lt;/RnaRetryInterval&amp;gt;&lt;br /&gt;
    &amp;lt;WaitConnect&amp;gt;true&amp;lt;/WaitConnect&amp;gt;&lt;br /&gt;
    &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PhoneSystemURI&amp;gt;/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/PhoneSystemURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;878de0bf-9169-4ef7-afe4-ec82998c2322&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
    &amp;lt;DeviceName&amp;gt;Mobile Phone&amp;lt;/DeviceName&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Mobile Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;MaxBody&amp;gt;512&amp;lt;/MaxBody&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSubject&amp;gt;64&amp;lt;/MaxSubject&amp;gt;&lt;br /&gt;
    &amp;lt;SubscriberObjectId&amp;gt;70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/SubscriberObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserURI&amp;gt;/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa&amp;lt;/UserURI&amp;gt;&lt;br /&gt;
    &amp;lt;PromptForId&amp;gt;false&amp;lt;/PromptForId&amp;gt;&lt;br /&gt;
    &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
    &amp;lt;DetectTransferLoop&amp;gt;false&amp;lt;/DetectTransferLoop&amp;gt;&lt;br /&gt;
    &amp;lt;EventList&amp;gt;NewVoiceMail&amp;lt;/EventList&amp;gt;&lt;br /&gt;
    &amp;lt;ScheduleSetObjectId&amp;gt;d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97&amp;lt;/ScheduleSetObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;InitialDelay&amp;gt;0&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatInterval&amp;gt;0&amp;lt;/RepeatInterval&amp;gt;&lt;br /&gt;
    &amp;lt;RepeatNotify&amp;gt;false&amp;lt;/RepeatNotify&amp;gt;&lt;br /&gt;
  &amp;lt;/PhoneDevice&amp;gt;&lt;br /&gt;
/PhoneDevices&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
For example, to find all Notification Devices with a DisplayName that starts with &amp;quot;Phone&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId/notificationdevices?query=(DisplayName%20startswith%20Home)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search criteria can also be used when doing a GET to the specialized Device resources.&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating Phone Devices ===&lt;br /&gt;
&lt;br /&gt;
The required fields for creating a Phone Device are DisplayName, MediaSwitchObjectId, and PhoneNumber. All other Phone Device fields are optional.&lt;br /&gt;
&lt;br /&gt;
The following is an  example of a POST that creates a Phone Device with a DisplayName=&amp;quot;My New Phone&amp;quot;, MediaSwitchObjectId=&amp;quot;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;quot;, PhoneNumber=&amp;quot;5551212&amp;quot;, and optional parameter InitialDelay=10:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/phonedevices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PhoneDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;My New Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;PhoneNumber&amp;gt;5551212&amp;lt;/PhoneNumber&amp;gt;&lt;br /&gt;
  &amp;lt;InitialDelay&amp;gt;10&amp;lt;/InitialDelay&amp;gt;&lt;br /&gt;
&amp;lt;/PhoneDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/2e377eba-a924-434b-b967-bac3815551d3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating Pager Devices ===&lt;br /&gt;
&lt;br /&gt;
The required fields for creating a Pager Device are DisplayName, MediaSwitchObjectId, and PhoneNumber. All other Pager Device fields are optional.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a POST that creates a Pager Device with DisplayName=&amp;quot;My New Pager&amp;quot;, MediaSwitchObjectId=&amp;quot;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;quot;, PhoneNumber=&amp;quot;8675309&amp;quot;, and optional parameter Active=false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/pagerdevices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PagerDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;My New Pager&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;MediaSwitchObjectId&amp;gt;6ecaa89b-2d29-4a21-8013-75c154ee58f5&amp;lt;/MediaSwitchObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;PhoneNumber&amp;gt;8675309&amp;lt;/PhoneNumber&amp;gt;&lt;br /&gt;
  &amp;lt;Active&amp;gt;false&amp;lt;/Active&amp;gt;&lt;br /&gt;
&amp;lt;/PagerDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/pagerdevices/13cbf32e-dc58-4695-aaf0-9f3a027cdab7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating SMS Devices ===&lt;br /&gt;
&lt;br /&gt;
The required fields for creating an SMS Device are DisplayName, SmppProviderObjectId, and RecipientAddress. All other SMS Device fields are optional. Note that there must be an SMPP Provider configured on the system before you can create an SMS Device for Notification. If the SmppProviderObjectId field is not supplied or does not correspond to an SMPP Provider configured on the system, then an HTTP 400 error will be returned, with text explaining that the parameter is missing or cannot be found in the SmppProvider table.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a POST that creates an SMS Device with DisplayName=&amp;quot;My New SMS Device&amp;quot;, SmppProviderObjectId=&amp;quot;60cd37e8-499c-43a3-b733-30f2640e5003&amp;quot;, RecipientAdress=&amp;quot;bob@xyz.com&amp;quot;, and optional parameter SenderAddress=&amp;quot;voicemail@xyz.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/smsdevices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SmsDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;My New SMS Device&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;SmppProviderObjectId&amp;gt;60cd37e8-499c-43a3-b733-30f2640e5003&amp;lt;/SmppProviderObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;RecipientAddress&amp;gt;bob@xyz.com&amp;lt;/RecipientAddress&amp;gt;&lt;br /&gt;
  &amp;lt;SenderAddress&amp;gt;voicemail@xyz.com&amp;lt;/SenderAddress&amp;gt;&lt;br /&gt;
&amp;lt;/SmsDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/smsdevices/ac200457-284c-4951-b04a-4d76bd03235e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating SMTP Devices ===&lt;br /&gt;
&lt;br /&gt;
The required fields for creating an SMTP Device are DisplayName and SmtpAddress. All other SMTP Device fields are optional.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a POST that creates an SMTP Device with DisplayName=&amp;quot;My New SMTP Device&amp;quot;, SmtpAddress=&amp;quot;sylvia@email.com&amp;quot;, and optional parameter EventList=&amp;quot;AllMessages&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/smtpdevices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SmtpDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;My New SMTP Device&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;SmtpAddress&amp;gt;sylvia@email.com&amp;lt;/SmtpAddress&amp;gt;&lt;br /&gt;
  &amp;lt;EventList&amp;gt;AllMessage&amp;lt;/EventList&amp;gt;&lt;br /&gt;
&amp;lt;/SmtpDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/smtpdevices/233e4e41-4743-41e2-a2c1-4f6691a21599&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
A generic Notification Device resource is read-only, so Notification Devices cannot be updated. However, the four specialized Device resources are not read-only, so an API user can update the appropriate specialized Device resource.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/phonedevices/2e377eba-a924-434b-b967-bac3815551d3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PhoneDevice&amp;gt;&lt;br /&gt;
  &amp;lt;FailDeviceObjectId&amp;gt;ac200457-284c-4951-b04a-4d76bd03235e&amp;lt;/FailDeviceObjectId&amp;gt;&lt;br /&gt;
&amp;lt;/PhoneDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes an existing Phone Device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE https://&amp;lt;connection-server&amp;gt;/vmrest/users/&amp;lt;UserObjectId&amp;gt;/notificationdevices/phonedevices/2e377eba-a924-434b-b967-bac3815551d3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Explanation of Data Fields ==&lt;br /&gt;
&lt;br /&gt;
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, &amp;quot;Base&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Field Name&lt;br /&gt;
! Device Type&lt;br /&gt;
! Writable?&lt;br /&gt;
! Explanation / Comments&lt;br /&gt;
|- &lt;br /&gt;
| ObjectId&lt;br /&gt;
| All&lt;br /&gt;
| Read-only&lt;br /&gt;
| ObjectId of the Device&lt;br /&gt;
|- &lt;br /&gt;
| Type&lt;br /&gt;
| Base&lt;br /&gt;
| Read-only&lt;br /&gt;
| Auto-set during Create.  1=Phone, 2=Pager, 4=SMTP, 5=SMS&lt;br /&gt;
|- &lt;br /&gt;
| Active&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Factory default=false. For newly-created, default=true&lt;br /&gt;
|- &lt;br /&gt;
| AfterDialDigits&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Extra-digits to dial after the Phone Number. Default=null&lt;br /&gt;
|- &lt;br /&gt;
| BusyRetryInterval&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Time in minutes to wait between retries if Busy. Default=5&lt;br /&gt;
|- &lt;br /&gt;
| Conversation&lt;br /&gt;
| Base, Phone&lt;br /&gt;
| Read-only&lt;br /&gt;
| Auto-set during Create.&lt;br /&gt;
|- &lt;br /&gt;
| DetectTransferLoop&lt;br /&gt;
| Base, Phone&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flags if Transfer Loop Detection is Enabled.  Default=false&lt;br /&gt;
|- &lt;br /&gt;
| DeviceName&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Friendly name for the Device type (not shown in CUCA or CPCA). Default=&amp;quot;Other&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| DialDelay&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Time in seconds to wait after Connect before dialing AfterDialDigits (ignored if no AfterDialDigits).  Default=1&lt;br /&gt;
|- &lt;br /&gt;
| DisplayName&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Friendly name for the Device like &amp;quot;Mobile Phone&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| EventList&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Comma-delimited list of Events that trigger Notification (see below). Default=NewVoiceMail&lt;br /&gt;
|- &lt;br /&gt;
| FailDeviceObjectid&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| ObjectId of next Notification Device to use if this one fails (to chain Notifications). Default=null&lt;br /&gt;
|- &lt;br /&gt;
| InitialDelay&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Time in minutes to wait after a Message is received before Notification is triggered. Default=0&lt;br /&gt;
|- &lt;br /&gt;
| MaxBody&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Maximum number of characters in the Body of a Notification message. Default=512&lt;br /&gt;
|- &lt;br /&gt;
| MaxSubject&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Maximum number of characters in the Subject of a Notification message. Default=64&lt;br /&gt;
|- &lt;br /&gt;
| MediaSwitchObjectId&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| ObjectId of the Phone System to use for the Dial-out.&lt;br /&gt;
|- &lt;br /&gt;
| PhoneNumber&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Phone Number to dial to reach the Device.&lt;br /&gt;
|- &lt;br /&gt;
| PromptForId&lt;br /&gt;
| Base, Phone&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flags if the User must enter their ID to get the Notification message. Default=false&lt;br /&gt;
|- &lt;br /&gt;
| RecipientAddress&lt;br /&gt;
| SMS&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Address of Message recipient&lt;br /&gt;
|- &lt;br /&gt;
| RepeatInterval&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Time in minutes to wait before re-notifying of messages. Default=0&lt;br /&gt;
|- &lt;br /&gt;
| RepeatNotify&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flags if Notification process should begin for each newly arrived message. Default=false&lt;br /&gt;
|- &lt;br /&gt;
| RetriesOnBusy&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Number of retry attempts if Busy. Default=4&lt;br /&gt;
|- &lt;br /&gt;
| RetriesOnRna&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Number of retry attempts if RNA. Default=4&lt;br /&gt;
|- &lt;br /&gt;
| RetriesOnSuccess&lt;br /&gt;
| Base, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Number of retry attempts if successful. Default=0&lt;br /&gt;
|- &lt;br /&gt;
| RingsToWait&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Number of rings to wait for Connect before RNA. Default=4&lt;br /&gt;
|- &lt;br /&gt;
| RnaRetryInterval&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Time in minutes to wait between retries if RNA. Default=5&lt;br /&gt;
|- &lt;br /&gt;
| ScheduleSetObjectId&lt;br /&gt;
| All&lt;br /&gt;
| Read/Write&lt;br /&gt;
| ObjectId of the ScheduleSet during which Notification may trigger. Default=AllHours&lt;br /&gt;
|- &lt;br /&gt;
| SendCallerId&lt;br /&gt;
| Base, Pager, SMS, SMTP&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flag to include CallerId in the Notification message. Default=true&lt;br /&gt;
|- &lt;br /&gt;
| SendCount&lt;br /&gt;
| Base, Pager, SMS, SMTP&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flag to include the message counts in the Notification message. Default=true&lt;br /&gt;
|- &lt;br /&gt;
| SenderAddress&lt;br /&gt;
| SMS&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Address of Message sender. Default=null&lt;br /&gt;
|- &lt;br /&gt;
| SendPcaLink&lt;br /&gt;
| Base, SMTP&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flag to include a link to CPCA in the Notification message. Default=false&lt;br /&gt;
|- &lt;br /&gt;
| SmppProviderObjectId&lt;br /&gt;
| Base, SMS&lt;br /&gt;
| Read/Write&lt;br /&gt;
| ObjectId of the SMPP Provider&lt;br /&gt;
|- &lt;br /&gt;
| SmtpAddress&lt;br /&gt;
| Base, SMTP&lt;br /&gt;
| Read/Write&lt;br /&gt;
| SMTP address to send the Notification message to&lt;br /&gt;
|- &lt;br /&gt;
| StaticText&lt;br /&gt;
| Base, SMS, SMTP&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Static text to include in the Notification Message. Default=null&lt;br /&gt;
|- &lt;br /&gt;
| SubscriberObjectId&lt;br /&gt;
| All&lt;br /&gt;
| Read-only&lt;br /&gt;
| ObjectId of the User&lt;br /&gt;
|- &lt;br /&gt;
| SuccessRetryInterval&lt;br /&gt;
| Base, Pager&lt;br /&gt;
| Read/Write &lt;br /&gt;
| Time in minutes to wait between retries if successful. Default=0&lt;br /&gt;
|- &lt;br /&gt;
| TransmitForcedAuthorizationCode&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flags if an authorization code should be sent to CUCM after the PhoneNumber is dialed. Default=false&lt;br /&gt;
|- &lt;br /&gt;
| Undeletable&lt;br /&gt;
| All&lt;br /&gt;
| Read-only&lt;br /&gt;
| Factory default=true. For newly-created, default=false&lt;br /&gt;
|- &lt;br /&gt;
| WaitConnect&lt;br /&gt;
| Base, Phone, Pager&lt;br /&gt;
| Read/Write&lt;br /&gt;
| Flags if need to wait for Connect before dialing AfterDialDigits. Default=true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Event Name&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| None &lt;br /&gt;
| No messages of any type or urgency&lt;br /&gt;
|- &lt;br /&gt;
| AllMessage &lt;br /&gt;
| All messages of all types and urgencies&lt;br /&gt;
|- &lt;br /&gt;
| AllUrgentMessage &lt;br /&gt;
| All urgent messages of all types&lt;br /&gt;
|- &lt;br /&gt;
| CalendarAppointment &lt;br /&gt;
| Calender appointments&lt;br /&gt;
|- &lt;br /&gt;
| CalendarMeeting &lt;br /&gt;
| Calendar meetings&lt;br /&gt;
|- &lt;br /&gt;
| DispatchMessage &lt;br /&gt;
| All dispatch messages&lt;br /&gt;
|- &lt;br /&gt;
| UrgentDispatchMessage &lt;br /&gt;
| All urgent dispatch messages&lt;br /&gt;
|- &lt;br /&gt;
| NewFax &lt;br /&gt;
| All fax messages&lt;br /&gt;
|- &lt;br /&gt;
| NewUrgentFax &lt;br /&gt;
| All urgent fax messages&lt;br /&gt;
|- &lt;br /&gt;
| NewVoiceMail &lt;br /&gt;
| All voicemail messages&lt;br /&gt;
|- &lt;br /&gt;
| NewUrgentVoiceMail &lt;br /&gt;
| All urgent voicemail messages&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Enabling_Single_Inbox_Example</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Enabling_Single_Inbox_Example"/>
				<updated>2010-12-13T22:34:03Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enabling Single Inbox for a User ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The Single Inbox feature is available only in Cisco Unity Connection 8.5 and later. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update Class of Service ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;true.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here is an example of modifying an existing Class of Service to allow access to the Single Inbox feature:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/coses/&amp;lt;cosobjectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Cos&amp;gt;&lt;br /&gt;
  &amp;lt;AccessIMAP&amp;gt;true&amp;lt;/AccessIMAP&amp;gt;&lt;br /&gt;
&amp;lt;/Cos&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create or Update Unified Messaging Service ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create or Update Unified Messaging Accounts ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;true.&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example of modifying an existing Unified Messaging Account to enable the Single Inbox feature:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/users/&amp;lt;userobjectid&amp;gt;/externalserviceaccounts/&amp;lt;externalserviceaccountobjectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ExternalServiceAccount&amp;gt;&lt;br /&gt;
  &amp;lt;EnableMailboxSynchCapability&amp;gt;true&amp;lt;/EnableMailboxSynchCapability&amp;gt;&lt;br /&gt;
&amp;lt;/ExternalServiceAccount&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Class_of_Service_(COS)</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS)</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Class_of_Service_(COS)"/>
				<updated>2010-12-13T22:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Classes of Service (COSes) ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to create, list, update, and delete classes of service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET request that lists all Classes of Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/coses&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Coses total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Cos&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/coses/e0da866c-07d4-41ae-8ca9-e334e4732ea7&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e0da866c-07d4-41ae-8ca9-e334e4732ea7&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Voice Mail User COS&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/Cos&amp;gt;&lt;br /&gt;
  &amp;lt;Cos&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/coses/38a57ca9-406d-4dec-9fc0-d7fc54ef5dff&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;38a57ca9-406d-4dec-9fc0-d7fc54ef5dff&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;System&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/Cos&amp;gt;&lt;br /&gt;
&amp;lt;/Coses&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a sorted list of all Classes of Service, add the following query parameter: sort=(column [asc|desc])&lt;br /&gt;
&lt;br /&gt;
For example, to retrieve a list of all Classes of Service sorted by their display names in ascending order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/coses?sort=(displayname%20asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific Class of Service by its object ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/coses/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Cos&amp;gt;&lt;br /&gt;
  &amp;lt;URI&amp;gt;/vmrest/coses/a9a3a677-31f1-4edb-acd0-6a2135e15995&amp;lt;/URI&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;a9a3a677-31f1-4edb-acd0-6a2135e15995&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;AccessFaxMail&amp;gt;false&amp;lt;/AccessFaxMail&amp;gt;&lt;br /&gt;
  &amp;lt;AccessTts&amp;gt;false&amp;lt;/AccessTts&amp;gt;&lt;br /&gt;
  &amp;lt;CallHoldAvailable&amp;gt;false&amp;lt;/CallHoldAvailable&amp;gt;&lt;br /&gt;
  &amp;lt;CallScreenAvailable&amp;gt;false&amp;lt;/CallScreenAvailable&amp;gt;&lt;br /&gt;
  &amp;lt;CanRecordName&amp;gt;true&amp;lt;/CanRecordName&amp;gt;&lt;br /&gt;
  &amp;lt;FaxRestrictionObjectId&amp;gt;d762807b-fbab-4b46-b21b-bf9e37648d0a&amp;lt;/FaxRestrictionObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;ListInDirectoryStatus&amp;gt;true&amp;lt;/ListInDirectoryStatus&amp;gt;&lt;br /&gt;
  &amp;lt;LocationObjectId&amp;gt;7fe7907a-2222-482e-83cb-d8d4ad32adc1&amp;lt;/LocationObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;LocationURI&amp;gt;/vmrest/locations/connectionlocations/7fe7907a-2222-482e-83cb-d8d4ad32adc1&amp;lt;/LocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;MaxGreetingLength&amp;gt;90&amp;lt;/MaxGreetingLength&amp;gt;&lt;br /&gt;
  &amp;lt;MaxMsgLength&amp;gt;300&amp;lt;/MaxMsgLength&amp;gt;&lt;br /&gt;
  &amp;lt;MaxNameLength&amp;gt;30&amp;lt;/MaxNameLength&amp;gt;&lt;br /&gt;
  &amp;lt;MaxPrivateDlists&amp;gt;25&amp;lt;/MaxPrivateDlists&amp;gt;&lt;br /&gt;
  &amp;lt;MovetoDeleteFolder&amp;gt;true&amp;lt;/MovetoDeleteFolder&amp;gt;&lt;br /&gt;
  &amp;lt;OutcallRestrictionObjectId&amp;gt;1c7c3ebf-391e-44f6-8ee2-3717049c614d&amp;lt;/OutcallRestrictionObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;PersonalAdministrator&amp;gt;true&amp;lt;/PersonalAdministrator&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Voice Mail User COS&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;XferRestrictionObjectId&amp;gt;54caa5d6-0ec6-49c9-a80f-52ae743c256f&amp;lt;/XferRestrictionObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;Undeletable&amp;gt;true&amp;lt;/Undeletable&amp;gt;&lt;br /&gt;
  &amp;lt;WarnIntervalMsgEnd&amp;gt;0&amp;lt;/WarnIntervalMsgEnd&amp;gt;&lt;br /&gt;
  &amp;lt;CanSendToPublicDl&amp;gt;true&amp;lt;/CanSendToPublicDl&amp;gt;&lt;br /&gt;
  &amp;lt;EnableEnhancedSecurity&amp;gt;false&amp;lt;/EnableEnhancedSecurity&amp;gt;&lt;br /&gt;
  &amp;lt;AccessVmi&amp;gt;false&amp;lt;/AccessVmi&amp;gt;&lt;br /&gt;
  &amp;lt;AccessLiveReply&amp;gt;false&amp;lt;/AccessLiveReply&amp;gt;&lt;br /&gt;
  &amp;lt;UaAlternateExtensionAccess&amp;gt;0&amp;lt;/UaAlternateExtensionAccess&amp;gt;&lt;br /&gt;
  &amp;lt;AccessCallRoutingRules&amp;gt;false&amp;lt;/AccessCallRoutingRules&amp;gt;&lt;br /&gt;
  &amp;lt;WarnMinMsgLength&amp;gt;0&amp;lt;/WarnMinMsgLength&amp;gt;&lt;br /&gt;
  &amp;lt;SendBroadcastMessage&amp;gt;false&amp;lt;/SendBroadcastMessage&amp;gt;&lt;br /&gt;
  &amp;lt;UpdateBroadcastMessage&amp;gt;false&amp;lt;/UpdateBroadcastMessage&amp;gt;&lt;br /&gt;
  &amp;lt;AccessVui&amp;gt;false&amp;lt;/AccessVui&amp;gt;&lt;br /&gt;
  &amp;lt;ImapCanFetchMessageBody&amp;gt;true&amp;lt;/ImapCanFetchMessageBody&amp;gt;&lt;br /&gt;
  &amp;lt;ImapCanFetchPrivateMessageBody&amp;gt;false&amp;lt;/ImapCanFetchPrivateMessageBody&amp;gt;&lt;br /&gt;
  &amp;lt;MaxMembersPVL&amp;gt;99&amp;lt;/MaxMembersPVL&amp;gt;&lt;br /&gt;
  &amp;lt;AccessIMAP&amp;gt;false&amp;lt;/AccessIMAP&amp;gt;&lt;br /&gt;
  &amp;lt;ReadOnly&amp;gt;false&amp;lt;/ReadOnly&amp;gt;&lt;br /&gt;
  &amp;lt;AccessAdvancedUserFeatures&amp;gt;false&amp;lt;/AccessAdvancedUserFeatures&amp;gt;&lt;br /&gt;
  &amp;lt;AccessUnifiedClient&amp;gt;false&amp;lt;/AccessUnifiedClient&amp;gt;&lt;br /&gt;
  &amp;lt;RequireSecureMessages&amp;gt;4&amp;lt;/RequireSecureMessages&amp;gt;&lt;br /&gt;
  &amp;lt;AccessOutsideLiveReply&amp;gt;false&amp;lt;/AccessOutsideLiveReply&amp;gt;&lt;br /&gt;
  &amp;lt;AccessSTT&amp;gt;false&amp;lt;/AccessSTT&amp;gt;&lt;br /&gt;
  &amp;lt;EnableSTTSecureMessage&amp;gt;0&amp;lt;/EnableSTTSecureMessage&amp;gt;&lt;br /&gt;
&amp;lt;/Cos&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
One can also use CUPI For End Users to retrieve one's own Class of Service with the following request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/cos&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of Classes of Service that meet a specified search criteria, add the following query parameter: query=(column [is|startswith] value)&lt;br /&gt;
&lt;br /&gt;
For example, to find all Classes of Service with a display name that starts with &amp;quot;System&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/coses?query=(displayname%20startswith%20System)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
The only required field for creating a COS is DisplayName. All other fields are optional.&lt;br /&gt;
&lt;br /&gt;
The following is an example of a POST request that creates a COS with the display name &amp;quot;My New COS&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;connection-server&amp;gt;/vmrest/coses&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Cos&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;My New COS&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/Cos&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/coses/8ae8b4a2-a25b-4f16-95d9-77abcb91b764&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the display name of an existing COS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/coses/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Cos&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;My New CoS&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/Cos&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes a Class of Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE http://vmrest/coses/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204&lt;br /&gt;
No Content&lt;br /&gt;
null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Possible  Errors ==&lt;br /&gt;
&lt;br /&gt;
There are no non-obvious error messages that might come from working with classes of service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Changing_Primary_and_Alternate_Extensions</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Changing_Primary_and_Alternate_Extensions"/>
				<updated>2010-12-13T22:31:26Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Changing Primary and Alternate Extensions ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Viewing the Primary Extension ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/users/&amp;lt;userobjectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The user's primary extension will also show up in their list of alternate extensions with an IdIndex of 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating the Primary Extension ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT that modifies the DTMFAccessID of a user to 2001:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/users/&amp;lt;userobjectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;User&amp;gt;&lt;br /&gt;
  &amp;lt;DtmfAccessId&amp;gt;2001&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/User&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a New Alternate Extension ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST  /vmrest/users/&amp;lt;userobjectid&amp;gt;/alternateextensions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;AlternateExtension&amp;gt;&lt;br /&gt;
  &amp;lt;IdIndex&amp;gt;1&amp;lt;/IdIndex&amp;gt;&lt;br /&gt;
  &amp;lt;DtmfAccessId&amp;gt;2000&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateExtension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating an Existing Alternate Extension ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT  /vmrest/users/&amp;lt;userobjectid&amp;gt;/alternateextensions/&amp;lt;alternateextensionobjectid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;AlternateExtension&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;2000&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateExtension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Explaining the IdIndex Field ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
1 = Work Phone&lt;br /&gt;
&lt;br /&gt;
2 = Work Phone 2&lt;br /&gt;
&lt;br /&gt;
3 = Home Phone&lt;br /&gt;
&lt;br /&gt;
4 = Home Phone 2&lt;br /&gt;
&lt;br /&gt;
5 = Mobile Phone&lt;br /&gt;
&lt;br /&gt;
6 = Mobile Phone 2&lt;br /&gt;
&lt;br /&gt;
7 = Work Fax&lt;br /&gt;
&lt;br /&gt;
8 = Work Fax 2&lt;br /&gt;
&lt;br /&gt;
9 = Home Fax&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Changing_Passwords_and_Password_Settings</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Changing_Passwords_and_Password_Settings"/>
				<updated>2010-12-13T22:30:54Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing a User's PIN ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT vmrest/users/&amp;lt;objectid&amp;gt;/credential/pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Credential&amp;gt;&lt;br /&gt;
  &amp;lt;Credentials&amp;gt;635241&amp;lt;/Credentials&amp;gt;&lt;br /&gt;
&amp;lt;/Credential&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing a User's Password ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT vmrest/users/&amp;lt;objectid&amp;gt;/credential/password&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Credential&amp;gt;&lt;br /&gt;
  &amp;lt;Credentials&amp;gt;My1stPassword&amp;lt;/Credentials&amp;gt;&lt;br /&gt;
&amp;lt;/Credential&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting the &amp;quot;User Cannot Change Password&amp;quot; Flag ==&lt;br /&gt;
&lt;br /&gt;
To configure a PIN or password so that the user cannot change it, use the CantChange element.&lt;br /&gt;
&lt;br /&gt;
Here is an example of changing a user's PIN such that the user cannot change it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT vmrest/users/&amp;lt;objectid&amp;gt;/credential/pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Credential&amp;gt;&lt;br /&gt;
  &amp;lt;CantChange&amp;gt;true&amp;lt;/CantChange&amp;gt;&lt;br /&gt;
&amp;lt;/Credential&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of changing a user's password such that the user cannot change it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT vmrest/users/&amp;lt;objectid&amp;gt;/credential/password&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Credential&amp;gt;&lt;br /&gt;
  &amp;lt;CantChange&amp;gt;true&amp;lt;/CantChange&amp;gt;&lt;br /&gt;
&amp;lt;/Credential&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the only difference in these examples is the URI; they both use the same Credentials object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Alternate_Names</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Alternate_Names"/>
				<updated>2010-12-13T22:29:42Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Alternate Names ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a GET that lists all Alternate Names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the above GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;AlternateNames total=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/alternatenames/a2ec7ba8-db89-4135-8cde-2fce23e59616&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;Ooser&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;Aye&amp;lt;/LastName&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;a2ec7ba8-db89-4135-8cde-2fce23e59616&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;GlobalUserObjectId&amp;gt;bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b&amp;lt;/GlobalUserObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;GlobalUserURI&amp;gt;/vmrest/globalusers/bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b&amp;lt;/GlobalUserURI&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/alternatenames/c10257ad-886a-451d-9d96-09499dbf5cf1&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;allvoicemaleusers&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;c10257ad-886a-451d-9d96-09499dbf5cf1&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DistributionListObjectId&amp;gt;a9a648f7-bf32-4851-a0c5-62c0165116ae&amp;lt;/DistributionListObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DistributionListURI&amp;gt;/vmrest/distributionlists/a9a648f7-bf32-4851-a0c5-62c0165116ae&amp;lt;/DistributionListURI&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/alternatenames/2b5b5a9a-1721-4ca6-a1e6-92d375f6c761&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;khan&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;ah&amp;lt;/LastName&amp;gt;&lt;br /&gt;
    &amp;lt;ContactObjectId&amp;gt;95beb3f7-b142-4ca5-861f-e36d65aef463&amp;lt;/ContactObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;ContactURI&amp;gt;/vmrest/contacts/95beb3f7-b142-4ca5-861f-e36d65aef463&amp;lt;/ContactURI&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;2b5b5a9a-1721-4ca6-a1e6-92d375f6c761&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/alternatenames/d6d06ae0-6c63-4944-9426-ce4027aa67fd&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;privut lyst&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;d6d06ae0-6c63-4944-9426-ce4027aa67fd&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;PersonalGroupObjectId&amp;gt;10966c03-e64b-4c3d-9809-990b62865c6a&amp;lt;/PersonalGroupObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/alternatenames/44e03050-5e7e-4792-be69-96e1e7511224&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;vpim lokaychion aye&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;44e03050-5e7e-4792-be69-96e1e7511224&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;LocationObjectId&amp;gt;6aacd387-72e9-4971-82e5-b04a7a9790ad&amp;lt;/LocationObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;LocationURI&amp;gt;/vmrest/locations/connectionlocations/6aacd387-72e9-4971-82e5-b04a7a9790ad&amp;lt;/LocationURI&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateNames&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To retrieve a sorted list of all Alternate Names, add the following query parameter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sort=(column [asc | desc])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, to retrieve a list of all Alternate Names sorted by Object Id in ascending order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames?sort=(objectid%20asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific Alternate Name by its object ID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of Alternate Names that meet a specified search criteria, add the following query parameter to a GET:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
query=(column [is | startswith] value)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, to find all Alternate Names with a GlobalUserObjectId that equals &amp;quot;bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b&amp;quot; (this is a search to find all Alternate Names for a specific User):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames?query=(globaluserobjectid%20is%20bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find Alternate Names for various objects, use the following object id columns:&lt;br /&gt;
&lt;br /&gt;
* For Users, use GlobalUserObjectId.&lt;br /&gt;
* For Contacts, use ContactObjectId.&lt;br /&gt;
* For Distribution Lists, use DistributionListObjectId.&lt;br /&gt;
* For Private Lists, use PersonalGroupObjectId.&lt;br /&gt;
* For VPIM Locations, use LocationObjectId.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The following is an  example of a POST that creates an Alternate Name for a User with a First Name of &amp;quot;Mike&amp;quot; and a Last Name of &amp;quot;Wholebert&amp;quot; whose Global User Object Id is &amp;quot;bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;Mike&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;Wholebert&amp;lt;/LastName&amp;gt;&lt;br /&gt;
    &amp;lt;GlobalUserObjectId&amp;gt;bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b&amp;lt;/GlobalUserObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When creating Distribution Lists, Private Lists, or VPIM Locations, only the FirstName field is used to provide the Alternate Name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a PUT request that modifies the First Name and Last Name of an existing Alternate Name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames/&amp;lt;objectid&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateName&amp;gt;&lt;br /&gt;
    &amp;lt;FirstName&amp;gt;Mick&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
    &amp;lt;LastName&amp;gt;Holebert&amp;lt;/LastName&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateName&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
The following is an example of a DELETE request that deletes an Alternate Name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE http://&amp;lt;connection-server&amp;gt;/vmrest/alternatenames/&amp;lt;objectid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Voice_Names</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Voice_Names"/>
				<updated>2010-12-13T22:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About Voice Names ==&lt;br /&gt;
&lt;br /&gt;
Many objects available via the CUPI interface have a voice name field. There are two ways to access the voice name for these objects:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;server&amp;gt;/users/&amp;lt;user object id&amp;gt;/voicename)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
=== Voice Name GET for Connection 8.5 and Later ===&lt;br /&gt;
&lt;br /&gt;
Use the standard VoiceNameURI directly to get the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/&amp;lt;resource&amp;gt;/&amp;lt;resource id&amp;gt;/voicename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response will return the audio/wav data for the voice name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voice Name GET for Connection 7.x and 8.0.x ===&lt;br /&gt;
&lt;br /&gt;
First get the primary resource to find out the voice file URI, then use the VoiceFileURI to get the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/voicefiles/&amp;lt;voice file name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response will return the audio/wav data for the voice name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting Voice Names ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a Voice Name in Connection 8.5 and Later ===&lt;br /&gt;
&lt;br /&gt;
PUT the audio data directly to the standard resource voice name URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/&amp;lt;object&amp;gt;/&amp;lt;object id&amp;gt;/voicename&lt;br /&gt;
&lt;br /&gt;
content is audio/wav data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response is a 204 indicating that the content has been accepted and copied into the temporary file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setting a Voice Name in Connection 7.x and 8.0.x ===&lt;br /&gt;
&lt;br /&gt;
To create a voice name for a resource is a three step process.&lt;br /&gt;
&lt;br /&gt;
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 is automatically cleaned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/voicefiles&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response code is 201 and the content is the name of the newly created temporary file.&lt;br /&gt;
&lt;br /&gt;
Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is &amp;quot;audio/wav&amp;quot; and the payload content is the audio data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/voicefiles/&amp;lt;temporary file name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response is a 204 indicating that the content has been accepted and copied into the temporary file.&lt;br /&gt;
&lt;br /&gt;
Step 3: Set the voicename field of the target resource to the temporary file name. See the example for a user below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/users/&amp;lt;user object id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;User&amp;gt;&lt;br /&gt;
&amp;lt;VoiceName&amp;gt;temporary file name&amp;lt;/VoiceName&amp;gt;&lt;br /&gt;
&amp;lt;/User&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Searching_and_Sorting</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Searching_and_Sorting"/>
				<updated>2010-12-13T22:27:42Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The general format of a search query is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
query=(column [is | startswith] value)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, to find all users that have an alias starting with the letter &amp;quot;a,&amp;quot; the query would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
query=(alias startswith a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full URL, including escaping spaces as %20, would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?query=(alias%20startswith%20a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(For more information about escaping spaces, see the [http://www.ietf.org/rfc/rfc2396.txt RFC for URIs].)&lt;br /&gt;
&lt;br /&gt;
== Sorting ==&lt;br /&gt;
&lt;br /&gt;
Sorting is similar to searching. The general format of a sort is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sort=(column [asc | desc])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, to sort users by alias, the sort would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sort=(alias asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full URL would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?sort=(alias%20asc)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that spaces must be escaped in the URL as %20 (standard URL escape code for space).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constraints on the Allowed Values in Search Queries and Sorts ==&lt;br /&gt;
&lt;br /&gt;
Note the following constraints on the allowed values in the queries and sorts, based on database performance requirements:&lt;br /&gt;
&lt;br /&gt;
* Sorts can support only a single column.&lt;br /&gt;
* Sorts can specify only a column that is indexed.&lt;br /&gt;
* Queries can support only an indexed column or a boolean column.&lt;br /&gt;
* 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.)&lt;br /&gt;
* When both a query and a sort are specified, the sort column must be one of the columns in the query.&lt;br /&gt;
* Queries can use only two conditions: &amp;quot;is&amp;quot; and &amp;quot;startswith&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Getting_the_Object_Count_Without_Getting_the_Objects</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Getting_the_Object_Count_Without_Getting_the_Objects"/>
				<updated>2010-12-13T22:26:48Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting the Object Count Without Getting the Objects ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;pageNumber&amp;quot; or &amp;quot;rowsPerPage&amp;quot; to 0, as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The following example returns the number of users:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?rowsPerPage=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example returns the number of users whose alias starts with &amp;quot;John&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?query=(alias%20startswith%20John)&amp;amp;pageNumber=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_REST_API_FAQ</id>
		<title>Cisco Unity Connection REST API FAQ</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_REST_API_FAQ"/>
				<updated>2010-12-13T22:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== What can cause a 415 error? ==&lt;br /&gt;
&lt;br /&gt;
415 errors are generally caused by not specifying the requested content type. Try setting the &amp;quot;Content-Type&amp;quot; header to &amp;quot;application/xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What can cause a 503 error? ==&lt;br /&gt;
&lt;br /&gt;
Because the CUPI API is designed for administrative tasks, it uses the same throttling as the Cisco Unity Connection Administration pages, which could lead to a 503 &amp;quot;Server busy&amp;quot; error.&lt;br /&gt;
&lt;br /&gt;
By default, the maximum number of requests that can be processed at one time is three. All requests that come in while the three slots are in use are queued up. As soon as one request finishes processing, it releases a slot, which allows the first request in the queue to be processed. If a queued request wait time exceeds a timeout limit (20 seconds), then a 503 error is returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How do I GET the guid (objectid) of a user? ==&lt;br /&gt;
&lt;br /&gt;
Search by alias to get the user XML, then extract the ObjectId field. For example, to find the user John Doe with alias jdoe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?query=(aliasis jdoe)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that some languages and/or libraries require the URL to be escaped first, in which case the spaces need to be converted to %20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How do I find out which networked cluster a user is on? ==&lt;br /&gt;
&lt;br /&gt;
Search for the user in the global user list, and look at the user's location (LocationObjectId):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/globalusers?query=(aliasis jdoe)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is returned from a PUT? ==&lt;br /&gt;
&lt;br /&gt;
A successful PUT operation returns an HTTP status code of 204 No Content.&lt;br /&gt;
&lt;br /&gt;
All HTTP 2xx status codes mean success. Status code 204 means (quoting from RFC 2616): &amp;quot;The server has fulfilled the request but does not need to return an   entity-body (aka content).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A PUT operation sends a request to the server to change/update a resource, so the server does not need to send back anything except a success code, which is what 204 is appropriate for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Is there support for paging? ==&lt;br /&gt;
&lt;br /&gt;
Yes. Paging is supported via two query parameters:&lt;br /&gt;
&lt;br /&gt;
* '''rowsPerPage''': Indicates how many objects to return in a single query.&lt;br /&gt;
* '''pageNumber''': Indicates which page of objects to return.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?rowsPerPage=100&amp;amp;page=1&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?rowsPerPage=100&amp;amp;page=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What causes a 302 error? ==&lt;br /&gt;
&lt;br /&gt;
An HTTP 302 response is very often caused by a client trying to connect to a web application by using HTTP protocol when the web application requires HTTPS. The web server sends back a 302 response to the client in an attempt to redirect it to the secure HTTPS port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Examples_of_Basic_Operations</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Examples_of_Basic_Operations"/>
				<updated>2010-12-13T22:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reading a User's Information ==&lt;br /&gt;
&lt;br /&gt;
To read a user's information, do the following GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users/{objectid}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a User ==&lt;br /&gt;
&lt;br /&gt;
To create a user account, do the following POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;connection-server&amp;gt;/vmrest/users?templateAlias=voicemailusertemplate&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;User&amp;gt;&lt;br /&gt;
&amp;lt;Alias&amp;gt;jdoe&amp;lt;/Alias&amp;gt;&lt;br /&gt;
&amp;lt;DtmfAccessId&amp;gt;7890&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/User&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the result of the above POST request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201 Created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The HTTP response will include the full URI to the newly created user in the Location header.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modifying a User ==&lt;br /&gt;
&lt;br /&gt;
To modify a user account, do the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/users/{objectid}&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;User&amp;gt;&lt;br /&gt;
&amp;lt;DisplayName&amp;gt;johnd&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/User&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the result of the above PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
204 Accepted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting a User ==&lt;br /&gt;
&lt;br /&gt;
To delete a user account, do the following DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE http://&amp;lt;connection-server&amp;gt;/vmrest/users/{objectid}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the result of the above DELETE request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Searching for a User ==&lt;br /&gt;
&lt;br /&gt;
To search for a user account, do the following GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/users?query=(alias%20startswith%20ab)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Error_Handling</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Error_Handling"/>
				<updated>2010-12-13T22:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Possible Errors ==&lt;br /&gt;
&lt;br /&gt;
The HTTP status codes themselves provide information about many typical errors. See the following list for some of the status codes returned by CUPI:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Possible Errors&lt;br /&gt;
! Explanation&lt;br /&gt;
|- &lt;br /&gt;
| 200 OK&lt;br /&gt;
| Normal response when a page has been successfully fetched.&lt;br /&gt;
|-&lt;br /&gt;
| 201 Created&lt;br /&gt;
| The resource has been created.&lt;br /&gt;
|-&lt;br /&gt;
| 301 Moved Permanently&lt;br /&gt;
| The page has moved permanently. It is usually a response from implementing a 301 redirect.&lt;br /&gt;
|-&lt;br /&gt;
| 302 Moved Temporarily&lt;br /&gt;
| The page has moved temporarily.&lt;br /&gt;
|-&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| The request could not be understood by the server, due to incorrect syntax.&lt;br /&gt;
|-&lt;br /&gt;
| 401 Unauthorized User&lt;br /&gt;
| Authentication is required.&lt;br /&gt;
|-&lt;br /&gt;
| 403 Forbidden&lt;br /&gt;
| The server understood the request, but is refusing to fulfill it.&lt;br /&gt;
|-&lt;br /&gt;
| 404 Page Not Found&lt;br /&gt;
| The server has not found anything that matches the Request-URI.&lt;br /&gt;
|-&lt;br /&gt;
| 405 Method Not Allowed&lt;br /&gt;
| The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.&lt;br /&gt;
|-&lt;br /&gt;
| 406 Not Acceptable&lt;br /&gt;
| The server cannot generate a response that the requester is willing to accept.&lt;br /&gt;
|-&lt;br /&gt;
| 410 Gone&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| 415 Unsupported Media Type&lt;br /&gt;
| The server is refusing the request, because the request is in a format not supported by the requested resource for the requested method.&lt;br /&gt;
|-&lt;br /&gt;
| 500 Server Error&lt;br /&gt;
| There is an internal web server error.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the error codes, in most cases CUPI will return an XML document that provides more information about the error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;ErrorDetails&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:all&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;errors&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;xs:all&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;code&amp;quot; type=&amp;quot;ErrorCode&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;message&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/xs:all&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:all&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Authentication_and_Authorization</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Authentication_and_Authorization"/>
				<updated>2010-12-13T22:23:29Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About CUPI Authentication and Authorization == &lt;br /&gt;
&lt;br /&gt;
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.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_About_Versioning</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_About_Versioning"/>
				<updated>2010-12-13T22:13:52Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About Versioning ==&lt;br /&gt;
&lt;br /&gt;
Cisco Unity Connection REST interfaces essentially are not versioned. There are several mechanisms in place to ease forward and backward compatibility:&lt;br /&gt;
&lt;br /&gt;
1. The version is available as a resource at /vmrest/version:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VersionInformation&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;vmrest&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;8.0.0.229&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;lt;/VersionInformation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Extra fields in a resource are ignored by the server.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
3. Clients ignore new fields.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
4. New resources are added at new URLs.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Index_of_All_CUPI_Documentation</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Index_of_All_CUPI_Documentation"/>
				<updated>2010-12-13T22:13:12Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Listing of CUPI Documentation by Subject Matter ==&lt;br /&gt;
&lt;br /&gt;
=== General CUPI Information ===&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning|About Versioning ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization |  Authentication and Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling |Error Handling ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations|Examples of Basic Operations ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- FAQs |FAQs ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects|Getting the Object Count Without Getting the Objects ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting |Searching and Sorting ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names |Voice Names ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== User Account Settings ===&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names|Alternate Names ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings|Changing Passwords and Password Settings ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions|Changing Primary and Alternate Extensions ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) |Class of Service (COS) ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example|Enabling Single Inbox Example ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices |Notification Devices ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members | Private List Members ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists | Private Lists ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses|SMTP Proxy Addresses ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import|User Import ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Call Handler Settings ===&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler|Assigning a Schedule to a Call Handler ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys|Caller Input Keys ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings|Greetings ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys|Updating Caller Input Keys ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== System Settings ===&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster|Cluster ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values|Configuration Values ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map |Language Map ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform |LDAP Phone Number Transform ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports|Port Groups and Ports]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rules |Routing Rules ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules |Schedules ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language |System Default Language and TTS Language ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats |Wave Formats ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alphabetical Index of All CUPI Documentation (by Page Title) ==&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning|About Versioning ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names|Alternate Names ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler|Assigning a Schedule to a Call Handler ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization |  Authentication and Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys|Caller Input Keys ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings|Changing Passwords and Password Settings ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions|Changing Primary and Alternate Extensions ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) |Class of Service (COS) ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster|Cluster ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values|Configuration Values ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example|Enabling Single Inbox Example ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling |Error Handling ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations|Examples of Basic Operations ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- FAQs |FAQs ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects|Getting the Object Count Without Getting the Objects ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings|Greetings ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map |Language Map ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform |LDAP Phone Number Transform ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices |Notification Devices ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports|Port Groups and Ports]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members | Private List Members ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists | Private Lists ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rules |Routing Rules ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules |Schedules ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting |Searching and Sorting ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses|SMTP Proxy Addresses ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language |System Default Language and TTS Language ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys|Updating Caller Input Keys ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import|User Import ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names |Voice Names ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats |Wave Formats ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API"/>
				<updated>2010-12-13T22:12:44Z</updated>
		
		<summary type="html">&lt;p&gt;Juliew: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Links to Other API pages:''' [[Cisco_Unity_Connection_APIs]]&lt;br /&gt;
{| align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|'''CUPI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
By using CUPI, you can securely do the following:&lt;br /&gt;
&lt;br /&gt;
* Create, read, update, and delete users and user configurations&lt;br /&gt;
* Reset passwords&lt;br /&gt;
* Create, read, and update distribution lists&lt;br /&gt;
* Create, read, update, and delete call handlers&lt;br /&gt;
* Create, read, update, and delete contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
As a web-based interface, CUPI is independent of operating system and programming language and does not require any client libraries to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
In order to begin developing with the Cisco Unity Connection CUPI API, you need to obtain the following:&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 and later&lt;br /&gt;
* For detailed hardware requirements, see the [http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/supported_platforms/8xcucspl.html Cisco Unity Connection 8.x Supported Platforms List]&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
* Cisco Unity Connection Software Ordering&lt;br /&gt;
* Not for Resale Kits (Must be eligible to purchase)&lt;br /&gt;
* Communications System Release Kit&lt;br /&gt;
&lt;br /&gt;
Discounts for some of the required hardware and software may be available for participants in the Cisco Technology Developer Program.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CUPI Documentation ==&lt;br /&gt;
See the following for an index of all CUPI documentation on DocWiki:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection Provisioning Interface (CUPI) API -- Index of All CUPI Documentation|Index of All CUPI Documentation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other CUPI Resources ==&lt;br /&gt;
&lt;br /&gt;
Additional information about CUPI is also available on the Cisco Developer Network ([http://developer.cisco.com/web/cupi/home link to CDN]). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUPI.&lt;br /&gt;
&lt;br /&gt;
To participate in the CUPI forum, see the [http://developer.cisco.com/web/cupi/forums CUPI forum on CDN].&lt;br /&gt;
&lt;br /&gt;
On the CUPI page on CDN, you will also find links to the CUPI WADL and CUPI XML schema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See the following for information on troubleshooting all Connection APIs:&lt;br /&gt;
&lt;br /&gt;
[[Cisco Unity Connection APIs -- Troubleshooting |Troubleshooting (applies to all Connection APIs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API]]&lt;/div&gt;</summary>
		<author><name>Juliew</name></author>	</entry>

	</feed>