


 



<?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/Gscorbin&amp;feed=atom&amp;limit=50&amp;target=Gscorbin&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/Gscorbin&amp;feed=atom&amp;limit=50&amp;target=Gscorbin&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Special:Contributions/Gscorbin"/>
		<updated>2013-05-24T15:20:41Z</updated>
		<subtitle>From DocWiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<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-15T22:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;|'''Connection APIs'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Provisioning Interface (CUPI) API|CUPI Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users|CUPI for End Users Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Messaging Interface (CUMI) API|CUMI Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Telephony Interface (CUTI) API|CUTI Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Notification Interface (CUNI) API|CUNI Overview ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&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;
A 503 error will result if there are too many requests queued up on the server.  &lt;br /&gt;
&lt;br /&gt;
The system will process a maximum of 5 web application requests at one time.  The throttle uses a global variable for this, so any request in any process using the throttle will count towards 1 of the 5.&lt;br /&gt;
&lt;br /&gt;
Any request that comes in while 5 or more others are processing will get queued and processed as soon as one of the active  requests is complete.&lt;br /&gt;
&lt;br /&gt;
We can queue up to 255 requests (or the thread limit in tomcat, which is 150).&lt;br /&gt;
&lt;br /&gt;
As long as requests process at a rate of 1 request per second, the other requests will remain in the queue.  If the requests start processing at a rate slower than 1 per second, the queue wait mechanism times out and the client will get a “server busy” (HTTP 503) response.&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: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-15T22:15:54Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;
A 503 error will result if there are too many requests queued up on the server.  &lt;br /&gt;
&lt;br /&gt;
The system will process a maximum of 5 web application requests at one time.  The throttle uses a global variable for this, so any request in any process using the throttle will count towards 1 of the 5.&lt;br /&gt;
&lt;br /&gt;
Any request that comes in while 5 or more others are processing will get queued and processed as soon as one of the active  requests is complete.&lt;br /&gt;
&lt;br /&gt;
We can queue up to 255 requests (or the thread limit in tomcat, which is 150).&lt;br /&gt;
&lt;br /&gt;
As long as requests process at a rate of 1 request per second, the other requests will remain in the queue.  If the requests start processing at a rate slower than 1 per second, the queue wait mechanism times out and the client will get a “server busy” (HTTP 503) response.&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: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-15T22:15:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Connection API Resources */&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 REST 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;
== Other Connection API Resources ==&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_REST_API_FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_APIs_--_Troubleshooting|Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-15T22:15:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Connection REST API Resources */&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 REST 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;
== Connection API Resources ==&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_REST_API_FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_APIs_--_Troubleshooting|Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-15T22:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Connection REST API Resources */&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 REST 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;
== Connection REST API Resources ==&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_REST_API_FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_APIs_--_Troubleshooting|Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-15T22:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Connection REST API Resources */&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 REST 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;
== Connection REST API Resources ==&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_REST_API_FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco_Unity_Connection_APIs_--_Troubleshooting\Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-14T23:45:12Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Where Can I Get the WSDL? */&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;
The WSDL can be found at: '''&amp;lt;nowiki&amp;gt; http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl &amp;lt;/nowiki&amp;gt;'''&lt;br /&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;
== 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>Gscorbin</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-14T23:44:46Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Where Can I Get the WSDL? */&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;
The WSDL can be found at: &amp;lt;nowiki&amp;gt; http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl &amp;lt;/nowiki&amp;gt;&lt;br /&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;
== 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>Gscorbin</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-14T23:44:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Where Can I Get the WSDL? */&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;
The WSDL can be found here: &lt;br /&gt;
&lt;br /&gt;
http://&amp;lt;connection-server&amp;gt;/messageeventservice/services/MessageEventService?wsdl&lt;br /&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;
== 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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_Subscribing_to_and_Processing_Notification_Events</id>
		<title>Cisco Unity Connection Notification Interface (CUNI) API -- Subscribing to and Processing Notification Events</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Notification_Interface_(CUNI)_API_--_Subscribing_to_and_Processing_Notification_Events"/>
				<updated>2010-12-14T19:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;
&lt;br /&gt;
== Subscribing to Notification Events ==&lt;br /&gt;
&lt;br /&gt;
Subscribing to notification events is done through the web service interface, and can be as simple as a single web service call to &amp;quot;subscribe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At a minimum you should pass in:&lt;br /&gt;
&lt;br /&gt;
* The callback URL where XML notifications will be posted by the Notifier&lt;br /&gt;
* The date/time when the subscription will expire&lt;br /&gt;
&lt;br /&gt;
It is also possible to pass in a list of the resources (userid) that you are interested in receiving events for, although that can also be done via a subsequent call to &amp;quot;addResourceIdToSubscription&amp;quot;. We recommend that you leave the eventTypeList empty, indicating that you would like to receive all types of message events.&lt;br /&gt;
&lt;br /&gt;
This example shows making a call to subscribe in Java, using Axis2 stubs generated from the WSDL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Calendar expiration = java.util.Calendar.getInstance();&lt;br /&gt;
com.cisco.unity.messageeventservice.MessageEventServiceStub.Subscribe s = &lt;br /&gt;
    new com.cisco.unity.messageeventservice.MessageEventServiceStub.Subscribe(); &lt;br /&gt;
&lt;br /&gt;
// Set subscription expiry to two months from now.&lt;br /&gt;
expiration.add(Calendar.MONTH, 2); &lt;br /&gt;
s.setExpiration(expiration);&lt;br /&gt;
&lt;br /&gt;
// Specify the users we're interested in, which is just the operator for this example.&lt;br /&gt;
ArrayOfString resourceList = new ArrayOfString(); &lt;br /&gt;
resourceList.addString(&amp;quot;operator&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
s.setResourceIdList(resourceList); &lt;br /&gt;
s.setExpiration(expiration);&lt;br /&gt;
&lt;br /&gt;
// Set the callback information - a username and password can be specified, but they are optional.&lt;br /&gt;
MessageEventServiceStub.CallbackServiceInfo c = new MessageEventServiceStub.CallbackServiceInfo(); &lt;br /&gt;
c.setCallbackServiceUrl(callbackUrl); &lt;br /&gt;
c.setPassword(callbackPassword); &lt;br /&gt;
c.setUsername(callbackUserId); &lt;br /&gt;
s.setCallbackServiceInfo(c);&lt;br /&gt;
&lt;br /&gt;
// Subscribe! &lt;br /&gt;
SubscribeResponse r = stub.subscribe(s); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing Notification Events ==&lt;br /&gt;
&lt;br /&gt;
Events will be delivered via HTTP POST to the callback URL that was provided in the call to subscribe.&lt;br /&gt;
&lt;br /&gt;
There are four basic types of events:&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 Type&lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| NEW_MESSAGE&lt;br /&gt;
| Sent when a new message arrives in a user Inbox.&lt;br /&gt;
|-&lt;br /&gt;
| SAVED_MESSAGE&lt;br /&gt;
| Sent when a message is marked as read.&lt;br /&gt;
|-&lt;br /&gt;
| UNREAD_MESSAGE&lt;br /&gt;
| Sent when a message is marked as unread.&lt;br /&gt;
|-&lt;br /&gt;
| DELETED_MESSAGE&lt;br /&gt;
| Sent when a message is deleted. (Note that this is sent on either a &amp;quot;hard&amp;quot; or &amp;quot;soft&amp;quot; delete. In the case of a soft delete, when the message is deleted from the deleted items list, no further event is sent out.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
This is an example of an event xml. Keep in mind that it is valid to have more than one messageInfo per messageEvent:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;messageEvent subscriptionId=&amp;quot;00bdcfd3-159a-48d3-ac7b-2f3b4f83db6c&amp;quot;&lt;br /&gt;
              eventType=&amp;quot;SAVED_MESSAGE&amp;quot;&lt;br /&gt;
              eventTime=&amp;quot;11:15:40 PM 10/30/2008&amp;quot; &lt;br /&gt;
              mailboxId=&amp;quot;abell&amp;quot;&lt;br /&gt;
              displayName=&amp;quot;Alexander Bell&amp;quot; &lt;br /&gt;
              USN=&amp;quot;2265&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;messageInfo messageId=&amp;quot;72204bd7-e5c3-446e-adb6-ae5f80db26fb&amp;quot;&lt;br /&gt;
                 receiveTime=&amp;quot;04:15:40 PM 10/30/2008&amp;quot; &lt;br /&gt;
                 uid=&amp;quot;543&amp;quot;&lt;br /&gt;
                 msgType=&amp;quot;Voice&amp;quot;&lt;br /&gt;
                 priority=&amp;quot;Normal-Priority&amp;quot;&lt;br /&gt;
                 sender=&amp;quot;null&amp;quot;&lt;br /&gt;
                 callerAni=&amp;quot;null&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/messageEvent&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>Gscorbin</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-14T19:25:12Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;
== 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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API_--_Using_CUTI_for_Basic_Call_Operations</id>
		<title>Cisco Unity Connection Telephony Interface (CUTI) API -- Using CUTI for Basic Call Operations</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API_--_Using_CUTI_for_Basic_Call_Operations"/>
				<updated>2010-12-14T19:08:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: /* Examples */&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;|'''CUTI Guide Contents'''&lt;br /&gt;
|-&lt;br /&gt;
|[[Cisco Unity Connection Telephony Interface (CUTI) API|API Overview ]]&amp;lt;br&amp;gt;[[Cisco Unity Connection Telephony Interface (CUTI) API -- Using CUTI for Basic Call Operations|Using CUTI for Basic Call Operations]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About Basic Call Operations ==&lt;br /&gt;
&lt;br /&gt;
The basic call operations are making a call, checking call-connected status, and hanging up. The call object is used to convey information about a call (see API XSD's).&lt;br /&gt;
&lt;br /&gt;
When making a call, the following fields are used:&lt;br /&gt;
&lt;br /&gt;
* '''number''': the only field that does not have a default value. Users with the system administrator role can call any number, but end users can call only those numbers that do not violate their associated restriction table, based on their class of service.&lt;br /&gt;
* '''maximumRings''': defaults to 4.&lt;br /&gt;
* '''mediaSwitchObjectId''': for end users, defaults to the phone system that is associated with the user. For users who do not have an associated phone system (for example, administrators), the phone system that is marked as the default TRAP phone system is used.&lt;br /&gt;
&lt;br /&gt;
When a call has been placed, a client can get server information about the call, most importantly the connected status.&lt;br /&gt;
&lt;br /&gt;
The following are HTTP commands for basic call operations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;server&amp;gt;/calls:&lt;br /&gt;
Create a call (make a phone call) by using the information in a call object.&lt;br /&gt;
Returns a URI for the new call.&lt;br /&gt;
 &lt;br /&gt;
GET http://&amp;lt;server&amp;gt;/calls/&amp;lt;call id&amp;gt;: Get basic call information. Returns a call object.&lt;br /&gt;
 &lt;br /&gt;
DELETE http://&amp;lt;server&amp;gt;/calls/&amp;lt;call id&amp;gt;: Hangs up a call.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Playing and Recording by Using a Call ==&lt;br /&gt;
&lt;br /&gt;
Files on the server can be played and recorded by phone (using the call control operations) by using the CallControl object (see API XSD's). The fields of the CallControl object are described below:&lt;br /&gt;
&lt;br /&gt;
* '''opType''': PLAY, RECORD or STOP&lt;br /&gt;
* '''resourceType''': MESSAGE, BROADCASTMESSAGE or STREAM. STREAM is generally a temporary resource created by a record operation.&lt;br /&gt;
* '''resourceID''': Can be a message identifier, a broadcast message identifier or a stream identifier depending on the resource type.&lt;br /&gt;
* '''Speed''', '''volume''' and '''startPosition''' are all optional parameters. Speed and volume are a percentage and default to 100. The start position indicates a time in milliseconds and defaults to 0.&lt;br /&gt;
* '''lastResult''': The result of the last call control operation.&lt;br /&gt;
* '''folderType''': Reserved. Only messages in the inbox can be played.&lt;br /&gt;
&lt;br /&gt;
A call control object is passed to a call by using a POST to the resource URI of the call:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;server&amp;gt;/vmrest/calls/&amp;lt;call id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The examples below show how to: make a call, check call status, record by phone, play the recording, hang up, and send the recording as a message. Each step is shown as the HTTP request and response.&lt;br /&gt;
&lt;br /&gt;
=== Make the call ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/calls HTTP/1.1&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
&lt;br /&gt;
Host: cuc-install-67.cisco.com&lt;br /&gt;
&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
&lt;br /&gt;
Authorization: Basic&lt;br /&gt;
Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
Content-Length: 36&lt;br /&gt;
 &lt;br /&gt;
{&amp;quot;number&amp;quot;:&amp;quot;2119&amp;quot;,&amp;quot;maximumRings&amp;quot;:&amp;quot;4&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 201 Created&lt;br /&gt;
Set-Cookie:&lt;br /&gt;
JSESSIONIDSSO=CB2BE1D9771621DBEA24B479C1A9C10A; Path=/&lt;br /&gt;
Set-Cookie:&lt;br /&gt;
JSESSIONID=EB7C33B4DC0AAE91CB002D799C8734BA; Path=/vmrest&lt;br /&gt;
Location:&lt;br /&gt;
[http://cuc-install-67.cisco.com/vmrest/calls/vmrest/calls/1]&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:11 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check call status ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/calls/1 HTTP/1.1&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
Host: cuc-install-67.cisco.com&lt;br /&gt;
&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;
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=849167D3D61D2F30BA278BBF949FDF0F; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=28A69142E490EC63A56690F9811BDDF9; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:11 GMT&lt;br /&gt;
Server:&lt;br /&gt;
 &lt;br /&gt;
{&amp;quot;id&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;connected&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;nativeConnectionId&amp;quot;:&amp;quot;2&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Record by phone ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/calls/1 HTTP/1.1&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Accept: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
Host: cuc-install-67.cisco.com&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
Content-Length: 15&lt;br /&gt;
{&amp;quot;op&amp;quot;:&amp;quot;RECORD&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Set-Cookie: JSESSIONIDSSO=8279B639488165EFFAC8D330FD2A1281; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=AA008CFCC9B329EA961CD1E660384785; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:13 GMT&lt;br /&gt;
Server:&lt;br /&gt;
{&amp;quot;op&amp;quot;:&amp;quot;RECORD&amp;quot;,&amp;quot;resourceType&amp;quot;:&amp;quot;STREAM&amp;quot;,&amp;quot;resourceId&amp;quot;:&amp;quot;cf1cb014-6394- 4279-ab5a-74a6d680e440.wav&amp;quot;,&lt;br /&gt;
&amp;quot;lastResult&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;speed&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;volume&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;startPosition&amp;quot;:&amp;quot;0&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Play the recording ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/calls/1 HTTP/1.1&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Accept: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
Host: cuc-install-67.cisco.com&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
Content-Length: 159&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;op&amp;quot;:&amp;quot;PLAY&amp;quot;,&amp;quot;resourceType&amp;quot;:&amp;quot;STREAM&amp;quot;,&amp;quot;resourceId&amp;quot;:&amp;quot;cf1cb014-6394-4279-ab5a-74a6d680e440.wav&amp;quot;,&lt;br /&gt;
&amp;quot;lastResult&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;speed&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;volume&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;startPosition&amp;quot;:&amp;quot;0&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Set-Cookie: JSESSIONIDSSO=CD7B1064CEB9385B6FE9279ECBDB40E3; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=201BD26E840AA2CEEC242A9CCD0FE8F6; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:15 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;op&amp;quot;:&amp;quot;PLAY&amp;quot;,&amp;quot;resourceType&amp;quot;:&amp;quot;STREAM&amp;quot;,&amp;quot;resourceId&amp;quot;:&amp;quot;cf1cb014-6394-4279-ab5a-74a6d680e440.wav&amp;quot;,&lt;br /&gt;
&amp;quot;lastResult&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;speed&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;volume&amp;quot;:&amp;quot;100&amp;quot;,&amp;quot;startPosition&amp;quot;:&amp;quot;0&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hang up ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /vmrest/calls/1 HTTP/1.1&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
Host: cuc-install-67.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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 204 No Content&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=93B286C6584533F9EE793A01E5804465; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=0CCFFFCAD1C11A45EAD1E8F04B22D28D; Path=/vmrest&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:15 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Send the recording as a message ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /vmrest/messages?userobjectid=84c14db9-7439-4326-a2e2-e516aa192dff HTTP/1.1&lt;br /&gt;
Content-Type: multipart/form-data;boundary=Boundary_1_16617866_1263568442453&lt;br /&gt;
Accept: application/json&lt;br /&gt;
User-Agent: Java/1.6.0_17&lt;br /&gt;
Host: cuc-install-67.cisco.com&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==&lt;br /&gt;
Content-Length: 731&lt;br /&gt;
&lt;br /&gt;
\--Boundary_1_16617866_1263568442453&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
{&amp;quot;Subject&amp;quot;:&amp;quot;send message test&amp;quot;,&amp;quot;ArrivalTime&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;FromSub&amp;quot;:&amp;quot;false&amp;quot;}&lt;br /&gt;
\--Boundary_1_16617866_1263568442453&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Recipient&amp;quot;:{&amp;quot;Type&amp;quot;:&amp;quot;TO&amp;quot;,&amp;quot;Address&amp;quot;:&lt;br /&gt;
{&amp;quot;UserGuid&amp;quot;:&amp;quot;84c14db9-7439-4326-a2e2-e516aa192dff&amp;quot;,&amp;quot;DisplayName&amp;quot;:&amp;quot;Operator&amp;quot;}&lt;br /&gt;
}}&lt;br /&gt;
\--Boundary_1_16617866_1263568442453&lt;br /&gt;
Content-Type: application/xml&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;&amp;lt;CallControl&amp;gt;&amp;lt;op&amp;gt;PLAY&amp;lt;/op&amp;gt;&amp;lt;resourceType&amp;gt;STREAM&amp;lt;/resourceType&amp;gt;&amp;lt;resourceId&amp;gt;cf1cb014-6394-4279-&lt;br /&gt;
ab5a-74a6d680e440.wav&amp;lt;/resourceId&amp;gt;&amp;lt;lastResult&amp;gt;0&amp;lt;/lastResult&amp;gt;&amp;lt;speed&amp;gt;100&amp;lt;/speed&amp;gt;&amp;lt;volume&amp;gt;100&amp;lt;/volume&amp;gt;&amp;lt;startPosition&amp;gt;0&amp;lt;/startPosition&amp;gt;&amp;lt;/CallControl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\--Boundary_1_16617866_1263568442453-\-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 202 Accepted&lt;br /&gt;
Set-Cookie: JSESSIONIDSSO=3D875CAE50B6B4947DEDCF5EDA119922; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=842B1A6E53DAE329F6DA7525951668B4; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Content-Length: 0&lt;br /&gt;
Date: Fri, 15 Jan 2010 15:14:16 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Cisco Unity Connection Telephony Interface (CUTI) API]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values"/>
				<updated>2010-12-14T01:24:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;
&lt;br /&gt;
== About Configuration Values == &lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to read configuration values which are also referred to as system settings.  You cannot create or delete configuration values.&lt;br /&gt;
&lt;br /&gt;
Most configuration values are read-only in the API.  Beginning with Connection 8.5, there are two configuration values that can be updated:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&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 system configuration values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beginning with Connection 8.5, you can perform a '''GET''' on individual settings using their full name in the URI (instead of getting the whole collection):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues/&amp;lt;full name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can access the configuration values as part of a list using the regular configuration value query.  For example, to find all configuration values with a fullname that starts with &amp;quot;System.API.Cumi&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues?query=(fullname startswith System.API.Cumi)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
Only two configuration values have write access. These are:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempting a '''PUT''' on any other configuration values will result in a 403 (access denied) error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When modifying a configuration value, only the value field is used (see PUT examples below). All other fields cannot be modified and will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HTTP Examples ==&lt;br /&gt;
&lt;br /&gt;
=== GET Examples === &lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of a list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET  /vmrest/configurationvalues?query=(fullname%20startswith%20System.API.Cumi)  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;
&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=658B27F18EF8424C11D261FEC776285D; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=DE6BE806075303C8A73E666E0B478725; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:42 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;@total&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;ConfigurationValue&amp;quot;:[{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:36:19Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;VMREST&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAccessSecureMessageAttachments&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;},{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAllowSecureMessageHeaders&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValues total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedTime&amp;gt;2010-05-21T17:29:52Z&amp;lt;/LastModifiedTime&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedByComponent&amp;gt;VMREST&amp;lt;/LastModifiedByComponent&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAccessSecureMessageAttachments&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAllowSecureMessageHeaders&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValues&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of an individual setting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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;
&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=B7839B7E290A9763ABD7751A6FBCAA5C; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=E01E5B7E9F57692810ECF8AEAEDBD2B0; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:39:48 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.Messaging.RelaySecureMessage&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
	&amp;lt;FullName&amp;gt;System.Messaging.RelaySecureMessage&amp;lt;/FullName&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
	&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
	&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PUT Examples === &lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' of a configuration value: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.API.CumiAccessSecureMessageAttachments 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: 13&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 204 No Content&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=E3EB2F2AB5593902F00ECE80298ED82B; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=4B3EA5586E13B955D2CC9A8C46EE12FE; Path=/vmrest&lt;br /&gt;
Date: Thu, 20 May 2010 10:58:05 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' on a configuration value that does not support PUT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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: 240&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 403 Forbidden&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=6BE354F4A2C20A2190C9DFF78D91D7AB; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=32DF55D02DA33C43938F43C2FC7A13FF; Path=/vmrest&lt;br /&gt;
Content-Type: application/xml&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:43 GMT&lt;br /&gt;
Server: &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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values"/>
				<updated>2010-12-14T00:38:03Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: &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;
&lt;br /&gt;
== About Configuration Values == &lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to read configuration values which are also referred to as system settings.  You cannot create or delete configuration values.&lt;br /&gt;
&lt;br /&gt;
Most configuration values are read-only in the API.  Beginning with Connection 8.5, there are two configuration values that can be updated:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&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 system configuration values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beginning with Connection 8.5, you can perform a '''GET''' on individual settings using their full name in the URI (instead of getting the whole collection):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues/&amp;lt;full name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can access the configuration values as part of a list using the regular configuration value query.  For example, to find all configuration values with a fullname that starts with &amp;quot;System.API.Cumi&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues?query=(fullname startswith System.API.Cumi)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
Only two configuration values have write access. These are:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempting a '''PUT''' on any other configuration values will result in a 403 (access denied) error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When modifying a configuration value, only the value field is used (see PUT examples below). All other fields cannot be modified and will be ignored.&lt;br /&gt;
&lt;br /&gt;
== HTTP Examples ==&lt;br /&gt;
&lt;br /&gt;
=== GET Examples === &lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of a list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET  /vmrest/configurationvalues?query=(fullname%20startswith%20System.API.Cumi)  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;
&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=658B27F18EF8424C11D261FEC776285D; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=DE6BE806075303C8A73E666E0B478725; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:42 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;@total&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;ConfigurationValue&amp;quot;:[{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:36:19Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;VMREST&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAccessSecureMessageAttachments&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;},{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAllowSecureMessageHeaders&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValues total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedTime&amp;gt;2010-05-21T17:29:52Z&amp;lt;/LastModifiedTime&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedByComponent&amp;gt;VMREST&amp;lt;/LastModifiedByComponent&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAccessSecureMessageAttachments&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAllowSecureMessageHeaders&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValues&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of an individual setting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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;
&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=B7839B7E290A9763ABD7751A6FBCAA5C; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=E01E5B7E9F57692810ECF8AEAEDBD2B0; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:39:48 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.Messaging.RelaySecureMessage&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
	&amp;lt;FullName&amp;gt;System.Messaging.RelaySecureMessage&amp;lt;/FullName&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
	&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
	&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PUT Examples === &lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' of a configuration value: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.API.CumiAccessSecureMessageAttachments 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: 13&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 204 No Content&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=E3EB2F2AB5593902F00ECE80298ED82B; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=4B3EA5586E13B955D2CC9A8C46EE12FE; Path=/vmrest&lt;br /&gt;
Date: Thu, 20 May 2010 10:58:05 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' on a configuration value that does not support PUT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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: 240&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 403 Forbidden&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=6BE354F4A2C20A2190C9DFF78D91D7AB; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=32DF55D02DA33C43938F43C2FC7A13FF; Path=/vmrest&lt;br /&gt;
Content-Type: application/xml&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:43 GMT&lt;br /&gt;
Server: &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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Configuration_Values"/>
				<updated>2010-12-14T00:37:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
&lt;br /&gt;
== About Configuration Values == &lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to read configuration values which are also referred to as system settings.  You cannot create or delete configuration values.&lt;br /&gt;
&lt;br /&gt;
Most configuration values are read-only in the API.  Beginning with Connection 8.5, there are two configuration values that can be updated:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&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 system configuration values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beginning with Connection 8.5, you can perform a '''GET''' on individual settings using their full name in the URI (instead of getting the whole collection):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues/&amp;lt;full name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can access the configuration values as part of a list using the regular configuration value query.  For example, to find all configuration values with a fullname that starts with &amp;quot;System.API.Cumi&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET https://&amp;lt;server&amp;gt;/vmrest/configurationvalues?query=(fullname startswith System.API.Cumi)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
Only two configuration values have write access. These are:&lt;br /&gt;
&lt;br /&gt;
* System.API.CumiAccessSecureMessageAttachments&lt;br /&gt;
* System.API.CumiAllowSecureMessageHeaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempting a '''PUT''' on any other configuration values will result in a 403 (access denied) error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When modifying a configuration value, only the value field is used (see PUT examples below). All other fields cannot be modified and will be ignored.&lt;br /&gt;
&lt;br /&gt;
== HTTP Examples ==&lt;br /&gt;
&lt;br /&gt;
=== GET Examples === &lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of a list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET  /vmrest/configurationvalues?query=(fullname%20startswith%20System.API.Cumi)  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;
&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=658B27F18EF8424C11D261FEC776285D; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=DE6BE806075303C8A73E666E0B478725; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:42 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;@total&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;ConfigurationValue&amp;quot;:[{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:36:19Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;VMREST&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAccessSecureMessageAttachments&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;},{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.API.CumiAllowSecureMessageHeaders&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;MinVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;MaxVal&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValues total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedTime&amp;gt;2010-05-21T17:29:52Z&amp;lt;/LastModifiedTime&amp;gt;&lt;br /&gt;
		&amp;lt;LastModifiedByComponent&amp;gt;VMREST&amp;lt;/LastModifiedByComponent&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAccessSecureMessageAttachments&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
		&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
		&amp;lt;FullName&amp;gt;System.API.CumiAllowSecureMessageHeaders&amp;lt;/FullName&amp;gt;&lt;br /&gt;
		&amp;lt;Value&amp;gt;1&amp;lt;/Value&amp;gt;&lt;br /&gt;
		&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
		&amp;lt;MinVal&amp;gt;0&amp;lt;/MinVal&amp;gt;&lt;br /&gt;
		&amp;lt;MaxVal&amp;gt;0&amp;lt;/MaxVal&amp;gt;&lt;br /&gt;
		&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
	&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValues&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a '''GET''' of an individual setting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
GET /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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;
&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=B7839B7E290A9763ABD7751A6FBCAA5C; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=E01E5B7E9F57692810ECF8AEAEDBD2B0; Path=/vmrest&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:39:48 GMT&lt;br /&gt;
Server:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Type&amp;quot;:&amp;quot;11&amp;quot;,&amp;quot;LastModifiedTime&amp;quot;:&amp;quot;2010-05-20T10:11:02Z&amp;quot;,&amp;quot;LastModifiedByComponent&amp;quot;:&amp;quot;CUADMIN&amp;quot;,&amp;quot;FullName&amp;quot;:&amp;quot;System.Messaging.RelaySecureMessage&amp;quot;,&amp;quot;Value&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;UserSetting&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;RequiresRestart&amp;quot;:&amp;quot;false&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Type&amp;gt;11&amp;lt;/Type&amp;gt;&lt;br /&gt;
	&amp;lt;FullName&amp;gt;System.Messaging.RelaySecureMessage&amp;lt;/FullName&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
	&amp;lt;UserSetting&amp;gt;true&amp;lt;/UserSetting&amp;gt;&lt;br /&gt;
	&amp;lt;RequiresRestart&amp;gt;false&amp;lt;/RequiresRestart&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PUT Examples === &lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' of a configuration value: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.API.CumiAccessSecureMessageAttachments 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: 13&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;Value&amp;quot;:&amp;quot;1&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
XML&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ConfigurationValue&amp;gt;&lt;br /&gt;
	&amp;lt;Value&amp;gt;0&amp;lt;/Value&amp;gt;&lt;br /&gt;
&amp;lt;/ConfigurationValue&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 204 No Content&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=E3EB2F2AB5593902F00ECE80298ED82B; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=4B3EA5586E13B955D2CC9A8C46EE12FE; Path=/vmrest&lt;br /&gt;
Date: Thu, 20 May 2010 10:58:05 GMT&lt;br /&gt;
Server:&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example of a '''PUT''' on a configuration value that does not support PUT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
PUT /vmrest/configurationvalues/System.Messaging.RelaySecureMessage  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: 240&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 403 Forbidden&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=6BE354F4A2C20A2190C9DFF78D91D7AB; Path=/&lt;br /&gt;
Set-Cookie: JSESSIONID=32DF55D02DA33C43938F43C2FC7A13FF; Path=/vmrest&lt;br /&gt;
Content-Type: application/xml&lt;br /&gt;
Transfer-Encoding: chunked&lt;br /&gt;
Date: Thu, 20 May 2010 10:26:43 GMT&lt;br /&gt;
Server: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Category:Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API</id>
		<title>Category:Cisco Unity Connection Telephony Interface (CUTI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Category:Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API"/>
				<updated>2010-12-14T00:33:37Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: New page:  Category: Unity Connection APIs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Category:Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API</id>
		<title>Category:Cisco Unity Connection Messaging Interface (CUMI) API</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Category:Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API"/>
				<updated>2010-12-14T00:33:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: New page:  Category: Unity Connection APIs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[Category: Unity Connection APIs]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Category:Unity_Connection_APIs</id>
		<title>Category:Unity Connection APIs</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Category:Unity_Connection_APIs"/>
				<updated>2010-12-14T00:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: New page: Category: Cisco Products&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Cisco Products]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Transfer_Options</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Transfer Options</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Transfer_Options"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About Transfer Options ==&lt;br /&gt;
&lt;br /&gt;
Every user with a mailbox has an associated call handler, and thus transfer options.  Transfer Options are also referred to as Transfer Rules.&lt;br /&gt;
&lt;br /&gt;
== Listing ==&lt;br /&gt;
&lt;br /&gt;
The settings on each transfer option can be read by the following GET command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/transferoptions/{transfer option type}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which would produce a response similar to the following:&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;TransferOption&amp;gt;&lt;br /&gt;
  &amp;lt;TransferOptionType&amp;gt;{transfer option type}&amp;lt;/TransferOptionType&amp;gt;&lt;br /&gt;
  &amp;lt;Action&amp;gt;1&amp;lt;/Action&amp;gt;&lt;br /&gt;
  &amp;lt;Extension&amp;gt;5555&amp;lt;/Extension&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;1972-01-01 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
  &amp;lt;TransferRings&amp;gt;4&amp;lt;/TransferRings&amp;gt;&lt;br /&gt;
  &amp;lt;TransferType&amp;gt;0&amp;lt;/TransferType&amp;gt;&lt;br /&gt;
  &amp;lt;UsePrimaryExtension&amp;gt;true&amp;lt;/UsePrimaryExtension&amp;gt;&lt;br /&gt;
  &amp;lt;PersonalCallTransfer&amp;gt;false&amp;lt;/PersonalCallTransfer&amp;gt;&lt;br /&gt;
&amp;lt;/TransferOption&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every user and call handler has three transfer options:&lt;br /&gt;
&lt;br /&gt;
* Standard&lt;br /&gt;
* Off Hours&lt;br /&gt;
* Alternate&lt;br /&gt;
&lt;br /&gt;
Each transfer option can be accessed through a GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/transferoptions/Standard&lt;br /&gt;
GET /vmrest/user/transferoptions/Off%20Hours&lt;br /&gt;
GET /vmrest/user/transferoptions/Alternate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''TimeExpires''' is the field that determines if a transfer option is enabled or disabled. To enable a transfer option, TimeExpires must be set to a future date, which is the date that the  transfer option will expire (be  disabled). To disable a transfer option, simply set TimeExpires to a date in the past. Also, if TimeExpires is set to null that means it is enabled indefinitely (however, note that currently CUPI offers no ability to set this field to null).&lt;br /&gt;
&lt;br /&gt;
TimeExpires is always treated as GMT. Any required time zone conversion is the responsibility of the client.&lt;br /&gt;
&lt;br /&gt;
'''Action''' is the field that determines if the transfer option will transfer calls to an extension or directly to the greetings. The Action field is a custom type. A value of 0 denotes  that the call will be sent directly to the greetings. A value of 1 denotes that the call will be transferred to an extension.&lt;br /&gt;
&lt;br /&gt;
Several settings are specific to how the transfer option should  transfer the call (assuming that the Action is set to 1):&lt;br /&gt;
&lt;br /&gt;
* TransferType&lt;br /&gt;
* Extension&lt;br /&gt;
* TransferRings&lt;br /&gt;
&lt;br /&gt;
'''TransferType''' determines whether the transfer will be released (a value of 0) or supervised (a value of 1).&lt;br /&gt;
&lt;br /&gt;
'''Extension''' indicates the extension that the call will transfer to.&lt;br /&gt;
&lt;br /&gt;
'''TransferRings''' is the number of times Connection will ring the extension before it considers the call a ring-no-answer (RNA), and pulls the call back to play the greeting. This value is only used when the TransferType is set to 1 (a supervised transfer).&lt;br /&gt;
&lt;br /&gt;
'''UsePrimaryExtension''' is a boolean that is a bit of an oddity. When the value is set to true, the Extension is set to the primary extension of the user. However, note the following caveat when using this field: if UsePrimaryExtension is set to true and the Extension field is set to a value in the same PUT, an error will be thrown. Because setting UsePrimaryExtension to true causes the Extension field to be set to a specific value, you cannot also explicitly set the Extension field   in the same PUT; one or the other can occur, but not both. An error will also be thrown if UsePrimaryExtension is set to false and no value is given for the Extension field in the same PUT. In other words, if you set UsePrimaryExtension to false, you must provide a new Extension in the same PUT.&lt;br /&gt;
&lt;br /&gt;
'''PersonalCallTransfer''' is a boolean that determines whether personal call transfer rules will be used instead of the basic transfer rules. If PersonalCallTransfer is set to true, then instead of using any of the settings of this transfer rule, the call will be sent to the personal call transfer rules of the user to be acted on. If PersonalCallTransfer is set to false, then the basic transfer rule is used. If you are using personal call transfer rules, set this to true; otherwise, leave it set to false. It's that simple.&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
Note that you cannot use CUPI to create transfer options.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
To enable the Alternate transfer option until March 9, 2020, you  would use the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://fmstest4.cisco.com/vmrest/user/transferoptions/Alternate&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;TransferOption&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;2020-03-09 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
&amp;lt;/TransferOption&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To disable the Alternate transfer option you would do a PUT request with the TimeExpires field set to a date in the past as in this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://fmstest4.cisco.com/vmrest/user/transferoptions/Alternate&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;TransferOption&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;1976-03-09 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
&amp;lt;/TransferOption&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Call Holding ===&lt;br /&gt;
&lt;br /&gt;
User access to the call holding setting is controlled by the user's COS.&lt;br /&gt;
&lt;br /&gt;
The transfer option setting that controls call holding is '''TransferHoldingMode'''. It is a custom type that can be set to not hold (a value of 0), always put the call on hold when the extension is busy (a value of 1), or ask  the caller if they wish to hold (a value of 2). Holding is applicable only when TransferType is set to supervised (a value of 1).&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to set the alternate transfer option to always put the call on hold you would make the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/user/transferoptions/Alternate&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;TransferOption&amp;gt;&lt;br /&gt;
  &amp;lt;TransferHoldingMode&amp;gt;1&amp;lt;/TransferHoldingMode&amp;gt;&lt;br /&gt;
