AirWave API Guide

Introduction

This is the HPE Aruba Networking Management Software (AirWave) application programming interface (API). AirWave collects and correlates a wealth of information from several components of a network, including access points, controllers, switches, and authentication sources. AirWave can provide this valuable information to other wireless applications relegating the need for these applications to develop direct interfaces with these components. Examples of wireless applications that would require AMP's correlated information are RF scanning IDS solutions, RF scanning analysis solutions, and wireless site planning tools.

The API uses Extensible Markup Language (XML) over HTTPS using session-based authentication. All HTTP parameters and form fields must be URL encoded.

API Authentication

HPE Aruba Networking Management Software (AirWave) requires all API requests to pass a /LOGIN authentication gateway, then obtain a cookie and token called X-BISCOTTI. AirWave API requests must to have this cookie and token in the request header to complete authentication and also prevent cross-site request forgery (CSRF) attacks.

The following code example can be used for AirWave API authentication.

// code starts

var unirest = require('unirest');

var cookie_jar = unirest.jar();

var hostname = 'samplehost.corp.airwave.com';

unirest.post('https://' + hostname + '/LOGIN')

.jar(cookie_jar)

.strictSSL(false)

.headers({

'Content-Type': 'application/x-www-form-urlencoded'

})

.send({

destination: /index.html',

credential_0: 'admin username', // Username for admin user

credential_1: 'admin password' // Password for admin user

})

.end(function(resp) {

var token = resp.headers ? resp.headers['x-biscotti'] : null;

 

if (token) {

unirest.get('https://' + hostname + '/amp_stats.xml') // This is an exmaple for calling amp_stats api.

.jar(cookie_jar)

.strictSSL(false)

.headers({

'Content-Type': 'application/xml',

'X-BISCOTTI': token

})

.end(function (res) {

console.log(res.body);

});

} else {

console.error('there should be a token in header with successful login');

}

});

// code ends

Overview

AirWave APIs are split into Query APIs, Search and Report APIs, and APIs to Batch Execute AP Commands.

Query APIs

  • AMP Stats – Provides a high level summary of AirWave's current status.
  • Folder List – Provides a full (or optionally partial) list of folders on the AirWave server, and a high level summary of the folder's current status.
  • Alert List – Provides a list of all AirWave alerts.
  • AP List – Provides a full (or optionally partial) list of managed Access Points on AirWave.  A partial list of APs can be obtained by providing one or more AP IDs, as described below.
  • AP BSSID List – Provides a full (or optionally partial) list of BSSIDs of managed Access Points on an AMP.  A partial list of BSSIDs of APs can be obtained by providing one or more AP IDs, as described below.
  • AP Detail – Provides detailed information about managed APs: associated clients and neighboring rogue access points.
  • AP Log – Provides a specified number of the most recent log messages for APs.  This API requires one or more AP IDs to be supplied.
  • Rogue Detail – Provides detailed information about rogue access points, including a history of individual discovery events.  This API requires one or more rogue_ap IDs.
  • Client Detail – Provides detailed information about wireless clients, including a history of associations.  This API requires one or more client MAC addresses.
  • User Info – Provides authorization information about the currently logged in user.
  • Topology List - Provides a list of all devices in a folder.

Configuration APIs

  • Modify or Add Template Variables – Enables an external application to update AP's template variables in AirWave. User defined variables are also supported.
  • Import AP Allowlist – Enables an external application to create, update, and delete AP Allowlist in AirWave.
  • Deleting a Device – Enables an external application to delete a device in AirWave.

  • Moving a Device to a Folder – Enables an external application to move a device from one folder to another folder with a folder ID in AirWave.

  • Moving a Device to a Group – Enables an external application to move a device from one group to another group with group name or group ID in AirWave.

The Import AP Allowlist API will continue to function, but could be removed in future releases.

Search APIs

  • AP Search – Provides an interface to AirWave's AP search functionality.  This API requires a query string and returns an XML version of the AirWave WebUI search results.
  • Client Search – Provides an interface to AirWave's client search functionality.  This API requires a query string and returns an XML version of the AirWave WebUI's search results.
  • VPN User Search – Provides an interface to AirWave's VPN User search functionality.  This API requires a query string and returns an XML version of the AirWave WebUI's search results.

Report APIs

  • Latest Report – Provides an XML version of the latest generated report for a given report definition.

Querying by Field

AirWave has two methods for querying the XML API: the URL interface, and the deprecated XML POST interface.
When using the URL interface, all the query parameters are contained in the URL of an HTTP GET request.  For example, to query for the most recent log messages of APs with ids of 12 and 13, the URL would be:

https://example.host.com/ap_log.xml?id=12&id=13

When using the XML POST interface, the query is made by submitting a small XML document in an HTTP POST request.  To accomplish the same query as above, the POST parameter "aps" would be set to the following XML string:

<access_points>

  <ap id="12"/>

  <ap id="13"/>

</access_points>

The only difference for other APIs is the HTTP POST parameter name and the individual tag names and parameters in the XML document, as detailed in each API section below.
The URL interface should be used for all query APIs, and the XML POST interface has been deprecated.  The existing functionality of the POST interface will be removed in a future version of AirWave.

Limiting Historical Information

Certain APIs return historical information about network devices, and over time the amount of information returned can become very large.  To limit the number of historical XML elements returned, the limit tag can be included in the query XML:

<clients>

  <client mac="00:40:96:46:43:D8"/>

  <client mac="00:30:65:08:C6:9E"/>

  <limit>5</limit>

</clients>

Or for the URL interface:

https://example.host.com/client_detail.xml?mac=00:40:96:46:43:D8&mac=00:30:65:08:C6:9E&limit=5

This query would return the 5 most recent associations for each client.

Search API Elements

The Search and Report APIs are optimized for use by the Conductor Console, so each XML element contains 3 different representations of the data:

  • display_value attribute: Suitable for inclusion in an HTML page, after HTML character entities are decoded. May contain HTML that references AirWave Javascript functions.
  • sort_value attribute: When multiple records are returned, this field allows a logical sorting to be performed on fields for which a straight numeric or alphabetical sort is inappropriate (e.g., IP addresses and time durations).
  • element value: This is the text representation of the data.

Query APIs

AirWave Stats

  • URL: https://example.host.com/amp_stats.xml
  • XML Schema: amp_stats.xsd
  • Parameters: Optionally include_bandwidth or include_all_stats can be passed in the request.
  • Example Output: https://example.host.com/amp_stats.xml?include_all_stats=1&include_bandwidth=1
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_stats console_refresh_rate="60" failover_status="" version="4.4rc6"

         xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_stats.xsd">

      <alerts>0</alerts>

      <audit_disabled>3</audit_disabled>

      <bandwidth_in>0</bandwidth_in>

      <bandwidth_out>0</bandwidth_out>

      <client_count>0</client_count>

      <configuration_unknown>2</configuration_unknown>

      <down>10</down>

      <down_wired>1</down_wired>

      <down_wireless>9</donw_wireless>

      <mismatched>13</mismatched>

      <name>AirWave Management Platform</name>

      <new_count>2</new_count>

      <rogue>30</rogue>

      <up>25</up>

      <up_wired>10</up_wired>

      <up_wireless>15</up_wireless>

      <vpn_bandwidth_in>0</vpn_bandwidth_in>

      <vpn_bandwidth_out>0</vpn_bandwidth_out>

      <vpn_count>0</vpn_count>

    </amp:amp_stats>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_stats console_refresh_rate="60" failover_status="" version="4.4rc6"

         xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_stats.xsd">

      <alerts>0</alerts>

      <audit_disabled>3</audit_disabled>

      <bandwidth_in>0</bandwidth_in>

      <bandwidth_out>0</bandwidth_out>

      <client_count>0</client_count>

      <configuration_unknown>2</configuration_unknown>

      <down>10</down>

      <down_wired>1</down_wired>

      <down_wireless>9</donw_wireless>

      <mismatched>13</mismatched>

      <name>AirWave Management Platform</name>

      <new_count>2</new_count>

      <rogue>30</rogue>

      <up>25</up>

      <up_wired>10</up_wired>

      <up_wireless>15</up_wireless>

      <vpn_bandwidth_in>0</vpn_bandwidth_in>

      <vpn_bandwidth_out>0</vpn_bandwidth_out>

      <vpn_count>0</vpn_count>

    </amp:amp_stats>

