Community Record
485
Posts
724
Kudos
25
Solutions
Badges
Oct 29 2021
10:56 AM
That's true! I think Windows had the same problem. Maybe 21H2 is better 😂
... View more
Oct 27 2021
3:19 PM
7 Kudos
Over the past quarter we've released a ton of new features. In this video I take a look at some of the biggest ones and how they can help you Get Things Done at massive scale. Let us know in the comments how these new releases level up your client development and infrastructure management!
... View more
Labels:
- Labels:
-
Dashboard API
-
Updates from Meraki
Sep 3 2021
1:10 PM
2 Kudos
Nothing wrong with basic questions! Pulling the lastSeen time is trivial with the official SDK. import meraki
dashboard = meraki.DashboardAPI(suppress_logging=True)
clients = dashboard.networks.getNetworkClients(
"network_id_here"
)
for client in clients:
print(f'lastSeen: {client["lastSeen"]}')
print('done')
... View more
Sep 3 2021
12:52 PM
This is the Python SDK you want. What you're referencing doesn't look familiar and may be part of the problem. https://pypi.org/project/meraki/
... View more
Sep 3 2021
12:38 PM
This syntax looks like something from a very old version of the SDK, or from API v0 instead of v1. networks = meraki.getnetworklist(apikey, organizationid, suppressprint=True) What package exactly is 'import meraki' importing? It seems to me it's not the official SDK. From the docs: https://developer.cisco.com/meraki/api-v1/#!get-organization-networks we can find an example of what using the current SDK looks like: dashboard = meraki.DashboardAPI(API_KEY)
organization_id = '549236'
response = dashboard.organizations.getOrganizationNetworks(
organization_id, total_pages='all'
)
... View more
Sep 3 2021
12:17 PM
Based on the names of these methods, it looks like you're using an old version of the SDK. The current Python library is fetchable via `pip install --update meraki`
... View more
Sep 3 2021
12:14 PM
3 Kudos
The single LAN GET returns the existing settings, but the PUT endpoint does not update those settings. If you'd like to control these settings via API, your best bet is to GET the existing settings, enable VLANs on the appliance (even if you only plan to use one VLAN), and then PUT the settings to the endpoints that modify DHCP settings for VLANs. Single LAN mode has a place for small deployments where users don't use advanced features like the API. If you want to use API, then you'll be better served enabling VLANs as well.
... View more
Sep 2 2021
1:07 PM
3 Kudos
You're reading my mind here -- having this part of the Python SDK is a no-brainer, but I want at least SOME user feedback before committing anything to the Python SDK. The more user feedback we can get (and adoption, interest, etc.) helps drive this.
... View more
Aug 31 2021
1:22 PM
2 Kudos
Exactly! If you want SM devices that's slightly different from network clients. Get Network Clients Operation Id:getNetworkClients Description:List the clients that have used this network in the timespan Get Network Sm Devices Operation Id:getNetworkSmDevices Description:List the devices enrolled in an SM network with various specified fields and filters
... View more
Aug 31 2021
1:18 PM
10 Kudos
Action batches are incredibly powerful tools for streamlining bulk configurations, enabling you to combine up to 100 actions at a time into a single API call for speed and efficiency. But what if you need to submit 100,000 actions? You'd need to write some client logic to split those actions into 1,000 individual batches. And what if action 508 relies on action 444 succeeding? You'd need to submit them in a linear fashion, necessitating additional client logic, and to stop the batch submission if one of the earlier ones fails. I've created a new Python module to make it easier to work with action batches at massive scale, handling these concerns for you when you have hundreds of thousands of configuration changes to make. Key features Creates discrete action batches of a custom size from an arbitrary list of actions Submits the batches only when there is room on the organization's action batch queue to run them Allows for simultaneous or linear batch submission, in cases where some of your actions rely on earlier actions succeeding Optionally generates a JSON preview file of the entire list of batches Here's a demo of the batch helper in action, and a deep dive on the BatchHelper class and what it does. Or you can just jump to the code. Happy coding!
... View more
Labels:
Aug 24 2021
9:15 AM
Interesting, the eid isn't needed when you use the public API, so what's the eid give you? What problem does having the eid solve?
... View more
Aug 23 2021
5:59 PM
1 Kudo
Authentication mode is not a valid SSID override option This is a response when you try to apply a config to a network that is bound to a template, rather than to the (parent) template network. It is correct that you would need to use the ID of the template to make this change to the entire template.
... View more
Aug 23 2021
5:23 PM
1 Kudo
You can now enable API on orgs via API, as long as you are an org admin on those organizations where you'd like to enable API. See: https://developer.cisco.com/meraki/api-v1/#!update-organization It's not a valid security concern. Org admins are org admins--they either have the keys to the kingdom, or they aren't org admins. You should only add folks you trust as org admins. There's nothing inherently more secure about disabling API access, in any case. API access is not a form of RBAC; API keys inherit the privileges of the associated user. If someone is an org admin in your organization, then they could have just used the GUI to enable API access in your org, no API required, if they so wanted. Finally, there are very real efficiency benefits of being able to manage this via API, which you can't realize via any other method, especially for enterprise and MSP deployments where API is the customer's chosen primary user interface.
... View more
Aug 23 2021
3:14 PM
This is a private endpoint. Why not use the public ones? Private endpoints are subject to change anytime, which could totally break your application, so building on public endpoints is the better bet.
... View more
Jul 21 2021
3:21 PM
1 Kudo
I'd check your actual API usage. How many other users (or applications) have API keys? You have to share the budget with those other folks in the same org. Even if your usage hasn't changed, there are likely others using API more, thus competing with your usage. In the API docs, check Organizations > Monitor > API Requests for the two endpoints that give you this info.
... View more
Jul 15 2021
1:27 PM
3 Kudos
This is now rolled out to all customers, including Meraki China.
... View more
Jul 9 2021
11:25 AM
That's a good point. Isn't the real limiter here the endpoint itself, rather than the rate limit? One can imagine an snapshot endpoint that can generate multiple snapshots in a single call. That'd be a lot more efficient.
... View more
Jul 1 2021
1:38 PM
25 Kudos
Ever wish you could go faster?
Well, now you can! We are thrilled to share that we've doubled the API call budget to 10 calls per second per organization (from five) for meraki.com customers at no additional cost.
Who's impacted?
All Meraki customers who use the dashboard API.
What's the impact?
If you were encountering API responses with HTTP code 429, which required you to wait and resubmit the request, then you will see fewer 429 responses with your existing API usage. If you were not encountering 429s, then you will not see any difference, but you are less likely to encounter 429s overall if you increase your API usage, such as adopting an app from our Meraki Marketplace.
When's this happening? What do I have to do?
No change is required on your end; this is already rolled out and available immediately! Did I mention it's free? Just one more benefit of your existing Meraki licensing.
What's next?
We're excited to hear how this change improves the developer experience, so please let us know in the comments!
Thank you for choosing Meraki. 🤠🚀
... View more
Jun 16 2021
6:06 PM
@Bruce is right. To add onto this--REST APIs are stateless. You have to provide that API key with every single request. This principle is important to understand when it comes to API security. In REST APIs, there is no such thing as a "session" except as abstracted through the validity of the API key, or via frameworks (like the Python requests module).
... View more
Apr 2 2021
4:25 PM
3 Kudos
I'm glad to hear you've had a good experience with v0! We have not made many (if any) changes to v0 for some time now--I would be surprised if you were suddenly having issues with v0. If I understand your question, you are asking why v1 is not backwards compatible with v0, or why migrating to v1 requires changing your code. I'm glad you asked. For context, we released API v1 last year, which is our current major version. API v1 is a fundamentally different structure that offers a number of improvements over v0, and is not backwards compatible in most cases. One of the major goals in v1 is to organize the information more intuitively than the fairly flat structure that v0 provided. Therefore, we are releasing new features exclusively on v1 and encourage our customers to adopt v1 at their convenience to take advantage of the additional features. Granted, v0 still works and is available for legacy scripts that still use it. So to answer your question directly: it's effectively impossible to not have breaking changes between major API release versions. In fact, avoiding breaking changes defeats the (perhaps entire) purpose of versioning the API. We avoid breaking changes within a version number. It is rare to make a breaking change within a given version number--it would normally be a result of a bug that requires a breaking change to fix, and never just for the sake of it. In any case, adaptation and evolution is an inevitable fact of the software development lifecycle. Ideally, major API release versions (e.g. v0, v1) have the lifecycle of a piece of hardware, or longer. In practice, the lifecycle of an API version will vary based on the industry. Have you seen our interactive documentation site? It covers all of the endpoints in detail, and is searchable. We're always looking for feedback on our documentation and how it can make our developers' lives easier--we fully understand that most folks using a network platform API will be netadmins first, and developers second. In any case, keeping current on updates to the API is similar to keeping current on a Cisco certification, where the topics, and areas of focus, change over time. You can also post questions here about the specific things you'd like to do with the API, and there are a lot of folks here willing to help! Long term, I think you'll find that it's overall easier to get things done with v1, despite the adjustment phase.
... View more
Mar 4 2021
4:08 PM
Hi Edgar, If you could, please open a support case for this. This doesn't seem right. Kindly, John
... View more
Mar 4 2021
12:47 AM
Hi Edgar, Could you post your full JSON body (sans sensitive info) for review?
... View more
Sep 28 2020
2:26 PM
You can use the code block formatter when making a reply (under the ... menu) to add a code block that preserves formatting. Might help here, to better show your code!
... View more
Aug 31 2020
1:32 AM
2 Kudos
Similarly, https://developer.cisco.com/meraki/api-v1/#!get-organization-appliance-security-intrusion will return an error if the organization does not have an advanced security license, like this: {
"errors": [
"This endpoint requires an advanced security license"
]
}
... View more
- « Previous
- Next »
My Accepted Solutions
Subject | Views | Posted |
---|---|---|
1336 | Jan 8 2025 12:51 PM | |
512 | Dec 5 2024 8:32 AM | |
711 | Oct 25 2024 10:16 AM | |
790 | Oct 25 2024 10:13 AM | |
2323 | Sep 12 2024 11:32 AM | |
1223 | Aug 27 2024 3:02 PM | |
1241 | Aug 22 2024 1:22 PM | |
1842 | Aug 2 2024 8:58 AM | |
4511 | Jan 12 2024 9:51 AM | |
3424 | Dec 11 2023 1:33 PM |
My Top Kudoed Posts
Subject | Kudos | Views |
---|---|---|
25 | 16095 | |
13 | 10914 | |
10 | 1643 | |
10 | 7374 | |
10 | 7488 |