&amp;lt;/TransferOption&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Call Screening ===&lt;br /&gt;
&lt;br /&gt;
User access to the call screening options is controlled by the user's COS.&lt;br /&gt;
&lt;br /&gt;
There are four settings on a transfer option that control screening. They are all booleans. The various screening options are applicable only when TransferType is set to supervised (a value of 1).&lt;br /&gt;
&lt;br /&gt;
'''TransferAnnounce''' indicates whether the transfer should be announced to the user when they answer the phone, via a simple pre-recorded prompt.&lt;br /&gt;
&lt;br /&gt;
'''TransferConfirm''' indicates whether the user is prompted to accept the transfer or not. If the user does not accept the transfer, the caller is taken to the user's greeting.&lt;br /&gt;
&lt;br /&gt;
'''TransferIntroduce''' indicates whether the user hears for whom the transfer was intended when he or she answers the phone.&lt;br /&gt;
&lt;br /&gt;
'''TransferScreening''' indicates whether the caller is asked to speak his or her name before being transferred. The name spoken is then played back to the user when he or she answers the phone.&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to turn on all of the screening options for the alternate transfer option you would make the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/user/transferoptions/Alternate&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;TransferOption&amp;gt;&lt;br /&gt;
  &amp;lt;TransferAnnounce&amp;gt;true&amp;lt;/TransferAnnounce&amp;gt;&lt;br /&gt;
  &amp;lt;TransferConfirm&amp;gt;true&amp;lt;/TransferConfirm&amp;gt;&lt;br /&gt;
  &amp;lt;TransferIntroduce&amp;gt;true&amp;lt;/TransferIntroduce&amp;gt;&lt;br /&gt;
  &amp;lt;TransferScreening&amp;gt;true&amp;lt;/TransferScreening&amp;gt;&lt;br /&gt;
