Analytics

GET: Summary of Count of SMA

Description

Retrieve the summary of Social Media Analytics (SMA) count with the details of the Summary types: POSITIVES, NEGATIVES, PHOTOS, NEUTRAL, TOTAL, REPOSTS.

HTTP Method

GET

Resource URI

/api/analytics/v1/sma/summarycounts

Requires Basic Auth

N

Parameters

Table 1. Parameter Details

Name

Required

Default

Type

Location

Description

location

Y

—

String

query

Location IDs for Social Media Analytics. Allowed values or formats include the location IDs of buildings or campuses.

dailyHours

Y

—

String

query

Hours of a day, specified as a predefined name. Allowed values/formats:

  • morning hours

  • business hours

  • evening hours

  • all day

period

Y

—

String

query

The period of interest specified as one of the predefined names: Allowed values or formats:

  • today

  • yesterday

  • this week

  • last week

  • last 2 weeks

  • last month

  • this month

  • last 3 months

  • this year

  • last year

Content Type

application or json

API History

Table 2. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

GET: Details of SMA Count with Summary Type

Description

Retrieve the detailed summary count of SMA with the details of the Summary types: POSITIVES, NEGATIVES, PHOTOS, NEUTRAL, TOTAL, REPOSTS.

HTTP Method

GET

Resource URI

/api/analytics/v1/sma/detailsummarycounts

Requires Basic Auth

N

Parameters

Table 3. Parameter Details

Name

Required

Default

Type

Location

Description

location

Y

—

String

query

Location IDs for Social Media Analytics. Allowed values or formats: Location IDs of buildings or campuses.

dailyHours

Y

—

String

query

Hours of a day, specified by predefined names. Allowed values or formats:

  • morning hours
  • business hours

  • evening hours

  • all day

period

Y

—

String

query

The period of interest, specified one of the predefined names. Allowed values or formats:

  • today
  • yesterday

  • this week

  • last week

  • last 2 weeks

  • last month

  • this month

  • last 3 months

  • this year

  • last year

summaryType

Y

—

String

query

The summary type of interest, specified one of the predefined names. Allowed values or formats:

  • positives
  • negatives

  • reposts

  • photos

  • neutral

  • total

Content Type

application/json

API History

Table 4. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

GET: All Summary Count of SMA with Hashtags

Description

Retrieve the entire summary counts of SMA with detailed Summary type: POSITIVES, NEGATIVES, PHOTOS, NEUTRAL, TOTAL, REPOSTS.

HTTP Method

GET

Resource URI

/api/analytics/v1/sma/hashtags

Requires Basic Auth

N

Parameters

Table 5. Parameter Details

Name

Required

Default

Type

Location

Description

location

Y

—

String

query

Location IDs for Social Media Analytics. Allowed values or formats: Location IDs of buildings or campuses.

period

Y

—

String

query

The period of interest, specified one of the predefined names. Allowed values or formats:

  • today
  • yesterday

  • this week

  • last week

  • last 2 weeks

  • last month

  • this month

  • last 3 months

  • this year

  • last year

Content Type

application/json

API History

Table 6. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

POST: Breakdown of Dwell Times Spent by Devices for a Given Period and Areas

Description

The only parameter (body) is a JSON array containing the parameters. The parameters are described below:

Table 7. Parameter Details

JSON Array Parameter

Description

Allowable Values/Formats

granularity

The desired granularity.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • tag
  • tag-name
  • heterarchy level. One can limit to top "n" results (that is, the "n" values with highest count) by adding "[n]", or the "n" bottom results by adding "[n]"

period

The period of interest, specified as either a date range, or one of the predefined names.
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

timeRange

The time window of interest on each day.
  • HH:mm-HH:mm

aggregate

Aggregate the dwell time by granularity, for example, showing the total dwell time for each day of the week, instead of individual dates.
  • none
  • sum
  • avg

areas

The list of areas of interest. If none are provided, all are considered. A comma-separated list of area IDs, or hierarchy levels.

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices (default=false).
  • true

  • false

connectionState

Whether to restrict connection to either connected or detected devices (default=all).
  • connected

  • detected

  • all

percentageOf

If set this parameter, does not report absolute numbers, only relative percentage. Heterarchy level

dwellLimits

The dwell time limit that specifies how dwellers should be grouped together. Pass -1 to catch all. Example: Light: 100, Medium: 200, Heavy:-1.
  • default
  • minute
  • comma separated limit label:limit value

areaFilter

If set this parameter, restricts the results to areas matching the filter. Use descendantOf to restrict the area selection. This option is used for drill-down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids

expandAll

Include all the elements descendants in the result.
  • true

  • false

HTTP Method

POST

Resource URI

/api/analytics/v1/dwellBreakdown

Requires Basic Auth

N

Parameters

Table 8. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

Sample Input (JSON)

{
	"period": "today",
	"timeRange": "00:00-23:59",
	"granularity": "hourly",
	"areas": "52,75"
}

Sample Output (JSON)

{
  "startTime": "00:00",
  "startDate": "2017-03-16",
  "results": [
    {
      "id": 53,
      "ancestry": [
        {
          "level": "Building",
          "name": "REQ"
        },
        {
          "level": "Campus",
          "name": "Richfield"
        }
      ],
      "series": [
        "datetime",
        "dwell"
      ],
      "hasChildren": false,
      "area": "2nd Floor",
      "data": []
    },
    {
      "id": 75,
      "ancestry": [
        {
          "level": "Floor",
          "name": "Site 4"
        },
        {
          "level": "Building",
          "name": "Site 4"
        },
        {
          "level": "Campus",
          "name": "San Jose Outdoor"
        }
      ],
      "series": [
        "datetime",
        "dwell"
      ],
      "hasChildren": false,
      "area": "f4:0f:1b:1a:82:90",
      "data": []
    }
  ],
  "interval": "hourly",
  "executionTime": 0,
  "insights": {
    "summary": {}
  },
  "endDate": "2017-03-16",
  "maxValues": {},
  "endTime": "23:59",
  "dataFreshness": "2017-03-16T02:53:58.054-07:00",
  "minValues": {}
}

POST: Paths for a Given Period and Areas

Description

The only parameter (body) is a JSON array containing the parameters. The parameters are described below:

Table 9. Parameter Details

JSON parameter

Description

Allowable values/formats

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd

  • yyyy-mm-dd;yyyy-mm-dd

  • today

  • yesterday

  • this week

  • last week

  • last 2 weeks

  • this month

  • last month

  • last 3 months

  • this year

  • last year

  • forever

timeRange

The time window of interest on each day.
  • HH:mm-HH:mm

targetArea

The ID of the target area for the paths. The ID of the target area for the paths.

