From the documentation below I see support for Restful APIs, does Meraki support NB APIs as well?
If, by this enquiry, you mean: "Can my Meraki devices interact, via (NB) API, directly with a controller other than the Meraki Dashboard?" No - Meraki devices work via the Dashboard. Given that the Dashboard itself has a wide range of API inputs and outputs however, it it possible to understand dynamically what's going on with a device (via Dashboard and the REST API) and then implement a related change to that device (via Dashboard and the REST API). Does that help?
Ok. I was looking at the possibility of interacting with the devices using NB APIs via some sort of an API Gateway which are independent of the Web/Rest Interface and use that to Monitor/Configure/Troubleshoot devices.
Do we have the ability to schedule, modify or generate reports using the Dashboard/Rest API?.
As you have to purchase Meraki licensing, to work with Meraki devices at all - and the licensing, provides you with the Dashboard and all the infrastructure that hosts it - and Dashboard has a built-in 'API Gateway', with which all your Meraki devices interact by default... I'm not sure why you'd want to build you own, even if you could? (Note; Meraki devices are essentially managed solely via our cloud infrastructure, in order to keep the platform secure)
The Dashboard natively provides (Organization > Summary) reports via the GUI, which can be modified, to a certain degree and scheduled. If you want ultimate flexibility with data reporting, such information can virtually all be accessed by combining different combinations of endpoints pulled via the Dashboard API, which you can then manipulate freely at your end.
My query was to understand the current offering from Meraki in terms of APIs & the ability for a user to be able to automate/leverage data at scale using NB APIs for retrieving backend data without the inherent limitations that come with the Web/Rest API & not to build any custom platform/infrastructure.
Is there no way to retrieve data for reporting itself as an endpoint with selection of different KPIs as I don't see it listed in the API documentation instead of having to combine different combinations of endpoints?.
I think the term "northbound API" substantially confuses things--feel free to clarify what the difference is between northbound and southbound APIs if you like. Aside: "Northbound APIs" is one of those amazing terms that people love to put in RFPs but those same RFPs rarely define what northbound means 🤣 and I imagine everyone here would like to learn what you mean! Especially if you have specific examples from other vendors or other industries that directly speak to what interests you, that could help answer your question. As many details as you can provide about what exactly you mean by "automate/leverage data at scale" could help as well, since that could mean almost anything that our customers and ecosystem partners are doing every single day.
In any case, with Meraki, you can build yourself, or you can buy.
In any case, it's unlikely that you need to build a custom solution given the wealth of off-the-shelf options available to you.
Thanks for the details, just so that you know what I meant by NB API - typically an API which a client fetches about the state of the network, the topology, devices associated and their related config, kind of client-server communication which is synchronous, there are other types which use asynchronous communication wherein changes in the state of a network is pushed to the NB API application, it is server-client communication. From the responses received so far I see that Meraki uses Rest for API communication so I think we can put the terminology to "rest" now 🙂 North, South, East, West are nomenclatures driven by different vendors specific to their implementation which is why I'm out here seeking clarification on what Meraki does/doesn't support.
Coming to the question I still dint get how does one create a custom report using the Dashboard APIs that are available & tweak it to get interesting information?. Do we have some documentation, catalog or artifacts to help with?.
You need the Dashboard API for your needs. There are several REST calls for your requirements. Depending on the software you are using in the backend: There is also a python module which makes these calls a little bit easier.