API for Client Roaming Event Logs

Solved
Mika
Meraki Employee
Meraki Employee

API for Client Roaming Event Logs

https://documentation.meraki.com/MR/Monitoring_and_Reporting/Client_Roaming_Analytics

Meraki document explains that "Information in the Roaming Event Log is also available via API".

Could you please let me know the API document for client roaming event logs ?
My customer would like to create their dashboard app regarding client roaming event logs via Meraki API.

1 Accepted Solution
AidanKamp
Meraki Employee
Meraki Employee

Perhaps this endpoint?

https://developer.cisco.com/meraki/api-v1/get-network-wireless-client-connectivity-events/

I checked out an earlier roam in the UI:

 

AidanKamp_0-1741055684748.png

 

This has a corresponding 'connection' type event with roam details, serial and MACs omitted:

    {
        "deviceSerial": "Q2XX-XXXX-XXXX",
        "band": "5",
        "ssidNumber": 4,
        "type": "connection",
        "subtype": "success",
        "occurredAt": "2025-03-03T20:13:38.345999Z",
        "severity": "good",
        "durationMs": 60,
        "channel": 48,
        "rssi": 36,
        "eventData": {
            "state": "11",
            "connAttempts": "3",
            "totalConnTime": "0.590",
            "reassoc": "1",
            "roamAp": "xx:xx:xx:xx:xx:xx",
            "roamApMac": "xx:xx:xx:xx:xx:xx"
        },
        "captureId": null
    }

 
roamAP corresponds with the BSSID of the source AP, roamApMac corresponds with the device MAC of the source AP, and deviceSerial corresponds to the target AP I roamed to.

Whilst I am a Meraki employee, some of what I post may be opinion (especially architecture!). Others may have better or more efficient ways of doing things, so please learn from everyone!

View solution in original post

7 Replies 7
RaphaelL
Kind of a big deal
Kind of a big deal

Hi ,


I don't see that anywhere in the documentation and I can't find any endpoint that would return anything related to roams ☹️

AidanKamp
Meraki Employee
Meraki Employee

Perhaps this endpoint?

https://developer.cisco.com/meraki/api-v1/get-network-wireless-client-connectivity-events/

I checked out an earlier roam in the UI:

 

AidanKamp_0-1741055684748.png

 

This has a corresponding 'connection' type event with roam details, serial and MACs omitted:

    {
        "deviceSerial": "Q2XX-XXXX-XXXX",
        "band": "5",
        "ssidNumber": 4,
        "type": "connection",
        "subtype": "success",
        "occurredAt": "2025-03-03T20:13:38.345999Z",
        "severity": "good",
        "durationMs": 60,
        "channel": 48,
        "rssi": 36,
        "eventData": {
            "state": "11",
            "connAttempts": "3",
            "totalConnTime": "0.590",
            "reassoc": "1",
            "roamAp": "xx:xx:xx:xx:xx:xx",
            "roamApMac": "xx:xx:xx:xx:xx:xx"
        },
        "captureId": null
    }

 
roamAP corresponds with the BSSID of the source AP, roamApMac corresponds with the device MAC of the source AP, and deviceSerial corresponds to the target AP I roamed to.

Whilst I am a Meraki employee, some of what I post may be opinion (especially architecture!). Others may have better or more efficient ways of doing things, so please learn from everyone!
RaphaelL
Kind of a big deal
Kind of a big deal

Hi ,


Might be a good idea to update the API doc to reflect the reality : 

RaphaelL_0-1741062852348.png

 

 

Maybe more user ( including myself ) would use some endpoints if we knew what they would return before trying them

AidanKamp
Meraki Employee
Meraki Employee

Where was this screenshot taken, @RaphaelL?

The bottom of this link has an example body that the API will return, as well as a schema:

 

https://developer.cisco.com/meraki/api-v1/get-network-wireless-client-connectivity-events/

AidanKamp_0-1741063216877.png

 

Whilst I am a Meraki employee, some of what I post may be opinion (especially architecture!). Others may have better or more efficient ways of doing things, so please learn from everyone!
RaphaelL
Kind of a big deal
Kind of a big deal

My bad , I was expecting the API index ( https://developer.cisco.com/meraki/api-v1/api-index/ ) to return something related to 'roam' but since the 'roam' is captured inside eventdata 

 

"eventData": {
            "state": "11",
            "connAttempts": "3",
            "totalConnTime": "0.590",
            "reassoc": "1",
            "roamAp": "xx:xx:xx:xx:xx:xx",
            "roamApMac": "xx:xx:xx:xx:xx:xx"
        }

 

then it gets pretty hard to know what could eventData contain. I would have never figured that out without randomly trying the endpoint or reading this post.

AidanKamp
Meraki Employee
Meraki Employee

Thanks Raphael - my bad for missing that screenshot in the index.

 

It seems this endpoint is missing the keys nested inside eventData in the index as you've pointed out. Unsure if this is purposeful but I'll pass it on.

If I check a different endpoint as an example, e.g. getNetworkApplianceConnectivityMonitoringDestinations, the nested keys inside 'destinations' show in the response parameters:

AidanKamp_0-1741065233782.png

Thanks for pointing that out.

 

Whilst I am a Meraki employee, some of what I post may be opinion (especially architecture!). Others may have better or more efficient ways of doing things, so please learn from everyone!
RaphaelL
Kind of a big deal
Kind of a big deal

Great catch ! Thank you so much for following this up ! 

 

 

Cheers !

Get notified when there are additional replies to this discussion.