allAreas

The list of areas of interest. A comma-separated list of area IDs
<areaId-1>,<areaId-2>,<areaId-3>

granularity

The desired geographical granularity. This will replace the areas listed in 'allAreas' with their progeny on the appropriate level. Heterarchy level

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

HTTP Method

POST

Resource URI

/api/analytics/v1/path

Requires Basic Auth

N

Parameters

Table 10. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

Sample Input (JSON)

 {
                "period": "today",
                "timeRange": "00:00-23:59",
                "granularity": "Building",
                "allAreas": "52,75,80"
}
 

Sample Output (JSON)

/* Path Output */
{
    "startTime": "00:00",
    "startDate": "2017-03-07",
    "results": [
        {
            "id": 75,
            "total": 0,
            "medianTransitionTime": 0,
            "ancestry": [
                {
                    "level": "Campus",
                    "name": "TagTest_Campus_1"
                }
            ],
            "area": "TagTest_Building_1",
            "direction": -1,
            "value": 0,
            "averageTransitionTime": 0
        },
        {
            "id": 80,
            "total": 0,
            "medianTransitionTime": 0,
            "ancestry": [
                {
                    "level": "Campus",
                    "name": "TagTest_Campus_1"
                }
            ],
            "area": "TagTest_Building_2",
            "direction": -1,
            "value": 0,
            "averageTransitionTime": 0
        },
        {
            "id": 75,
            "total": 0,
            "medianTransitionTime": 0,
            "ancestry": [
                {
                    "level": "Campus",
                    "name": "TagTest_Campus_1"
                }
            ],
            "area": "TagTest_Building_1",
            "direction": 1,
            "value": 0,
            "averageTransitionTime": 0
        },
        {
            "id": 80,
            "total": 0,
            "medianTransitionTime": 0,
            "ancestry": [
                {
                    "level": "Campus",
                    "name": "TagTest_Campus_1"
                }
            ],
            "area": "TagTest_Building_2",
            "direction": 1,
            "value": 0,
            "averageTransitionTime": 0
        }
    ],
    "executionTime": 88,
    "requestTruncated": false,
    "target": {
        "ancestry": [
            {
                "level": "Campus",
                "name": "campus"
            }
        ],
        "total": 0,
        "id": 52,
        "area": "Building_0",
        "pathsEnded": 0,
        "totalVisits": 0,
        "pathsStarted": 0,
        "avgDwellPerDevice": 0,
        "avgDwellPerVisit": 0,
        "totalDevices": 0
    },
    "insights": {},
    "endDate": "2017-03-07",
    "endTime": "23:59",
    "dataFreshness": {
        "dayOfYear": 66,
        "dayOfMonth": 7,
        "dayOfWeek": 2,
        "era": 1,
        "year": 2017,
        "minuteOfDay": 1277,
        "hourOfDay": 21,
        "weekyear": 2017,
        "monthOfYear": 3,
        "yearOfEra": 2017,
        "yearOfCentury": 17,
        "centuryOfEra": 20,
        "millisOfSecond": 782,
        "millisOfDay": 76673782,
        "secondOfMinute": 53,
        "secondOfDay": 76673,
        "minuteOfHour": 17,
        "weekOfWeekyear": 10,
        "millis": 1488921473782,
        "zone": {
            "fixed": true,
            "id": "Etc/UTC"
        },
        "chronology": {
            "zone": {
                "fixed": true,
                "id": "Etc/UTC"
            }
        },
        "afterNow": false,
        "beforeNow": false,
        "equalNow": true
    }
}

POST: Retrieve a Breakdown of Manufacturers for a Given Period and Areas

Description

The only parameter (body) is a JSON array containing the parameters. The parameters are described below

Table 11. Parameter Details

JSON array parameter

Description

Allowable values/formats

granularity

The desired granularity. One can limit to top n results (i.e. the n values with highest count) by adding "[n]", or the n bottom results by adding "[-n"]. If granularity null is specified, all heterarchy types covered by the areas are returned.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • tag
  • tag-name
  • heterarchy level
  • null

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

yAxis

Whether individual visits should be reported on, or summed by device (default is to return devices)
  • absoluteDevices
  • absoluteVisits

timeRange

The time window of interest on each day.
  • HH:mm-HH:mm

aggregate

Whether to aggregate the dwell time by granularity; e.g. showing a total for each day of the week, instead of individual dates
  • none
  • sum
  • avg

areas

The list of areas of interest. If none are given, all are considered A comma-separated list of area ids, or heterarchy levels

durationCategories

Whether to break down the dwell time between certain ranges of dwell time Time in the form nn-mm where nn is the lower bound (in minutes) and mm the upper bound. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices (default=false)
  • none
  • sum
  • avg

connectionState

Whether to restrict to either connected or detected devices (default=all)
  • connected
  • detected
  • all

percentageOf

If set, does not report absolute numbers, but relative percentage heterarchy level

areaFilter

If set, restricts the results to areas matching the filter. Use 'descendantOf' to restrict the area selection. This option is used for drill down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1.

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids

expandAll

Include all of the elements descendants in the result
  • true
  • false

HTTP Method

POST

Resource URI

/api/analytics/v1/manufacturers

Requires OAuth

N

Parameters

Table 12. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

API History

Table 13. Command history

Release

Modification

Cisco CMX Release 10.4

This command is removed.

GET: All summary KPI

Description

This API retrieves summary of all KPI.

HTTP Method

GET

Resource URI

/api/analytics/v1/summary

Requires Basic Auth

N

Parameters

None.

Sample Output (JSON)

