AXL API programming is gaining its importance day by day. The Administrative XML Web Service (AXL) is an XML/SOAP based API that enables remote management of Cisco Unified Communications Manager (CUCM) using any programming languages such as Python.
Sending AXL requests to Cisco CUCM with Postman is pretty straight forward process. Postman is a tool for prototyping APIs, Google Chrome app for interacting with HTTP APIs. It presents you with a friendly GUI for constructing requests and reading responses.
Tool mainly for developers or anyone who wants an easy way for testing any web APIs (including Cisco's AXL API).
Tools Required
- Postman
- Cisco Unified Communications Manager
Step 1: Create Standard AXL API User in CUCM
You can go for either End User or Application user. Since the purpose is for some API testing, I go with Application user.
Go to User Management > User Settings > Access Control Group
Click Add New and provide a name,
On the top right corner, Related Links > Assign Role to Access Control Group. Select Standard AXL API Users
Go to User Management > Application User and add a new user. Make sure you assign the Access Control Group just created.
Now we are ready with API user and basic settings required from CUCM side.
Step 2: Setting up Postman
Download the Postman tool from above link. Provide below URL in the address bar.
https://[CUCM IP OR FQDN]:8443/axl/
On the Authorization tab, select Type as Basic Auth, enter the User name and Password that we created in Step 1.
Step 3: Send a GET Request to CUCM AXl API
Go to ‘BODY’ tab, select ‘GET’ at the address bar and click send.
Note: Here you are not sending any data. It is just blank body. Once you scroll down, you will be able to see below,
At this point, everything looks good. We can start sending HTTP POST requests in body.
Step 4: Send HTTP Post to Pull Phone Details
Here is the CUCM AXL API query to pull all the Phone details.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">
<soapenv:Header/>
<soapenv:Body>
<ns:getPhone>
<name>SEP501CB00C71D5</name>
</ns:getPhone>
</soapenv:Body>
</soapenv:Envelope>
Paste the request in body of Postman and select Post request.
Once you send the request, here is what you get.
For more custom AXL queries, you can refer https://developer.cisco.com/docs/axl/#!what-is-axl/what-is-administrative-xml Let me know your thoughts about this article in below comment box.