&amp;lt;/TransferOption&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
&lt;br /&gt;
Note that you cannot use CUPI to delete transfer options.&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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_System_Configuration</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- System Configuration</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_System_Configuration"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About System Configuration ==&lt;br /&gt;
&lt;br /&gt;
There is no symmetry between the administrator CUPI URI's for configuration values and the end user access to configuration values. Anything that an end user needs to have read access to has its own URI that an end user can get to. End users cannot get to configuration values directly; for example, they cannot use the /vmrest/configurationvalue URI. If they attempt to use it, they will get access denied.&lt;br /&gt;
&lt;br /&gt;
A client using an end user's credentials may need to know some information about the system. Currently that information involves two configuration values that an administrator can set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
System.Messaging.CumiAccessSecureMessageAttachments&lt;br /&gt;
System.Messaging.CumiAllowSecureMessageHeaders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both settings need to be exposed to end users, but end users cannot access configuration values directly. To resolve this issue, we created a way to expose some system values an end user client may need to see using the following URI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;server&amp;gt;/vmrest/systemconfiguration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This URI can be accessed by any authenticated user, including an end user. It returns a SystemConfiguration object that currently has two fields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SystemConfiguration&amp;gt;&lt;br /&gt;
&amp;lt;SecureMessageHeaders&amp;gt;false&amp;lt;/SecureMessageHeaders&amp;gt;&lt;br /&gt;
&amp;lt;SecureMessageAttachmentDownload&amp;gt;false&amp;lt;/SecureMessageAttachmentDownload&amp;gt;&lt;br /&gt;
&amp;lt;/SystemConfiguration&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 For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_SMTP_Proxy_Addresses</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- SMTP Proxy Addresses</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_SMTP_Proxy_Addresses"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== 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 for a user.&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 SMTP Proxy Addresses for a user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/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&amp;gt;&lt;br /&gt;
  &amp;lt;SmtpProxyAddress&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/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;/SmtpProxyAddress&amp;gt;&lt;br /&gt;
  &amp;lt;SmtpProxyAddress&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/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;/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 specific SMTP Proxy Address for a user 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/user/smtpproxyaddresses/&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 For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Private_Lists</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Private Lists</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Private_Lists"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About Private Lists ==&lt;br /&gt;
