<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://api-wiki.apps.rackspace.com/api-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zach7981</id>
		<title>Rackspace Email &amp; Apps API - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://api-wiki.apps.rackspace.com/api-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zach7981"/>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Special:Contributions/Zach7981"/>
		<updated>2026-04-21T09:34:35Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=704</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=704"/>
				<updated>2015-11-17T20:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Adding routes for company contacts, additional customer information fields&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Filter/Search'':&lt;br /&gt;
&lt;br /&gt;
Search parameter 'startswith' and 'contains' will try to find the result in customer name, account number and reference number. We also provide a separate query method ?referenceNumber=123456 that will return a Show on the exact customer whose reference number is as specified.  This query method only returns details for sub-accounts.&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 '/customers?size=100&amp;amp;offset=10', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customerList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customerList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Reference Number''&lt;br /&gt;
&lt;br /&gt;
The query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Examples'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&lt;br /&gt;
  &amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&lt;br /&gt;
  &amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine1&amp;quot;:&amp;quot;555 Address&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine2&amp;quot;:&amp;quot;Suite 555&amp;quot;,&lt;br /&gt;
  &amp;quot;city&amp;quot;:&amp;quot;Austin&amp;quot;,&lt;br /&gt;
  &amp;quot;state&amp;quot;:&amp;quot;Texas&amp;quot;,&lt;br /&gt;
  &amp;quot;zip&amp;quot;:&amp;quot;78703&amp;quot;,&lt;br /&gt;
  &amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&lt;br /&gt;
  &amp;quot;phone&amp;quot;:&amp;quot;1-555-555-5555&amp;quot;,&lt;br /&gt;
  &amp;quot;email&amp;quot;:&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Example of querying with Reference Number''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?referenceNumber=49', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add or edit a new sub-account. Note that customer number is not known until the customer is added.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; field must contain 100 characters or fewer. The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; field cannot be null or empty and cannot begin or end with whitespace.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;referenceNumber&amp;lt;/code&amp;gt; must contain 20 characters or fewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address for the account&lt;br /&gt;
