January 24th 2019 Updates

Network Programmability

Organization & Site Level Webhooks (API)

Webhooks are an intuitive method of collecting data by having real-time events push their information onto a provided URL.  Triggering webhook events will automatically send and store relevant details for data analysis. This week we are introducing webhooks to be configured aswebhook topics for both the site and org level using our APIs.

The webhooks are essentially going to be used as our pub-sub model for events and alerts. Previously, we supported webhooks at a site level for location  data for wi-fi & BLE clients. With the new enhancements this week, we have now extended the webhooks for the entire Organization, in addition to the site level, and also added the Device Events ( Device being the Access Point) to monitor status changes, and Audit logs for the Org as well.

 

The device-events topic provides information of AP up/down, configuration, or restart events.

The audit topic relays information found from your Audit Logs (Organization > Audit Logs) in real-time through a webhook to help admins easily keep track of configurations on their org.

 

Webhooks available for Site vs for Org

All webhooks are available for configuration at a site level.  Currently the UI only displays Location related webhook topics, but through the API you may also configure audit and device-events webhooks at a site level.  Org level webhooks are limited to just the audit and device-events and can only be configured using APIs for now.

 

Example Webhook setups

Reference our API documentation on site webhooks (https://api.mist.com/api/v1/docs/Site#webhooks) to see the correct configuration format.  The same schema is used for both site webhooks and org webhooks (https://api.mist.com/api/v1/docs/Org#org-webhooks)

 

Organization webhook for audits:

{
        "name": "Webhook_audits",
        "url": "http://requestbin.fullcontact.com/1gjj1xf1",
        "topics": [
            "audits"
        ],
        "enabled": true,
        "org_id": "<ORG_ID>",
        "secret": ""
    },

 

Examples of sample output for some audit events will be as follows:

{
  "topic": "audits",
  "events": [
    {
      "admin_name": "Jonathan jonathan@mistsys.com jonathan@mistsys.com",
      "id": "e90612bd-d3f4-456c-90c4-759907631ecc",
      "message": "Delete WLAN \"0131_jon\"",
      "org_id": "<ORG_ID>",
      "site_id": "<SITE_ID>",
      "src_ip": "71.93.124.103",
      "timestamp": 1549049281.790302,
      "wlan_id": "None"
    }
  ]
}
{
  "topic": "audits",
  "events": [
    {
      "admin_name": "Jonathan jonathan@mistsys.com jonathan@mistsys.com",
      "id": "e766d0c1-72a9-4f36-bac8-87ae0dff2958",
      "message": "Update Site \"Old Site\"",
      "org_id": "<ORG_ID>",
      "site_id": "<SITE_ID>",
      "src_ip": "71.93.124.103",
      "timestamp": 1549049725.732884
    }
  ]
}
{
  "topic": "audits",
  "events": [
    {
      "admin_name": "Jonathan jonathan@mistsys.com jonathan@mistsys.com",
      "id": "761ee0c5-0a84-4a34-a19d-deadbc958f85",
      "message": "Update Privilege for \"John Doe John@testing.com\"",
      "org_id": "<ORG_ID>",
      "site_id": null,
      "src_ip": "71.93.124.103",
      "timestamp": 1549049788.642661
    }
  ]
}

 

Organization webhook for audits AND device-events.  You may have multiple topics in a single webhook.  All webhook data would be sent to the same URL provided.  To separate your topics in different URLs, create a unique webhook for each topic.

{
        "name": "Webhook_audits_events",
        "url": "http://requestbin.fullcontact.com/1awe1xf1",
        "topics": [
            "audits",
    “device-events”
        ],
        "enabled": true,
        "org_id": "<ORG_ID>",
        "secret": ""
    },

 

Site webhook for device-events:

{
    "name": "Webhook_Events",
    "url": "http://requestbin.fullcontact.com/1gdsj1xf1",
    "site_id": "<SITE_ID>",
    "topics": [
        "device-events"
    ],
    "enabled": true,
    "org_id": "<ORG_ID>",
    "for_site": true,
    "secret": ""
}

 

Some examples of device events include:

"AP_ASSIGNED"                                                                                                                                                                 
"AP_CLAIMED"
"AP_CONFIG_CHANGED_BY_RRM"
"AP_CONFIG_CHANGED_BY_USER"
"AP_CONFIGURED"
"AP_CONNECTED"
"AP_DISCONNECTED"
"AP_RESTART_BY_USER"
"AP_RESTARTED"
"AP_UNASSIGNED"
"AP_UNCLAIMED"
"AP_UPGRADE_BY_SCHEDULE"
"AP_UPGRADE_BY_USER"
"AP_UPGRADED"
"AP_UPGRADE_FAILED"

 

Examples of sample output for some device events will be as follows:

{
  "topic": "device-events",
  "events": [
    {
      "ap": "<AP_MAC>",
      "org_id": "<ORG_ID>",
      "site_id": ""<SITE_ID>",
      "timestamp": 1548096105,
      "type": "AP_CONFIG_CHANGED_BY_USER"
    },
    {
      "ap": "<AP_MAC>",
      "org_id": "<ORG_ID>",
      "site_id": ""<SITE_ID>",
      "timestamp": 1548096106,
      "type": "AP_CONFIGURED"
    }
  ]
}
{
  "topic": "device-events",
  "events": [
    {
      "ap": "<AP_MAC>",
      "org_id": "<ORG_ID>",
      "site_id": ""<SITE_ID>",
      "timestamp": 1548095894,
      "type": "AP_DISCONNECTED"
    }
  ]
}
{
  "topic": "device-events",
  "events": [
    {
      "ap": "<AP_MAC>",
      "org_id": "<ORG_ID>",
      "site_id": ""<SITE_ID>",
      "timestamp": 1548095795,
      "type": "AP_RESTARTED"
    },
    {
      "ap": "<AP_MAC>",
      "org_id": "<ORG_ID>",
      "site_id": "<SITE_ID>",
      "timestamp": 1548095795,
      "type": "AP_CONFIGURED"
    }
  ]
}

 

Simplified Operations

Firmware Update page

Our firmware update release notes are now in a new location.  This page is only accessible for Mist users, and is not linked from our main documentation page.  On your dashboard, locate the ? button on the top right corner and select Firmware Updates to view all of our firmware release notes on a single page.

 

AP Photos in Live View

Recently we announced the ability to view photos of your AP taken through the Mist AI app.  This week, we are including these photos in the Location Live View map as well. If your AP has photos associated to it, they will appear in the map view of your site.  To see your live view map, navigate to Location > Live View.  Select your AP from the sidebar or directly from the map to view photos in the AP details section on the right.

To learn more about the Mist AI app, please refer to this page in our documentation: https://www.mist.com/documentation/mist-ai-mobile-app/