&lt;br /&gt;
A user can view, modify, create, and delete their own private lists. End users have access only to the ObjectId, DisplayName, NumericId, and VoiceName fields of a private list.&lt;br /&gt;
&lt;br /&gt;
Below are the various private list URIs that a user has access to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/privatelists&lt;br /&gt;
GET /vmrest/user/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
PUT /vmrest/user/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
POST /vmrest/user/privatelists&lt;br /&gt;
DELETE /vmrest/user/privatelists/&amp;lt;private list object id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voice Names ==&lt;br /&gt;
&lt;br /&gt;
A PUT to the URI below, where the HTTP content type is &amp;quot;audio/wav&amp;quot; and the payload content is the audio data, will add the audio as a voice name to the private list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/user/privatelists/&amp;lt;private list object id&amp;gt;/voicename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The voice name can always be retrieved through the URI below. It will return the audio of the voice name 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/user/privatelists/&amp;lt;private list object id&amp;gt;/voicename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For additional details about private lists, see [[Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Private_Lists|CUPI Private Lists]].&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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Location</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Location</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Location"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About Location ==&lt;br /&gt;
&lt;br /&gt;
This page contains information on how to use the API to list the details of your location when using CUPI for Users. The location object holds several critical pieces of information, but only select pieces of information are exposed to the end user through this URI.&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 your location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/location&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example 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;ConnectionLocation&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultWaveFormatObjectId&amp;gt;cb85b520-e2de-4878-96e2-3331607f4671&amp;lt;/DefaultWaveFormatObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DefaultWaveFormatURI&amp;gt;/vmrest/waveformats/cb85b520-e2de-4878-96e2-3331607f4671&amp;lt;/DefaultWaveFormatURI&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;cuc-install-43&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/ConnectionLocation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default wave format is the wave format that your recorded messages are stored in.&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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Enabling_and_Disabling_Greetings</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Enabling and Disabling Greetings</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Enabling_and_Disabling_Greetings"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About Enabling and Disabling Greetings ==&lt;br /&gt;
&lt;br /&gt;
Every user with a mailbox has an associated call handler, and thus a full compliment of greetings. The settings for each greeting can be read by the following GET request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/greetings/{greeting type}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GET request would produce the following response:&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;Greeting&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;1972-01-01 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
  &amp;lt;GreetingType&amp;gt;{greeting type}&amp;lt;/GreetingType&amp;gt;&lt;br /&gt;