{
    "Top Building dwell": {
        "title": "Top Building dwell",
        "value": {
            "primary": "Nortech-1 (5572.52 min)",
            "secondary": [
                "SJC23 (0.00 min)",
                "SJC24 (0.00 min)",
                "Shell- CBuilding (0.00 min)"
            ],
            "supplementary": "SJC23 (0.00 min)<br/>SJC24 (0.00 min)<br/>Shell- CBuilding (0.00 min)<br/>"
        }
    },
    "Notifications Received": {
        "title": "Notifications Received Rate (5 min avg)",
        "value": {
            "primary": "2.04 notifications/s",
            "secondary": [
                "1 min avg: 2.07",
                "15 min avg: 1.84",
                "Avg since boot: 4.23",
                "Total number of events: 3774166"
            ],
            "supplementary": "1 min avg: 2.07</br>15 min avg: 1.84</br>Avg since boot: 4.23</br>Total number of events: 3774166"
        }
    },
    "RSSI experience": {
        "title": "RSSI experience",
        "value": {
            "primary": "No devices detected",
            "secondary": [
                "No devices detected"
            ],
            "supplementary": "No devices detected"
        }
    },
    "Uptime": {
        "title": "Uptime",
        "value": {
            "primary": "10 days, 07:35",
            "secondary": [
                "Processors: 20",
                "Max mem: 4528 MiB",
                "Memory:  2849/4528 MiB",
                "Threads: 169"
            ],
            "supplementary": "Processors: 20<br/>Max mem: 4528 MiB<br/>Memory:  2849/4528 MiB<br/>Threads: 169"
        }
    },
    "Connected": {
        "title": "Connected",
        "value": {
            "primary": "1916.33%",
            "secondary": [
                "Total: 392",
                "Detected: -7120 (-1816.33%)",
                "Connected: 7512 (1916.33%)"
            ],
            "supplementary": "Total: 392</br>Detected: -7120 (-1816.33%)</br>Connected: 7512 (1916.33%)</br>"
        }
    },
    "Aggregation performance": {
        "title": "Aggregation performance",
        "value": {
            "primary": "534930964.29 / 0",
            "secondary": [
                "API misses (rate): 166(0) / 0(0) <br/>",
                "API misses as % of total API calls: 9.22/�<br/>",
                "Background updates (rate): 0(0) / 0(0) <br/>"
            ],
            "supplementary": "API misses (rate): 166(0) / 0(0) <br/><br/>API misses as % of total API calls: 9.22/�<br/><br/>Background updates (rate): 0(0) / 0(0) <br/>"
        },
        "recordRefreshCounts": {
            "pathRecordsRefreshed": 0,
            "repeatRecordsRefreshed": 0,
            "derivedRecordsRefreshed": 0,
            "hourVisitsUpdated": 121942,
            "areaVisitsUpdated": 119586,
            "crossoverRecordsRefreshed": 0
        }
    },
    "Top Campus count": {
        "title": "Top Campus count",
        "value": {
            "primary": "Nortech Campus (356)",
            "secondary": [
                "Shell (0)",
                "System Campus (0)"
            ],
            "supplementary": "Shell (0)<br/>System Campus (0)<br/>"
        }
    },
    "Database I/O": {
        "title": "Database I/O Rate (5 min avg)",
        "value": {
            "primary": "0.57 operations/s",
            "secondary": [
                "1 min avg: 0.07",
                "15 min avg: 0.53",
                "Avg since boot: 0.46",
                "Total number of events: 409932"
            ],
            "supplementary": "1 min avg: 0.07</br>15 min avg: 0.53</br>Avg since boot: 0.46</br>Total number of events: 409932"
        }
    },
    "Top Floor dwell": {
        "title": "Top Floor dwell",
        "value": {
            "primary": "1st Floor (5572.53 min)",
            "secondary": [
                "1st floor (CCW remodel) (0.00 min)",
                "2nd floor (Area Addition) (0.00 min)",
                "2nd floor (CCW remodel) (0.00 min)"
            ],
            "supplementary": "1st floor (CCW remodel) (0.00 min)<br/>2nd floor (Area Addition) (0.00 min)<br/>2nd floor (CCW remodel) (0.00 min)<br/>"
        }
    },
    "Active devices": {
        "title": "Active devices",
        "value": {
            "primary": 356,
            "secondary": [
                "Most recent detection: 17s ago"
            ],
            "supplementary": "Most recent detection: 17s ago"
        }
    },
    "Top Campus dwell": {
        "title": "Top Campus dwell",
        "value": {
            "primary": "Nortech Campus (5572.53 min)",
            "secondary": [
                "Shell (0.00 min)",
                "System Campus (0.00 min)"
            ],
            "supplementary": "Shell (0.00 min)<br/>System Campus (0.00 min)<br/>"
        }
    },
    "Analysis API calls": {
        "title": "Analysis API calls",
        "value": {
            "primary": "Meter not active yet",
            "secondary": [
                "Please wait while data is being collected."
            ],
            "supplementary": "Please wait while data is being collected."
        }
    },
    "Zone API Calls": {
        "title": "Zone API Calls",
        "value": {
            "primary": "Meter not active yet",
            "secondary": [
                "Please wait while data is being collected."
            ],
            "supplementary": "Please wait while data is being collected."
        }
    },
    "Top Zone dwell": {
        "title": "Top Zone dwell",
        "value": {
            "primary": "CMX Bar (5959.07 min)",
            "secondary": [
                "School (5763.90 min)",
                "Tm (4175.67 min)",
                "CMX Clinic (1783.57 min)"
            ],
            "supplementary": "School (5763.90 min)<br/>Tm (4175.67 min)<br/>CMX Clinic (1783.57 min)<br/>"
        }
    },
    "Top Manufacturer": {
        "title": "Top Manufacturer",
        "value": {
            "primary": "Cisco Systems, Inc (310)",
            "secondary": [
                "Aeroscout Ltd. (78)",
                "G2 Microsystems (44)",
                "Hon Hai Precision Ind. Co.,Ltd. (21)"
            ],
            "supplementary": "Aeroscout Ltd. (78)</br>G2 Microsystems (44)</br>Hon Hai Precision Ind. Co.,Ltd. (21)</br>"
        }
    },
    "Top Zone count": {
        "title": "Top Zone count",
        "value": {
            "primary": "CMX Clinic (106)",
            "secondary": [
                "Tm (86)",
                "CMX Bar (44)",
                "School (20)"
            ],
            "supplementary": "Tm (86)<br/>CMX Bar (44)<br/>School (20)<br/>"
        }
    },
    "Top Building count": {
        "title": "Top Building count",
        "value": {
            "primary": "Nortech-1 (356)",
            "secondary": [
                "SJC23 (0)",
                "SJC24 (0)",
                "Shell- CBuilding (0)"
            ],
            "supplementary": "SJC23 (0)<br/>SJC24 (0)<br/>Shell- CBuilding (0)<br/>"
        }
    },
    "Overall Analytics API Calls": {
        "title": "Overall Analytics API Calls Rate (5 min avg)",
        "value": {
            "primary": "0.00 calls/s",
            "secondary": [
                "1 min avg: 0.00",
                "15 min avg: 0.00",
                "Avg since boot: 0.00",
                "Total number of events: 0"
            ],
            "supplementary": "1 min avg: 0.00</br>15 min avg: 0.00</br>Avg since boot: 0.00</br>Total number of events: 0"
        }
    },
    "Notification processing time": {
        "title": "Notification processing time (avg duration)",
        "value": {
            "primary": "2.13 ms",
            "secondary": [
                "Min: 0 ms",
                "Max: 9 ms",
                "StDev: 0.94"
            ],
            "supplementary": "Min: 0 ms</br>Max: 9 ms</br>StDev: 0.94"
        }
    },
    "Location API Calls": {
        "title": "Location API Calls",
        "value": {
            "primary": "Meter not active yet",
            "secondary": [
                "Please wait while data is being collected."
            ],
            "supplementary": "Please wait while data is being collected."
        }
    },
    "Paths API Calls": {
        "title": "Paths API Calls",
        "value": {
            "primary": "Meter not active yet",
            "secondary": [
                "Please wait while data is being collected."
            ],
            "supplementary": "Please wait while data is being collected."
        }
    },
    "Age of updated aggregation records": {
        "title": "Age of updated aggregation records",
        "value": {
            "primary": "Meter not active yet",
            "secondary": [
                "Please wait while data is being collected."
            ],
            "supplementary": "Please wait while data is being collected."
        }
    },
    "Top Floor count": {
        "title": "Top Floor count",
        "value": {
            "primary": "1st Floor (356)",
            "secondary": [
                "1st floor (CCW remodel) (0)",
                "2nd floor (Area Addition) (0)",
                "2nd floor (CCW remodel) (0)"
            ],
            "supplementary": "1st floor (CCW remodel) (0)<br/>2nd floor (Area Addition) (0)<br/>2nd floor (CCW remodel) (0)<br/>"
        }
    },
    "Heterarchy": {
        "title": "Heterarchy",
        "value": {
            "primary": "199 active elements",
            "secondary": [
                "Elements: 199/54 [act/inact]",
                "APs: 158/39",
                "POIs: 0/0",
                "PATHs: 0/0",
                "Floors: 8/1",
                "Tags: 19/0",
                "Userlevels: 4/0",
                "Zones: 5/12"
            ],
            "supplementary": "Elements: 199/54 [act/inact]<br/>APs: 158/39<br/>POIs: 0/0<br/>PATHs: 0/0<br/>Floors: 8/1<br/>Tags: 19/0<br/>Userlevels: 4/0<br/>Zones: 5/12"
        }
    }
}
}