Folder List

  • URL: https://example.host.com/folder_list.xml
  • XML Schema: amp_folder_list.xsd
  • Parameters: Optionally limit information returned to one or more folders by supplying folder IDs.
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_folder_list version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_folder_list.xsd">

      <folder id="1">

        <bandwidth_in>1725</bandwidth_in>

        <bandwidth_out>577</bandwidth_out>

        <client_count>2</client_count>

        <down>2</down>

        <mismatch>0</mismatch>

        <name>Top</name>

        <up>12</up>

        <vpn_client_count>0</vpn_client_count>

      </folder>

      <folder id="2">

        <bandwidth_in>5783</bandwidth_in>

        <bandwidth_out>5074</bandwidth_out>

        <client_count>6</client_count>

        <down>3</down>

        <mismatch>0</mismatch>

        <name>Folder1</name>

        <parent_id>1</parent_id>

        <up>16</up>

        <vpn_client_count>3</vpn_client_count>

      </folder> 

    </amp:amp_folder_list>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_folder_list version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_folder_list.xsd">

      <folder id="1">

        <bandwidth_in>1725</bandwidth_in>

        <bandwidth_out>577</bandwidth_out>

        <client_count>2</client_count>

        <down>2</down>

        <mismatch>0</mismatch>

        <name>Top</name>

        <up>12</up>

        <vpn_client_count>0</vpn_client_count>

      </folder>

      <folder id="2">

        <bandwidth_in>5783</bandwidth_in>

        <bandwidth_out>5074</bandwidth_out>

        <client_count>6</client_count>

        <down>3</down>

        <mismatch>0</mismatch>

        <name>Folder1</name>

        <parent_id>1</parent_id>

        <up>16</up>

        <vpn_client_count>3</vpn_client_count>

      </folder> 

    </amp:amp_folder_list>

Alert List

  • URL: https://example.host.com/alerts.xml
  • XML Schema: amp_alert.xsd
  • Parameters: None.
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_alert version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_alert.xsd">

      <record id="83">

        <creation_time ascii_value="10/2/2006 10:16 AM" display_value="10/2/2006 10:16 AM"

          sort_value="1159809360">1159809360</creation_time>

        <message ascii_value="this is example message text" display_value="this is example message text" sort_value="this is example message text">this is example message text</message>

        <remote_id ascii_value="83" display_value="83" sort_value="83">83</remote_id>

        <severity ascii_value="Normal" display_value="Normal" sort_value="2">2</severity>

        <summary ascii_value="Client Count >= 10 for 15 seconds" display_value="Client Count >= 10 for 15 seconds"

          sort_value="Client Count >= 10 for 15 seconds">Client Count >= 10 for 15 seconds</summary>

        <triggering_agent ascii_value="lwapp-1250-1" display_value="<a href="/ap_monitoring?id=3645">LWAPP-1250-1</a>"

          sort_value="lwapp-1250-1">lwapp-1250-1</triggering_agent>

        <type ascii_value="Device Client Count" display_value="Device Client Count" sort_value="Device Client Count">Device Client Count</type>

        <view_url ascii_value="/ap_monitoring?id=455" display_value="/ap_monitoring?id=455" sort_value="/ap_monitoring?id=455">/ap_monitoring?id=455</view_url>

        <viewed ascii_value="0"  display_value="0" sort_value="0">0</viewed>

      </record>

    </amp:amp_alert>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_alert version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_alert.xsd">

      <record id="83">

        <creation_time ascii_value="10/2/2006 10:16 AM" display_value="10/2/2006 10:16 AM"

          sort_value="1159809360">1159809360</creation_time>

        <message ascii_value="this is example message text" display_value="this is example message text" sort_value="this is example message text">this is example message text</message>

        <remote_id ascii_value="83" display_value="83" sort_value="83">83</remote_id>

        <severity ascii_value="Normal" display_value="Normal" sort_value="2">2</severity>

        <summary ascii_value="Client Count >= 10 for 15 seconds" display_value="Client Count >= 10 for 15 seconds"

          sort_value="Client Count >= 10 for 15 seconds">Client Count >= 10 for 15 seconds</summary>

        <triggering_agent ascii_value="lwapp-1250-1" display_value="<a href="/ap_monitoring?id=3645">LWAPP-1250-1</a>"

          sort_value="lwapp-1250-1">lwapp-1250-1</triggering_agent>

        <type ascii_value="Device Client Count" display_value="Device Client Count" sort_value="Device Client Count">Device Client Count</type>

        <view_url ascii_value="/ap_monitoring?id=455" display_value="/ap_monitoring?id=455" sort_value="/ap_monitoring?id=455">/ap_monitoring?id=455</view_url>

        <viewed ascii_value="0"  display_value="0" sort_value="0">0</viewed>

      </record>

    </amp:amp_alert>

AP List

  • URL: https://example.host.com/ap_list.xml
  • XML Schema: amp_ap_list.xsd
  • Parameters:
    • Optionally limit information returned to one or more APs by supplying AP IDs.
    • Similarly, limit by AP folders, AP groups, and controllers by supplying their IDs.
      • To limit by folder, use the URL syntax: https://example.host.com/ap_list.xml?ap_folder_id=<ID>
      • To limit by controller, use the URL syntax: https://example.host.com/ap_list.xml?controller_id=<ID>
      • To limit by group, use the URL syntax: https://example.host.com/ap_list.xml?ap_group_id=<ID>
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_list version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_list.xsd">

    <ap id="98893"> <controller_id>98847</controller_id> <device_category>thin_ap</device_category> <firmware>8.6.0.0</firmware> <folder id="1">Top</folder> <group id="10414">AOSCLUSTER1</group> <is_remote_ap>true</is_remote_ap> <is_up>false</is_up> <lan_ip>1.1.1.155</lan_ip> <lan_mac>B4:5D:50:CE:14:0C</lan_mac> <last_contacted>1573276692</last_contacted> <last_reboot>1573270685</last_reboot> <mesh_mode>0</mesh_mode> <mfgr>Aruba</mfgr> <model id="701">AP 305</model> <monitor_only>true</monitor_only> <name>b4:5d:50:ce:14:0c</name> <operating_mode>ap</operating_mode> <planned_maintenance_mode>false</planned_maintenance_mode> <radio index="1"> <antenna/> <antenna_gain/> <channel>11</channel> <display_channel>1</display_channel> <display_enabled>false</display_enabled> <display_transmit_power>18 dBm</display_transmit_power> <enabled>true</enabled> <operational_mode>n</operational_mode> <radio_interface>2</radio_interface> <radio_mac>B4:5D:50:61:40:C0</radio_mac> <radio_role>ap</radio_role> <radio_type>bgn</radio_type> <transmit_power>18 dBm</transmit_power> </radio> <radio index="2"> <antenna/> <antenna_gain/> <channel>149</channel> <display_channel>149</display_channel> <display_enabled>false</display_enabled> <display_transmit_power>18 dBm</display_transmit_power> <enabled>true</enabled> <operational_mode>ac</operational_mode> <radio_interface>1</radio_interface> <radio_mac>B4:5D:50:61:40:D0</radio_mac> <radio_role>ap</radio_role> <radio_type>ac</radio_type> <transmit_power>18 dBm</transmit_power> </radio> <reboot_count>26</reboot_count> <remote_lan_ip>192.168.1.8</remote_lan_ip> <remote_outer_ip>123.112.107.133</remote_outer_ip> <serial_number>CNCFJSS15T</serial_number> <snmp_uptime>0</snmp_uptime>

    <ssid> ethersphere-bridge, ethersphere-voip, ethersphere-wpa2-arubaos </ssid> <syscontact/> <syslocation/> <upstream_device_id/> <upstream_port_index/> </ap>

    </amp:amp_ap_list>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_list version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_list.xsd">

    <ap id="98893"> <controller_id>98847</controller_id> <device_category>thin_ap</device_category> <firmware>8.6.0.0</firmware> <folder id="1">Top</folder> <group id="10414">AOSCLUSTER1</group> <is_remote_ap>true</is_remote_ap> <is_up>false</is_up> <lan_ip>1.1.1.155</lan_ip> <lan_mac>B4:5D:50:CE:14:0C</lan_mac> <last_contacted>1573276692</last_contacted> <last_reboot>1573270685</last_reboot> <mesh_mode>0</mesh_mode> <mfgr>Aruba</mfgr> <model id="701">AP 305</model> <monitor_only>true</monitor_only> <name>b4:5d:50:ce:14:0c</name> <operating_mode>ap</operating_mode> <planned_maintenance_mode>false</planned_maintenance_mode> <radio index="1"> <antenna/> <antenna_gain/> <channel>11</channel> <display_channel>1</display_channel> <display_enabled>false</display_enabled> <display_transmit_power>18 dBm</display_transmit_power> <enabled>true</enabled> <operational_mode>n</operational_mode> <radio_interface>2</radio_interface> <radio_mac>B4:5D:50:61:40:C0</radio_mac> <radio_role>ap</radio_role> <radio_type>bgn</radio_type> <transmit_power>18 dBm</transmit_power> </radio> <radio index="2"> <antenna/> <antenna_gain/> <channel>149</channel> <display_channel>149</display_channel> <display_enabled>false</display_enabled> <display_transmit_power>18 dBm</display_transmit_power> <enabled>true</enabled> <operational_mode>ac</operational_mode> <radio_interface>1</radio_interface> <radio_mac>B4:5D:50:61:40:D0</radio_mac> <radio_role>ap</radio_role> <radio_type>ac</radio_type> <transmit_power>18 dBm</transmit_power> </radio> <reboot_count>26</reboot_count> <remote_lan_ip>192.168.1.8</remote_lan_ip> <remote_outer_ip>123.112.107.133</remote_outer_ip> <serial_number>CNCFJSS15T</serial_number> <snmp_uptime>0</snmp_uptime>

    <ssid> ethersphere-bridge, ethersphere-voip, ethersphere-wpa2-arubaos </ssid> <syscontact/> <syslocation/> <upstream_device_id/> <upstream_port_index/> </ap>

    </amp:amp_ap_list>