&amp;lt;/Greeting&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The different types of greetings available for every user and call handler are:&lt;br /&gt;
&lt;br /&gt;
* Alternate&lt;br /&gt;
* Busy&lt;br /&gt;
* Error&lt;br /&gt;
* Internal&lt;br /&gt;
* Off Hours&lt;br /&gt;
* Standard&lt;br /&gt;
* Holiday&lt;br /&gt;
&lt;br /&gt;
Each greeting can be accessed through the following various GET requests:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/greetings/Alternate&lt;br /&gt;
GET /vmrest/user/greetings/Busy&lt;br /&gt;
GET /vmrest/user/greetings/Error&lt;br /&gt;
GET /vmrest/user/greetings/Internal&lt;br /&gt;
GET /vmrest/user/greetings/Off%20Hours&lt;br /&gt;
GET /vmrest/user/greetings/Standard&lt;br /&gt;
GET /vmrest/user/greetings/Holiday&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TimeExpires is the field that determines whether a greeting is enabled or disabled. To enable a greeting, TimeExpires needs to be set to a future date, which is the date on which the greeting will expire (be disabled). To disable a greeting, simply set TimeExpires to a date in the past. Also, if TimeExpires is set to null that means it is enabled indefinitely (currently CUPI offers no ability to set this field to null).&lt;br /&gt;
&lt;br /&gt;
TimeExpires is always calculated as GMT. Any time zone conversion is the responsibility of the client.&lt;br /&gt;
&lt;br /&gt;
To enable the Holiday greeting until March 9th 2020, you would use the following PUT request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/user/greetings/Holiday&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;Greeting&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;2020-03-09 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
&amp;lt;/Greeting&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To disable the Holiday greeting you would do a PUT request with the TimeExpires field set to a date in the past, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /vmrest/user/greetings/Holiday&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;Greeting&amp;gt;&lt;br /&gt;
  &amp;lt;TimeExpires&amp;gt;1970-01-01 00:00:00.0&amp;lt;/TimeExpires&amp;gt;&lt;br /&gt;