GET: Specific set of Summary KPIs or a list of available ones

Description

This API retrieves a specific set of summary KPIs or a list of available ones.

HTTP Method

GET

Resource URI

/api/analytics/v1/summary/:summaryItem

Requires Basic Auth

N

Parameters

Table 14. Parameter Details

Name

Required

Default

Type

Location

Description

summaryItem

Y

—

String

pathReplace

A comma-separated list of summary KPI to return, or 'availableMetrics' to see the list of metrics available. Use the title parameter.

Content Type

application/json

Sample Output (JSON)

{
    "Top Building dwell": {
        "title": "Top Building dwell",
        "value": {
            "secondary": [],
            "supplementary": "",
            "primary": "Nortech Building (0.00 min)"
        }
    }
}

POST: Breakdown of Connected and Detected Devices for a Given Period and Areas

Description

This API gives a breakdown of connected and detected devices for a given period and areas. The only parameter (body) is a JSON array containing the parameters. The parameters are described below

Table 15. Parameter Details

JSON array parameter

Description

Allowable values/formats

granularity

The desired granularity. One can limit to top n results (i.e. the n values with highest count) by adding "[n]", or the n bottom results by adding "[-n"]. If granularity null is specified, all heterarchy types covered by the areas are returned.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • tag
  • tag-name
  • heterarchy level
  • null

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

timeRange

The time window of interest on each day.
  • HH:mm-HH:mm

aggregate

Whether to aggregate the dwell time by granularity; e.g. showing a total for each day of the week, instead of individual dates
  • none
  • sum
  • avg

areas

The list of areas of interest. If none are given, all are considered A comma-separated list of area ids, or heterarchy levels
<areaId>
<areaId-1>,<areaId-2>,<areaId-3>

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices (default=false)
  • true

  • false

percentageOf

If set, does not report absolute numbers, but relative percentage Heterarchy level

areaFilter

If set, restricts the results to areas matching the filter. Use 'descendantOf' to restrict the area selection. This option is used for drill down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids

expandAll

Include all of the elements descendants in the result
  • true

  • false

HTTP Method

POST

Resource URI

/api/analytics/v1/connectedDetected

Requires Basic Auth

N

Parameters

Table 16. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

Sample Input (JSON)

{
	"period": "today",
	"timeRange": "00:00-23:59",
	"granularity": "hourly",
	"areas": "5786"
}

Sample Output (JSON)

{
  "startTime": "00:00",
  "startDate": "2017-03-16",
  "results": [
    {
      "id": 5786,
      "ancestry": [
        {
          "level": "Campus",
          "name": "Nortech Campus"
        }
      ],
      "startDate": "2017-03-16",
      "series": [
        "datetime"
      ],
      "hasChildren": true,
      "area": "Nortech-1",
      "data": [
        {
          "dwell": null,
          "values": {
            "connected": 0,
            "detected": 0
          },
          "name": null
        },
        {
          "dwell": null,
          "values": {
            "connected": 0,
            "detected": 0
          },
          "name": null
        },
        {
          "dwell": null,
          "values": {
            "connected": 0,
            "detected": 0
          },
          "name": null
        },
        {
          "dwell": null,
          "values": {
            "connected": 0,
            "detected": 0
          },
          "name": null,
          "incomplete": true
        }
      ]
    }
  ],
  "interval": "hourly",
  "executionTime": 18,
  "insights": {
    "summary": {},
    "connected": {
      "ancestry": [
        {
          "level": "Campus",
          "name": "Nortech Campus"
        }
      ],
      "id": 5786,
      "index": 0,
      "maxDate": "2017-03-16",
      "name": "Nortech-1",
      "maxTime": "00:00",
      "maxValue": 0
    },
    "detected": {
      "ancestry": [
        {
          "level": "Campus",
          "name": "Nortech Campus"
        }
      ],
      "id": 5786,
      "index": 0,
      "maxDate": "2017-03-16",
      "name": "Nortech-1",
      "maxTime": "00:00",
      "maxValue": 0
    }
  },
  "endDate": "2017-03-16",
  "maxValues": {
    "connected": 0,
    "detected": 0
  },
  "endTime": "23:59",
  "dataFreshness": "2017-03-16T02:53:55.919-07:00",
  "minValues": {
    "connected": 0,
    "detected": 0
  }
}

GET: Alerts for Device Count for a single Heterarchy Element and Time Frame

Description

This API retrieves a list of notification events which matched device count rules for the given element and time frame.

HTTP Method

GET

Resource URI

/api/analytics/v1/notifications/deviceCount/:elementId/:timeFrame

Requires Basic Auth

N

Parameters

Table 17. Parameter Details

Name

Required

Default

Type

Location

Description

elementId

N

—

String

