-
Notifications
You must be signed in to change notification settings - Fork 3
API Additions
Return information from REST calls (succesful or erroneous) have the general format
<response>
<code>UPDATED</code>
<message>Updated Skill</message>
<data>
<id>23</id>
</data>
</response>
The REST call will also set the response status to the most applicable HTML status code. The data element will contain any information relevant to the actual call (and may be empty). The message element will contain a brief description of the action or error. Possible code values include
SUCCESS_CREATED, SUCCESS_UPDATED, SUCCESS_DELETED
ERROR_MISSING_INPUT, ERROR_BAD_INPUT, ERROR_WRITE_FAILED
/openacd-agent-group
Get: Retrieves information on all agent groups including skills assigned to group.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-agent-group?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new agent group. Any "id" element in the group will be ignored. Must supply a body representing a new group with skill elements that at least identify the skill "id"s. Any other values for skills will be ignored.
<group>
<name>Swashbuckler</name>
<description>Seekers of adventure on the High Seas</description>
<skills>
<skill>
<id>1</id>
<name>Spelunking</name> (everything after "id" is ignored, but can be left in)
<description>Deep cave exploration and analysis</description>
<atom>spelunking</atom>
<groupName>Adventuring</groupName>
<groupId>3</groupId>
</skill>
<skill>
<id>3</id>
</skill>
</skills>
</group>
/openacd-agent-group/{id}
Get: Retrieves information on group with the specified id
Put: Updates group with specified id. Will also add any skills specified with the group (only the skill id is required). Uses same XML as for adding new Group.
Delete: Removes group with the specified id.
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-agent
Get: Retrieves information on all agents.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-agent?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new agent. Any "id" element will be ignored. Must supply a body representing a new agent with skill, queue and client elements that at least identify "id"s. Any other values for skills, queues and clients will be ignored.
<agent>
<id>2</id>
<userId>17</userId>
<userName>202</userName>
<firstName>Steve</firstName>
<lastName>Vai</lastName>
<groupId>1</groupId>
<groupName>Default</groupName>
<security>SUPERVISOR</security>
<password></password>
<skills>
<skill>
<id>1</id>
<name>English</name>
<description>English</description>
<groupName>Language</groupName>
</skill>
</skills>
<queues>
<queue>
<id>1</id>
<name>default_queue</name>
<description>Default queue</description>
<groupName>Default</groupName>
</queue>
</queues>
<clients>
<client>
<id>2</id>
<name>The Museum of Rare Antiquities</name>
<description>Curators of ancient antiquities from around the globe.</description>
<identity>museum</identity>
</client>
</clients>
</agent>
/openacd-agent/{id}
Get: Retrieves information on agent with the specified id
Put: Updates agent with specified id. Will also set any skills, queues and clients specified with the group (only the id is required). Will also allow for setting of new password (but if blank will not reset). Uses same XML as for adding new Group.
Delete: Removes agent with the specified id.
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-skill
Get: Retrieves information on all skills.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description|atom}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-skill?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new skill. Must supply a body representing a new skill, including a Skill Group id (the groupName is not required, and for convenience will be ignored) and atom name. Any "id" element in the skill will be ignored.
<skill>
<id>1</id>
<name>Spelunking</name>
<description>Deep cave exploration and analysis</description>
<atom>spelunking</atom>
<groupName>Adventuring</groupName> (ignored, but can be left in)
<groupId>3</groupId>
</skill>
/openacd-skill/{id}
Get: Retrieves information on skill with the specified id
Put: Updates skill with specified id. Uses same XML as for adding new skill, except atom name cannot be updated (and will be ignored).
Delete: Removes skill with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-skill-group
Get: Retrieves information on all skill groups.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-skill-group?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new skill group. Must supply a body representing a new skill group. Any "id" element in the skill group will be ignored.
<group>
<id>3</id>
<name>Adventuring</name>
<description>Skills necessary for a successful adventurer</description>
</group>
/openacd-skill-group/{id}
Get: Retrieves information on skill group with the specified id
Put: Updates skill group with specified id. Uses same XML as for adding new skill group.
Delete: Removes skill group with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-client
Get: Retrieves information on all clients.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-client?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new client. Any "id" element in the client will be ignored.
<client>
<id>5</id>
<name>The Museum of Rare Antiquities</name>
<description>Curators of ancient antiquities from around the globe.</description>
<identity>museum</identity>
</client>
/openacd-client/{id}
Get: Retrieves information on client with the specified id
Put: Updates client with specified id. Uses same XML as for adding new client, except identity name cannot be updated (and will be ignored).
Delete: Removes client with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-release-code
Get: Retrieves information on all release codes.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "label", however).
sortdir={forward|reverse}
sortby={label|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-release-code?sortdir=forward&sortby=label&page=1&pagesize=1
Put: Adds a new release code. Any "id" element in the release code will be ignored. The "bias" element will be an integer number -1, 0, or 1; where: -1 = negative, 0 = neutral, and 1 = positive.
<release-code>
<id>5</id>
<label>Out Spelunking</label>
<description>Having fun</description>
<bias>1</bias>
</release-code>
/openacd-release-code/{id}
Get: Retrieves information on release code with the specified id
Put: Updates release code with specified id. Uses same XML as for adding new release code.
Delete: Removes release code with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-line
Get: Retrieves information on all lines.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-line?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new line. Must supply a body representing a new line and all mandatory actions. Any "id" element in the line will be ignored.
For queue the "name" must be correct
For client the "identity" must be correct.
For answerSupervisionType use the values "FS", "AGENT" or "ACD".
For "welcomeMessage" provide the entire path to the audio file (the default location is "{sipxecs-install-dir}/var/sipxdata/configserver/phone/acd/audio/").
<line>
<id>5</id>
<name>HeadbangersBall</name>
<description>For those about to rock...</description>
<extension>(500)</extension>
<regex>true</regex>
<didnumber>5551212</didnumber>
<alias>700</alias>
<actions>
<queue>
<id>2</id>
<name>Amateurs</name>
<description>Those looking for basic advice on recreation and fun</description>
<groupName>Musicians</groupName>
</queue>
<client>
<id>3</id>
<name>The Omega Firm</name>
<description>A shadowy organization with ostensibly benevolent intentions.</description>
<identity>firm</identity>
</client>
<allowVoicemail>true</allowVoicemail>
<answerSupervisionType>FS</answerSupervisionType>
<welcomeMessage>/usr/local/sipx/var/sipxdata/configserver/phone/acd/audio/hello</welcomeMessage>
<customActions>
<action>
<application>set</application>
<data>domain_name=$${domain}</data>
</action>
<action>
<application>erlang_sendmsg</application>
<data>freeswitch_media_manager [email protected] inivr ${uuid}</data>
</action>
<action>
<application>erlang</application>
<data>freeswitch_media_manager:! [email protected]</data>
</action>
</customActions>
</actions>
</line>
/openacd-line/{id}
Get: Retrieves information on line with the specified id
Put: Updates line with specified id. Uses same XML as for adding new line.
Delete: Removes line with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-queue
Get: Retrieves information on all queues.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-line?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new queue. Must supply a body representing a new queue and optionally recipe steps. Any "id" element in the line will be ignored.
For frequency use the values "run_once" or "run_many"
Possible condition and action values are in the example below.
Possible relations are "is", "is|isNot", "is|greater|less".
<queue>
<id>19</id>
<name>RecipeTesting2</name>
<description>Added through API to test recipe</description>
<groupName>Musicians</groupName>
<groupId>2</groupId>
<weight>1</weight>
<skills/>
<agentGroups>
<agentGroup>
<id>2</id>
<name>Ninja</name>
<description>Stealth assassins</description>
</agentGroup>
</agentGroups>
<steps>
<step>
<id>58</id>
<conditions>
<condition>
<condition>ticks</condition>
<relation>is</relation>
<valueCondition>250</valueCondition>
</condition>
<condition>
<condition>available_agents</condition>
<relation>is</relation>
<valueCondition>2</valueCondition>
</condition>
<condition>
<condition>available_agents</condition>
<relation>greater</relation>
<valueCondition>5</valueCondition>
</condition>
<condition>
<condition>available_agents</condition>
<relation>less</relation>
<valueCondition>10</valueCondition>
</condition>
<condition>
<condition>eligible_agents</condition>
<relation>less</relation>
<valueCondition>5</valueCondition>
</condition>
<condition>
<condition>calls_queued</condition>
<relation>less</relation>
<valueCondition>5</valueCondition>
</condition>
<condition>
<condition>queue_position</condition>
<relation>less</relation>
<valueCondition>5</valueCondition>
</condition>
</conditions>
<action>
<action>set_priority</action>
<actionValue>95</actionValue>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>59</id>
<conditions>
<condition>
<condition>client</condition>
<relation>is</relation>
<valueCondition>museum</valueCondition>
</condition>
<condition>
<condition>client</condition>
<relation>isNot</relation>
<valueCondition>firm</valueCondition>
</condition>
<condition>
<condition>hour</condition>
<relation>less</relation>
<valueCondition>23</valueCondition>
</condition>
<condition>
<condition>weekday</condition>
<relation>less</relation>
<valueCondition>7</valueCondition>
</condition>
<condition>
<condition>weekday</condition>
<relation>greater</relation>
<valueCondition>1</valueCondition>
</condition>
<condition>
<condition>media_type</condition>
<relation>is</relation>
<valueCondition>voice</valueCondition>
</condition>
<condition>
<condition>media_type</condition>
<relation>is</relation>
<valueCondition>email</valueCondition>
</condition>
<condition>
<condition>media_type</condition>
<relation>isNot</relation>
<valueCondition>voicemail</valueCondition>
</condition>
<condition>
<condition>media_type</condition>
<relation>isNot</relation>
<valueCondition>chat</valueCondition>
</condition>
</conditions>
<action>
<action>add_skills</action>
<actionValue>8</actionValue>
<skills>
<skill>
<id>23</id>
<name>Klingon</name>
<description>Ancient language of Warriors</description>
<groupName>Language</groupName>
</skill>
</skills>
</action>
<frequency>run_many</frequency>
</step>
<step>
<id>60</id>
<conditions>
<condition>
<condition>client_calls_queued</condition>
<relation>less</relation>
<valueCondition>88</valueCondition>
</condition>
</conditions>
<action>
<action>remove_skills</action>
<skills>
<skill>
<id>29</id>
<name>Blues</name>
<description>You don't know the blues until you've lived the blues...</description>
<groupName>Guitar</groupName>
</skill>
<skill>
<id>28</id>
<name>Rhythm</name>
<description>Laying down the backbone riffs</description>
<groupName>Guitar</groupName>
</skill>
<skill>
<id>26</id>
<name>Shredding</name>
<description>High-speed awesomeness</description>
<groupName>Guitar</groupName>
</skill>
</skills>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>61</id>
<conditions>
<condition>
<condition>caller_id</condition>
<relation>is</relation>
<valueCondition>555</valueCondition>
</condition>
</conditions>
<action>
<action>prioritize</action>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>62</id>
<conditions>
<condition>
<condition>caller_id</condition>
<relation>isNot</relation>
<valueCondition>1212</valueCondition>
</condition>
</conditions>
<action>
<action>deprioritize</action>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>63</id>
<conditions>
<condition>
<condition>caller_name</condition>
<relation>is</relation>
<valueCondition>yoda</valueCondition>
</condition>
</conditions>
<action>
<action>voicemail</action>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>64</id>
<conditions>
<condition>
<condition>caller_name</condition>
<relation>isNot</relation>
<valueCondition>darth</valueCondition>
</condition>
</conditions>
<action>
<action>announce</action>
<actionValue>hello</actionValue>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
</steps>
</queue>
/openacd-queue/{id}
Get: Retrieves information on queue with the specified id
Put: Updates queue with specified id. Uses same XML as for adding new queue.
Delete: Removes queue with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/openacd-queue-group
Get: Retrieves information on all queue groups.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/openacd-queue-group?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new queue group. Must supply a body representing a new queue group and all skills and agent groups. Any "id" element in the queue group will be ignored.
See "Queues" for condition requirements
<group>
<name>Musicians</name>
<id>2</id>
<description>The Muse speaks to them...</description>
<skills>
<skill>
<id>26</id>
<name>Shredding</name>
<description>High-speed awesomeness</description>
<groupName>Guitar</groupName>
</skill>
</skills>
<agentGroups>
<agentGroup>
<id>4</id>
<name>GuitarHero</name>
<description>Super-utility axe player</description>
</agentGroup>
</agentGroups>
<steps>
<step>
<id>1</id>
<conditions>
<condition>
<condition>ticks</condition>
<relation>is</relation>
<valueCondition>5</valueCondition>
</condition>
<condition>
<condition>available_agents</condition>
<relation>greater</relation>
<valueCondition>10</valueCondition>
</condition>
</conditions>
<action>
<action>prioritize</action>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
<step>
<id>2</id>
<conditions>
<condition>
<condition>weekday</condition>
<relation>is</relation>
<valueCondition>1</valueCondition>
</condition>
</conditions>
<action>
<action>prioritize</action>
<skills/>
</action>
<frequency>run_once</frequency>
</step>
</steps>
</group>
/openacd-queue-group/{id}
Get: Retrieves information on queue group with the specified id
Put: Updates queue group with specified id. Uses same XML as for adding new queue group.
Delete: Removes queue group with the specified id
Return
After creation or update the response data will contain an id element with the ID value of the item affected.
/permission
Get: Retrieves information on all permissions.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/permission?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new permission. Must supply a body representing a new permission. All new permissions are non-built-in "Call" permissions.
The "name" is auto-generated and any value will be ignored
The "type" and "builtIn" value will be ignored.
<permission>
<name>perm_7</name>
<label>API Create</label>
<description>Created through API 2</description>
<defaultValue>true</defaultValue>
<type>CALL</type>
<builtIn>false</builtIn>
</permission>
/permission/{name}
Get: Retrieves information on permission with the specified name
Put: Updates permission with specified name. Uses same XML as for creation.
Delete: Removes permission with the specified name
Return
After creation or update the response data will contain an id element with the "name" value of the item affected.
/branch
Get: Retrieves information on all branches.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/branch?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new branch.
The "id" is auto-generated and any value will be ignored
<branch>
<id>1</id>
<name>HallOfJustice</name>
<description>API Testing</description>
<address>
<id>3</id>
<street>1 Justice Way</street>
<city>Smallville</city>
<country>United States</country>
<state>MidAmerica</state>
<zip>55555</zip>
<officeDesignation>stop</officeDesignation>
</address>
<phoneNumber>555-HERO</phoneNumber>
</branch>
/branch/{id}
Get: Retrieves information on branch with the specified id
Put: Updates branch with specified id. Uses same XML as for creation.
Delete: Removes branch with the specified id
Return
After creation or update the response data will contain an id element with the "id" value of the item affected.
/user-group
Get: Retrieves information on all user groups.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/user-group?sortdir=forward&sortby=description&page=1&pagesize=1
Put: Adds a new user group.
The "id" is auto-generated and any value will be ignored
The "branch" element can be omitted.
<userGroup>
<id>5</id>
<name>JusticeLeague</name>
<description>Superheroes Unlimited</description>
<branch>
<id>1</id>
<name>HallOfJustice</name>
<description>Hall of Superheroes</description>
<address>
<id>3</id>
<street>1 Justice Way</street>
<city>Smallville</city>
<country>United States</country>
<state>MidAmerica</state>
<zip>55555</zip>
<officeDesignation>MailStop</officeDesignation>
</address>
<phoneNumber>555-HERO</phoneNumber>
</branch>
</userGroup>
/user-group/{id}
Get: Retrieves information on user group with the specified id
Put: Updates user group with specified id. Uses same XML as for creation.
Delete: Removes user group with the specified id
Return
After creation or update the response data will contain an id element with the "id" value of the item affected.
/user-group-permission
Get: Retrieves information on all user groups and their permission settings.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/user-group-permission?sortdir=forward&sortby=description&page=1&pagesize=1
/user-group-permission/{id}
Get: Retrieves information on user group with the specified id and its permissions.
Put: Sets permission values for a user group.
The "id" is auto-generated and any value will be ignored
The "setting" element must contain a value element.
The "value" must be "ENABLED" or "DISABLE". It will be missing (empty) if the permission is set to the default and has never been changed.
The "defaultValue" is for information only. It does not need to be provided and will be ignored.
Not all permissions need to be updated at once. They can be listed individually or in subgroups.
<group>
<id>5</id>
<name>JusticeLeague</name>
<description>Superheroes of America</description>
<permissions>
<setting>
<name>900Dialing</name>
<value>ENABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>AutoAttendant</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>ExchangeUMVoicemailServer</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>FreeswitchVoicemailServer</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>InternationalDialing</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>LocalDialing</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>LongDistanceDialing</name>
<value>DISABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>Mobile</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>RecordSystemPrompts</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>TollFree</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>Voicemail</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>music-on-hold</name>
<value>DISABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>perm_3</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>perm_4</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>perm_7</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>personal-auto-attendant</name>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>subscribe-to-presence</name>
<value>DISABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>superadmin</name>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>tui-change-pin</name>
<defaultValue>true</defaultValue>
</setting>
</permissions>
</group>
Return
After creation or update the response data will contain an id element with the "id" value of the item affected.
/user
Get: Retrieves information on all users.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/user-group?sortdir=forward&sortby=description&page=1&pagesize=1
Parameters for retrieving a list filtered on Branch or on specific User IDs can be provided, but not together
branch=<branch id>
ids=<comma-separated list of user ids>
Put: Adds a new user.
The "id" is auto-generated and any value will be ignored.
If the "pin" is empty the current PIN value will be preserved.
The "branch" element can be empty or omitted.
The "groups" element can be empty or omitted.
The "aliases" element can be empty or omitted.
<user>
<id>21</id>
<userName>208</userName>
<lastName>Zor-El</lastName>
<firstName>Kara</firstName>
<pin></pin>
<sipPassword>208</sipPassword>
<groups>
<group>
<id>5</id>
<name>JusticeLeague</name>
<description>Superheroes of America</description>
</group>
</groups>
<branch>
<id>1</id>
<name>HallOfJustice</name>
<description>API Testing</description>
</branch>
<aliases>
<alias>
<alias>supergirl</alias>
</alias>
<alias>
<alias>kara</alias>
</alias>
</aliases>
</user>
/user/{id}
Get: Retrieves information on user with the specified id
Put: Updates user with specified id. Uses same XML as for creation.
Delete: Removes user with the specified id
Return
After creation or update the response data will contain an id element with the "id" value of the item affected.
/user-permission
Get: Retrieves information on all users and their permission settings.
Parameters to specify sorting are optional, but you should use both if you want sorting ("sortdir" by itself will default to "name", however).
sortdir={forward|reverse}
sortby={name|description}
Parameters for pagination must both be specified
page={page number requested}
pagesize={results per page desired}
Example:
https://[server]:8443/sipxconfig/rest/user-group-permission?sortdir=forward&sortby=description&page=1&pagesize=1
/user-permission/{id}
Get: Retrieves information on user with the specified id and its permissions.
Put: Sets permission values for a user.
The "id" is auto-generated and any value will be ignored
The "setting" element must contain a value element.
The "value" must be "ENABLED" or "DISABLE". It will be missing (empty) if the permission is set to the default and has never been changed.
The "defaultValue" is for information only. It does not need to be provided and will be ignored.
Not all permissions need to be updated at once. They can be listed individually or in subgroups.
<user>
<id>30</id>
<lastName>Fury</lastName>
<firstName>Nick</firstName>
<permissions>
<setting>
<name>900Dialing</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>AutoAttendant</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>ExchangeUMVoicemailServer</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>FreeswitchVoicemailServer</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>InternationalDialing</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>LocalDialing</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>LongDistanceDialing</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>Mobile</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>RecordSystemPrompts</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>TollFree</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>Voicemail</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>music-on-hold</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>perm_3</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>perm_4</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>perm_7</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>personal-auto-attendant</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>subscribe-to-presence</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
<setting>
<name>superadmin</name>
<value>DISABLE</value>
<defaultValue>false</defaultValue>
</setting>
<setting>
<name>tui-change-pin</name>
<value>ENABLE</value>
<defaultValue>true</defaultValue>
</setting>
</permissions>
</user>
Return
After creation or update the response data will contain an id element with the "id" value of the item affected.
[End of Document]