&amp;lt;/Greeting&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 For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Directory</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Directory</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Directory"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About the Directory ==&lt;br /&gt;
&lt;br /&gt;
A URI is provided for users to allow them to search the directory and find addressable objects that can be used to send messages, be added to a private list, and so on. The directory can be searched several different ways. The example below searches for names that start with &amp;quot;user&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(name%20startswith%20user)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The directory can be searched by name or extension, or by both name and extension (to search by both name and extension, simply do not provide search criteria; see examples below). When searching by name, an alias, display name, first name, or last name on the object in question that matches the search term is treated as a match.&lt;br /&gt;
&lt;br /&gt;
The directory can be searched in a &amp;quot;startswith&amp;quot; or &amp;quot;is&amp;quot; manner. A &amp;quot;startswith&amp;quot; search will match any field that starts with the search term, while an &amp;quot;is&amp;quot; search will match only those fields that exactly contain the search term.&lt;br /&gt;
&lt;br /&gt;
The actual search argument can be either a string of all numbers, or a string of anything else. In most cases you would want to search by extension with numbers, and by name with alphanumeric characters.&lt;br /&gt;
&lt;br /&gt;
All the matches are returned as Address objects. The Address objects contain all of the critical information that is needed to use these objects with other resources.&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
Here is an example of a user search on a server with several user objects that match the search criteria:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(name%20startswith%20user)&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;Addresses total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Address&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;8dd65570-a1e8-4c85-95bc-0a8160877238&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;SUBSCRIBER&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;UserG&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;SmtpAddress&amp;gt;userg@cuc-install-43.cisco.com&amp;lt;/SmtpAddress&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;1019&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
  &amp;lt;/Address&amp;gt;&lt;br /&gt;
  &amp;lt;Address&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;7c897859-282f-43b0-9cab-1933e9b844f3&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;Type&amp;gt;SUBSCRIBER&amp;lt;/Type&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;UserD&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;SmtpAddress&amp;gt;userd@cuc-install-43.cisco.com&amp;lt;/SmtpAddress&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;1018&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
  &amp;lt;/Address&amp;gt;&lt;br /&gt;