pathReplace

Numeric ID of the heterarchy element.

timeFrame

N

—

String

pathReplace

Number of minutes which defines the timeframe window.

For example, timeFrame=60 will retrieve notification alerts for the last hour.

Content Type

application/json

API History

Table 18. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

GET: Alerts for Device Count for a single Heterarchy Element

Description

Retrieves a list of notification events which matched device count rules for the given element.

HTTP Method

GET

Resource URI

/api/analytics/v1/notifications/deviceCount/:elementId

Requires Basic Auth

N

Parameters

Table 19. Parameter Details

Name

Required

Default

Type

Location

Description

elementId

N

—

String

pathReplace

Numeric ID of the heterarchy element.

Content Type

application/json

API History

Table 20. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

GET: Retrieves Alerts for Device Count

Description

Retrieves a list of notification events which matched device count rules.

HTTP Method

GET

Resource URI

/api/analytics/v1/notifications/deviceCount

Requires Basic Auth

N

Parameters

None.

Content Type

application/json

API History

Table 21. API history

Release

Modification

Cisco CMX Release 10.4

This API is removed.

POST: Queue Time for a Given Period and Areas

Description

The only parameter (body) is a JSON array containing the parameters. The parameters are described below

Table 22. Parameter Details

JSON array parameter

Description

Allowable values/formats

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • tag
  • heterarchy level

timeRange

The time window of interest on each day. If "now" is given, the granularity can only be a tag name or heterarchy level
  • HH:mm-HH:mm
  • now
The area where the queue is considered to have started. Only zones are supported. The ID of the area

granularity

The desired granularity.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly

areaFilter

If set, restricts the results to areas matching the filter. Use 'descendantOf' to restrict the area selection. This option is used for drill down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids
Include all of the elements descendants in the result
  • true

  • false
Whether to break down the dwell time between certain ranges of dwell time A comma-separate list of nn-mm entries where nn is the lower bound (in minutes) of dwell time considered and mm the upper bound.

HTTP Method

POST

Resource URI

/api/analytics/v1/queue

Requires OAuth

N

Parameters

Table 23. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

API History

Table 24. Command history

Release

Modification

Cisco CMX Release 10.4

This command is removed.

POST: Overview Data for Target Areas for Brochure View

Description

This task retreives overview Data for Target Areas for Brochure View

Table 25. Parameter Details

JSON body parameter

Description

Allowable values/formats

type

The type of data requested
  • deviceCount
  • deviceDwell
  • grossShopping
  • deviceCrossover
  • connectedDetected
  • dwellBreakdown

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

timeRange

The time window of interest on each day
  • HH:mm-HH:mm

areas

The list of areas of interest. If none are given, all are considered A comma-separated list of area ids, or heterarchy levels

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices (default=false)
  • true

  • false

entirePeriod

Whether to include device visits that occur any time during the entire period or only within a single day (default=false).

Applicable only to crossover; ignored for the other metrics.

  • true

  • false

connectionState

Whether to restrict to either connected or detected devices (default=all).

For Connected/Detected metric, this setting is ignored, and "all" is presumed

  • connected
  • detected
  • all

percentageOf

If set, does not report absolute numbers, but relative percentage. Ignored for Crossover report Heterarchy level

dwellLimits

The dwell time limits that specifies how dwellers should be grouped together. Values are comma seperated as key:value pairs. Key is the series name and value is the upper dwell time limit of the series.

For example, Light:5,Medium:20,Heavy:100 would mean that you consider devices that dwell for less than 5 minutes to be Light; from 5 minutes to 20 minutes to be Medium; and from 20 minutes to 100 to be Heavy. If you want to consider all dwells, pass in -1 as the value.

  • default
  • minute

  • Light:<limit>,Medium:<limit>,Heavy:<limit>

  • comma separated limit label:limit value

HTTP Method

POST

Resource URI

/api/analytics/v1/overview

Requires Basic Auth

N

Parameters

Table 26. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters

Content Type

application/json

Sample Input (JSON)

{
	"period": "today",
	"timeRange": "00:00-23:59",
	"areas": "52",
	"type": "deviceCount"
}

Sample Output (JSON)

{
  "startTime": "00:00",
  "previousEndDate": null,
  "startDate": "2017-03-16",
  "title": "Visitors",
  "executionTime": 32,
  "value": {
    "primary": {
      "title": "Total Visitors",
      "value": 0,
      "peakValue": 0,
      "breakdown": [
        {
          "title": "Repeat Visitors",
          "value": 0
        },
        {
          "title": "New Visitors",
          "value": 0
        }
      ]
    },
    "average": {
      "title": "Total Visitors",
      "value": 0,
      "peakValue": 0,
      "breakdown": [
        {
          "title": "Repeat Visitors",
          "value": 0
        },
        {
          "title": "New Visitors",
          "value": 0
        }
      ]
    },
    "previousTimeRange": {
      "title": "Total Visitors",
      "value": 0,
      "peakValue": 0,
      "breakdown": [
        {
          "title": "Repeat Visitors",
          "value": 0
        },
        {
          "title": "New Visitors",
          "value": 0
        }
      ]
    }
  },
  "areas": [
    {
      "id": 52,
      "name": "f0:25:72:3c:f8:10"
    }
  ],
  "previousStartDate": "2017-03-15",
  "endDate": null,
  "endTime": "23:59"
}

POST: Dwell Time for a Given Period and Areas

Description

This API retrevies dwell Time for a given period and areas.The only parameter is a JSON array containing the parameters. The parameters are described below

Table 27. Parameter Details

JSON array parameter

Description

Allowable values/formats

granularity

The desired granularity. One can limit to top n results (i.e. the n values with highest count) by adding "[n]", or the n bottom results by adding "[-n"]. If granularity null is specified, all heterarchy types covered by the areas are returned.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • tag
  • tag-name
  • heterarchy level
  • null

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd
  • yyyy-mm-dd;yyyy-mm-dd
  • today
  • yesterday
  • this week
  • last week
  • last 2 weeks
  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

timeRange

The time window of interest on each day
  • HH:mm-HH:mm

aggregate

Whether to aggregate the dwell time by granularity; e.g. showing a total for each day of the week, instead of individual dates
  • none
  • sum
  • avg

areas

The list of areas of interest. If none are given, all are considered A comma-separated list of area ids, or heterarchy levels
<areaId>
<areaId-1>,<areaId-2>,<areaId-3>

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices
  • true

  • false

connectionState

Whether to restrict to either connected or detected devices (default=all)
  • connected
  • detected
  • all

percentageOf

If set, does not report absolute numbers, but relative percentage Heterarchy level

areaFilter

