API Endpoint for listing details of all clients within an organisation.

Martin_Rowan
Getting noticed

API Endpoint for listing details of all clients within an organisation.

Our integration with the Meraki Dashboard API requires us to get the network usage for each client,  for each WiFi Access Point in an organization.

This requires us to make a separate call for each device to fetch the client, which is slow, prone to throttling by the API, and puts unnecessary load on the Meraki servers.

 

We would like to request an additional endpoint to enable us to do this without making multiple calls, or some guidance on if there is an existing API/functionality that would help us achieve this goal more efficiently.

 

For example:

  

Lists all the clients for an organization, including the serial number of the device the client is connected to.

 

  GET /organizations/[id]/clients

 

Parameters

 

timespan - The timespan for which clients will be fetched. Must be in seconds and less than or equal to a month (2592000 seconds).

 

Sample Response

 

Successful HTTP Status: 200

 

 

[
  {
    "usage": {
      "sent": 138.0,
      "recv": 61.0
    },
    "id": "k74272e",
    "description": "Miles's phone",
    "mdnsName": "Miles's phone",
    "dhcpHostname": "MilesPhone",
    "mac": "00:11:22:33:44:55",
    "ip": "1.2.3.4",
    "vlan": "",
    "switchport": null,
    "serial":"Q234-ABCD-5678"
  }
]

Critical fields for our integration are:

  • usage (sent/recv)
  • description
  • mac
  • ip
  • serial (i.e. the AP the client is connected to)

Thanks

Martin

 

 

4 REPLIES 4
Oscpimienta
Here to help

Hope this can help you out!

 

https://dashboard.meraki.com/api_docs#admins

What specifically in the docs were you thinking indicated a call which met the requirements above?

We have a working implementation, but would welcome the addition of an API endpoint which reduced the number of round trips.

I have a working python script that will cycle through every device type (mx, mr, ms) about 2000+ devices and pull the client information we have on about 17000 users at any one time. The original script I got from GitHub, but there is no commenting on it so I don't recall who did it.  It works well, just fire it up and it grabs all the clients', except I'd like to be able to get the Manufacturer/OS fingerprint, but it doesn't exist in that table.  

 

Just do a search for Meraki in github and you'll find pages and pages of good fun.

 

 

https://github.com/CiscoSE/merakiquery

 

Hi thanks for the link to GitHub. The approach taken in the Python script is iterative. By this I mean it queries for a list of networks (for a given org ID), then for each network it gets all the devices, then for each devices it then gets all the clients, then for each client it collects data. This is what we already do today (roughly).

 

What I was requesting from Meraki with my initial post, was to have an API endpoint which provided the information  in bulk for a given organization or network, without needing to make API calls for each client.

 

If there is a better way of making a API enhancement request, I'd be happy to explore that route.

 

Thanks Martin

Get notified when there are additional replies to this discussion.