&amp;lt;/Addresses&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To search the directory for names that exactly match &amp;quot;user,&amp;quot; the following query would be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(name%is%20user)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To search the directory for names and extensions that start with &amp;quot;100,&amp;quot; the following query would be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(startswith%20100)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To search the directory for names and extensions that are exactly &amp;quot;100,&amp;quot; the following query would be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(is%20100)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To search the directory for extensions that start with &amp;quot;100,&amp;quot; the following query would be used. &lt;br /&gt;
&lt;br /&gt;
NOTE: For performance reasons, we do not recommend this method for searching by extension. Doing a &amp;quot;startswith&amp;quot; search by extension should be done only when absolutely necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(extension%20startswith%20100)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To search the directory for an extension that exactly matches &amp;quot;100,&amp;quot; the following query would be used. &lt;br /&gt;
&lt;br /&gt;
NOTE: This is the preferred method for searching by extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?query=(extension%20is%20100)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User accounts without mailboxes, such as the default administrative account, cannot use this directory URI. Instead, they should use the various query methods exposed on the various objects to search the entire server's directory. If an administrative user without a mailbox wants to use the directory to search, they may only do so by providing a user object ID. The user object ID represents the user who is doing the search. For example, the URI below is a search request for extension 1017 using the supplied user object ID; thus that user's search space is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/directory/addressable?search=1017&amp;amp;userobjectid=58cdb193-7a7c-4cee-b0aa-e2e0cca22fec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the maximum number of objects that can be returned from a search is 100 objects.&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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Alternate_Devices</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Alternate Devices</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Alternate_Devices"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== About Alternate Devices ==&lt;br /&gt;
&lt;br /&gt;
The level of access a user has to his or her Alternate Devices (or Alternate Extensions) is determined by the user's class of service. The four levels of access are:&lt;br /&gt;
&lt;br /&gt;
* No access&lt;br /&gt;
* Read access to administrator-defined alternate devices only&lt;br /&gt;
* Read/Write access to user-defined alternate devices only&lt;br /&gt;
* Full access (read access to administrator-defined alternate devices and read/write access to user-defined alternate devices)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of one's alternate devices, use the GET method with URI /vmrest/user/alternatedevices. Note that only alternate devices visible to the user (determined by the user's access level defined in his or her Class of Service) are returned. In the example below, the user has full access to his or her alternate devices, and the GET request yields a response that indicates the user has three alternate devices, two of which are administrator-defined and one user-defined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/alternatedevices&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the GET request above:&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;AlternateDevices total=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/alternatedevices/e14bc9ef-57af-401c-a826-3e7603a36106&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Alt Ext&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;3232&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e14bc9ef-57af-401c-a826-3e7603a36106&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserDefined&amp;gt;false&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/alternatedevices/4960bf32-6c4e-4a6a-97e1-dfe2858f89a6&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Work Fax&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;0329&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;4960bf32-6c4e-4a6a-97e1-dfe2858f89a6&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserDefined&amp;gt;false&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/alternatedevices/2d7e426d-4e43-4d5e-8c3e-eb498856dcfc&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;User-Defined Home Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;5551234&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;2d7e426d-4e43-4d5e-8c3e-eb498856dcfc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserDefined&amp;gt;true&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateDevices&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific Alternate Device 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/user/alternatedevices/2d7e426d-4e43-4d5e-8c3e-eb498856dcfc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the GET request above:&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;AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;User-Defined Home Phone&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;DtmfAccessId&amp;gt;5551234&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;2d7e426d-4e43-4d5e-8c3e-eb498856dcfc&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;UserDefined&amp;gt;true&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateDevice&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 only the user-defined alternate devices or only the administrator-defined ones, append the query parameter &amp;quot;userDefined=true&amp;quot; or &amp;quot;userDefined=false&amp;quot; respectively. For example, the following GET returns only the administrator-defined devices (assuming the user has access to administrator-defined devices):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/alternatedevices?userDefined=false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the GET request above:&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;AlternateDevices total=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/alternatedevices/e14bc9ef-57af-401c-a826-3e7603a36106&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Alt Ext&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;3232&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;e14bc9ef-57af-401c-a826-3e7603a36106&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserDefined&amp;gt;false&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/alternatedevices/4960bf32-6c4e-4a6a-97e1-dfe2858f89a6&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Work Fax&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
    &amp;lt;DtmfAccessId&amp;gt;0329&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;4960bf32-6c4e-4a6a-97e1-dfe2858f89a6&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;UserDefined&amp;gt;false&amp;lt;/UserDefined&amp;gt;&lt;br /&gt;
  &amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateDevices&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
&lt;br /&gt;
To create a new Alternate Device, use the POST method. The only required field for creating an alternate device is the DtmfAccessId. In addition to the DtmfAccessId, you can also specify the device's Display Name. For example, assuming a user's Class of Service allows access to user-defined Alternate Devices, the user can create a new one as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST http://&amp;lt;connection-server&amp;gt;/vmrest/user/alternatedevices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;New Device&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;DtmfAccessId&amp;gt;1001&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is the response from the POST request above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
201&lt;br /&gt;
Created&lt;br /&gt;
/vmrest/user/alternatedevices/f4fd32c2-e6b7-48ff-8836-4ac2c100f9fc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating and Deleting ==&lt;br /&gt;
&lt;br /&gt;
Users are not allowed to update or delete administrator-defined alternate devices. They can, however, update or delete user-defined ones, assuming their Class of Service allows them access to user-defined alternate devices.&lt;br /&gt;
&lt;br /&gt;
For example, to change the DtmfAccessId of the user-defined alternate device in the Creating example above, use the PUT method as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT http://&amp;lt;connection-server&amp;gt;/vmrest/user/alternatedevices/f4fd32c2-e6b7-48ff-8836-4ac2c100f9fc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;AlternateDevice&amp;gt;&lt;br /&gt;
  &amp;lt;DtmfAccessId&amp;gt;1002&amp;lt;/DtmfAccessId&amp;gt;&lt;br /&gt;