AP BSSID List

  • URL: https://example.host.com/api/ap_bssid_list.xml
  • XML Schema: amp_ap_bssid_list.xsd
  • Parameters:
    • Optionally limit information returned to one or more APs by supplying AP IDs.
    • Similarly, limit by AP folders, AP groups, and controllers by supplying their IDs.
      • To limit by folder, use the URL syntax: https://example.host.com/ap_list.xml?ap_folder_id=<ID>
      • To limit by controller, use the URL syntax: https://example.host.com/ap_list.xml?controller_id=<ID>
      • To limit by group, use the URL syntax: https://example.host.com/ap_list.xml?ap_group_id=<ID>
  • Example Output:
  • <?xml version="1.0" encoding="utf-8" standalone="yes"?>

    <amp:amp_ap_bssid_list version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_bssid_list.xsd">

      <ap id="19251" name="AP 1">

        <group id="2524">GROUP 1</group>

        <radio index="1" radio_type="abg" channel="8" radio_mac="AA:00:00:00:00:0B">

          <bssid mac="88:88:17:2F:64:22" text="SSID 1" had_client="1"/>

          <bssid mac="88:88:35:85:74:58" text="SSID 2" had_client="0"/>

          <bssid mac="88:88:21:08:4C:8A" text="SSID 3" had_client="0"/>

        </radio>

        <radio index="2" radio_type="a" channel="8" radio_mac="AA:00:00:00:00:0D">

          <bssid mac="88:88:FA:12:37:12" text="SSID 1" had_client="0"/>

          <bssid mac="88:88:FB:18:87:23" text="SSID 2" had_client="1"/>

        </radio>

      </ap>

      <ap id="19252" name="AP 2">

        <group id="2524">GROUP 2</group>

        <radio index="1" radio_type="abg" channel="8" radio_mac="AA:00:00:00:00:0E" />

      </ap>

    </amp:amp_ap_bssid_list>

AP Detail

  • URL: https://example.host.com/ap_detail.xml
  • XML Schema: amp_ap_detail.xsd
  • Parameters:
    • Optionally limit information returned to one or more APs by supplying AP IDs.
    • Similarly, limit by AP folders, AP groups, and controllers by supplying their IDs.
      • To limit by folder, use the URL syntax: https://example.host.com/ap_list.xml?ap_folder_id=<ID>
      • To limit by controller, use the URL syntax: https://example.host.com/ap_list.xml?controller_id=<ID>
      • To limit by group, use the URL syntax: https://example.host.com/ap_list.xml?ap_group_id=<ID>
  • Optional Tags:
    • include=ignored - neighbors that have been ignored through the AirWave WebUI are not included in the list of neighbor APs by default.
    • Append this to the URL to include ignored neighbors in the output.
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_detail.xsd">

      <ap id="79">

        <interface id="88">

          <admin_status>Up</admin_status>

          <alias/>

          <avg_bw_in>10.11</avg_bw_in>

          <avg_bw_out>73.58</avg_bw_out>

          <description>GigabitEthernet1/0/2</description>

          <mac_address>88:88:FC:03:C6:2C</mac_address>

          <name>Gi1/0/2</name>

          <oper_status>Dormant</oper_status>

          <port_index>34</port_index>

          <type>ethernetCsmacd</type>

        </interface>

        <ap_folder>Top > FolderA</ap_folder>

        <ap_group>A Group</ap_group>

        <is_remote_ap>true</is_remote_ap>

        <is_up>true</is_up>

        <remote_lan_ip>10.1.1.1</remote_lan_ip>

        <remote_outer_ip>172.22.22.1</remote_outer_ip>

        <radio index="1">

          <bw>2</bw>

          <client id="627">

            <assoc_stat>true</assoc_stat>

            <auth_stat>false</auth_stat>

            <bw>2</bw>

            <ip>10.51.1.51</ip>

            <radio_mac>00:0E:35:52:8C:AB</radio_mac>

            <rssi>38</rssi>

            <signal>-63</signal>

            <snr>38</snr>

            <vendor>Intel</vendor>

            <role>Employee</role>

          </client>

          <neighbor_ap id="506">

            <channel>4</channel>

            <name>XEROX CORP-00:00:F0</name>

            <neighbor_mode>ap</neighbor_mode>

            <neighbor_type>rogue</neighbor_type>

            <radio_mac>00:00:00:00:00:F0</radio_mac>

            <rssi>20</rssi>

            <security>none</security>

            <signal>-82</signal>

            <snr>20</snr>

            <vendor>XEROX CORPORATION</vendor>

          </neighbor_ap>

          <neighbor_ap id="3644">

            <channel>64</channel>

            <name>aironet-1030-2</name>

            <neighbor_mode>ap</neighbor_mode>

            <neighbor_type>managed</neighbor_type>

            <radio_mac>00:0B:85:55:8A:10</radio_mac>

            <rssi>38</rssi>

            <security>none</security>

            <signal>-64</signal>

            <snr>38</snr>

            <vendor>Airespace, Inc.</vendor>

          </neighbor_ap>

          <radio_type>bg</radio_type>

          <operational_mode>g</operational_mode>

        </radio>

        <snmp_uptime>99.31</snmp_uptime>

      </ap>

    </amp:amp_ap_detail>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_detail.xsd">

      <ap id="79">

        <interface id="88">

          <admin_status>Up</admin_status>

          <alias/>

          <avg_bw_in>10.11</avg_bw_in>

          <avg_bw_out>73.58</avg_bw_out>

          <description>GigabitEthernet1/0/2</description>

          <mac_address>88:88:FC:03:C6:2C</mac_address>

          <name>Gi1/0/2</name>

          <oper_status>Dormant</oper_status>

          <port_index>34</port_index>

          <type>ethernetCsmacd</type>

        </interface>

        <ap_folder>Top > FolderA</ap_folder>

        <ap_group>A Group</ap_group>

        <is_remote_ap>true</is_remote_ap>

        <is_up>true</is_up>

        <remote_lan_ip>10.1.1.1</remote_lan_ip>

        <remote_outer_ip>172.22.22.1</remote_outer_ip>

        <radio index="1">

          <bw>2</bw>

          <client id="627">

            <assoc_stat>true</assoc_stat>

            <auth_stat>false</auth_stat>

            <bw>2</bw>

            <ip>10.51.1.51</ip>

            <radio_mac>00:0E:35:52:8C:AB</radio_mac>

            <rssi>38</rssi>

            <signal>-63</signal>

            <snr>38</snr>

            <vendor>Intel</vendor>

            <role>Employee</role>

          </client>

          <neighbor_ap id="506">

            <channel>4</channel>

            <name>XEROX CORP-00:00:F0</name>

            <neighbor_mode>ap</neighbor_mode>

            <neighbor_type>rogue</neighbor_type>

            <radio_mac>00:00:00:00:00:F0</radio_mac>

            <rssi>20</rssi>

            <security>none</security>

            <signal>-82</signal>

            <snr>20</snr>

            <vendor>XEROX CORPORATION</vendor>

          </neighbor_ap>

          <neighbor_ap id="3644">

            <channel>64</channel>

            <name>aironet-1030-2</name>

            <neighbor_mode>ap</neighbor_mode>

            <neighbor_type>managed</neighbor_type>

            <radio_mac>00:0B:85:55:8A:10</radio_mac>

            <rssi>38</rssi>

            <security>none</security>

            <signal>-64</signal>

            <snr>38</snr>

            <vendor>Airespace, Inc.</vendor>

          </neighbor_ap>

          <radio_type>bg</radio_type>

          <operational_mode>g</operational_mode>

        </radio>

        <snmp_uptime>99.31</snmp_uptime>

      </ap>

    </amp:amp_ap_detail>