If set, restricts the results to areas matching the filter. Use 'descendantOf' to restrict the area selection. This option is used for drill down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids

expandAll

Include all of the elements descendants in the result
  • true

  • false

HTTP Method

POST

Resource URI

/api/analytics/v1/deviceDwell

Requires Basic Auth

N

Parameters

Table 28. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

Sample Input (JSON)

{
	"period": "today",
	"timeRange": "00:00-23:59",
	"granularity": "hourly",
	"areas": "52,75"
}

Sample Output (JSON)

{
  "startTime": "00:00",
  "startDate": "2017-03-16",
  "connectionState": "all",
  "results": [
    {
      "id": 53,
      "ancestry": [
        {
          "level": "Building",
          "name": "REQ"
        },
        {
          "level": "Campus",
          "name": "Richfield"
        }
      ],
      "series": [
        "datetime"
      ],
      "hasChildren": false,
      "level": "FLOOR",
      "area": "2nd Floor",
      "data": []
    },
    {
      "id": 75,
      "ancestry": [
        {
          "level": "Floor",
          "name": "Site 4"
        },
        {
          "level": "Building",
          "name": "Site 4"
        },
        {
          "level": "Campus",
          "name": "San Jose Outdoor"
        }
      ],
      "series": [
        "datetime"
      ],
      "hasChildren": false,
      "level": "AP",
      "area": "f4:0f:1b:1a:82:90",
      "data": []
    }
  ],
  "interval": "hourly",
  "executionTime": 0,
  "minValue": 2147483647,
  "endDate": "2017-03-16",
  "endTime": "23:59",
  "dataFreshness": "2017-03-16T02:58:04.319-07:00",
  "maxValue": 0
}

POST: Device Count for a Given Period and Areas

Description

This API retreives the device count for a given period and areas.

The only parameter (body) is a JSON array containing the parameters. The parameters are described below

Table 29. Parameter Details

JSON array parameter

Description

Allowable values/formats

granularity

The desired granularity. One can limit to top n results (i.e. the n values with highest count) by adding "[n]", or the n bottom results by adding "[-n]". If granularity null is specified, all heterarchy types covered by the areas are returned.
  • hourly

  • daily

  • weekly

  • monthly

  • yearly

  • tag

  • tag-name

  • heterarchy level

  • null

period

The period of interest, either specified as a date range, or one of the predefined names
  • yyyy-mm-dd

  • yyyy-mm-dd;yyyy-mm-dd

  • today

  • yesterday

  • this week

  • last week

  • last 2 weeks

  • this month
  • last month
  • last 3 months
  • this year
  • last year
  • forever

timeRange

The time window of interest on each day.
  • HH:mm-HH:mm

aggregate

Whether to aggregate the dwell time by granularity; e.g. showing a total for each day of the week, instead of individual dates
  • none
  • sum
  • avg

areas

The list of areas of interest. If none are given, all are considered A comma-separated list of area ids, or heterarchy levels

durationCategories

Filter devices by dwell times for which device visits specified areas. If a device's dwell time falls outside of the range, it is filtered out and not considered a visit. Time (in minutes) in the form nn-mm where nn is the lower limit and mm the upper limit. The maximum upper limit is 1440 minutes; which is 24 hours, or a full day. Accepted Values:
  • 0-240

  • 0-480

  • 0-1440

  • 5-240

  • 5-480

  • 5-1440

  • 10-240

  • 10-480

  • 10-1440

  • 15-240

  • 15-480

  • 15-1440

  • 30-240

  • 30-480

  • 30-1440

  • 45-240

  • 45-480

  • 45-1440

  • 60-240

  • 60-480

  • 60-1440

includeStationary

Whether to include stationary devices (default=false)
  • true

  • false

connectionState

Whether to restrict to either connected or detected devices (default=all)
  • connected
  • detected
  • all

percentageOf

If set, does not report absolute numbers, but relative percentage Heterarchy level

areaFilter

If set, restricts the results to areas matching the filter. Use 'descendantOf' to restrict the area selection. This option is used for drill down reports. Use 'subsetOf' to restrict the granularity. This option is used with tag granularity.

For example: descendantOf: Campus C1 has Building B1 which zone Z1 and Z2 Campus C2 has Building B2 which zone Z3 query area=Z1,Z2,Z3 and granularity=Building and areaFilter=descendantOf:C1 will return only Building B1

For example: subsetOf: Tag T1,T2 assigned to F1, T2,T3 to F2, T3,T4 to F3 query area=F1,F2,F3 and granularity=tag and areaFilter=subsetOf:T1,T2 will return only T1,T2.

  • descendantOf
  • subsetOf:comma separated ids

expandAll

Include all of the elements descendants in the result
  • true

  • false

HTTP Method

POST

Resource URI

/api/analytics/v1/deviceCount

Requires Basic Auth

N

Parameters

Table 30. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters

Content Type

application/json

Sample Input (JSON)

{
	"period": "today",
	"timeRange": "00:00-23:59",
	"granularity": "Building",
	"areas": "52,75,80"
}

Sample Output (JSON)

{
  "startTime": "00:00",
  "startDate": "2017-03-16",
  "connectionState": "all",
  "results": [
    {
      "id": -1,
      "ancestry": [],
      "series": [],
      "hasChildren": false,
      "level": "SUPERZONE",
      "area": "Unknown area",
      "data": []
    }
  ],
  "interval": null,
  "executionTime": 23,
  "minValue": 2147483647,
  "endDate": "2017-03-16",
  "endTime": "23:59",
  "dataFreshness": "2017-03-16T03:00:28.833-07:00",
  "maxValue": 0
}

GET: Repeat Device Status for One Area

Description

Returns whether a device was seen as a repeat device in a particular area within the last 6 months.

HTTP Method

GET

Resource URI

/api/analytics/v1/isRepeatDevice/{deviceMac}/{areaId}

Requires OAuth

N

Parameters

Table 31. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

areaId

Y

—

String

query

Global ID of heterarchy element. For example, 2654

Content Type

application or json

Sample Response

{ isRepeat : true }
{ isRepeat : false }

GET: Repeat Device Status for All Areas

Description

Returns whether a device was seen as a repeat device in any area within your heirarchy within the last 6 months. .

HTTP Method

GET

Resource URI

/api/analytics/v1/isRepeatDevice/{deviceMac}

Requires Basic Auth

N

Parameters

Table 32. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

Content Type

application or json

Sample Response

{ isRepeat : true }
{ isRepeat : false }

GET: Repeat Device Status for One Area

Description

Returns detailed information of a repeat device within the last 6 months in a given area using the MAC address of the device.

HTTP Method

GET

Resource URI

