Cisco Customer Success - Video

Leveraging Cisco Meraki APIs for Network Automation and Efficiency

Playback confirmation!

Do you want to resume playing from last left location?

Chapter 1 Thumbnail
00:10
Welcome and housekeeping
Chapter 2 Thumbnail
01:10
Agenda and what is an API
Chapter 3 Thumbnail
03:08
API benefits: automation, integration, analytics
Chapter 4 Thumbnail
06:21
Meraki API services overview
Chapter 5 Thumbnail
12:15
API fundamentals: CRUD, endpoints, responses
Chapter 6 Thumbnail
15:50
Authentication: API keys and OAuth 2.0
Chapter 7 Thumbnail
18:19
Best practices and rate limits
Chapter 8 Thumbnail
20:24
Demo: API analytics and access controls
Chapter 9 Thumbnail
24:30
Demo: Python automation and reboot script
Chapter 10 Thumbnail
31:08
Demo: firmware rescheduler, vendor portal, resources, and Q&A

Transcript

Hello, everyone, and welcome to today's webinar. My name is Lauren Kinkate Philby and I I'll be your moderator for the session. I'm pleased to introduce to.00:10Today's speakers, Mario Cruz and Ibrahim Amit. Before I hand it over, I have a few housekeeping items to cover about this presentation.00:20Today's webinar will be recorded and made available on demand after the live session. We will provide you with some details at the end. Also, we'd love to hear from you during today's presentation. If you have a question for our speakers, please feel free to send it through the question and answer panel where our wonderful panelists are ready to.00:30To respond.00:49So without any further ado, I'd like to kick things off by welcoming Mario Cruz. So Mario over to you. Thank you, Lauren. Welcome, everyone. Today we're gonna do the leverage mic APIs for network automation and efficiency. So this is gonna be our 1st session about like introductions with.00:50The APIs with Meraki. Welcome, everyone.01:10The idea for today is that we're gonna just to talk about some introductions about APIs, which are the different services and features we have available under the Meraki dashboard. Then we want to review some API fundamentals we are on the same page. And then I'm gonna send it to you brahim. They're gonna show us some demos just.01:14Cases and examples, and we're gonna give you some resources at the end so you start ready and be ready for this journey with APIs and Meraki.01:33So welcome everyone. So let's just start with just an introduction 1st of what is an API. So you've been asking, what is an API, so maybe this kind of basic, but I just want to make sure that we're all on the same page when we'll start talking about APS services offerings.01:41APR is just a rules or protocols allow you for different service programs to talk to each other.02:02And shared data and functionality. What is near about Meraki API is that they allow you just to bypass the dashboard to retrieve the data or perform actions by connecting directly to the Meraki cloud. But what does mean exactly? So APIs is just like a waiter, just like a waiting a restaurant that brings you order to the kitchen. The same.02:08Way we're doing here like a software software interaction where the APIs do the same. API can take you to get organization license request to the Meraki cloud. And then when you return with a desired response when this case is gonna be the list of license or that organization. And the good thing is was without it even access the dashboard itself.02:28So just to begin that example was an API, but what we can do with all these different APIs, we can automate, so if you want to make something that is from tremendous adjustment to maybe some enterprise deployments, api's you just got option for that. So I said like you wanna just maybe update a parameter or just.02:48We want to add ten new sites, automation is a good example by using APIs. If you want to integrate with some specific like streamlined business workflows and maybe add some value to the other platforms that we have, we can interact, have these API interactions and take some actions on it. We wanna review like webhooks.03:08That's an example that we can integrate, how we can use APIs with some other platforms. That's we need to anticipate, so maybe you want to plan for the future or find telemetry, review the data. So in general, we have a bunch of data available on our devices and on our network, so we can all use these different data pull all these.03:28Telemetry and based on that, make and do data driven business decision based on the data that we find out.03:48But you may thinking, what can I can do an API? So as I said before, if you're thinking of maybe mass provisioning tens thousands of devices across several sites, API is just a good example for that. If you want to do some network automations, let's say big.03:55Some some example, maybe a retailer I want to save some energy, I can have a script just to shut down some specific energy on it. But again, it will depend on your use case, you can trigger something based on what you detect with the API.04:15We can do like advanced monitoring, so, like I said before, we can subscribe to these different workflow and then trigger an action based on that particular event that happened. As I said before, advanced analytics, if we just want to pull a bunch of data and then.04:32Analyzes, understand better what's happening is very possible. I said we have a bunch of different data available that we can use. So e.g. if like I want to review how are my wireless clients? I have seen customers creating custom dashboard just to put the information about like how's my work clients, how are my connections, how everything's located.04:52Then we have cloud integration. So if you want to integrate to maybe like another partner or a different application, we also have that option. So again, don't you require to create everything from scratch? We also have like a partner application that can just add the API key and start working with all the information that we can provide them.05:11So definitely we can see an adoption and growth with the APIs in the meraki. It doesn't matter if you are as small companies to your biggest company, if you wanted to think about like a speed and efficiency regardless of the application, device allocations makes APIs are good for you. So definitely has become like bigger and you.05:32If you want to, find better ways to do different tasks and maybe tedious because we require a lot of funny work API is a good example. And I will say like just based on my experience, I have seen like our biggest customers, the bigger they became maybe just just one organization, they have ten organizations, api's.05:53Are better to handle the amount of many changes reporting that you may requires is a good example using those APIs.06:12But ok I just give you just like an overview of what is APIs in general, I was just reviewing specific services that we had available on the Meraki dashboard. So, I just gave you like a high level summary of different API softwares that we have and I'm gonna give you all the time.06:21More of each one of them. So I think on the previous slides, I give you examples like dashboard API service offerings that is the service that most customers are familiar with it. This is the one that's allow you just to retrieve information push configuration changes.06:40This can be just to predominantly a way to leverage the scalability of a large organization. So if you want to automate, monitor reports in for this. So if I said like something takes a lot of manual process, we can automate it and then apply it to a larger scale.06:562nd item is gonna be web hooks. So these ones allow us just to offer it an alert via Json message, so we're just subscribing to different alerts that we have on the dashboard. This is just an additional way to interact with all the different alerts so we have the option to have email, that one is still keeping, but.07:14We can also start using webhooks to subscribe to these different alerts that are gonna send a JSON message that is is like human readable, and from there we can have actions depending on the alert that you have. Just to put you an example, I have connected a webhook to my Webex, so whenever I get an alert for my access points going down.07:33I get a message to my Webex and then allow me just to get an action. Oh, what happened, why my specific access point has not been connected to the network.07:54The next one is gonna be a scanning API. This is a service that allow you just for real time notifications or of the wireless devices in the locations, so as I said before, we have a bunch of data available of just to think about like where my clients wireless clients are connected on. So with this one, we can just.08:03In this Json format message to a 3rd party, that's gonna help us with some location details. So if you're thinking about like wayfinding, asset tracking, location, footfall analytics, we can use the scanning API for that one. And a good example for this if you think of Cisco Spaces that tells you like where to find wireless connected and all of that, it will be an integration that.08:22Just using this is kind of API feature on the dashboard.08:42The next thing that we're gonna have is gonna be the captive portal API, so this one allows for like customize of your guest Wi Fi services onboarding. So you wanted to have like a more tailored onboarded experience for your guest users, you can create a captive portal outside of the predefined template that we have on the Meraki dashboard.08:47You can always redirect to another HTTP that will make the onboarding and it will show you like a more customized version for those guests wireless users.09:05And finally, we're gonna have the MB sense API that allow for all these real time data streams, historical events, so the cameras can detect some some particular like events happening, like let's say like people detection, people detection, maybe someone with specific color, we can trigger and do an automation.09:16With that too by seeing the feeling of the cameras. So again, these are the different services that we have on the dashboard. I will say that in general for today we only focus on dashboard APIs a little bit on webhooks.09:36But this is the total offering that we have with APIs and Meraki. So dashboard APIs, so as I told you, this is a powerful way just to start doing programmation and monitor the network with doing some automation, so we're thinking about configuration, device management, you wanna like pull reports.09:48Things, we're gonna use all these different API calls to do help us with all of this. And as I said before, it doesn't require for us to create.10:08We can have like build applications applications that are already working and we can just add our API key and start looking how are in more detail in my wireless clients. And then that's another option for you guys. If you want to build it yourself or you wanna review the different applications that we have available on their marketplace.10:17So, webhooks I just discussed a little bit, so as I it's a way for us to subscribe to this alerts that we have in the dashboard. And the example that you will see so under the developer hub, we're gonna share that link like later on. It's just kind of where you can check all the different examples of the different alerts. Here you're gonna see like a.10:39Jason method that is gonna be sent out with webhook that's gonna have a series of information relevant for that alert. E.g., like the ID, the name of the device, the URL, the network.10:59Devices specific information and so on. So what happened with that particular device and that alert, it will depends on the information on that inside of that JSON message. And again, as I say this can be integrated with like a different service, so you can do something with that message. E.g., like a good example is like ServiceNow, ServiceNow can be subscribed to this.11:11Workbooks and then they can use it for like ticket system notifications and workflow, like then I detect likes security appliance went down, I can open my tickets that is gonna be sent to my NOC and then my NOC need to take connection on it. Another one is like pager duty. You can set up automatic test message, emails or email mess.11:31Sites to notify people managing an infrastructure.11:51Okay, so now that we just reviewed the different like services and features that we had available on the dashboard, now let's jump into the API fundamentals. So we need to understand like when we're talking about APIs, we're just talking about.11:54So we're gonna use the operations so create read, update delete, it's just going to be the different operations that we gonna have. So depending on what you intend or what you want to do is the operation you want to choose. So e.g., you want to create like a new object or a new resource here I want to create a network, that would mean I'm gonna.12:15Use a post API to in order to create that network. If another way I want just to retrieve resources, details from the system, I wanted to understand how many clients I have on this device, how many devices are online, those ones is gonna be a guests operations. Then we're gonna have, if we would require to do some update that.12:34Maybe went to replace like all the resources an example for that is gonna be like your firewall rules, the firewall rules that need to be updated. We need to do like a put operation in order to update that firewall rules. And finally delete is allowing just to remove some results from the system. So same as before want to delete a network, we need to do the operation.12:54So I said this is HTTP operations, nothing new, but we need to be aware and depending on what we wanna do, the intention of my endpoint is the thing I wanna, require to do with my API.13:15So the APIs, is, is going to be a compose of a burb and a known attached to a base URL. So here the idea is that you're gonna see that we're gonna have like an action. The. So why do you wanna do you wanna obtain, you wanna update, you wanna change configuration, you're gonna select the verb.13:28Then you're gonna have the base URL. This is gonna be like the gate as I as I told you, this is HTTPS, so we need to a URL in order to access the dashboard. This is the URL we're gonna access to it. And then we're gonna have the noun, and this is gonna be like which part of this API we wanna access.13:48It's on like I wanna access organization part, the devices, the port, the kinds so you will see the dependence on the APIs that we have. It's the noun that's gonna be used. And so remember, this is gonna be the syntax when we just talk about API so that we will have like a birth or you're gonna have the action and then the URL with the specific part.14:08Of the dashboard that you wanna retrieve and pull that information off for it.14:28Another thing that is gonna be important, this is going to be the responsive. So again, this is HTTP, so we're gonna have like those status codes that you maybe familiar. So if you mean that everything has been at success, we're gonna have like 200 that everything has been going ok two one 201 is something we haven't created.14:35But we also have some client errors depending on what you have done. Maybe you have an unauthorized because the API that you have, you don't have access to that specific part of the dashboard, you're gonna get a four oh 1A4 oh four not found that maybe the URL, the number that you put was incorrect and that's the reason that why it has four oh one now.14:54Found. It's very important that all of these different errors, we're gonna give you with a response body and then we're gonna give you in detail the reason of why we have that error. Like an example that you see in my last slide is that you have like an error invalid API key and that's why the reason you have like four oh one.15:14Finally we also have like 500 internal several errors, there will be maybe something happen on the dashboard itself. You should retrieve it and see if there's something like constant, maybe you should open a case with support because something is happening on the dashboard side of things.15:33But maybe you're wondering how do I authenticate and how I start using my APIs? So in order to authenticate or start using APIs, we have two ways for that. You can use API keys that is just for purpose authentication. This one is going to be associated with our Meraki account.15:50This was only for admins that were created inside of the Meraki dashboard and they will gonna have the same permission level as the organization account that we have. So you only have read only access. The only operation that you're gonna be able to do is just to get APIs. And again, you're gonna be able to do any change because this will be applied to the same permission that you have.16:07So keep that in mind, and depending on how you have your access in the team APIs that you're gonna do. Then we have all two zero, so this one is for more access with toky rotations and enables more like a simple authentication for a custom app. So if you're trying to build a specific apps and.16:28If you think about it, this is not just a user that's accessing this app, I would recommend that you verify two.zero.16:47As I said like for the API, you will find there under the organization API webhooks and API keys and access. Even if you don't have organization access under your profile, you can also create these API keys. You will only be able to create two maximum API keys. And as you see here in an example, you're gonna.16:56Go to copy so when you create it you need to save it at the storage because this is similar to a password, so I wanna make sure that you keep it secured. So again, if you didn't have like the full organization access, you can still create those API keys.17:14For OA two in order to set it up, you need to go to the entry.cisco.com portal where you will be able to create new applications, define the scope, and this is where I said like this is not applied to already created user, this is where you apply which part this custom app is gonna be able to access my data. It's only like to retrieve telemetry.17:31We do configurations we can specify on the scope after we create that application.17:50So as I said before, you maybe wondering which one to choose. I would say like you want to do like the current application or you want to care about security, I would recommend about to zero, but it's something that you are maybe just building on your computer for some specific script that you have, maybe some specific admin stacks epikeys are you.17:57There's better resources for that.18:16And finally, before I just move to demos since I just talk a lot and just show you a bunch of lots I just want to show you, just an intro before we jump into the demo. Let's just close out everything. So I say like the dashboard API, this is open ended tool that allows us to do many purpose like from automations, do some report.18:19Teams we can subscribe to the webcast and then take some actions on different things. So again, I said API is gonna use HTTPS that we're gonna do a request to a URL.18:39And then depending on the API, we need to have some body inside our API, and we're gonna have a response with JSON format too. Something that we need to understand that we're gonna have like a red limit, we can only do ten colors per second and this cannot be like a standard. This is a hard limit, but there are different ways so that we can.18:49Optimize our API calls so a way to look it up is sometimes I see customers that are doing API calls at the network level when sometimes there is an API at the organization level and allow you to save how many API calls that you can do. Then we have to have different ways that even we can do configuration that don't affect the rail limit, so.19:10We have like workarounds when we reach the hard limits, but you need to understand that we have the specific thing calls per second per organization.19:29As I said before, the API keys they're gonna be associated with the dashboard administrator's account. So they're gonna indicate it the permission that they have. So if they only read only user, they only do APIs to get calls. And finally dashboard administrators, they want to be able to API keys so they cannot view it. And again.19:40This one is only for those administrators that we have just created in the dashboard.19:59So that's what I have for you guys. Now I'm gonna kick it out and I send it to Irahem that is gonna take us through some of those demos and show us more how we can use those APIs with the Meraki dashboard. So Iram, all yours. Appreciate you Mario.20:05Can you all see my screen? Awesome. So to bring this further, let's touch upon the demos and use cases. So the 1st things 1st, when you're using API calls, you know, you're programming different scripts or you're running different API calls.20:24You might feel that you lose some type of controller visibility. Since these these calls, you know, you're running these calls, they're communicating to the Meraki cloud and they're, they're, they're transmitting into either action or data retrieval, right? So you might have a fear that you might lose.20:39Visibility control to everything that's happening behind the hood especially if you have different applications that are using API, if you have different scripts that are using APIs and you have different API users that have different API keys. But that's not, that's not the case. I want to show you here on the Meraki dashboard.20:56If you navigate here, to organization, you would have to have organization privileges, of course. If you navigate to organization API and webhooks page, we actually have this analytics page here that captures all your API activity within your organization and it displays it for you here in a trendy format.21:14So what we can see here on the screen is your total API requests in a defined period of time, you would define that period of time here from these dropdown menus. You see the amount of successful API calls you've done. If you, if you hit any rate limits, you'd be able to see that from here.21:33The percentage of how many rate limits, if you have any other errors, you'd be able to see that from here. And then furthermore, you're able to see this graph, you're able to see the amount of successes, rate limit hits, four oh four errors, any type of error messages here, you'd be able to see that here. You can furthermore filter by the response codes to 200 being success.21:50And then other response codes as well. And then we have, you can filter by the different users that are calling these API calls. Of course, each individual user would have an API key. So you can kind of monitor the activity and you have a full grasp and control of what's going on here.22:07And then furthermore, if you scroll down below on this page, you can see all the applications. We capture the user agents, the user agents of every application, and you're able to see the different types of applications that are making these API calls, you know, whether it's a Python script.22:26Using integration like Cisco spaces, you're able to see that here, you're able to see the success rate, percentages of successes, if there's any rate limit hits, total amount of requests, and you can expand this even further to see even more results. Furthermore, we go.22:43We go even more granular than just applications. You can click on this operations tab and we give you the API calls that you're running against your organization, right? You can see each individual request, you know, whether they're get posts, update, delete.22:59You can see a request here, you know, similar to the other statistic fields, the amount of successes, requests, total amount of requests. So you can actually see the trending data of like, the overall consumption of your API budget. You'd be able to see here which API calls are making that request if you're.23:16Say for instance, going above your rate limit and you're seeing that it's by a specific API call, there maybe a more efficient API call that you could use to kind of avoid that scenario. Furthermore you're able to see which administrators that have API keys are making these calls and break down the percentage as well, as well as the source IP address. Where are these requests coming?23:34We output the public IP addresses for those API requests as well. So you you're able to track them efficiently. So that that spins up another conversation as well in regards to source IP address. What if we want to lock down.23:54The source of these API requests, but we do have the option here if you navigate to organization settings on the Meraki dashboard, we have allowed dashboard and dashboard API access to these IP ranges, so if you just, this is gonna limit dashboard access and the dashboard API access.24:11You can input public IP addresses here and you'd be able to limit the scope of the API calls from specific source IPs. Let me jump back into the presentation. With that being said, let's talk about specific API tools.24:30So we know that we have the capability to run API calls, to take action, retrieve data. Basically, we can mimic the actions of a lot of things that we can do on the Meraki dashboard, right? But if we want to kind of further it those actions with automation.24:47We can use a scripting language such as Python, and we do have a developed, we do have a developed Python library, that Cisco has developed and it integrates the API calls into a higher programming language for general purpose programming, and it's actually the formatting of.25:01Python is very, you know, simple easy to use. It's very easy to read and interpret, it allows you to automate, you know, over small and large sites as well, and it's compatible with major platforms. So I'll give you an example of of myself, right? I started, you know, my coding journey a long, long time ago, I would say like ten years plus.25:20I would, you know, script something, it would take me a long time. I eventually got frustrated with scripting, right? Because this was way before AI or any other tools came out. I would script something, I would have an incorrect syntax. There's a misplaced comma somewhere, you know, misplaced quotation mark.25:40And I would spend half of my day debugging, so I kind of navigated away from scripting, wanted to, you know, the network engineering. But now I find myself from the past year, I did aa3 60 and I I jumped back into scripting, and that's because with the introduction of AI and the LLM tools that can actually script for us.25:57It's simplified the process and it's simplified the debugging process as well so we don't spend a lot of our time, you know, chasing over like code edits. So if you use Python scripting to call upon, you know, our Cisco Meraki APIs and use AI to actually help you script, it's about it's a very, very powerful combination.26:17And I want to show you some examples. Here's some use cases that I've been able to work on. The 1st use case here is a dashboard reboot script. So of course if you navigate on the Meraki dashboard, in order to reboot a device, you would navigate to that particular device.26:37And then click on the tools tab and click reboot device. But what if I want to, you know, I want to reboot and scale, right? I want to reboot 50 devices. I want to reboot a hundred devices, I want to reboot ten devices. I don't want to go into each individual devices page on the Meraki dashboard and and reboot that device.26:55And then also there's, another issue with yeah so I I want to, I want to, yeah, I don't I don't want to go into each individual page. 2nd, use case that I have here is with.27:13A firmware upgrade manager. So on the Meraki dashboard, if you're using configuration templates and you have networks bound to a configuration template, right? You upgrade that configuration template and then it upgrades, let's say for instance, you have ten networks bound to that template. It's gonna upgrade them all at the same time, all in the same exact date.27:28However, if you have a child network within that template and you wanna reschedule it for a different time.27:49You would have to go individually into every child network, and then reschedule them individually. So I also created a script here where you have access to be able to reschedule child networks firmwares for for node for networks that are attached to a configuration template. So I want to show you how these look.27:54Click, and then on top of that, there's a a 3rd use case here where.28:14There was a company that uses different vendors, to manage their devices and they want to add the networks of those devices to configuration templates, but they don't want those vendors to have access to the Meraki dashboard. So we created an external portal that those vendors would be able to access and be able to.28:18See a list of networks that they're associated with and be able to bind configuration templates to those networks. So I'll go ahead and show you these examples here and let me jump into my desktop. So 1st things 1st, I have my reboot script here.28:38And you can see here from the file, there are some parameters that we need to configure beforehand, right? We need to input our API key, we need to input our network ID here, NO logger name and a login username and a login password here.28:55So what we want to do is have this portal served up to us, log into it, it's gonna recall our API key, it's gonna recall a specific network, and it's gonna list all the devices that we have in that specific network, and we should be able to click a reboot button to go down the list and reboot the devices as we desire.29:11So that's how the script looks like. You can see here from the script it's gonna it's gonna call the network. It's gonna serve a reboot function for every device. It's gonna recall call the device names, it's gonna give us their serial numbers. So it's actually a very small and a simple script.29:26So what I'm gonna do is I'm gonna go ahead and launch the script. And I already have it preloaded with my API key and everything. It's telling me to access this script, copy and paste this IP address and port. So I'll jump back into my dashboard.29:43And it launches the Python script for me here into a web interface, and I'll just log into it. Alright, so what the script did is it basically retrieved the specific network that I defined within the code, and it pulled all those devices within that network.30:03All, all the device models, all the device serial numbers, it's given me the statuses of those devices, and it's giving me the option to reboot the device. So say for instance, if I want to reboot an access point in this network.30:24Serial number before GP. I'll click reboot. Are you sure you want to reboot this access point? Yes. And then if I want to reboot other access points I can go ahead and just, just click on the reboot buttons and it'll automatically reboot them for me. And I'll jump into my Meraki dashboard just to make sure that that action did take.30:35I'll ping this access point and I have a hundred percent lost rate. So by using this external dashboard that has that reboot, API call embedded within Python, we're able to reboot the access points.30:52So that's just one simple example jumping into my second example with the firmware upgrades, let me just explain it for you 1st when we navigate here on the Meraki dashboard to organization firmware upgrades.31:08This use case involves scheduling firmware upgrades for configuration templates. Let me go ahead and cancel this firmware upgrade.31:24Alright, so I'll go to organization firmware upgrades. I'll select a specific template. Let's say I'm gonna do a security appliance template. I'm gonna select EIS firmware rescheduled demo.31:39But let me show you the contents of this template. 1st, I go to organization configuration templates, we're gonna see this template is gonna have ten networks attached to it. So if I click here, EIS firmware rescheduled demo, I have ten networks, and each network is named Washington, Washington network from one to ten.31:54Right? So we know that that template has ten bound networks, so now I want to go ahead and reschedule schedule a firmware upgrade for them, go to organization firmware upgrades. Schedule upgrades. I'll say I'm gonna apply, do security appliance.32:12I'm gonna select this template that has ten networks bound to it. I'll click schedule upgrades. Let's say we're gonna upgrade to beta firmware, the latest beta firmware, and let's say let's do this, let's schedule it for next Saturday.32:29On Saturday after the next, I'll click next, and I'll schedule the change. Alright, so now we see on this, now we see on this dashboard, let me refresh my screen here. We can see that eleven networks are scheduled to beta firmware.32:46And we can see they're all scheduled at the same time. So now what happens if, you know, if three of these sites within this network, 300, let's say 300 sites, we need to reschedule them, right? The normal process is if we wanna reschedule a child network, we'd have to click this reschedule button, select the time and then resched.33:06Schedule time.33:26One by one. Let's say if we want to reschedule this for tomorrow, right? It saves, and now we look here, we reschedule just one of these networks, and we're gonna have to go manually through each one of these one by one. If we wanna reschedule the networks unless we schedule from the template, which is gonna reschedule everything, but I only want individual number.33:27Works that I want to reschedule, not everything.33:47So, using, API calls in Python, we can also reschedule child networks as well. We can streamline that process and let me show you how that looks like. I have another script here. Let me exit out of this.33:49A firmware reschedule, I'll go ahead and launch this. So it's gonna ask me here, how do you want to filter your network? So it's gonna have to, the 1st step is gonna have it's gonna have to recall the networks. You can either do it by the name of the networks or by a tag of that network. So I'm gonna use the name because they all have a key similarity.34:09That their networks begin with the name Washington.34:28Okay, NO actually I have to put yeah Washington. It's fetching all the networks. You see Washington one through ten. And now let's say I just want to upgrade a subset, reschedule a subset of those networks, right?34:30I want to do number three, I want to do number six, I want to do number ten. So I can either do I'll I'll just put 3610 in commerce. And then it says what type of product do you want to upgrade for these networks? I'm gonna say security appliance.34:48I'll click one. It says now type in the reschedule date that you want to reschedule. I'll say 2026. Let's do it after tomorrow 17 July. All right, and let's just reschedule at midnight.35:06And it says, it's just giving you a final confirmation three networks containing Washington, appliance firmwares which you want to reschedule, you want to reschedule for that time. You click yes. It's gonna go ahead and run the API calls.35:22And it's gonna reschedule it instead of you going into the Meraki dashboard and going one by one. Imagine, for my example, I have only have ten networks, but imagine if it was a thousand networks or if it was 500 networks, the script would be able to breeze through, run the API calls instead of you going in manually to the dashboard, clicking one by one.35:37An added component to the script is if you want to export the results to a CSV on the dashboard for accountability purposes, you can take a look at that as well. So that's 2nd example of using API calls with Python. The 3rd example here.35:53As well as, I was able to work with the customer. They had a use case where, they have different vendors that come in and set up their devices. They don't want the vendors to have access to the Meraki dashboard, so they want an external portal.36:09And they want that vendor to be able to retrieve a list of devices that they're associated to by network tag, and they want to be able to find those specific networks to to templates without them having access to the Meraki dashboard.36:25So I've created this template manager here, and I'll go ahead and launch this as well so you can take a look at how it looks like. So I'll take this IP address and port, open up my internet browser.36:39Right? Launch this here. We'll log in. 1st is telling us to select our organization. So we'll select our organization. Now there's a dropdown list for what specific vendor you're associated to. And let me show you how it looks like on the dashboard 1st, right? So you can get an understanding. So if we go to.37:00Organization overview, it'll give us our list of networks. And what we did for these networks here is we've associated a tag to those networks. So you can see these networks here all are all associated to vendor one as the tag name. So if vendor one logs into the Meraki dashboard or if they log into this external portal, this external.37:18Order is gonna look up all the networks associated with vendor one, and it's gonna list those networks out for them, and it's gonna give them the option to bind to a configuration template.37:38That vendor would not be able to see like the networks that vendor two or vendor three or vendor four vendor five are managing. So with that being said, let's take a look at how it looks like, right? So you you've created this external portal with Python. AI actually created the script for us. We just prompt Python or we prompt the AI, how we want to, how the script to work.37:46We have a vendor dropdown list, you click submit, you type in your password, associated to your vendor, you log in, and now you can see all the configuration templates, you can see the product types, you can see the time zones of those templates. So this is the templates page.38:07You'd be able to see your list of networks that are associated to that vendor one tech. You're able to see the product type and you're able to see if your networks are bound to a template or not. So basically, if you want to bind like an unbound network to a template, you can click on bind here.38:26You can only see the templates that you're associated to. You can only take actions on the templates you're associated to, so say for instance, this one here in Chicago CSM, I want to bind to a template, I'll select which template and I'll click bind confirm bind, and it bound that network to the configuration template without the end user having access to the Meraki dashboard.38:43And then we also have configured an analytics page here as well, so you can see.39:03The amount of templates that are available on, and which ones are in use and which ones are not in use. And then also a change lock here for accountability purposes to see like what changes were made to which networks and to which templates at which time and the originating IP address where that came from.39:07Right, and all of this is being used by our API calls. One thing about API calls here, let me actually show you, if you, if you're starting with API calls, it's good to know like which API calls are, are available so you'd be able to like incorporate them into a script.39:25So, here in our Cisco Meraki developer hub, you can think of this as a catalog or a library for all of our available API calls, and we have it broken down by platforms and functionalities as well. So say for instance, in that 1st script that I had where I wanted to reboot a device, if I wanted to just.39:44Ensure that there is an API call available to reboot a device. I can either look through the API, the API call categories and links on the left or I can just search for it here. And we can see that we indeed we can take that action.40:01And then on this catalog, it's gonna show you, it's gonna give you a description of what that API call can do. It's gonna show you like the syntax for that API call. This requires a serial as a parameter for it to be able to reboot a device. And once you make that API call, how a successful API call call looks like.40:17And it's also showing you like code snippets as well. So if you're trying to incorporate this into Python, Node.js, if you're trying to do a curl, it's showing you how you can incorporate these calls into that, into those codes as well. So this is a great reference to see like what actions can you actually take with APIs or if you want to retrieve data using.40:34API. This directory is gonna be your source. And let me jump back into the presentation. All right, and these API scripts that we've developed, we have them available for you in our GitHub. We'll share their links with that GitHub for you, so you have easy access to them as well.40:55So now that we've kind of inspired you and showed you the capabilities of API, let's let's see how you can start your journey with the Meraki API. Alright, so 1st things 1st, we have the Meraki developer hub, which I've just showed you on the last section here. We have a postman collection, so if you're using the postman tool.41:15We have a library that's available that you can take advantage of, and we have a sandbox environment as well. If you want to test the API calls, you can run them in that environment as well. So in terms of trainings and self based courses, we have a getting started course and fundamentals course that you can take advantage of if you just wanna.41:36Dive into the subject matter, learn more about how we, the essentials, we have those resources available for you, easy access and available to use. In terms of the Meraki community developer forms, so once you have a base understanding, if like you need assistance or you wanna like.41:55Speak communicate with like minded individuals that are interested in automation as well across our customer base. We have the meeting point would be our Meraki community developer forum, so feel free to make an account there and see what's what subjects and what topics are are available there. And if you wanna.42:13If you wanna, if you need ideas for inspiration on how you can develop your script or if you want to share something that you've created, this forum would be a great place for you. And then if you wanna explore existing projects, we have our Project Explorer and we have our code exchange as well.42:32Those are available with our scripts that we've we've kind of created and bedded already. If you, if you don't want to spend too much time developing a script and you wanna see what's already available, these would be good resources for you as well.42:53And also the Cisco app marketplace. This is a place where, we have a lot of 3rd party integrations, a lot of 3rd party apps that are created using, you know, Cisco Meraki API. We've, we've tested these apps and we've vetted them.43:07And we've made sure that they're able to seamlessly integrate with the Meraki dashboard. We have them broken down in different categories as well across different industries, so if you want to just instead of scripting your own solution, you wanna like demo or purchase already made 3rd party integration app.43:25Some apps such as like ServiceNow and and things of that nature exist in this marketplace as well. So feel free to take a look at that marketplace. And I want to open up the floor to any Q and AI know it's a lot to digest but would love to address any questions you may have.43:41Yes, thank you Ibrahim. Now would be a great time for folks to write in. We'll have you do it through the chat if you have any questions and Jason also just shared many of the links that Ibrahim just went over. So make sure you copy and paste those.43:57In your notes so you can explore them later. Yeah, feel free to write in. Okay Ryan says that was great insight. Thank you so much, Ryan. Glad you enjoyed. Appreciate your time and attendance today Ryan.44:17I think it was one question from Stephen before about the API agreement and how we handle it and we answer a lot I just want to say like, for those specific, I will recommend that review that page, review this a better way to do an API call because as I said before, sometimes we do like a network device levels and there's specific ones that we.44:36We can do the organization level. And also I was making a call out if you're like doing a bunch of different changes and that's affecting how you handle the budgets, we can also do like batches group when you put together some several calls together on one call and that helped us a lot with the rail limits, but yeah, every hand you're sharing the.44:56Resources we can help with that.45:18Yeah, so if you need, like, all, all in one page that talks about different troubleshooting steps you can take to kind of reduce the occurrences of rate limits. If you go to the Cisco Meraki developer hub, which is LinkedIn this presentation here and you click on rate limit here. It's like, it's close to the top of the.45:19Left hand corner, if you click on rate limit and you scroll down, it's gonna give you different options of how you can work to overcome rate rate limits, right? Like whether it's a back off timer that you put into your Python script or whether you use like an all encompassing org level call instead of a network level call.45:39It shows you different things that you can do to kind of overcome rate limits and yeah, we'll included in the presentation is the link to this page. Feel free to just revisit this here and it gives you a bunch of options for best practices here.45:57Oh, I I see Stephen has a message about like log logic monitor. I have a customer that has the same problem. Logic monitor has a known issue depending on how much time I think mine was relating about the alerts. I think he was like pulling the logs for that one. And for that one I would say I would recommend to you if you've.46:16If you're really using logic monitor, you use a lot so you can just look at syslog server, like with that issue that we're having with my customers like, yeah, logic monitor which become into this big, he's putting some logs and again those locks are specific per device. At the end the answer was like, we're pulling logs when you're using the platform, we can still use syslogs to get all the logs and better.46:36So I assume this for your question, it will be I will review how you're using logic monitor which API calls are using it and maybe just another way to pull that information somehow because I remember for logic monitor the one I was it was more about like logs and log and logs in general. And I was like, Yeah, it's an option to do API, but we also have.46:57That's available to one that helps just to reduce the bunch of calls so far and and then we will using the syslogs for a different way to track it now, so I will say review how we're using logic monitor which API calls are using and then based on that maybe change the way that you retrieve those different API calls.47:18Yeah, just adding on to what Mario said, if we are like consistently hitting the the rate limits, we can kind of divide up the functions of the data that we're collecting, right? You know, there could be the most defined specific API calls with.47:35You know via API, you can retrieve some information via SNMP. You can retrieve some information via syslog as well. So that might help ease, I guess, the amount of.47:54It might, it might help you with obtain like all the data that you need just in, in different, in different buckets. Great insights speakers, Marionee brahim. I have a question for you. Why would a customer cho.48:08Choose a web hook over a standard get request.48:27Well, as I said before, I think webhooks is just an easy way just to subscribe, so it is, it is instead of we trying to pull the data, the dashboard is just a better way just to send us those and they take some actions on it. Yeah, it's it's a difference of whether you want a pull notification or a push notification.48:36The poll notification is.48:56You're going to like send a query to the Meraki dashboard, to retrieve data and you're gonna keep doing that like one by one by one by one by one. Whereas a webhook is useful if you just like, hey, if a certain action happens, notify me when that action happens rather than me pulling the dashboard every couple of seconds or every couple of minutes, right?48:58So a lot of, a lot of people will find that push notifications are more useful to them than poll notifications because the more poll notifications you make, the easier it is to hit like a rate limit. So yeah. Awesome. Thank you.49:17I, I just saw that Stephen just put like the information about the limits and the error. I just say that Stephen, it's just the same thing I think I looked before. It's just that API call, we do it every network if you have upon your network that API call is gonna repeat over and over again. So my solution with a customer like yes, we can use APIs to get.49:33Logs and pull back from being an API, well you can still use there and still give you the same information. So if you're worrying about like reaching limits, I will remove likely when customers will remove that part and then they were pulling the logs in then we're thinking about I'm gonna use my API rate limit more accordingly.49:53Just to do.50:13Like just configurations, specific things and just not bottleneck everything we just stopped getting sorry, get network events, I will say I would rather choose this option for it. Yeah, and I do want to add something here, you know, as we have more workflows that move into our cloud control platform.50:16That's up and coming. It'll help reduce the amount of API calls and and optimizing those interactions as well. That'll be like something that's increasingly important for us.50:35It's an active area of our focus and we're looking into that as well. So stay tuned. We'll have we'll have different methods upcoming that's gonna help like fine tune the frequency of API calls as well. But I guess for now, like let's just kind of segment.50:44The amount of calls into different buckets and that should be the solution for it now. Appreciate you. Oh, it seems like you had that discussion i'm glad you had that discussion. Yes, Stephen, you're, you're talking to the team, you know, you've already got it.51:00Figured out more more updates to come by glad that you're having those discussions early so we can, you know, move and grove. Alrighty. Early adopter indeed.51:20Well, thanks for joining us today. And let's see, I feel like your use case, ibrahim, maybe answered this, but another question that someone might have had was, how does the API simplify firmware upgrades across multiple organizations?51:39I don't know if we have any thoughts on that. So, yeah, that use case was developed specifically within the same organization, but I mean, I I don't see why the API calls cannot be used across different organizations because.51:59I believe the API key, you know, you'd be able to use your API key across different orgs. It's like the API key is attributed to the user as long as that user is attributed to to multiple orgs, you should be able to, to upgrade firmwares across orgs as well. That shouldn't be an issue.52:14Got it, thank you. Are there any questions you wish someone would have asked because they're such good questions. Sounds like NO, sounds like we kind of covered covered all our bases.52:32Alright, everyone, I see we have seven more attendees. If anyone has a question, please throw it in there. This is kind of your last chance since we've covered everything. I'll keep the Q and A window for just a few more minutes. But yeah, anything else you wanted to wrap up?52:48Up our esteemed speakers Marione brahim, before we close out today.53:08No, just to thank everyone, please start using APIs. Hopefully, those resources that we share is to help you start with that journey and please use the community if you have other questions and we're happy to help on it. Yeah, and it's it's really fun. So like if you're not using API already just start small and build your way up.53:15It's really cool to automate things using API, it has a lot of flexibility and and power into it. So if you're a network administrator and you want to like simplify your job, you know, taking this learning curve is definitely worth it. It'll take you much, much further in your career if you automate things.53:34You heard it here 1st, team. You're gonna have a lot of fun. You'll make your job easier. There's so many reasons to use APIs, so get after it. Today is the day. Thank you everyone so much for coming and bringing your knowledge to the Cisco community thank.53:52Thank you to our panelists, Niti and Jason, thank you Ibrahim and Mario for presenting today. Your feedback is important to attendees and at this time you'll be directed to our event survey, so please take a few minutes to participate and let us know how you enjoyed the content today. So once again, thank you so.54:11Thank you so much everyone for joining us and we'll see you next time.54:31

About this Video

Author : Cisco Customer Success

Uploaded : July 15, 2026

NetworkingMeraki
AI summary icon

AI summary

Explore how Cisco Meraki APIs streamline network automation and visibility. The recording explains API fundamentals (verbs, endpoints, status codes), authentication with API Keys and OAuth two point zero, and dashboard analytics that surface successes, errors, users, and source IPs. It tours the Dashboard API, Webhooks, Scanning API, Captive Portal API, and MV Sense API, plus allowed IP ranges. Demos show device reboots at scale, rescheduling firmware for selected child networks in Configuration Templates, and an external vendor portal powered by the Cisco Meraki Python library. It also highlights the Cisco Meraki Developer Hub, Postman collection, sandbox, and Cisco App Marketplace integrations such as Cisco Spaces, with rate limit and batching best practices.

  • Enable API access, create API Keys or configure OAuth two point zero, and track usage in Organization > API and Webhooks analytics.
  • Automate tasks using the Dashboard API and Python to reboot many devices, reschedule child networks, and build simple portals.
  • Optimize performance and security: favor organization-level endpoints and batching, respect the rate limit of ten calls per second, and use Webhooks for push alerts.