AP Log

  • URL: https://example.host.com/ap_log.xml
  • XML Schema: amp_ap_log.xsd
  • Parameters: Must supply one or more AP IDs.
  • Optional Tags: limit - (defaults to 20) as explained above
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_log version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_log.xsd">

      <ap id="79">

        <log_message>

          <date>2006-10-04T11:16:57-07:00</date>

          <message>AP Client Count: Device: ORiNOCO-AP-700-55-e6-e1: &gt;= 1 clients for 15 seconds (Normal)</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:07-07:00</date>

          <message>Configuration verification: configuration on device does not match desired configuration</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:02-07:00</date>

          <message>Up</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:02-07:00</date>

          <message>Status changed to 'OK'</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:15:18-07:00</date>

          <message>Status changed to 'SNMP Get Failed'</message>

          <user>System</user>

        </log_message>

      </ap>

    </amp:amp_ap_log>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_log version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_log.xsd">

      <ap id="79">

        <log_message>

          <date>2006-10-04T11:16:57-07:00</date>

          <message>AP Client Count: Device: ORiNOCO-AP-700-55-e6-e1: &gt;= 1 clients for 15 seconds (Normal)</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:07-07:00</date>

          <message>Configuration verification: configuration on device does not match desired configuration</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:02-07:00</date>

          <message>Up</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:16:02-07:00</date>

          <message>Status changed to 'OK'</message>

          <user>System</user>

        </log_message>

        <log_message>

          <date>2006-10-04T11:15:18-07:00</date>

          <message>Status changed to 'SNMP Get Failed'</message>

          <user>System</user>

        </log_message>

      </ap>

    </amp:amp_ap_log>

Rogue Detail

  • URL: https://example.host.com/rogue_detail.xml
  • XML Schema: amp_rogue_detail.xsd
  • Parameters: Must supply one or more Rogue AP IDs.  Rogue IDs are obtained from a neighbor_ap ID in the AP Detail API, when the neighbor_type is rogue.
  • Optional Tags: limit - as explained above
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_rogue_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_rogue_detail.xsd">

      <rogue_ap id="495">

        <channel>6</channel>

        <discovery_event id="600644">

          <channel>6</channel>

          <discovering_ap id="3650">

            <name>Cisco-1130-1</name>

            <radio_index>1</radio_index>

          </discovering_ap>

          <discovery_time>2006-10-04T07:08:03-07:00</discovery_time>

          <mode>ap</mode>

          <rssi>-88</rssi>

          <security>WEP</security>

          <signal>-88</signal>

          <snr>-2</snr>

          <ssid>blec</ssid>

          <type>Wireless AP scan</type>

        </discovery_event>

        <discovery_event id="560515">

          <channel>6</channel>

          <discovering_ap id="3647">

            <name>ap:1b:a6:90</name>

            <radio_index>1</radio_index>

          </discovering_ap>

          <discovery_time>2006-10-03T21:56:31-07:00</discovery_time>

          <mode>ap</mode>

          <rssi>-89</rssi>

          <security>WEP</security>

          <signal>-89</signal>

          <snr>6</snr>

          <ssid>blec</ssid>

          <type>Wireless AP scan</type>

        </discovery_event>

        <first_discovered>2006-09-29T21:34:48-07:00</first_discovered>

        <ignored>false</ignored>

        <last_discovered>2006-10-04T07:08:03-07:00</last_discovered>

        <mode>ap</mode>

        <name>Cisco-Link-FC:B4:84</name>

        <radio_mac>00:13:10:FC:B4:84</radio_mac>

        <radio_vendor>Cisco-Linksys</radio_vendor>

        <score>5</score>

        <security>WEP</security>

        <ssid>blec</ssid>

      </rogue_ap>

    </amp:amp_rogue_detail>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_rogue_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_rogue_detail.xsd">

      <rogue_ap id="495">

        <channel>6</channel>

        <discovery_event id="600644">

          <channel>6</channel>

          <discovering_ap id="3650">

            <name>Cisco-1130-1</name>

            <radio_index>1</radio_index>

          </discovering_ap>

          <discovery_time>2006-10-04T07:08:03-07:00</discovery_time>

          <mode>ap</mode>

          <rssi>-88</rssi>

          <security>WEP</security>

          <signal>-88</signal>

          <snr>-2</snr>

          <ssid>blec</ssid>

          <type>Wireless AP scan</type>

        </discovery_event>

        <discovery_event id="560515">

          <channel>6</channel>

          <discovering_ap id="3647">

            <name>ap:1b:a6:90</name>

            <radio_index>1</radio_index>

          </discovering_ap>

          <discovery_time>2006-10-03T21:56:31-07:00</discovery_time>

          <mode>ap</mode>

          <rssi>-89</rssi>

          <security>WEP</security>

          <signal>-89</signal>

          <snr>6</snr>

          <ssid>blec</ssid>

          <type>Wireless AP scan</type>

        </discovery_event>

        <first_discovered>2006-09-29T21:34:48-07:00</first_discovered>

        <ignored>false</ignored>

        <last_discovered>2006-10-04T07:08:03-07:00</last_discovered>

        <mode>ap</mode>

        <name>Cisco-Link-FC:B4:84</name>

        <radio_mac>00:13:10:FC:B4:84</radio_mac>

        <radio_vendor>Cisco-Linksys</radio_vendor>

        <score>5</score>

        <security>WEP</security>

        <ssid>blec</ssid>

      </rogue_ap>

    </amp:amp_rogue_detail>