&amp;lt;/AlternateDevice&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, to delete this user-defined alternate device, use the DELETE method as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE http://&amp;lt;connection-server&amp;gt;/vmrest/user/alternatedevices/f4fd32c2-e6b7-48ff-8836-4ac2c100f9fc&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 For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Unified_Messaging_Accounts</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Unified Messaging Accounts</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Unified_Messaging_Accounts"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
NOTE: This wiki page was written before we found out that there may not be any external service account that would require a user password. As of today (2010/05/06), this has not been confirmed, so I'm leaving this page as is. When it's time to officially publish this page, make sure to remove the sections on changing password if that information is indeed obsolete.&lt;br /&gt;
&lt;br /&gt;
== About Unified Messaging Service Accounts ==&lt;br /&gt;
&lt;br /&gt;
A user may have zero or more unified messaging service accounts (also known as external service accounts). Examples of these services include Cisco Unified MeetingPlace 8.0, Exchange 2003, and Exchange 2007. Using CUPI for End Users, a user can:&lt;br /&gt;
&lt;br /&gt;
* Retrieve a list of its unified messaging service accounts,&lt;br /&gt;
* Retrieve one of its unified messaging service accounts, and&lt;br /&gt;
* Change the password for one of its unified messaging service accounts&lt;br /&gt;
&lt;br /&gt;
== Listing and Viewing ==&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of unified messaging service accounts, use the GET method with URI _/vmrest/user/externalserviceaccounts_. In the following example, the user has two unified messaging service accounts, Exchange2K3 and Exchange2K7:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/externalserviceaccounts&lt;br /&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;UserExternalServiceAccounts&amp;gt;&lt;br /&gt;
  &amp;lt;UserExternalServiceAccount&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/externalserviceaccounts/510eeaa6-6e85-40f3-88b3-863c2a4eec84&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;IsEnabled&amp;gt;true&amp;lt;/IsEnabled&amp;gt;&lt;br /&gt;
    &amp;lt;UseServiceCredentials&amp;gt;true&amp;lt;/UseServiceCredentials&amp;gt;&lt;br /&gt;
    &amp;lt;LoginType&amp;gt;0&amp;lt;/LoginType&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;510eeaa6-6e85-40f3-88b3-863c2a4eec84&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Exchange2K3&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/UserExternalServiceAccount&amp;gt;&lt;br /&gt;
  &amp;lt;UserExternalServiceAccount&amp;gt;&lt;br /&gt;
    &amp;lt;URI&amp;gt;/vmrest/user/externalserviceaccounts/75436abf-8784-450f-ac61-23a08be2c364&amp;lt;/URI&amp;gt;&lt;br /&gt;
    &amp;lt;IsEnabled&amp;gt;true&amp;lt;/IsEnabled&amp;gt;&lt;br /&gt;
    &amp;lt;UseServiceCredentials&amp;gt;false&amp;lt;/UseServiceCredentials&amp;gt;&lt;br /&gt;
    &amp;lt;LoginType&amp;gt;2&amp;lt;/LoginType&amp;gt;&lt;br /&gt;
    &amp;lt;UserId&amp;gt;fung&amp;lt;/UserId&amp;gt;&lt;br /&gt;
    &amp;lt;ObjectId&amp;gt;75436abf-8784-450f-ac61-23a08be2c364&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
    &amp;lt;DisplayName&amp;gt;Exchange2K7&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
  &amp;lt;/UserExternalServiceAccount&amp;gt;&lt;br /&gt;
&amp;lt;/UserExternalServiceAccounts&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For each unified messaging service account, CUPI returns the following information:&lt;br /&gt;
&lt;br /&gt;
* '''URI''' - The URI for retrieving the unified messaging service account&lt;br /&gt;
* '''IsEnabled''' - A flag to indicate whether the unified messaging service account is enabled&lt;br /&gt;
* '''UseServiceCredentials''' - A flag to indicate whether service credentials or user credentials are used to sign in the unified messaging service account&lt;br /&gt;
* '''LoginType''' - A flag to indicate whether the user alias (0), a guest account (1), or a specified user ID (2) is used to sign in the account&lt;br /&gt;
* '''UserId''' - The user ID to sign in to the unified messaging service account, if one is used&lt;br /&gt;
* '''ObjectId''' - The unique ID of the unified messaging service account&lt;br /&gt;
* '''Display Name''' - The display name of the unified messaging service account&lt;br /&gt;
&lt;br /&gt;
To retrieve a specific unified messaging service account, use the GET method with the URI field from above as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET http://&amp;lt;connection-server&amp;gt;/vmrest/user/externalserviceaccounts/75436abf-8784-450f-ac61-23a08be2c364&lt;br /&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;UserExternalServiceAccount&amp;gt;&lt;br /&gt;
  &amp;lt;IsEnabled&amp;gt;true&amp;lt;/IsEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;UseServiceCredentials&amp;gt;false&amp;lt;/UseServiceCredentials&amp;gt;&lt;br /&gt;
  &amp;lt;LoginType&amp;gt;2&amp;lt;/LoginType&amp;gt;&lt;br /&gt;
  &amp;lt;UserId&amp;gt;fung&amp;lt;/UserId&amp;gt;&lt;br /&gt;
  &amp;lt;ObjectId&amp;gt;75436abf-8784-450f-ac61-23a08be2c364&amp;lt;/ObjectId&amp;gt;&lt;br /&gt;
  &amp;lt;DisplayName&amp;gt;Exchange2K7&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
&amp;lt;/UserExternalServiceAccount&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some unified messaging service accounts use service credentials to sign in; others employ user-supplied credentials. This is indicated by the _UseServiceCredentials_ field. For unified messaging service accounts that require user credentials for signing in (for example, those with _UseServiceCredentials_ set to false), the user may specify the password via a PUT method by using the unified messaging service account URI and a query parameter, _password_, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT https://&amp;lt;connection-server&amp;gt;/vmrest/user/externalserviceaccounts/75436abf-8784-450f-ac61-23a08be2c364?password=abc123&lt;br /&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;
Note that if you attempt to specify the password of a unified messaging service account that does not require a user password (for example, one where _UseServiceCredentials_ is set to true), an error will be returned.&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>Gscorbin</name></author>	</entry>

	<entry>
		<id>http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Basics,_Voice_Name,_Greetings</id>
		<title>Cisco Unity Connection Provisioning Interface (CUPI) API -- For End Users -- Basics, Voice Name, Greetings</title>
		<link rel="alternate" type="text/html" href="http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_For_End_Users_--_Basics,_Voice_Name,_Greetings"/>
				<updated>2010-12-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
== Basic User Information ==&lt;br /&gt;
&lt;br /&gt;
Do the following GET to see a subset of the User fields that an administrator can access:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voice Name ==&lt;br /&gt;
&lt;br /&gt;
The following GET allows end users to get the audio that is their recorded voice name and to change the audio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/voicename&lt;br /&gt;
PUT /vmrest/user/voicename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PUT takes audio/wav data as the HTTP content.&lt;br /&gt;
&lt;br /&gt;
== Greeting Audio ==&lt;br /&gt;
&lt;br /&gt;
The following GET allows end users to listen to and modify their personal greeting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/greetings/\{greeting type\}/greetingstreamfiles&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The \{greeting type\} can be any one of the following: &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;
An end user can have greetings in more than one language. The first resource allows users to access the list of greetings that currently have audio. It is possible that the user has no greetings recorded, in which case the list will be empty.&lt;br /&gt;
&lt;br /&gt;
A GET will return a GreetingStreamFiles object that contains a set of GreetingStreamFile objects for the specified greeting type. Each GreetingStreamFile object will have a URI that allows access to the greeting audio. The individual audio URI's are in the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET /vmrest/user/greetings/\{greeting type\}/greetingstreamfiles/\{language\}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The \{language\} is a locale identifier (e.g. 1033 is English - United States).&lt;br /&gt;
&lt;br /&gt;
This resource identifier returns 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;
PUT /vmrest/user/greetings/\{greeting type\}/greetingstreamfiles/\{language\}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The HTTP content type of the PUT is &amp;quot;audio/wav&amp;quot; and the payload content is the audio data. If the greeting for the given type and language does not exist, the greeting audio will be created. If the greeting audio already exists, the existing audio is replaced by the new audio.&lt;br /&gt;
&lt;br /&gt;
== Class of Service ==&lt;br /&gt;
&lt;br /&gt;
The user's class of service (COS) can be retrieved but not set via the following URL:&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;
&lt;br /&gt;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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;
[[Category:Cisco Unity Connection Provisioning Interface (CUPI) API For End Users]]&lt;/div&gt;</summary>
		<author><name>Gscorbin</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-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</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-14T00:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gscorbin: 1 revision&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>Gscorbin</name></author>	</entry>

	</feed>