/api/analytics/v1/repeatDeviceStats/{deviceMac}/{areaId}

Requires Basic Auth

N

Parameters

Table 33. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

areaId

Y

—

String

query

Global ID of heterarchy element. For example, 5540

Content Type

application or json

Sample Response

{
  "results": [
    {
      "id": 5540,
      "lastMonthSeen": "October",
      "name": "SJC-23",
      "userLevel": "Building",
      "children": [
        {
          "id": 5498,
          "lastMonthSeen": "October",
          "name": "2nd floor",
          "userLevel": "Floor",
          "daysSeenInLast30": [
             
          ]
        },
        {
          "id": 5539,
          "lastMonthSeen": "July",
          "name": "3rd Floor",
          "userLevel": "Floor",
          "daysSeenInLast30": [
             
          ]
        }
      ],
      "daysSeenInLast30": [
         
      ]
    }
  ]
}
Table 34. Response Description
lastMonthSeen The name of the latest month the device was seen in a particular area, with the search going as far back as six months
name The name of the area as seen in the heterarchy.
userLevel The name of the heterarchy 'level' (i.e. Campus/Building/Floor/Zone)
daysSeenInLast30 List of dates when the device was seen within the past 30 days. If a device has been seen in the past 30 days, a more granular dataset showing all visits for that device within those 30 days is stored in the location tables
children (if relevant) This is a recursive list of all child area elements. Each item in this list contains the same information as listed in the rows above and will contain their own children arrays if the areas have child elements.

A sample heterarchy looks like this: 1 Campus -> 2 Buildings -> 2 Floors each -> 2 Zones each will have children arrays of length 2 -> 2 -> 2 -> no children key/value pair at the respective levels.

GET: Repeat Device Status In Any Area (Detailed)

Description

Returns detailed information of a repeat device within the last 6 months in any area using the MAC address of the device

HTTP Method

GET

Resource URI

/api/analytics/v1/repeatDeviceStats/{deviceMac}/{areaId}

Requires OAuth

N

Parameters

Table 35. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

Content Type

application or json

Sample Response

{
  "results": [
    {
      "id": 4519,
      "lastMonthSeen": "October",
      "name": "System Campus",
      "userLevel": "Campus",
      "children": [
        {
          "id": 5206,
          "lastMonthSeen": "July",
          "name": "SJC-18",
          "userLevel": "Building",
          "children": [
            {
              "id": 5588,
              "lastMonthSeen": "July",
              "name": "3rd Floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                 
              ]
            }
          ],
          "daysSeenInLast30": [
             
          ]
        },
        {
          "id": 5540,
          "lastMonthSeen": "October",
          "name": "SJC-23",
          "userLevel": "Building",
          "children": [
            {
              "id": 5498,
              "lastMonthSeen": "October",
              "name": "2nd floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                 
              ]
            },
            {
              "id": 5539,
              "lastMonthSeen": "July",
              "name": "3rd Floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                 
              ]
            }
          ],
          "daysSeenInLast30": [
             
          ]
        },
        {
          "id": 5635,
          "lastMonthSeen": "October",
          "name": "SJC-24",
          "userLevel": "Building",
          "children": [
            {
              "id": 5636,
              "lastMonthSeen": "October",
              "name": "1st Floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                "2016-10-04",
                "2016-09-30",
                "2016-09-27",
                "2016-09-22"
              ]
            },
            {
              "id": 5637,
              "lastMonthSeen": "October",
              "name": "2nd Floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                "2016-10-04",
                "2016-10-03",
                "2016-09-22"
              ]
            },
            {
              "id": 5638,
              "lastMonthSeen": "October",
              "name": "3rd Floor",
              "userLevel": "Floor",
              "daysSeenInLast30": [
                "2016-10-05",
                "2016-10-04",
                "2016-10-03",
                "2016-09-30",
                "2016-09-27",
                "2016-09-26",
                "2016-09-23",
                "2016-09-22"
              ]
            }
          ],
          "daysSeenInLast30": [
            "2016-10-05",
            "2016-10-04",
            "2016-10-03",
            "2016-09-30",
            "2016-09-27",
            "2016-09-26",
            "2016-09-23",
            "2016-09-22"
          ]
        }
      ],
      "daysSeenInLast30": [
        "2016-10-05",
        "2016-10-04",
        "2016-10-03",
        "2016-09-30",
        "2016-09-27",
        "2016-09-26",
        "2016-09-23",
        "2016-09-22"
      ]
    }
  ]
}
Table 36. Response Description
Variable Description
lastMonthSeen The name of the latest month the device was seen in a particular area, with the search going as far back as six months
name The name of the area as seen in the heterarchy.
userLevel The name of the heterarchy 'level' (i.e. Campus/Building/Floor/Zone)
daysSeenInLast30 List of dates when the device was seen within the past 30 days. If a device has been seen in the past 30 days, a more granular dataset showing all visits for that device within those 30 days is stored in the location tables
children (if relevant) This is a recursive list of all child area elements. Each item in this list contains the same information as listed in the rows above and will contain their own children arrays if the areas have child elements.

A sample heterarchy looks like this: 1 Campus -> 2 Buildings -> 2 Floors each -> 2 Zones each will have children arrays of length 2 -> 2 -> 2 -> no children key/value pair at the respective levels.

GET: Repeat Device Status for One Area (Abridged)

Description

Returns abridged information of a repeat device within the last 6 months in a given area using the MAC address of the device.

HTTP Method

GET

Resource URI

/api/analytics/v1/repeatDeviceStatsLite/{deviceMac}/{areaId}

Requires OAuth

N

Parameters

Table 37. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

areaId

Y

—

String

query

Global ID of heterarchy element. For example, 5540

Content Type

application or json

Sample Response

{
  "results": [
    {
      "id": 2654,
      "lastMonthSeen": "October",
      "name": "System Campus",
      "userLevel": "Campus",
      "daysSeenInLast30": [
        "2016-10-05",
        "2016-10-04",
        "2016-10-03",
        "2016-09-30",
        "2016-09-27",
        "2016-09-26",
        "2016-09-23",
        "2016-09-22"
      ]
    }
  ]
}
Table 38. Response Description
Variable Description
lastMonthSeen The name of the latest month the device was seen in a particular area, with the search going as far back as six months
name The name of the area as seen in the heterarchy.
userLevel The name of the heterarchy 'level' (i.e. Campus/Building/Floor/Zone)
daysSeenInLast30 List of dates when the device was seen within the past 30 days. If a device has been seen in the past 30 days, a more granular dataset showing all visits for that device within those 30 days is stored in the location tables

GET: Repeat Device Status In Any Area (Abridged)

Description