Client Detail

  • URL: https://example.host.com/client_detail.xml
  • XML Schema: amp_client_detail.xsd
  • Parameters: Must supply one or more Client MAC Addresses.
  • Optional Tags: limit - as explained above
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_client_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_client_detail.xsd">

      <client mac="00:0E:35:52:8C:AB">

        <ap id="3645">LWAPP-1250-1</ap>

        <assoc_stat>true</assoc_stat>

        <association id="1962">

          <ap id="79">ORiNOCO-AP-700-55-e6-e1</ap>

          <bytes_used>135357</bytes_used>

          <connect_time>2006-10-04T11:22:43-07:00</connect_time>

          <disconnect_time>2006-10-04T11:27:30-07:00</disconnect_time>

          <lan_elements>

            <lan hostname="bob.acmeville.org" ip_address="192.1.50.102" />

            <lan hostname="cats.awesome.com" ip_address="26:1F89:1820:A:98:7A:75AD:53B" />

          </lan_elements>

          <rssi>36</rssi>

        </association>

        <association id="1961">

          <ap id="79">ORiNOCO-AP-700-55-e6-e1</ap>

          <bytes_used>512</bytes_used>

          <connect_time>2006-10-04T11:19:12-07:00</connect_time>

          <disconnect_time>2006-10-04T11:20:13-07:00</disconnect_time>

          <vpn_elements>

            <vpn hostname="bob.acmeville.org" ip_address="192.1.1.1" />

          </vpn_elements>

          <rssi>38</rssi>

        </association>

        <auth_stat>false</auth_stat>

        <connect_time>2006-10-04T11:48:19-07:00</connect_time>

        <lan_elements>

          <lan hostname="cats.awesome.com" ip_address="26:1F89:1820:A:98:7A:75AD:53B" />

        </lan_elements>

        <rssi>0</rssi>

        <signal>-42</signal>

        <snr>0</snr>

        <vendor>Intel</vendor>

      </client>

    </amp:amp_client_detail>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_client_detail version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_client_detail.xsd">

      <client mac="00:0E:35:52:8C:AB">

        <ap id="3645">LWAPP-1250-1</ap>

        <assoc_stat>true</assoc_stat>

        <association id="1962">

          <ap id="79">ORiNOCO-AP-700-55-e6-e1</ap>

          <bytes_used>135357</bytes_used>

          <connect_time>2006-10-04T11:22:43-07:00</connect_time>

          <disconnect_time>2006-10-04T11:27:30-07:00</disconnect_time>

          <lan_elements>

            <lan hostname="bob.acmeville.org" ip_address="192.1.50.102" />

            <lan hostname="cats.awesome.com" ip_address="26:1F89:1820:A:98:7A:75AD:53B" />

          </lan_elements>

          <rssi>36</rssi>

        </association>

        <association id="1961">

          <ap id="79">ORiNOCO-AP-700-55-e6-e1</ap>

          <bytes_used>512</bytes_used>

          <connect_time>2006-10-04T11:19:12-07:00</connect_time>

          <disconnect_time>2006-10-04T11:20:13-07:00</disconnect_time>

          <vpn_elements>

            <vpn hostname="bob.acmeville.org" ip_address="192.1.1.1" />

          </vpn_elements>

          <rssi>38</rssi>

        </association>

        <auth_stat>false</auth_stat>

        <connect_time>2006-10-04T11:48:19-07:00</connect_time>

        <lan_elements>

          <lan hostname="cats.awesome.com" ip_address="26:1F89:1820:A:98:7A:75AD:53B" />

        </lan_elements>

        <rssi>0</rssi>

        <signal>-42</signal>

        <snr>0</snr>

        <vendor>Intel</vendor>

      </client>

    </amp:amp_client_detail>

User Info

  • URL: https://example.host.com/user_info.xml
  • XML Schema: amp_user_info.xsd
  • Parameters: None.
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_user_info version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_user_info.xsd">

      <user id="3">

        <access_level>admin</access_level>

        <rapids>true</rapids>

        <username>admin</username>

      </user>

    </amp:amp_user_info>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_user_info version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_user_info.xsd">

      <user id="3">

        <access_level>admin</access_level>

        <rapids>true</rapids>

        <username>admin</username>

      </user>

    </amp:amp_user_info>

Topology List

getTopology output times might vary by folder depending on number of nodes available in the selected folder, and a high number of devices can impact Topology load times. HPE Aruba Networking recommends selecting the desired folders you wish to view before loading Topology.