|-&lt;br /&gt;
| addressLine2&lt;br /&gt;
| string&lt;br /&gt;
| Additional address information (building, suite, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| Account city&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| Account state&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Account ZIP code&lt;br /&gt;
|- &lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Account country&lt;br /&gt;
|-&lt;br /&gt;
| phone&lt;br /&gt;
| string&lt;br /&gt;
| Account phone number&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Account email address&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'name' =&amp;gt; 'NewName',&lt;br /&gt;
  'referenceNumber' =&amp;gt; '12345'&lt;br /&gt;
  'addressLine1':'555 Address',&lt;br /&gt;
  'addressLine2':'Suite 555',&lt;br /&gt;
  'city':'Austin',&lt;br /&gt;
  'state':'Texas',&lt;br /&gt;
  'zip':'78703',&lt;br /&gt;
  'country':'USA',&lt;br /&gt;
  'phone':'1-555-555-5555',&lt;br /&gt;
  'email':'user@example.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| The name field was not specified&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Name cannot begin or end with whitespace&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Improper Customer Name: cannot begin or end with a space&lt;br /&gt;
|-&lt;br /&gt;
| Name must contain &amp;lt;= 100 characters&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Name too long: 100 characters or fewer&lt;br /&gt;
|-&lt;br /&gt;
| Reference number must contain &amp;lt;= 20 characters&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Reference number too long: 20 characters or fewer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/enable&lt;br /&gt;
[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Enables or disables the account and all services (mailboxes, sharepoint sites, etc).&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/disable'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| You are either trying to enable/disable an account which does not belong to you or the admin associated with your api key does not have the correct role(s) to perform this action.&lt;br /&gt;
| 403&lt;br /&gt;
| Not authorized&lt;br /&gt;
|-&lt;br /&gt;
| You have made too many recent requests to perform this action. You are allowed to perform this action only one time in a 5 minute sliding window.&lt;br /&gt;
| 403&lt;br /&gt;
| Exceeded request limits&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Login Tokens ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
[POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)/loginToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a login token using which a customer can use to SSO into the Control Panel.&lt;br /&gt;
&lt;br /&gt;
Login tokens can be generated for two kinds of users: virtual and non-virtual. The distinction between&lt;br /&gt;
the two users is that a virtual user gets the administrator's privileges when SSOed into the Control Panel.&lt;br /&gt;
On the other hand, the non-virtual user gets only as much privileges as are given to him/her when&lt;br /&gt;
his/her account was created.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| userName&lt;br /&gt;
| string&lt;br /&gt;
| The name for which login token needs to be created. &lt;br /&gt;
|-&lt;br /&gt;
| virtualUser&lt;br /&gt;
| string&lt;br /&gt;
| A flag indicating whether the user for whom the login token needs to be generated is virtual or non-virtual. Valid values: true/false. When set to true, the userName is treated as a virtual user. When set to false, the userName is treated as a non-virtual user. A non-virtual user must be an existing admin user.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/460896/loginToken', {'userName' =&amp;gt; 'dev_cust_limitedadmin', 'virtualUser' =&amp;gt; 'true'}, 'text/xml'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create login token for virtual user 'dev_cust_limitedadmin'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&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;
&lt;br /&gt;
&amp;lt;loginToken xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
&lt;br /&gt;
xmlns=&amp;quot;urn:xml:loginToken&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;user&amp;gt;dev_cust_limitedadmin_460896_vu&amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;token&amp;gt;EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&amp;lt;/token&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dateCreated&amp;gt;6/11/2010 10:53:46 AM&amp;lt;/dateCreated&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/loginToken&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The login token is valid for ten minutes after its creation. The &amp;quot;dateCreated&amp;quot; field indicates the time when the login token&lt;br /&gt;
is created. &lt;br /&gt;
&lt;br /&gt;
Using the above created login token the customer with account number 460896 can SSO into the Control Panel using&lt;br /&gt;
the following URL: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://ControlPanelURL/TokenLogin.aspx?loginToken=EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A customer can also use the login token to login on their private label control panel (E.g.: cp.mydomain.com/logintokens.aspx).&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming soon ==&lt;br /&gt;
&lt;br /&gt;
=== Company contacts ===&lt;br /&gt;
&lt;br /&gt;
The paths in this section allow you to manage company contacts. Company contacts have authorization to contact Support with questions about this account. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== View contacts ====&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
View all contacts for an account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET '/v2/customers/999999/contacts', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Size&amp;quot;: 50,&lt;br /&gt;
    &amp;quot;Offset&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;Total&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;Items&amp;quot;: [{&lt;br /&gt;
        &amp;quot;CustomerNumber&amp;quot;: &amp;quot;999999&amp;quot;,&lt;br /&gt;
        &amp;quot;Email&amp;quot;: &amp;quot;user@example.com&amp;quot;,&lt;br /&gt;
        &amp;quot;Id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;Name&amp;quot;: &amp;quot;Contact first - Ellie&amp;quot;,&lt;br /&gt;
        &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
        &amp;quot;ReceivesAlerts&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ReceivesBilling&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ReceivesUpdates&amp;quot;: true,&lt;br /&gt;
        &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
        &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Request parameters =====&lt;br /&gt;
&lt;br /&gt;
- ''Size'': The number of contacts returned to GET requests. The default value is 50. &lt;br /&gt;
&lt;br /&gt;
- ''Offset'': Indicates an offset at which to return contacts to GET requests. The default value is 0.&lt;br /&gt;
&lt;br /&gt;
- ''Total'': Indicates the total number of contacts for the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Alerts, Billing, and Updates =====&lt;br /&gt;
&lt;br /&gt;
- ''ReceivesAlerts'': Indicates whether a contact receives account alerts.&lt;br /&gt;
&lt;br /&gt;
- ''ReceivesBilling'': Authorizes a contact to receive billing information and inquiries. An account must have at least one billing contact.&lt;br /&gt;
        &lt;br /&gt;
- ''ReceivesUpdates'': Indicates whether a contact receives account update notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== View a specific contact =====&lt;br /&gt;
&lt;br /&gt;
''Description'': &lt;br /&gt;
&lt;br /&gt;
View a specific contact by adding a contact's &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; to the request path.&lt;br /&gt;
&lt;br /&gt;
Locate a contact's &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; in its &amp;lt;code&amp;gt;Items&amp;lt;/code&amp;gt; array when [[view all contacts|viewing all contacts]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET '/v2/customers/999999/contacts/4', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;CustomerNumber&amp;quot;: &amp;quot;999999&amp;quot;,&lt;br /&gt;
    &amp;quot;Email&amp;quot;: &amp;quot;user@example.com&amp;quot;,&lt;br /&gt;
    &amp;quot;Id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Contact first - Ellie&amp;quot;,&lt;br /&gt;
    &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
    &amp;quot;ReceivesAlerts&amp;quot;: true,&lt;br /&gt;
    &amp;quot;ReceivesBilling&amp;quot;: true,&lt;br /&gt;
    &amp;quot;ReceivesUpdates&amp;quot;: true,&lt;br /&gt;
    &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
    &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== View a range of contacts at an offset =====&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Include ''Size'' and ''Offset'' in the URL of GET requests to view a range of contacts at an offset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET '/v2/customers/999999/contacts?size=2&amp;amp;offset=2', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Size&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Offset&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;Total&amp;quot;: 4,&lt;br /&gt;
    &amp;quot;Items&amp;quot;: [{&lt;br /&gt;
        &amp;quot;CustomerNumber&amp;quot;: &amp;quot;999999&amp;quot;,&lt;br /&gt;
        &amp;quot;Email&amp;quot;: &amp;quot;user3@example.com&amp;quot;,&lt;br /&gt;
        &amp;quot;Id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;Name&amp;quot;: &amp;quot;Contact first - Ellie&amp;quot;,&lt;br /&gt;
        &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
        &amp;quot;ReceivesAlerts&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ReceivesBilling&amp;quot;: true,&lt;br /&gt;
        &amp;quot;ReceivesUpdates&amp;quot;: true,&lt;br /&gt;
        &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
        &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;CustomerNumber&amp;quot;: &amp;quot;999999&amp;quot;,&lt;br /&gt;
        &amp;quot;Email&amp;quot;: &amp;quot;user4@example.com&amp;quot;,&lt;br /&gt;
        &amp;quot;Id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
        &amp;quot;Name&amp;quot;: &amp;quot;Contact after hours - Samir&amp;quot;,&lt;br /&gt;
        &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
        &amp;quot;ReceivesAlerts&amp;quot;: false,&lt;br /&gt;
        &amp;quot;ReceivesBilling&amp;quot;: false,&lt;br /&gt;
        &amp;quot;ReceivesUpdates&amp;quot;: false,&lt;br /&gt;
        &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
        &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add a contact ====&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Create a new contact.&lt;br /&gt;
&lt;br /&gt;
Creating a new contact requires all contact fields to be populated. See the following request body for a complete list.&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/9999/contacts/&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Email&amp;quot;: &amp;quot;user@example.com&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Best Contact&amp;quot;,&lt;br /&gt;
    &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
    &amp;quot;ReceivesAlerts&amp;quot;: false,&lt;br /&gt;
    &amp;quot;ReceivesBilling&amp;quot;: false,&lt;br /&gt;
    &amp;quot;ReceivesUpdates&amp;quot;: false,&lt;br /&gt;
    &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
    &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Update a contact ====&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Update information for the contact you specify.&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUT /v2/customers/999999/contacts/4&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Email&amp;quot;: &amp;quot;user@example.com&amp;quot;,&lt;br /&gt;
    &amp;quot;Name&amp;quot;: &amp;quot;Best Contact&amp;quot;,&lt;br /&gt;
    &amp;quot;Phone&amp;quot;: &amp;quot;1235555555&amp;quot;,&lt;br /&gt;
    &amp;quot;ReceivesAlerts&amp;quot;: false,&lt;br /&gt;
    &amp;quot;ReceivesBilling&amp;quot;: false,&lt;br /&gt;
    &amp;quot;ReceivesUpdates&amp;quot;: false,&lt;br /&gt;
    &amp;quot;SecurityAnswer&amp;quot;: &amp;quot;A&amp;quot;,&lt;br /&gt;
    &amp;quot;SecurityQuestion&amp;quot;: &amp;quot;Q&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete a contact ====&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Remove a contact from the account.&lt;br /&gt;
&lt;br /&gt;
An account must include at least one contact for billing. Set &amp;lt;code&amp;gt;&amp;quot;ReceivesBilling&amp;quot; : &amp;quot;true&amp;quot;&amp;lt;/code&amp;gt; for any contacts permitted to handle billing-related inquiries.&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE /v2/customers/999999/contacts/4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for DELETE requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Attempting to delete the last primary or billing contact&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| There must be at least one billing contact and one primary contact. (A single contact can be both.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for PUT and POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Unable to add a new contact or administrator.&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Contact/Administrator limit reached.&lt;br /&gt;
|-&lt;br /&gt;
| Missing contact name&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Contact name cannot be empty.&lt;br /&gt;
|-&lt;br /&gt;
| Missing or invalid email address&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Please enter a valid email address.&lt;br /&gt;
|-&lt;br /&gt;
| No security question specified&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Security question cannot be empty.&lt;br /&gt;
|-&lt;br /&gt;
| No security answer specified&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Security answer cannot be empty.&lt;br /&gt;
|-&lt;br /&gt;
| Admin does not have permission to add, change, or remove contacts&lt;br /&gt;
| 403 Not Authorized&lt;br /&gt;
| Unauthorized.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=703</id>
		<title>Admin (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=703"/>
				<updated>2015-11-17T20:15:13Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Adding endpoints for two-factor authentication.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of admins under the account. If a customer account is specified, then a list of admins under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of admins owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me/domains'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/AdminList.xsd AdminList.xsd]&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 '/customers/999999/admins?size=5&amp;amp;page=1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;adminList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:adminList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin37&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin76&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin94&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/adminList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;admins&amp;quot;:[{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin37&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin76&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin94&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;}],&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Admin.xsd Admin.xsd]&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 '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;admin xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:admin&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;adminId&amp;gt;apiadmin1&amp;lt;/adminId&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;First&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;lastName&amp;gt;Last&amp;lt;/lastName&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;first.last@rackspace.com&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;passwordExpiration&amp;gt;10&amp;lt;/passwordExpiration&amp;gt;&lt;br /&gt;
  &amp;lt;allowSimultaneousLogins&amp;gt;false&amp;lt;/allowSimultaneousLogins&amp;gt;&lt;br /&gt;
  &amp;lt;restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.1&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.2&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.3&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
  &amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
&amp;lt;/admin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin1&amp;quot;,&amp;quot;allowSimultaneousLogins&amp;quot;:false,&amp;quot;email&amp;quot;:&amp;quot;first.last@rackspace.com&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;First&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;lastName&amp;quot;:&amp;quot;Last&amp;quot;,&amp;quot;passwordExpiration&amp;quot;:10,&amp;quot;restrictedIps&amp;quot;:[&amp;quot;1.1.1.1&amp;quot;,&amp;quot;1.1.1.2&amp;quot;,&amp;quot;1.1.1.3&amp;quot;],&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
      [POST] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
       [PUT] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add a new admin or edit an existing admin under the specified account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Admin type (Required for Add). Must be &amp;quot;super&amp;quot;, &amp;quot;standard&amp;quot; or &amp;quot;limited&amp;quot;. Can't change permissions and domain access for limited admin at this point.&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Admin log in password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| Admin first name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Admin last name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Admin contact email (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityQuestion&lt;br /&gt;
| string&lt;br /&gt;
| Security question (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityAnswer&lt;br /&gt;
| string&lt;br /&gt;
| Security answer (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| passwordExpiration&lt;br /&gt;
| int&lt;br /&gt;
| The number of days in which password expires. 0 means password never expires.&lt;br /&gt;
|-&lt;br /&gt;
| allowSimultaneousLogins&lt;br /&gt;
| boolean&lt;br /&gt;
| Allow simultaneous logins using this Administrative ID&lt;br /&gt;
|-&lt;br /&gt;
| restrictedIps&lt;br /&gt;
| string&lt;br /&gt;
| Login restricted to IP address(es). Can be up to 3 valid addresses separated by commas.&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable/disable admin account&lt;br /&gt;
|-&lt;br /&gt;
| locked&lt;br /&gt;
| boolean&lt;br /&gt;
| Lock/unlock admin account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/admins/admin1', &lt;br /&gt;
     { &lt;br /&gt;
       'type' =&amp;gt; 'super',&lt;br /&gt;
       'password' =&amp;gt; 'password',&lt;br /&gt;
       'firstName' =&amp;gt; 'First',&lt;br /&gt;
       'lastName' =&amp;gt; 'Last',&lt;br /&gt;
       'email' =&amp;gt; 'first.last@rackspace.com',&lt;br /&gt;
       'securityQuestion' =&amp;gt; 'Q',&lt;br /&gt;
       'securityAnswer' =&amp;gt; 'A'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999/admins/admin2', &lt;br /&gt;
     { &lt;br /&gt;
       'enabled' =&amp;gt; 'true',&lt;br /&gt;
       'locked' =&amp;gt; 'false',&lt;br /&gt;
       'passwordExpiration' =&amp;gt; '0',&lt;br /&gt;
       'allowSimultaneousLogins' =&amp;gt; 'true',&lt;br /&gt;
       'restrictedIps' =&amp;gt; '1.1.1.1'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Password doesn't meet the requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be 7 to 30 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid restricted to IP address(es)&lt;br /&gt;
| 400&lt;br /&gt;
| IP addresses must be valid addresses separated by commas. A maximum of 3 addresses may be entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the admin.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# API paths for 2FAK&lt;br /&gt;
# Go-live date: late September 2015&lt;br /&gt;
# URL: http://api-wiki.apps.rackspace.com/api-wiki/index.php/Admin_(Rest_API)&lt;br /&gt;
Changes by: Zach Corleissen&lt;br /&gt;
Date: 9/22/2015&lt;br /&gt;
Project manager: Bob Black&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable and Disable Two-Factor Authentication ===&lt;br /&gt;
&lt;br /&gt;
Enabling two-factor authentication requires installing [[https://support.google.com/accounts/answer/1066447?hl=en Google Authenticator]] or another TOTP-compatible app on a mobile device. The authenticator provides the verification code required to set a key.&lt;br /&gt;
&lt;br /&gt;
You can set and remove keys for any admin on the account, including your own.&lt;br /&gt;
&lt;br /&gt;
==== Generate a Secret Key ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a [[https://tools.ietf.org/html/rfc6238#page-4 TOTP]] secret key for two-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Generating a new key changes no server state. The server does not store the key, nor is two-factor authentication enabled or disabled for that admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GET '/v2/customers/me/admins/(admin ID)/twoFactorAuth/newKey', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Key&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Provide a secret key and verification code to enable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/(admin ID)/twoFactorAuth&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
  &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
},&lt;br /&gt;
'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Disable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Disable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Request'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/reseller/twoFactorAuth&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
},&lt;br /&gt;
'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post /v2/customers/me/admins/999999999/twoFactorAuth&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;nowiki&amp;gt;/newKey&amp;lt;/nowiki&amp;gt; in the path?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method (GET requests only)&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;code&amp;gt;/newKey&amp;lt;/code&amp;gt; in the path?)&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Missing fields&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property. Correctly populate empty fields in the POST body.&lt;br /&gt;
|-&lt;br /&gt;
| Missing verification code&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;verificationCode&amp;quot; property. &lt;br /&gt;
|-&lt;br /&gt;
| Secret key is invalid&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| &amp;quot;secretKey&amp;quot; contains invalid characters.&lt;br /&gt;
|-&lt;br /&gt;
| Secret key is null&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property.&lt;br /&gt;
|-&lt;br /&gt;
| Verification code is an int&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send &amp;quot;verificationCode&amp;quot; as a string in quotes.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=700</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=700"/>
				<updated>2015-10-21T17:21:45Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Filter/Search'':&lt;br /&gt;
&lt;br /&gt;
Search parameter 'startswith' and 'contains' will try to find the result in customer name, account number and reference number. We also provide a separate query method ?referenceNumber=123456 that will return a Show on the exact customer whose reference number is as specified.  This query method only returns details for sub-accounts.&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 '/customers?size=100&amp;amp;offset=10', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customerList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customerList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Reference Number''&lt;br /&gt;
&lt;br /&gt;
The query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Examples'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&lt;br /&gt;
  &amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&lt;br /&gt;
  &amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine1&amp;quot;:&amp;quot;555 Address&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine2&amp;quot;:&amp;quot;Suite 555&amp;quot;,&lt;br /&gt;
  &amp;quot;city&amp;quot;:&amp;quot;Austin&amp;quot;,&lt;br /&gt;
  &amp;quot;state&amp;quot;:&amp;quot;Texas&amp;quot;,&lt;br /&gt;
  &amp;quot;zip&amp;quot;:&amp;quot;78703&amp;quot;,&lt;br /&gt;
  &amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&lt;br /&gt;
  &amp;quot;phone&amp;quot;:&amp;quot;1-555-555-5555&amp;quot;,&lt;br /&gt;
  &amp;quot;email&amp;quot;:&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Example of querying with Reference Number''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?referenceNumber=49', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add or edit a new sub-account. Note that customer number is not known until the customer is added.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; field must contain 100 characters or fewer. The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; field cannot be null or empty and cannot begin or end with whitespace.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;referenceNumber&amp;lt;/code&amp;gt; must contain 20 characters or fewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address for the account&lt;br /&gt;
|-&lt;br /&gt;
| addressLine2&lt;br /&gt;
| string&lt;br /&gt;
| Additional address information (building, suite, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| Account city&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| Account state&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Account ZIP code&lt;br /&gt;
|- &lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Account country&lt;br /&gt;
|-&lt;br /&gt;
| phone&lt;br /&gt;
| string&lt;br /&gt;
| Account phone number&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Account email address&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'name' =&amp;gt; 'NewName',&lt;br /&gt;
  'referenceNumber' =&amp;gt; '12345'&lt;br /&gt;
  'addressLine1':'555 Address',&lt;br /&gt;
  'addressLine2':'Suite 555',&lt;br /&gt;
  'city':'Austin',&lt;br /&gt;
  'state':'Texas',&lt;br /&gt;
  'zip':'78703',&lt;br /&gt;
  'country':'USA',&lt;br /&gt;
  'phone':'1-555-555-5555',&lt;br /&gt;
  'email':'user@example.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| The name field was not specified&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Name cannot begin or end with whitespace&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Improper Customer Name: cannot begin or end with a space&lt;br /&gt;
|-&lt;br /&gt;
| Name must contain &amp;lt;= 100 characters&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Name too long: 100 characters or fewer&lt;br /&gt;
|-&lt;br /&gt;
| Reference number must contain &amp;lt;= 20 characters&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Reference number too long: 20 characters or fewer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/enable&lt;br /&gt;
[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Enables or disables the account and all services (mailboxes, sharepoint sites, etc).&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/disable'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| You are either trying to enable/disable an account which does not belong to you or the admin associated with your api key does not have the correct role(s) to perform this action.&lt;br /&gt;
| 403&lt;br /&gt;
| Not authorized&lt;br /&gt;
|-&lt;br /&gt;
| You have made too many recent requests to perform this action. You are allowed to perform this action only one time in a 5 minute sliding window.&lt;br /&gt;
| 403&lt;br /&gt;
| Exceeded request limits&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Login Tokens ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
[POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)/loginToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a login token using which a customer can use to SSO into the Control Panel.&lt;br /&gt;
&lt;br /&gt;
Login tokens can be generated for two kinds of users: virtual and non-virtual. The distinction between&lt;br /&gt;
the two users is that a virtual user gets the administrator's privileges when SSOed into the Control Panel.&lt;br /&gt;
On the other hand, the non-virtual user gets only as much privileges as are given to him/her when&lt;br /&gt;
his/her account was created.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| userName&lt;br /&gt;
| string&lt;br /&gt;
| The name for which login token needs to be created. &lt;br /&gt;
|-&lt;br /&gt;
| virtualUser&lt;br /&gt;
| string&lt;br /&gt;
| A flag indicating whether the user for whom the login token needs to be generated is virtual or non-virtual. Valid values: true/false. When set to true, the userName is treated as a virtual user. When set to false, the userName is treated as a non-virtual user. A non-virtual user must be an existing admin user.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/460896/loginToken', {'userName' =&amp;gt; 'dev_cust_limitedadmin', 'virtualUser' =&amp;gt; 'true'}, 'text/xml'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create login token for virtual user 'dev_cust_limitedadmin'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&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;
&lt;br /&gt;
&amp;lt;loginToken xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
&lt;br /&gt;
xmlns=&amp;quot;urn:xml:loginToken&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;user&amp;gt;dev_cust_limitedadmin_460896_vu&amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;token&amp;gt;EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&amp;lt;/token&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dateCreated&amp;gt;6/11/2010 10:53:46 AM&amp;lt;/dateCreated&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/loginToken&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The login token is valid for ten minutes after its creation. The &amp;quot;dateCreated&amp;quot; field indicates the time when the login token&lt;br /&gt;
is created. &lt;br /&gt;
&lt;br /&gt;
Using the above created login token the customer with account number 460896 can SSO into the Control Panel using&lt;br /&gt;
the following URL: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://ControlPanelURL/TokenLogin.aspx?loginToken=EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A customer can also use the login token to login on their private label control panel (E.g.: cp.mydomain.com/logintokens.aspx).&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=699</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=699"/>
				<updated>2015-10-19T21:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Undo revision 698 by Zach7981 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Filter/Search'':&lt;br /&gt;
&lt;br /&gt;
Search parameter 'startswith' and 'contains' will try to find the result in customer name, account number and reference number. We also provide a separate query method ?referenceNumber=123456 that will return a Show on the exact customer whose reference number is as specified.  This query method only returns details for sub-accounts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/CustomerList.xsd CustomerList.xsd]&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 '/customers?size=100&amp;amp;offset=10', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customerList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customerList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Reference Number''&lt;br /&gt;
&lt;br /&gt;
The query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Examples'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Example of querying with Reference Number''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?referenceNumber=49', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Login Tokens ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
[POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)/loginToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a login token using which a customer can use to SSO into the Control Panel.&lt;br /&gt;
&lt;br /&gt;
Login tokens can be generated for two kinds of users: virtual and non-virtual. The distinction between&lt;br /&gt;
the two users is that a virtual user gets the administrator's privileges when SSOed into the Control Panel.&lt;br /&gt;
On the other hand, the non-virtual user gets only as much privileges as are given to him/her when&lt;br /&gt;
his/her account was created.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| userName&lt;br /&gt;
| string&lt;br /&gt;
| The name for which login token needs to be created. &lt;br /&gt;
|-&lt;br /&gt;
| virtualUser&lt;br /&gt;
| string&lt;br /&gt;
| A flag indicating whether the user for whom the login token needs to be generated is virtual or non-virtual. Valid values: true/false. When set to true, the userName is treated as a virtual user. When set to false, the userName is treated as a non-virtual user. A non-virtual user must be an existing admin user.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/460896/loginToken', {'userName' =&amp;gt; 'dev_cust_limitedadmin', 'virtualUser' =&amp;gt; 'true'}, 'text/xml'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create login token for virtual user 'dev_cust_limitedadmin'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&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;
&lt;br /&gt;
&amp;lt;loginToken xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
&lt;br /&gt;
xmlns=&amp;quot;urn:xml:loginToken&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;user&amp;gt;dev_cust_limitedadmin_460896_vu&amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;token&amp;gt;EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&amp;lt;/token&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dateCreated&amp;gt;6/11/2010 10:53:46 AM&amp;lt;/dateCreated&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/loginToken&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The login token is valid for ten minutes after its creation. The &amp;quot;dateCreated&amp;quot; field indicates the time when the login token&lt;br /&gt;
is created. &lt;br /&gt;
&lt;br /&gt;
Using the above created login token the customer with account number 460896 can SSO into the Control Panel using&lt;br /&gt;
the following URL: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://ControlPanelURL/TokenLogin.aspx?loginToken=EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A customer can also use the login token to login on their private label control panel (E.g.: cp.mydomain.com/logintokens.aspx).&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=698</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=698"/>
				<updated>2015-10-19T21:32:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Added fields for customer information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Filter/Search'':&lt;br /&gt;
&lt;br /&gt;
Search parameter 'startswith' and 'contains' will try to find the result in customer name, account number and reference number. We also provide a separate query method ?referenceNumber=123456 that will return a Show on the exact customer whose reference number is as specified.  This query method only returns details for sub-accounts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/CustomerList.xsd CustomerList.xsd]&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 '/customers?size=100&amp;amp;offset=10', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customerList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customerList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Show (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To show detailed information for the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Reference Number''&lt;br /&gt;
&lt;br /&gt;
The query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Examples'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''JSON Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&lt;br /&gt;
  &amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&lt;br /&gt;
  &amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine1&amp;quot;:&amp;quot;555 Address&amp;quot;,&lt;br /&gt;
  &amp;quot;addressLine2&amp;quot;:&amp;quot;Suite 555&amp;quot;,&lt;br /&gt;
  &amp;quot;city&amp;quot;:&amp;quot;Austin&amp;quot;,&lt;br /&gt;
  &amp;quot;state&amp;quot;:&amp;quot;Texas&amp;quot;,&lt;br /&gt;
  &amp;quot;zip&amp;quot;:&amp;quot;78703&amp;quot;,&lt;br /&gt;
  &amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&lt;br /&gt;
  &amp;quot;phone&amp;quot;:&amp;quot;1-555-555-5555&amp;quot;,&lt;br /&gt;
  &amp;quot;email&amp;quot;:&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example of querying with Reference Number''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?referenceNumber=49', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;customer xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
 xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine1&amp;gt;555 Address&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
  &amp;lt;addressLine2&amp;gt;Suite 555&amp;lt;/addressLine2&amp;gt;&lt;br /&gt;
  &amp;lt;city&amp;gt;Austin&amp;lt;/city&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;TX&amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;zip&amp;gt;78703&amp;lt;/zip&amp;gt;&lt;br /&gt;
  &amp;lt;country&amp;gt;US&amp;lt;/country&amp;gt;&lt;br /&gt;
  &amp;lt;phone&amp;gt;1-555-555-5555&amp;lt;/phone&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;user@example.com&amp;lt;/email&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit (Reseller Only)===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Login Tokens ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
[POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/(customer account number)/loginToken&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a login token using which a customer can use to SSO into the Control Panel.&lt;br /&gt;
&lt;br /&gt;
Login tokens can be generated for two kinds of users: virtual and non-virtual. The distinction between&lt;br /&gt;
the two users is that a virtual user gets the administrator's privileges when SSOed into the Control Panel.&lt;br /&gt;
On the other hand, the non-virtual user gets only as much privileges as are given to him/her when&lt;br /&gt;
his/her account was created.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| userName&lt;br /&gt;
| string&lt;br /&gt;
| The name for which login token needs to be created. &lt;br /&gt;
|-&lt;br /&gt;
| virtualUser&lt;br /&gt;
| string&lt;br /&gt;
| A flag indicating whether the user for whom the login token needs to be generated is virtual or non-virtual. Valid values: true/false. When set to true, the userName is treated as a virtual user. When set to false, the userName is treated as a non-virtual user. A non-virtual user must be an existing admin user.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/460896/loginToken', {'userName' =&amp;gt; 'dev_cust_limitedadmin', 'virtualUser' =&amp;gt; 'true'}, 'text/xml'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create login token for virtual user 'dev_cust_limitedadmin'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&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;
&lt;br /&gt;
&amp;lt;loginToken xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
&lt;br /&gt;
xmlns=&amp;quot;urn:xml:loginToken&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;user&amp;gt;dev_cust_limitedadmin_460896_vu&amp;lt;/user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;token&amp;gt;EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&amp;lt;/token&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dateCreated&amp;gt;6/11/2010 10:53:46 AM&amp;lt;/dateCreated&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/loginToken&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The login token is valid for ten minutes after its creation. The &amp;quot;dateCreated&amp;quot; field indicates the time when the login token&lt;br /&gt;
is created. &lt;br /&gt;
&lt;br /&gt;
Using the above created login token the customer with account number 460896 can SSO into the Control Panel using&lt;br /&gt;
the following URL: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://ControlPanelURL/TokenLogin.aspx?loginToken=EEB0012D8DBC2CAC26E28365D44B537FFF0D79350&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A customer can also use the login token to login on their private label control panel (E.g.: cp.mydomain.com/logintokens.aspx).&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=697</id>
		<title>Admin (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=697"/>
				<updated>2015-10-15T23:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: /* v2 - Coming Soon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of admins under the account. If a customer account is specified, then a list of admins under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of admins owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me/domains'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/AdminList.xsd AdminList.xsd]&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 '/customers/999999/admins?size=5&amp;amp;page=1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;adminList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:adminList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin37&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin76&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin94&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/adminList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &amp;quot;admins&amp;quot;:&lt;br /&gt;
    [ &lt;br /&gt;
        { &lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin37&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin76&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin94&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
  &amp;quot;offset&amp;quot;:0,&lt;br /&gt;
  &amp;quot;size&amp;quot;:50,&lt;br /&gt;
  &amp;quot;total&amp;quot;:3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Admin.xsd Admin.xsd]&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 '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;admin xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:admin&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;adminId&amp;gt;apiadmin1&amp;lt;/adminId&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;First&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;lastName&amp;gt;Last&amp;lt;/lastName&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;first.last@rackspace.com&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;passwordExpiration&amp;gt;10&amp;lt;/passwordExpiration&amp;gt;&lt;br /&gt;
  &amp;lt;allowSimultaneousLogins&amp;gt;false&amp;lt;/allowSimultaneousLogins&amp;gt;&lt;br /&gt;
  &amp;lt;restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.1&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.2&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.3&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
  &amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
&amp;lt;/admin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin1&amp;quot;,&lt;br /&gt;
    &amp;quot;allowSimultaneousLogins&amp;quot;:false,&lt;br /&gt;
    &amp;quot;email&amp;quot;:&amp;quot;first.last@rackspace.com&amp;quot;,&lt;br /&gt;
    &amp;quot;firstName&amp;quot;:&amp;quot;First&amp;quot;,&lt;br /&gt;
    &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
    &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
    &amp;quot;lastName&amp;quot;:&amp;quot;Last&amp;quot;,&lt;br /&gt;
    &amp;quot;passwordExpiration&amp;quot;:10,&lt;br /&gt;
    &amp;quot;restrictedIps&amp;quot;:[&amp;quot;1.1.1.1&amp;quot;,&amp;quot;1.1.1.2&amp;quot;,&amp;quot;1.1.1.3&amp;quot;],&lt;br /&gt;
    &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
      [POST] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
       [PUT] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add a new admin or edit an existing admin under the specified account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Admin type (Required for Add). Must be &amp;quot;super&amp;quot;, &amp;quot;standard&amp;quot; or &amp;quot;limited&amp;quot;. Can't change permissions and domain access for limited admin at this point.&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Admin log in password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| Admin first name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Admin last name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Admin contact email (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityQuestion&lt;br /&gt;
| string&lt;br /&gt;
| Security question (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityAnswer&lt;br /&gt;
| string&lt;br /&gt;
| Security answer (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| passwordExpiration&lt;br /&gt;
| int&lt;br /&gt;
| The number of days in which password expires. 0 means password never expires.&lt;br /&gt;
|-&lt;br /&gt;
| allowSimultaneousLogins&lt;br /&gt;
| boolean&lt;br /&gt;
| Allow simultaneous logins using this Administrative ID&lt;br /&gt;
|-&lt;br /&gt;
| restrictedIps&lt;br /&gt;
| string&lt;br /&gt;
| Login restricted to IP address(es). Can be up to 3 valid addresses separated by commas.&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable/disable admin account&lt;br /&gt;
|-&lt;br /&gt;
| locked&lt;br /&gt;
| boolean&lt;br /&gt;
| Lock/unlock admin account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/admins/admin1', &lt;br /&gt;
     { &lt;br /&gt;
       'type' =&amp;gt; 'super',&lt;br /&gt;
       'password' =&amp;gt; 'password',&lt;br /&gt;
       'firstName' =&amp;gt; 'First',&lt;br /&gt;
       'lastName' =&amp;gt; 'Last',&lt;br /&gt;
       'email' =&amp;gt; 'first.last@rackspace.com',&lt;br /&gt;
       'securityQuestion' =&amp;gt; 'Q',&lt;br /&gt;
       'securityAnswer' =&amp;gt; 'A'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999/admins/admin2', &lt;br /&gt;
     { &lt;br /&gt;
       'enabled' =&amp;gt; 'true',&lt;br /&gt;
       'locked' =&amp;gt; 'false',&lt;br /&gt;
       'passwordExpiration' =&amp;gt; '0',&lt;br /&gt;
       'allowSimultaneousLogins' =&amp;gt; 'true',&lt;br /&gt;
       'restrictedIps' =&amp;gt; '1.1.1.1'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Password doesn't meet the requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be 7 to 30 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid restricted to IP address(es)&lt;br /&gt;
| 400&lt;br /&gt;
| IP addresses must be valid addresses separated by commas. A maximum of 3 addresses may be entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the admin.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enable and Disable Two-Factor Authentication ===&lt;br /&gt;
&lt;br /&gt;
Enabling two-factor authentication requires installing [[https://support.google.com/accounts/answer/1066447?hl=en Google Authenticator]] or another TOTP-compatible app on a mobile device. The authenticator provides the verification code required to set a key.&lt;br /&gt;
&lt;br /&gt;
You can set and remove keys for any admin on the account, including your own.&lt;br /&gt;
&lt;br /&gt;
==== Generate a Secret Key ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a [[https://tools.ietf.org/html/rfc6238#page-4 TOTP]] secret key for two-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Generating a new key changes no server state. The server does not store the key, nor is two-factor authentication enabled or disabled for that admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GET] /v2/customers/me/admins/(admin ID)/twoFactorAuth/newKey&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200 OK&amp;lt;/code&amp;gt; with a JSON response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Key&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 '/v2/customers/me/admins/999999999/twoFactorAuth/newKey', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Provide a secret key and verification code to enable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] /v2/customers/me/admins/(admin ID)/twoFactorAuth&lt;br /&gt;
Content-type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
  &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
        &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Disable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Disable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/reseller/twoFactorAuth&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;nowiki&amp;gt;/newKey&amp;lt;/nowiki&amp;gt; in the path?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method (GET requests only)&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;code&amp;gt;/newKey&amp;lt;/code&amp;gt; in the path?)&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Missing fields&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property. Correctly populate empty fields in the POST body.&lt;br /&gt;
|-&lt;br /&gt;
| Missing verification code&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;verificationCode&amp;quot; property. &lt;br /&gt;
|-&lt;br /&gt;
| Secret key is invalid&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| &amp;quot;secretKey&amp;quot; contains invalid characters.&lt;br /&gt;
|-&lt;br /&gt;
| Secret key is null&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property.&lt;br /&gt;
|-&lt;br /&gt;
| Verification code contains a leading zero&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| The &amp;quot;verificationCode&amp;quot; value is not valid for the &amp;quot;secretKey&amp;quot; value. Enter a new verification code without a leading zero.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=696</id>
		<title>Admin (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=696"/>
				<updated>2015-10-13T22:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Edited example JSON result for readability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of admins under the account. If a customer account is specified, then a list of admins under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of admins owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me/domains'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/AdminList.xsd AdminList.xsd]&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 '/customers/999999/admins?size=5&amp;amp;page=1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;adminList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:adminList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin37&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin76&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin94&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/adminList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &amp;quot;admins&amp;quot;:&lt;br /&gt;
    [ &lt;br /&gt;
        { &lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin37&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin76&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin94&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
  &amp;quot;offset&amp;quot;:0,&lt;br /&gt;
  &amp;quot;size&amp;quot;:50,&lt;br /&gt;
  &amp;quot;total&amp;quot;:3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Admin.xsd Admin.xsd]&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 '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;admin xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:admin&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;adminId&amp;gt;apiadmin1&amp;lt;/adminId&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;First&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;lastName&amp;gt;Last&amp;lt;/lastName&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;first.last@rackspace.com&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;passwordExpiration&amp;gt;10&amp;lt;/passwordExpiration&amp;gt;&lt;br /&gt;
  &amp;lt;allowSimultaneousLogins&amp;gt;false&amp;lt;/allowSimultaneousLogins&amp;gt;&lt;br /&gt;
  &amp;lt;restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.1&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.2&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.3&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
  &amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
&amp;lt;/admin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin1&amp;quot;,&lt;br /&gt;
    &amp;quot;allowSimultaneousLogins&amp;quot;:false,&lt;br /&gt;
    &amp;quot;email&amp;quot;:&amp;quot;first.last@rackspace.com&amp;quot;,&lt;br /&gt;
    &amp;quot;firstName&amp;quot;:&amp;quot;First&amp;quot;,&lt;br /&gt;
    &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
    &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
    &amp;quot;lastName&amp;quot;:&amp;quot;Last&amp;quot;,&lt;br /&gt;
    &amp;quot;passwordExpiration&amp;quot;:10,&lt;br /&gt;
    &amp;quot;restrictedIps&amp;quot;:[&amp;quot;1.1.1.1&amp;quot;,&amp;quot;1.1.1.2&amp;quot;,&amp;quot;1.1.1.3&amp;quot;],&lt;br /&gt;
    &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
      [POST] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
       [PUT] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add a new admin or edit an existing admin under the specified account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Admin type (Required for Add). Must be &amp;quot;super&amp;quot;, &amp;quot;standard&amp;quot; or &amp;quot;limited&amp;quot;. Can't change permissions and domain access for limited admin at this point.&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Admin log in password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| Admin first name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Admin last name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Admin contact email (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityQuestion&lt;br /&gt;
| string&lt;br /&gt;
| Security question (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityAnswer&lt;br /&gt;
| string&lt;br /&gt;
| Security answer (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| passwordExpiration&lt;br /&gt;
| int&lt;br /&gt;
| The number of days in which password expires. 0 means password never expires.&lt;br /&gt;
|-&lt;br /&gt;
| allowSimultaneousLogins&lt;br /&gt;
| boolean&lt;br /&gt;
| Allow simultaneous logins using this Administrative ID&lt;br /&gt;
|-&lt;br /&gt;
| restrictedIps&lt;br /&gt;
| string&lt;br /&gt;
| Login restricted to IP address(es). Can be up to 3 valid addresses separated by commas.&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable/disable admin account&lt;br /&gt;
|-&lt;br /&gt;
| locked&lt;br /&gt;
| boolean&lt;br /&gt;
| Lock/unlock admin account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/admins/admin1', &lt;br /&gt;
     { &lt;br /&gt;
       'type' =&amp;gt; 'super',&lt;br /&gt;
       'password' =&amp;gt; 'password',&lt;br /&gt;
       'firstName' =&amp;gt; 'First',&lt;br /&gt;
       'lastName' =&amp;gt; 'Last',&lt;br /&gt;
       'email' =&amp;gt; 'first.last@rackspace.com',&lt;br /&gt;
       'securityQuestion' =&amp;gt; 'Q',&lt;br /&gt;
       'securityAnswer' =&amp;gt; 'A'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999/admins/admin2', &lt;br /&gt;
     { &lt;br /&gt;
       'enabled' =&amp;gt; 'true',&lt;br /&gt;
       'locked' =&amp;gt; 'false',&lt;br /&gt;
       'passwordExpiration' =&amp;gt; '0',&lt;br /&gt;
       'allowSimultaneousLogins' =&amp;gt; 'true',&lt;br /&gt;
       'restrictedIps' =&amp;gt; '1.1.1.1'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Password doesn't meet the requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be 7 to 30 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid restricted to IP address(es)&lt;br /&gt;
| 400&lt;br /&gt;
| IP addresses must be valid addresses separated by commas. A maximum of 3 addresses may be entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the admin.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# API paths for 2FAK&lt;br /&gt;
# Go-live date: late September 2015&lt;br /&gt;
# URL: http://api-wiki.apps.rackspace.com/api-wiki/index.php/Admin_(Rest_API)&lt;br /&gt;
Changes by: Zach Corleissen&lt;br /&gt;
Date: 9/22/2015&lt;br /&gt;
Project manager: Bob Black&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable and Disable Two-Factor Authentication ===&lt;br /&gt;
&lt;br /&gt;
Enabling two-factor authentication requires installing [[https://support.google.com/accounts/answer/1066447?hl=en Google Authenticator]] or another TOTP-compatible app on a mobile device. The authenticator provides the verification code required to set a key.&lt;br /&gt;
&lt;br /&gt;
You can set and remove keys for any admin on the account, including your own.&lt;br /&gt;
&lt;br /&gt;
==== Generate a Secret Key ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a [[https://tools.ietf.org/html/rfc6238#page-4 TOTP]] secret key for two-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Generating a new key changes no server state. The server does not store the key, nor is two-factor authentication enabled or disabled for that admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GET] /v2/customers/me/admins/(admin ID)/twoFactorAuth/newKey&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200 OK&amp;lt;/code&amp;gt; with a JSON response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Key&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 '/v2/customers/me/admins/999999999/twoFactorAuth/newKey', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Provide a secret key and verification code to enable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] /v2/customers/me/admins/(admin ID)/twoFactorAuth&lt;br /&gt;
Content-type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
  &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
        &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Disable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Disable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/reseller/twoFactorAuth&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;nowiki&amp;gt;/newKey&amp;lt;/nowiki&amp;gt; in the path?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method (GET requests only)&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;code&amp;gt;/newKey&amp;lt;/code&amp;gt; in the path?)&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Missing fields&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property. Correctly populate empty fields in the POST body.&lt;br /&gt;
|-&lt;br /&gt;
| Missing verification code&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;verificationCode&amp;quot; property. &lt;br /&gt;
|-&lt;br /&gt;
| Secret key is invalid&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| &amp;quot;secretKey&amp;quot; contains invalid characters.&lt;br /&gt;
|-&lt;br /&gt;
| Secret key is null&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property.&lt;br /&gt;
|-&lt;br /&gt;
| Verification code contains a leading zero&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| The &amp;quot;verificationCode&amp;quot; value is not valid for the &amp;quot;secretKey&amp;quot; value. Enter a new verification code without a leading zero.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=695</id>
		<title>Admin (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=695"/>
				<updated>2015-10-13T22:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Reformatted example JSON result for readability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of admins under the account. If a customer account is specified, then a list of admins under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of admins owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me/domains'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/AdminList.xsd AdminList.xsd]&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 '/customers/999999/admins?size=5&amp;amp;page=1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;adminList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:adminList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin37&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin76&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin94&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/adminList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &amp;quot;admins&amp;quot;:&lt;br /&gt;
    [ &lt;br /&gt;
        { &lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin37&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin76&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;adminId&amp;quot;:&amp;quot;apiadmin94&amp;quot;,&lt;br /&gt;
            &amp;quot;enabled&amp;quot;:true,&lt;br /&gt;
            &amp;quot;locked&amp;quot;:false,&lt;br /&gt;
            &amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
  &amp;quot;offset&amp;quot;:0,&lt;br /&gt;
  &amp;quot;size&amp;quot;:50,&lt;br /&gt;
  &amp;quot;total&amp;quot;:3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Admin.xsd Admin.xsd]&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 '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;admin xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:admin&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;adminId&amp;gt;apiadmin1&amp;lt;/adminId&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;First&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;lastName&amp;gt;Last&amp;lt;/lastName&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;first.last@rackspace.com&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;passwordExpiration&amp;gt;10&amp;lt;/passwordExpiration&amp;gt;&lt;br /&gt;
  &amp;lt;allowSimultaneousLogins&amp;gt;false&amp;lt;/allowSimultaneousLogins&amp;gt;&lt;br /&gt;
  &amp;lt;restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.1&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.2&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.3&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
  &amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
&amp;lt;/admin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin1&amp;quot;,&amp;quot;allowSimultaneousLogins&amp;quot;:false,&amp;quot;email&amp;quot;:&amp;quot;first.last@rackspace.com&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;First&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;lastName&amp;quot;:&amp;quot;Last&amp;quot;,&amp;quot;passwordExpiration&amp;quot;:10,&amp;quot;restrictedIps&amp;quot;:[&amp;quot;1.1.1.1&amp;quot;,&amp;quot;1.1.1.2&amp;quot;,&amp;quot;1.1.1.3&amp;quot;],&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
      [POST] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
       [PUT] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add a new admin or edit an existing admin under the specified account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Admin type (Required for Add). Must be &amp;quot;super&amp;quot;, &amp;quot;standard&amp;quot; or &amp;quot;limited&amp;quot;. Can't change permissions and domain access for limited admin at this point.&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Admin log in password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| Admin first name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Admin last name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Admin contact email (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityQuestion&lt;br /&gt;
| string&lt;br /&gt;
| Security question (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityAnswer&lt;br /&gt;
| string&lt;br /&gt;
| Security answer (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| passwordExpiration&lt;br /&gt;
| int&lt;br /&gt;
| The number of days in which password expires. 0 means password never expires.&lt;br /&gt;
|-&lt;br /&gt;
| allowSimultaneousLogins&lt;br /&gt;
| boolean&lt;br /&gt;
| Allow simultaneous logins using this Administrative ID&lt;br /&gt;
|-&lt;br /&gt;
| restrictedIps&lt;br /&gt;
| string&lt;br /&gt;
| Login restricted to IP address(es). Can be up to 3 valid addresses separated by commas.&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable/disable admin account&lt;br /&gt;
|-&lt;br /&gt;
| locked&lt;br /&gt;
| boolean&lt;br /&gt;
| Lock/unlock admin account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/admins/admin1', &lt;br /&gt;
     { &lt;br /&gt;
       'type' =&amp;gt; 'super',&lt;br /&gt;
       'password' =&amp;gt; 'password',&lt;br /&gt;
       'firstName' =&amp;gt; 'First',&lt;br /&gt;
       'lastName' =&amp;gt; 'Last',&lt;br /&gt;
       'email' =&amp;gt; 'first.last@rackspace.com',&lt;br /&gt;
       'securityQuestion' =&amp;gt; 'Q',&lt;br /&gt;
       'securityAnswer' =&amp;gt; 'A'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999/admins/admin2', &lt;br /&gt;
     { &lt;br /&gt;
       'enabled' =&amp;gt; 'true',&lt;br /&gt;
       'locked' =&amp;gt; 'false',&lt;br /&gt;
       'passwordExpiration' =&amp;gt; '0',&lt;br /&gt;
       'allowSimultaneousLogins' =&amp;gt; 'true',&lt;br /&gt;
       'restrictedIps' =&amp;gt; '1.1.1.1'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Password doesn't meet the requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be 7 to 30 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid restricted to IP address(es)&lt;br /&gt;
| 400&lt;br /&gt;
| IP addresses must be valid addresses separated by commas. A maximum of 3 addresses may be entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the admin.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# API paths for 2FAK&lt;br /&gt;
# Go-live date: late September 2015&lt;br /&gt;
# URL: http://api-wiki.apps.rackspace.com/api-wiki/index.php/Admin_(Rest_API)&lt;br /&gt;
Changes by: Zach Corleissen&lt;br /&gt;
Date: 9/22/2015&lt;br /&gt;
Project manager: Bob Black&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable and Disable Two-Factor Authentication ===&lt;br /&gt;
&lt;br /&gt;
Enabling two-factor authentication requires installing [[https://support.google.com/accounts/answer/1066447?hl=en Google Authenticator]] or another TOTP-compatible app on a mobile device. The authenticator provides the verification code required to set a key.&lt;br /&gt;
&lt;br /&gt;
You can set and remove keys for any admin on the account, including your own.&lt;br /&gt;
&lt;br /&gt;
==== Generate a Secret Key ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a [[https://tools.ietf.org/html/rfc6238#page-4 TOTP]] secret key for two-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Generating a new key changes no server state. The server does not store the key, nor is two-factor authentication enabled or disabled for that admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GET] /v2/customers/me/admins/(admin ID)/twoFactorAuth/newKey&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200 OK&amp;lt;/code&amp;gt; with a JSON response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Key&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 '/v2/customers/me/admins/999999999/twoFactorAuth/newKey', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Provide a secret key and verification code to enable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] /v2/customers/me/admins/(admin ID)/twoFactorAuth&lt;br /&gt;
Content-type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
  &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
        &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Disable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Disable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/reseller/twoFactorAuth&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;nowiki&amp;gt;/newKey&amp;lt;/nowiki&amp;gt; in the path?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method (GET requests only)&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;code&amp;gt;/newKey&amp;lt;/code&amp;gt; in the path?)&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Missing fields&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property. Correctly populate empty fields in the POST body.&lt;br /&gt;
|-&lt;br /&gt;
| Missing verification code&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;verificationCode&amp;quot; property. &lt;br /&gt;
|-&lt;br /&gt;
| Secret key is invalid&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| &amp;quot;secretKey&amp;quot; contains invalid characters.&lt;br /&gt;
|-&lt;br /&gt;
| Secret key is null&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property.&lt;br /&gt;
|-&lt;br /&gt;
| Verification code contains a leading zero&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| The &amp;quot;verificationCode&amp;quot; value is not valid for the &amp;quot;secretKey&amp;quot; value. Enter a new verification code without a leading zero.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=694</id>
		<title>Admin (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Admin_(Rest_API)&amp;diff=694"/>
				<updated>2015-10-13T22:14:57Z</updated>
		
		<summary type="html">&lt;p&gt;Zach7981: Added paths for two-factor authentication.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of admins under the account. If a customer account is specified, then a list of admins under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of admins owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v1/customers/me/domains'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/AdminList.xsd AdminList.xsd]&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 '/customers/999999/admins?size=5&amp;amp;page=1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;adminList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:adminList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin37&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin76&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;&lt;br /&gt;
      &amp;lt;adminId&amp;gt;apiadmin94&amp;lt;/adminId&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
      &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
    &amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/adminList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;admins&amp;quot;:[{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin37&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin76&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin94&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;}],&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/Schemas/Admin.xsd Admin.xsd]&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 '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result 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;admin xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:admin&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;adminId&amp;gt;apiadmin1&amp;lt;/adminId&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;super&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;locked&amp;gt;false&amp;lt;/locked&amp;gt;&lt;br /&gt;
  &amp;lt;firstName&amp;gt;First&amp;lt;/firstName&amp;gt;&lt;br /&gt;
  &amp;lt;lastName&amp;gt;Last&amp;lt;/lastName&amp;gt;&lt;br /&gt;
  &amp;lt;email&amp;gt;first.last@rackspace.com&amp;lt;/email&amp;gt;&lt;br /&gt;
  &amp;lt;passwordExpiration&amp;gt;10&amp;lt;/passwordExpiration&amp;gt;&lt;br /&gt;
  &amp;lt;allowSimultaneousLogins&amp;gt;false&amp;lt;/allowSimultaneousLogins&amp;gt;&lt;br /&gt;
  &amp;lt;restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.1&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.2&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
    &amp;lt;restrictedIps&amp;gt;1.1.1.3&amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
  &amp;lt;/restrictedIps&amp;gt;&lt;br /&gt;
&amp;lt;/admin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;adminId&amp;quot;:&amp;quot;apiadmin1&amp;quot;,&amp;quot;allowSimultaneousLogins&amp;quot;:false,&amp;quot;email&amp;quot;:&amp;quot;first.last@rackspace.com&amp;quot;,&amp;quot;firstName&amp;quot;:&amp;quot;First&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;locked&amp;quot;:false,&amp;quot;lastName&amp;quot;:&amp;quot;Last&amp;quot;,&amp;quot;passwordExpiration&amp;quot;:10,&amp;quot;restrictedIps&amp;quot;:[&amp;quot;1.1.1.1&amp;quot;,&amp;quot;1.1.1.2&amp;quot;,&amp;quot;1.1.1.3&amp;quot;],&amp;quot;type&amp;quot;:&amp;quot;super&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
      [POST] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&lt;br /&gt;
       [PUT] https://api.emailsrvr.com/v1/admins/(admin name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add a new admin or edit an existing admin under the specified account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Admin type (Required for Add). Must be &amp;quot;super&amp;quot;, &amp;quot;standard&amp;quot; or &amp;quot;limited&amp;quot;. Can't change permissions and domain access for limited admin at this point.&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Admin log in password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| Admin first name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Admin last name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| email&lt;br /&gt;
| string&lt;br /&gt;
| Admin contact email (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityQuestion&lt;br /&gt;
| string&lt;br /&gt;
| Security question (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| securityAnswer&lt;br /&gt;
| string&lt;br /&gt;
| Security answer (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| passwordExpiration&lt;br /&gt;
| int&lt;br /&gt;
| The number of days in which password expires. 0 means password never expires.&lt;br /&gt;
|-&lt;br /&gt;
| allowSimultaneousLogins&lt;br /&gt;
| boolean&lt;br /&gt;
| Allow simultaneous logins using this Administrative ID&lt;br /&gt;
|-&lt;br /&gt;
| restrictedIps&lt;br /&gt;
| string&lt;br /&gt;
| Login restricted to IP address(es). Can be up to 3 valid addresses separated by commas.&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable/disable admin account&lt;br /&gt;
|-&lt;br /&gt;
| locked&lt;br /&gt;
| boolean&lt;br /&gt;
| Lock/unlock admin account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/999999/admins/admin1', &lt;br /&gt;
     { &lt;br /&gt;
       'type' =&amp;gt; 'super',&lt;br /&gt;
       'password' =&amp;gt; 'password',&lt;br /&gt;
       'firstName' =&amp;gt; 'First',&lt;br /&gt;
       'lastName' =&amp;gt; 'Last',&lt;br /&gt;
       'email' =&amp;gt; 'first.last@rackspace.com',&lt;br /&gt;
       'securityQuestion' =&amp;gt; 'Q',&lt;br /&gt;
       'securityAnswer' =&amp;gt; 'A'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999/admins/admin2', &lt;br /&gt;
     { &lt;br /&gt;
       'enabled' =&amp;gt; 'true',&lt;br /&gt;
       'locked' =&amp;gt; 'false',&lt;br /&gt;
       'passwordExpiration' =&amp;gt; '0',&lt;br /&gt;
       'allowSimultaneousLogins' =&amp;gt; 'true',&lt;br /&gt;
       'restrictedIps' =&amp;gt; '1.1.1.1'&lt;br /&gt;
     },&lt;br /&gt;
     'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Password doesn't meet the requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be 7 to 30 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid restricted to IP address(es)&lt;br /&gt;
| 400&lt;br /&gt;
| IP addresses must be valid addresses separated by commas. A maximum of 3 addresses may be entered.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the admin.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999/admins/admin1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== v2 - Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# API paths for 2FAK&lt;br /&gt;
# Go-live date: late September 2015&lt;br /&gt;
# URL: http://api-wiki.apps.rackspace.com/api-wiki/index.php/Admin_(Rest_API)&lt;br /&gt;
Changes by: Zach Corleissen&lt;br /&gt;
Date: 9/22/2015&lt;br /&gt;
Project manager: Bob Black&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable and Disable Two-Factor Authentication ===&lt;br /&gt;
&lt;br /&gt;
Enabling two-factor authentication requires installing [[https://support.google.com/accounts/answer/1066447?hl=en Google Authenticator]] or another TOTP-compatible app on a mobile device. The authenticator provides the verification code required to set a key.&lt;br /&gt;
&lt;br /&gt;
You can set and remove keys for any admin on the account, including your own.&lt;br /&gt;
&lt;br /&gt;
==== Generate a Secret Key ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Generate a [[https://tools.ietf.org/html/rfc6238#page-4 TOTP]] secret key for two-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Generating a new key changes no server state. The server does not store the key, nor is two-factor authentication enabled or disabled for that admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[GET] /v2/customers/me/admins/(admin ID)/twoFactorAuth/newKey&lt;br /&gt;
Accept: application/json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200 OK&amp;lt;/code&amp;gt; with a JSON response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Key&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 '/v2/customers/me/admins/999999999/twoFactorAuth/newKey', 'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Provide a secret key and verification code to enable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[POST] /v2/customers/me/admins/(admin ID)/twoFactorAuth&lt;br /&gt;
Content-type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
  &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;SecretKey&amp;quot;: &amp;quot;YZ2DHHG5TFC47COKWLQ3GB3Y5RDRG4Q2&amp;quot;,&lt;br /&gt;
        &amp;quot;VerificationCode&amp;quot;: &amp;quot;123456&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Disable Two-Factor Authentication ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Disable two-factor authentication for an admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /v2/customers/me/admins/reseller/twoFactorAuth&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''HTTP response'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;204 No Content&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/v2/customers/me/admins/999999999/twoFactorAuth',&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;Enabled&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    'application/json'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for GET requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;nowiki&amp;gt;/newKey&amp;lt;/nowiki&amp;gt; in the path?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Errors for POST requests ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid method (GET requests only)&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| Make sure the URL is correct. (Did you include &amp;lt;code&amp;gt;/newKey&amp;lt;/code&amp;gt; in the path?)&lt;br /&gt;
|-&lt;br /&gt;
| POST body is empty&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Make sure the POST body contains content.&lt;br /&gt;
|-&lt;br /&gt;
| Wrong content type&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Payload must be a valid JSON object. Verify that the content type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Missing fields&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property. Correctly populate empty fields in the POST body.&lt;br /&gt;
|-&lt;br /&gt;
| Missing verification code&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;verificationCode&amp;quot; property. &lt;br /&gt;
|-&lt;br /&gt;
| Secret key is invalid&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| &amp;quot;secretKey&amp;quot; contains invalid characters.&lt;br /&gt;
|-&lt;br /&gt;
| Secret key is null&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| Must send a &amp;quot;secretKey&amp;quot; property.&lt;br /&gt;
|-&lt;br /&gt;
| Verification code contains a leading zero&lt;br /&gt;
| 400 Bad Request&lt;br /&gt;
| The &amp;quot;verificationCode&amp;quot; value is not valid for the &amp;quot;secretKey&amp;quot; value. Enter a new verification code without a leading zero.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zach7981</name></author>	</entry>

	</feed>