Returns abridged information of a repeat device within the last 6 months in any area using the MAC address of the device

HTTP Method

GET

Resource URI

/api/analytics/v1/repeatDeviceStats/{deviceMac}/{areaId}

Requires OAuth

N

Parameters

Table 39. Parameter Details

Name

Required

Default

Type

Location

Description

deviceMac

Y

—

String

query

MAC address of device. For example, 00:00:00:00:00:00

Content Type

application or json

Sample Response

{
  "results": [
    {
      "id": 4519,
      "lastMonthSeen": "October",
      "name": "System Campus",
      "userLevel": "Campus",
      "daysSeenInLast30": [
        "2016-10-05",
        "2016-10-04",
        "2016-10-03",
        "2016-09-30",
        "2016-09-27",
        "2016-09-26",
        "2016-09-23",
        "2016-09-22"
      ]
    }
  ]
}
Table 40. Response Description
Variable Description
lastMonthSeen The name of the latest month the device was seen in a particular area, with the search going as far back as six months
name The name of the area as seen in the heterarchy.
userLevel The name of the heterarchy 'level' (i.e. Campus/Building/Floor/Zone)
daysSeenInLast30 List of dates when the device was seen within the past 30 days. If a device has been seen in the past 30 days, a more granular dataset showing all visits for that device within those 30 days is stored in the location tables

GET: Retrieve the count of active clients on a floor or multiple floors right now.

Description

The only parameter (body) is a JSON array containing the parameters.

HTTP Method

GET

Resource URI

/api/analytics/v1/now/clientCount

Requires Basic Auth

N

Parameters

None.

Content Type

application/json

Sample Output (JSON)

{
    "total": {
        "total": 103,
        "totalNumFloors": 8
    },
    "connectionState": "all",
    "failedFloorIds": [],
    "missingFloorIds": [],
    "executionTime": 147,
    "minValue": 0,
    "data": [
        {
            "floorName": "2nd floor (CCW remodel)",
            "floorId": 207,
            "value": 0
        },
        {
            "floorName": "3rd floor (CCW remodel)",
            "floorId": 157,
            "value": 0
        },
        {
            "floorName": "3rd floor (CCW remodel)",
            "floorId": 232,
            "value": 0
        },
        {
            "floorName": "1st floor (CCW remodel)",
            "floorId": 106,
            "value": 0
        },
        {
            "floorName": "1st floor (CCW remodel)",
            "floorId": 184,
            "value": 0
        },
        {
            "floorName": "1st Floor",
            "floorId": 11,
            "value": 103
        },
        {
            "floorName": "2nd floor (CCW remodel)",
            "floorId": 132,
            "value": 0
        },
        {
            "floorName": "2nd floor (Area Addition)",
            "floorId": 185,
            "value": 0
        }
    ],
    "date": "2017-12-17",
    "nonFloorIds": [],
    "maxValue": 103
}

API History

Table 41. API history

Release

Modification

Cisco CMX Release 10.3

This API is introduced.

POST: Retrieve the count of active clients on a floor or multiple floors right now

Description

This API retrieves the count of active clients on a floor or multiple floors right now. The only parameter (body) is a JSON array containing the parameters.

Parameters

Table 42. Parameter Details

JSON array parameter

Description

Allowable values/formats

floors

The list of floors of interest. If none are given, all are considered.

A comma-separated list of floor ids.
<floorId1>,<floorId2>,..

connectionState

Whether to restrict to either connected or detected devices (default = all)

  • connected

  • detected

  • all

HTTP Method

POST

Resource URI

/api/analytics/v1/now/clientCount

Requires Basic Auth

N

Parameters

Table 43. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

—

JSON array

body

JSON array containing parameters.

Content Type

application/json

Sample Input


{
	"floors": "17",
	"connectionState": "all"
}

Sample Output

{
  "total": {
    "total": 0,
    "totalNumFloors": 0
  },
  "connectionState": "all",
  "failedFloorIds": [],
  "missingFloorIds": [
    "17"
  ],
  "executionTime": 1,
  "minValue": 2147483647,
  "data": [],
  "date": "2017-03-16",
  "nonFloorIds": [],
  "maxValue": -2147483648
}

API History

Table 44. API history

Release

Modification

Cisco CMX Release 10.3

This API is introduced.

POST: Retrieve the breakdown of connected and detected devices for a floor right now.

Description

This API retrieve the breakdown of connected and detected devices for a floor right now.

HTTP Method

POST

Resource URI

/api/analytics/v1/now/connectedDetected

Requires Basic Auth

N

Parameters

Table 45. Parameter Details

Name

Required

Default

Type

Location

Description

body

Y

JSON array

body

JSON array containing parameters

Content Type

application/json

Sample Input (JSON)

{
	"floors": "17"
}

Sample Output (JSON)

{
  "total": {
    "totalDetected": 0,
    "totalNumFloors": 0,
    "totalAll": 0,
    "totalConnected": 0
  },
  "startTime": "03:22",
  "startDate": "2017-03-16",
  "failedFloorIds": [],
  "missingFloorIds": [
    "17"
  ],
  "results": [],
  "interval": null,
  "executionTime": 2,
  "endDate": "2017-03-16",
  "endTime": "03:22",
  "nonFloorIds": []
}

API History

Table 46. API history

Release

Modification

Cisco CMX Release 10.3

This API is introduced.

GET: Retrieve the breakdown of connected and detected devices for a floor right now

Description

The API retrieves the breakdown of connected and detected devices for a floor right now.

HTTP Method

GET

Resource URI

/api/analytics/v1/now/connectedDetected

Requires Basic Auth

N

Parameters

None.

Content Type

application/json

Sample Output (JSON)

{
    "total": {
        "totalDetected": 98,
        "totalNumAreas": 1,
        "totalAll": 98,
        "totalConnected": 0
    },
    "startDate": "2017-12-17",
    "interval": null,
    "executionTime": 158,
    "endDate": "2017-12-17",
    "endTime": "22:36",
    "startTime": "22:36",
    "invalidLevelIds": [],
    "missingAreaIds": [],
    "results": [
        {
            "ancestry": [],
            "id": 1,
            "series": [
                "dwell"
            ],
            "hasChildren": true,
            "area": "Campus",
            "data": [
                {
                    "dwell": "0-1440",
                    "values": {
                        "connected": 0,
                        "detected": 98,
                        "all": 98
                    },
                    "name": null
                }
            ]
        }
    ],
    "failedAreaIds": [],
    "maxValues": {
        "connected": 0,
        "detected": 98
    },
    "minValues": {
        "connected": 0,
        "detected": 98
    }
}

API History

Table 47. API history

Release

Modification

Cisco CMX Release 10.3

This API is introduced.