For more than 2,500 devices, the Topology loading time takes approximately six minutes. Wait for two to three minutes for AirWave to get the getTopology output and calculate the number of edges. When prompted, click Proceed so that the Topology page can continue to load which would take three more minutes to complete.

  • URL: https://example.host.com/topology/getTopology?folderId=<FolderID>
  • Parameters:
    • Limit information returned to a folder by supplying a folder ID.

    For example, to limit your view to the devices in a folder that has an ID number 5, enter the following URL into a browser:

    https://example.com/topology/getTopology?folderId=5.

    • Optionally, do not supply a folder ID to load API for all folders.

    For example, enter:

    https://example.host.com/topology/getTopology?folderId=

  • Example Output for Folder:

    { "nodes": [{"apID":31,"name":"b4:5d:50:","role":"AP","model":"Aruba AP 325","ip":"192.0.2.0/24","mac":"B4:5D:50:","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},{"apID":230,"name":"SLR01-OUT-b4:5d:50:","role":"AP","model":"Aruba AP 275","ip":"192.0.2.0/24","mac":"B4:5D:50:","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},{"apID":816,"name":"SLR01-ENG02-AP515-2020","role":"AP","model":"Aruba AP 515","ip":"192.0.2.0/24","mac":"80:8D:B7:","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"poor","reason":[{"attribute":"alert","value":1},{"attribute":"up","value":0}]}},{"apID":240,"name":"SLR01-OUT-b4:5d:50:","role":"AP","model":"Aruba AP 275","ip":"192.0.2.0/24","mac":"B4:5D:50:SS:SS:SS","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},{"apID":499,"name":"SLR01-ENG02-AP345-2309","role":"AP","model":"Aruba AP 345","ip":"192.0.2.0/24","mac":"C8:B5:AD:SS:SS:SS","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},{"apID":891,"name":"SLR01HPEAP6006","role":"AP","model":"Aruba AP 325","ip":"192.0.2.0/24","mac":"B0:B8:67:SS:SS:SS","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},{"apID":178,"name":"SLR01HPEAP5031","role":"AP","model":"Aruba AP 325","ip":"192.0.2.0/24","mac":"84:D4:7E:SS:SS:SS","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"poor","reason":[{"attribute":"alert","value":1},{"attribute":"up","value":0}]}},{"apID":456,"name":"SLR01-ENG02-AP345-2321","role":"AP","model":"Aruba AP 345","ip":"192.0.2.0/24","mac":"C8:B5:AD:SS:SS:SS","folder":{"id":5,"name":"Top/Aruba HPE/SLR01"},"HealthInfo":{"health":"good","reason":[]}},

Configuration APIs

Modify or Add Template Variables

  • URL: https://example.host.com/template_variable_api
  • Parameters: None. The modify or add template variable API will accept either requests with a Content-Type of application/x-www-form-urlencoded or text/xml. Requests with Content-Type application/x-www-form-urlencoded must submit the url encoded XML data in a parameter named 'xml'.
  • Supported Template Variable List: Table 1

    Table 1: Template Variable

    Variable Names

    management_mode => 1: Monitor Only, 0: Manage/Write

    vc_vlan_num => Instant VC vlan number

    custom_variable_5

    clock_timezone => -12 - +12: Time zone,

    prefer_conductor => 1: True, 0: Fasle

    custom_variable_6

    has_vc_vlan => 1: Has VC VLAN, 0: No VC Vlan

    zone_name => Instant AP zone name

    custom_variable_7

    hostname => Change AP hostname

    use_dhcp => 1: DHCP, 0: Static IP

    custom_variable_8

    ip_address => Desired AP Lan or VC IP Address

    subnet_mask => Network Mask

    custom_variable_9

    pppoe_chapsecret => pppoe chapsecret

    gateway => Gateway

    ap_include_1

    pppoe_password => pppoe password

    dns => DNS Server IP

    ap_include_2

    pppoe_servicename => pppoe servicename

    uplink_vlan => Uplink VLAN number

    ap_include_3

    pppoe_username => pppoe username

    ethernet_port_mode => IAP Enet0 Uplink Mode: 0: Uplink, 1: Downlink

    ap_include_4

    radius_server_ip => VC radius server IP list (comma seperated)

    instant_networking_mode => 1: Cluster 0: Standalone

    ap_include_5

    rf_band => 'swarm_rf_band',

    custom_variable_1

    ap_include_6

    syslog_server => syslog server

    custom_variable_2

    ap_include_7

    vc_vlan_gateway => Instant VC vlan gateway

    custom_variable_3

    ap_include_8

    vc_vlan_netmask => Instant VC vlan netmask

    custom_variable_4

    ap_include_9

  • Example POST:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp_template_variable_update version="1" xmlns:template_variable_api="http://www.airwave.com">

      <ap id="4370">

        <custom_variable_9>Malayo-javanese-Hydrocotyle</custom_variable_9>

        <swarm_radius_servers>10.250.244.121,10.14.112.234</swarm_radius_servers>

        <prefer_conductor>1</prefer_conductor>

        <custom_variable_1>Goerke-bristling</custom_variable_1>

        <pppoe_username>patrol-mutuel</pppoe_username>

        <instant_networking_mode>1</instant_networking_mode>

        <zone_name>Beta Sales, Inc</zone_name>

      </ap>

      <ap id="4371">

        <custom_variable_9>Malayo-javanese-Hydrocotyle</custom_variable_9>

        <swarm_radius_servers>10.250.244.121,10.14.112.234</swarm_radius_servers>

        <prefer_conductor>1</prefer_conductor>

        <custom_variable_1>Goerke-bristling</custom_variable_1>

        <pppoe_username>patrol-mutuel</pppoe_username>

        <instant_networking_mode>1</instant_networking_mode>

        <zone_name>Beta Sales, Inc</zone_name>

      </ap>

     

    </amp_template_variable_update>

Example Output:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<template_variable_api:results version="1" xmlns:template_variable_api="http://www.airwave.com">

  <result ap_id="134" ap_name="test_ap" index="1" lan_mac="34:a2:34:2e:45:87">

    <update monitor_only="0" name="vilipenditory-gregaritic" needs_config_push="1" swarm_mode="1"/>

    <info>config is pushed to device since it is in manage mode</info>

    <warning>variable:'custom_variable_9' is not supported by this device.</warning>

    <warning>variable:'radius_server_ip' is not supported by this device.</warning>

    <warning>variable:'custom_variable_1' is not supported by this device.</warning>

    <warning>variable:'pppoe_username' is not supported by this device.</warning>

</result>

</template_variable_api:results>

Example Failure Output:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<template_variable_api:results version="1" xmlns:template_variable_api="http://www.airwave.com">

  <result ap_id="134" ap_name="test_ap" index="1" lan_mac="34:a2:34:2e:45:87">

    <error>missing ap id</error>

    <error>cannot find device by given id</error>

    <error>not well-formed (invalid token) at line 1, column 0</error>

    <error>device does not support management</error>

    <error>cannot modify igc managed device</error>

    <error>no changes found</error>

    <error>Management Mode: must be an integer.</error>

    <error>Management Mode: must be numeric.</error>

    <error>Use DHCP: must be an integer.</error>

    <error>Invalid LAN IP Address.</error>

    <error>Invalid Subnet Mask.</error>

    <error>Invalid Gateway.</error>

    <error>Invalid DNS IP Address.</error>

    <error>Uplink VLAN: must be an integer.</error>

    <error>Uplink VLAN: must be numeric.</error>

    <error>Ethernet port mode: must be an integer.</error>

    <error>Instant Networking Mode: must be an integer.</error>

    <error>config is not updated to the device</error>

    <warning>variable:'prefer_conductor' is not supported by this device.</warning>

    <warning>variable:'pppoe_password' is not supported by this device.</warning>

    <warning>variable:'zone_name' is not supported by this device.</warning>

    <warning>variable:'syslog_server' is not supported by this device.</warning>

    <warning>variable:'vc_vlan_gateway' is not supported by this device.</warning>

    <warning>variable:'vc_vlan_netmask' is not supported by this device.</warning>

    <warning>variable:'pppoe_servicename' is not supported by this device.</warning>

    <warning>variable:'has_vc_vlan' is not supported by this device.</warning>

    <warning>variable:'clock_timezone' is not supported by this device.</warning>

    <warning>variable:'rf_band' is not supported by this device.</warning>

    <warning>variable:'radius_server_ip' is not supported by this device.</warning>

    <warning>variable:'pppoe_username' is not supported by this device.</warning>

    <warning>variable:'pppoe_chapsecret' is not supported by this device.</warning>

    <warning>variable:'vc_vlan_num' is not supported by this device.</warning>

    <warning>variable:'Marshville_metal_grinding' is not supported by system.</warning>

  </result>

</template_variable_api:results>

Import AP Allowlist

  • URL: https://example.host.com/api/ap_allowlist_upload
  • Parameters:
    • csv - AP allowlist in csv format
    • append_allowlist - 0: Replace the whole list 1: Update list without removing
  • Log Messages: Changes made to APs will be logged in audit log. In case of allowlists, log could be found in System > Event Log
  • Example POST:
  • Name,LAN MAC Address,Serial Number,Virtual Controller Name,Group Name,Folder Name,custom_variable_1,custom_variable_9,Modify authorized device,Sync dynamic variables,dynamic_variable_rule_name

    IAP_Canada_1,ff:c7:c8:c4:21:ff,BD0086086,Canada-Office,Canada,Vancouver:Downtown,abc,456,0,0,foo

    IAP_US_1,F0:0B:86:CF:93:FF,BE0542245,US-Office,US,San Fancisco:CenterTown:HillTop,cde,789,1,1,bar

    Example Successful Output:

    Device (Name:IAP_Canada_1, LAN MAC:ff:c7:c8:c4:21:ff, Serial Number:BD0086086): created/updated successfully

    Device (Name:IAP_US_1, LAN MAC:F0:0B:86:CF:93:FF, Serial Number:BE0542245): created/updated successfully

    2 devices created or updated.

    Example Failure Output:

    CSV list is empty.

    Invalid headers in CSV file.

    Error parsing line 2 (Name:Customer_1, LAN MAC:U8:c7:c8:c4:21:ff, Serial Number:BD0086086): U8:c7:c8:c4:21:ff: Invalid LAN MAC Address.

    Error parsing line 3 (Name:Customer_2, LAN MAC:00:08:86:CF:93:5F, Serial Number:were): were: Invalid Serial Number.

    Error parsing line 5 (Name:Fake_test): Please provide serial number or LAN MAC address.

    Error parsing line 5 (LAN MAC:D8:C7:C8:CD:ED:1D): Please provide Name

    Name,LAN MAC Address,Serial Number,Virtual Controller Name,Group Name,Folder Name,custom_variable_1,custom_variable_9,Modify authorized device,Sync dynamic variables,dynamic_variable_rule_name

    IAP_Canada_1,ff:c7:c8:c4:21:ff,BD0086086,Canada-Office,Canada,Vancouver:Downtown,abc,456,0,0,foo

    IAP_US_1,F0:0B:86:CF:93:FF,BE0542245,US-Office,US,San Fancisco:CenterTown:HillTop,cde,789,1,1,bar

    Example Successful Output:

    Device (Name:IAP_Canada_1, LAN MAC:ff:c7:c8:c4:21:ff, Serial Number:BD0086086): created/updated successfully

    Device (Name:IAP_US_1, LAN MAC:F0:0B:86:CF:93:FF, Serial Number:BE0542245): created/updated successfully

    2 devices created or updated.

    Example Failure Output:

    CSV list is empty.

    Invalid headers in CSV file.

    Error parsing line 2 (Name:Customer_1, LAN MAC:U8:c7:c8:c4:21:ff, Serial Number:BD0086086): U8:c7:c8:c4:21:ff: Invalid LAN MAC Address.

    Error parsing line 3 (Name:Customer_2, LAN MAC:00:08:86:CF:93:5F, Serial Number:were): were: Invalid Serial Number.

    Error parsing line 5 (Name:Fake_test): Please provide serial number or LAN MAC address.

    Error parsing line 5 (LAN MAC:D8:C7:C8:CD:ED:1D): Please provide Name

Import AP Allowlist

  • URL: https://example.host.com/api/ap_allowlist_upload
  • Parameters:

    • csv - AP allowlist in csv format
    • append_allowlist - 0: Replace the whole list 1: Update list without removing
  • Log Messages: Changes made to APs will be logged in audit log. In case of allowlists, log could be found in System > Event Log
  • Example POST:
  • Name,LAN MAC Address,Serial Number,Virtual Controller Name,Group Name,Folder Name,custom_ variable_1,custom_variable_9,Modify authorized device,Sync dynamic variables,dynamic_variable_ rule_name

    IAP_Canada_1,ff:c7:c8:c4:21:ff,BD0086086,Canada-Office,Canada,Vancouver:Downtown,abc,456,0,0,foo

    IAP_US_1,F0:0B:86:CF:93:FF,BE0542245,US-Office,US,San Fancisco:CenterTown:HillTop,cde,789,1,1,bar

    Example Successful Output:

    Device (Name:IAP_Canada_1, LAN MAC:ff:c7:c8:c4:21:ff, Serial Number:BD0086086): created/updated successfully

    Device (Name:IAP_US_1, LAN MAC:F0:0B:86:CF:93:FF, Serial Number:BE0542245): created/updated successfully

    2 devices created or updated.

    Example Failure Output:

    CSV list is empty.

    Invalid headers in CSV file.

    Error parsing line 2 (Name:Customer_1, LAN MAC:U8:c7:c8:c4:21:ff, Serial Number:BD0086086): U8:c7:c8:c4:21:ff: Invalid LAN MAC Address.

    Error parsing line 3 (Name:Customer_2, LAN MAC:00:08:86:CF:93:5F, Serial Number:were): were: Invalid Serial Number.

    Error parsing line 5 (Name:Fake_test): Please provide serial number or LAN MAC address.

    Error parsing line 5 (LAN MAC:D8:C7:C8:CD:ED:1D): Please provide Name

Deleting a Device

Use the following HTTP method and API to delete a device with device ID in AirWave.

  • HTTP method: DELETE
  • API: /api/delete_device

Input Example:

{"device_id":1}

You can get the device ID using the API: /ap_list.xml.

Table 2: Input and Output Response Scenarios

Input

Output Response

Incorrect json format Invalid json format

Incorrect HTTP method

For Example: GET/ POST/PUT

Access denied
Valid device_id and the device ID are available in AMP Device is deleted successfully
Valid device_id, but the device ID does not exist in AMP Device does not exist
Invalid or empty device_id Please provide valid input

Moving a Device to a Folder

Use the following HTTP method and API to move a device with device ID from one folder to another folder with folder ID in AirWave.

  • HTTP method:PUT
  • API: /api/move_to_folder

Input Example:

{"device_id":1,

"folder_id":2}

You can get the folder ID using the API: /folder_list.xml.

Table 3: Input and Output Response Scenarios

Input

Output Response

Incorrect json format Invalid json format

Incorrect HTTP method

For Example: GET/ POST

Access denied
Valid device_id, folder_id, and both the device ID and folder ID are available in AMP Device is moved to a folder successfully
Valid device_id and folder_id, but either of them does not exist in AMP Device/folder does not exist
Valid device_id and folder_id, but the device is already present in the destined folder in AMP Device has already been moved

Invalid or empty device_id or folder_id

Please provide valid input

Moving a Device to a Group

Use the following HTTP method and API to move a device with device ID from one group to another group with group ID or group name in AirWave.

  • HTTP method:PUT
  • API: /api/move_to_group

Input Example:

{"device_id":10,

"group_name":Access Points,

"group_id":1}

Table 4: Input and Output Response Scenarios

Input

Output Response

Incorrect json format Invalid json format

Incorrect HTTP method

For Example: GET/ POST

Access denied
Valid device_id, group_id, or group_name, and both the device ID and group ID or group name are available in AMP Device is moved to a group successfully
Valid device_id, group_id, or group_name, but either of them is not available in AMP Device/group does not exist
Valid device_id, group_id, or group_name, but the device is already present in the destined group Device has already been moved

Invalid or empty device_id or group_id/group_name

Please provide valid input

group_id and group_name are from different groups

Cannot move device to two different groups at a time

Search APIs

AP Search

  • URL: https://example.host.com/ap_search.xml
  • Parameters: query - search string
  • Example Output: (most display values omitted for brevity):
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_ap_search version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_ap_search.xsd">

      <record id="3647">

        <ap_folder_name

          display_value="&lt;a href=&quot;/ap_list?ap_folder_id=1&quot; target=&quot;_blank&quot;&gt;Top&lt;/a&gt;"

          sort_value="top">Top</ap_folder_name>

        <ap_group_name display_value="[...]" sort_value="Access Points">Access Points</ap_group_name>

        <apparent_ip display_value="[...]" sort_value="010.051.001.028">10.51.1.28</apparent_ip>

        <bandwidth display_value="0" sort_value="0">0</bandwidth>

        <cached_type_string display_value="Cisco Aironet 1030 LWAPP"

          sort_value="Cisco Aironet 1030 LWAPP">Cisco Aironet 1030 LWAPP</cached_type_string>

        <client_count display_value="0" sort_value="0">0</client_count>

        <configuration_status display_value="[...]" sort_value="Mismatched">Mismatched</configuration_status>

        <device_config_ssid display_value="-" />

        <device_config_uptime display_value="5 days 21 hrs 1 min"

          sort_value="50768400">5 days 21 hrs 1 min</device_config_uptime>

        <display_channel_1 display_value="1" sort_value="1">1</display_channel_1>

        <display_channel_2 display_value="36" sort_value="36">36</display_channel_2>

        <firmware_status display_value="-" sort_value="-" />

        <lan_mac display_value="00:0B:85:1B:A6:90" sort_value="00:0B:85:1B:A6:90">00:0B:85:1B:A6:90</lan_mac>

        <monitoring_status display_value="[...]" sort_value="Up">Up</monitoring_status>

        <name display_value="[...]" sort_value="ap:1b:a6:90">ap:1b:a6:90</name>

        <radio_mac display_value="00:0B:85:1B:A6:90" sort_value="00:0B:85:1B:A6:90">00:0B:85:1B:A6:90</radio_mac>

        <radio_type_1 display_value="802.11bg" sort_value="bg">bg</radio_type_1>

        <radio_type_2 display_value="802.11a" sort_value="a">a</radio_type_2>

        <version display_value="4.0.179.8" sort_value="4.0.179.8">4.0.179.8</version>

      </record>

    </amp:amp_ap_search>

Client Search

  • URL: https://example.host.com/client_search.xml
  • Parameters: query - search string
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_client_search version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_client_search.xsd">

      <record id="310">

        <ap_id ascii_value="lwapp-1250-1" display_value="&lt;a href=&quot;/ap_monitoring?id=3645&quot;

            target=&quot;_blank&quot;&gt;LWAPP-1250-1&lt;/a&gt;"

          sort_value="lwapp-1250-1">3645</ap_id>

        <last_ap_id ascii_value="pentahedral" display_value="&lt;a href=&quot;/ap_monitoring?id=1436&quot;&gt;pentahedral&lt;/a&gt;" sort_value="pentahedral">1436</last_ap_id>

        <ap_radio_description ascii_value="802.11bg" display_value="802.11bg"

          sort_value="802.11bg">802.11bg</ap_radio_description>

        <from_snmp_trap ascii_value="Poll" display_value="Poll" sort_value="Poll">Poll</from_snmp_trap>

        <connect_time ascii_value="10/4/2006 11:48 AM" display_value="10/4/2006 11:48 AM"

          sort_value="1159987699.52914">10/4/2006 11:48 AM</connect_time>

        <duration ascii_value="2 mins" display_value="2 mins" sort_value="136.636464983225">2 mins</duration>

        <lan_ip ascii_value="0.0.0.0" display_value="0.0.0.0" sort_value="000.000.000.000">0.0.0.0</lan_ip>

        <mac ascii_value="00:0E:35:52:8C:AB" display_value="[...]" sort_value="00:0E:35:52:8C:AB">00:0E:35:52:8C:AB</mac>

        <radio_mode ascii_value="802.11b" display_value="802.11b" sort_value="b">b</radio_mode>

        <ssid ascii_value="Wireless Network" display_value="Wireless Network" sort_value="Wireless Network">Wireless Network</ssid>

        <username ascii_value="packplane" display_value="packplane" sort_value="packplane">packplane</username>

        <vlan ascii_value="0" display_value="0" sort_value="0">0</vlan>

        <device_type ascii_value="HTC" display_value="HTC" sort_value="HTC">HTC</device_type>

        <device_os ascii_value="Windows Mobile" display_value="Windows Mobile" sort_value="Windows Mobile">Windows Mobile</device_os>

        <device_os_detail ascii_value="Windows Mobile 5.0" display_value="Windows Mobile 5.0" sort_value="Windows Mobile 5.0">Windows Mobile 5.0</device_os_detail>

        <aruba_device_type ascii_value="AP125" display_value="AP125" sort_value="AP125">AP125</aruba_device_type>

        <forward_mode ascii_value="-" display_value="-" sort_value="-" />

        <ht_mode ascii_value="-" display_value="-" />

        <is_guest_user ascii_value="No" display_value="No" sort_value="No">No</is_guest_user>

        <lan_hostname ascii_value="-" display_value="-" sort_value=""></lan_hostname>

        <role ascii_value="-" display_value="-" />

        <vpn_hostname ascii_value="-" display_value="-" sort_value=""></vpn_hostname>

        <vpn_ip ascii_value="-" display_value="-" />

      </record>

    </amp:amp_client_search>

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_client_search version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com amp_client_search.xsd">

      <record id="310">

        <ap_id ascii_value="lwapp-1250-1" display_value="&lt;a href=&quot;/ap_monitoring?id=3645&quot;

            target=&quot;_blank&quot;&gt;LWAPP-1250-1&lt;/a&gt;"

          sort_value="lwapp-1250-1">3645</ap_id>

        <last_ap_id ascii_value="pentahedral" display_value="&lt;a href=&quot;/ap_monitoring?id=1436&quot;&gt;pentahedral&lt;/a&gt;" sort_value="pentahedral">1436</last_ap_id>

        <ap_radio_description ascii_value="802.11bg" display_value="802.11bg"

          sort_value="802.11bg">802.11bg</ap_radio_description>

        <from_snmp_trap ascii_value="Poll" display_value="Poll" sort_value="Poll">Poll</from_snmp_trap>

        <connect_time ascii_value="10/4/2006 11:48 AM" display_value="10/4/2006 11:48 AM"

          sort_value="1159987699.52914">10/4/2006 11:48 AM</connect_time>

        <duration ascii_value="2 mins" display_value="2 mins" sort_value="136.636464983225">2 mins</duration>

        <lan_ip ascii_value="0.0.0.0" display_value="0.0.0.0" sort_value="000.000.000.000">0.0.0.0</lan_ip>

        <mac ascii_value="00:0E:35:52:8C:AB" display_value="[...]" sort_value="00:0E:35:52:8C:AB">00:0E:35:52:8C:AB</mac>

        <radio_mode ascii_value="802.11b" display_value="802.11b" sort_value="b">b</radio_mode>

        <ssid ascii_value="Wireless Network" display_value="Wireless Network" sort_value="Wireless Network">Wireless Network</ssid>

        <username ascii_value="packplane" display_value="packplane" sort_value="packplane">packplane</username>

        <vlan ascii_value="0" display_value="0" sort_value="0">0</vlan>

        <device_type ascii_value="HTC" display_value="HTC" sort_value="HTC">HTC</device_type>

        <device_os ascii_value="Windows Mobile" display_value="Windows Mobile" sort_value="Windows Mobile">Windows Mobile</device_os>

        <device_os_detail ascii_value="Windows Mobile 5.0" display_value="Windows Mobile 5.0" sort_value="Windows Mobile 5.0">Windows Mobile 5.0</device_os_detail>

        <aruba_device_type ascii_value="AP125" display_value="AP125" sort_value="AP125">AP125</aruba_device_type>

        <forward_mode ascii_value="-" display_value="-" sort_value="-" />

        <ht_mode ascii_value="-" display_value="-" />

        <is_guest_user ascii_value="No" display_value="No" sort_value="No">No</is_guest_user>

        <lan_hostname ascii_value="-" display_value="-" sort_value=""></lan_hostname>

        <role ascii_value="-" display_value="-" />

        <vpn_hostname ascii_value="-" display_value="-" sort_value=""></vpn_hostname>

        <vpn_ip ascii_value="-" display_value="-" />

      </record>

    </amp:amp_client_search>

VPN User Search

  • URL: https://example.host.com/vpn_user_search.xml
  • Parameters: query - search string
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:amp_vpn_user_search version="1" xmlns:amp="http://www.airwave.com"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://www.airwave.com amp_vpn_user_search.xsd">

      <record id="310">

        <first_seen ascii_value="8/12/2011 9:50 PM" display_value="8/12/2011 9:50 PM" sort_value="1313166011">1313166011</first_seen>

        <last_seen ascii_value="8/12/2011 9:50 PM" display_value="8/12/2011 9:50 PM" sort_value="1313166011">1313166011</last_seen>

        <userid ascii_value="photocrayon" display_value="&lt;a href=&quot;/vpn_user_monitoring?userid=photocrayon&quot;&gt;photocrayon&lt;/a&gt" sort_value="photocrayon">photocrayon</username>

        <session_count ascii_value="1" display_value="1" sort_value="1">1</vlan>

      </record>

    </amp:amp_vpn_user_search>

Report APIs

Latest Report

  • URL: https://example.host.com/latest_report.xml
  • Parameters: report_definition_id - Get it from the URL of a Report Definition Edit Page, ex. https://example.host.com/reports_definition?definitions_edit=1&id=42
  • Example Output:
  • <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

    <amp:report version="1" xmlns:amp="http://www.airwave.com"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.airwave.com report.xsd"

         report_id="72" state="3">

      <pickled_remote_capacity

         ap_name="[...]"

         capacity_combined="0.06"

         capacity_in="0.03"

         capacity_out="0.16"

         description="[...]"

         end_epoch="1198891800"

         interface_id="53"

         managed_amp_id="16"

         raw_in="9921"

         raw_out="16506"

         report_id="72"

         start_epoch="1198890000"/>

    </amp:report>

API to Install SSL Certificate

AirWave allow you to add or install SSL certificate using the https://<amp_ip>/api/add_ssl_certificate API.

Input

This API takes two parameters as input namely the certificate and its password.

The input data to this API must be in json format.

Sample Input Format

{

cert_data => <encoded base64 format of pfx file>, passphrase => <.pfx/.p12_file_password>

}

Certificate provided in cert_data must be in encoded base64 format.

Command to convert .pfx or .p12 to convert to encoded base64 format is

cert=$( base64 <.pfx/.p12 file name with extension> );echo $cert > <filename_to_store>.



Perform the copy and paste of the encoded content to cert_data after successful execution of this command.

Response

The response is shown in json format.

Success Response

{

"status": PKCS12 bundle extraction successful. Web UI will be restarted and access to it will be interrupted for a few minutes.

}

Failure Response:

{

"status": PKCS bundle extraction failed.

}

After receiving a successful response, the certificate is installed. The web UI access gets interrupted for a few minutes due to the restart of HTTP process.