What is the version ID of firmwares

Solved
trendkill
Here to help

What is the version ID of firmwares

API Call - 
https://api.meraki.com/api/v1/networks/{NETWORK_ID}/firmwareUpgrades"

 

 

Sample PayLoad - :

 

payload = {
"upgradeWindow": {
"dayOfWeek": "monday",
"hourOfDay": "5:00"
},
"products": {
"wireless": {
"nextUpgrade": {
"toVersion": {
"id": "MR 29.4.1"
}
}
},
"appliance": {
"nextUpgrade": {
"toVersion": {
"id": "MX 17.10.8"
},
"time": ""
}
}

},
"timezone": "America/Chicago" # Corrected timezone format




b'{"errors":["Unable to find version with ID: MR 29.4.1","Unable to find version with ID: MX 17.10.8"]}'
 
Process finished with exit code 0

 

 
1 Accepted Solution
JasonM
Meraki Employee
Meraki Employee

The field with key of "id" has a value that is the key of "shortName". "id" will have a value that is something like "4321" which will be a unique ID for that firmware. There is an example body from the reference doc for this endpoint.

https://developer.cisco.com/meraki/api-v1/update-network-firmware-upgrades/

View solution in original post

3 Replies 3
Ryan_Miles
Meraki Employee
Meraki Employee

Firmware versions will look like this via the API call

 

Examples

 

Security Appliance: wired-18-1-07
Switch: switch-16-2-2

AP: wireless-29-4-1

Ryan

If you found this post helpful, please give it Kudos. If my answer solves your problem please click Accept as Solution so others can benefit from it.
JasonM
Meraki Employee
Meraki Employee

The field with key of "id" has a value that is the key of "shortName". "id" will have a value that is something like "4321" which will be a unique ID for that firmware. There is an example body from the reference doc for this endpoint.

https://developer.cisco.com/meraki/api-v1/update-network-firmware-upgrades/

trendkill
Here to help

Thanks Mate, worked like a charm, i had to choose the ID's from available versions which i get it from the GET same API. 

 

sample output - : 29.6.1"}},"availableVersions":[{"id":"2369","firmware":"wireless-29-4-1","releaseType":"stable","releaseDate":"2022-10-14T18:32:32Z","shortName":"MR 29.4.1"},{"id":"2510","firmware":"wireless-29-6-1","releaseType":"stable","releaseDate":"2023-05-25T23:23:29Z","shortName":"MR 29.6.1"},{"id":"2592","firmware":"wireless-29-7","releaseType":"candidate","releaseDate":"2023-08-09T16:34:29Z","shortName":"MR 29.7"},{"id":"2537","firmware":"wireless-30-3","releaseType":"beta","releaseDate":"2023-07-07T19:41:16Z","shortName":"MR 30.3"}],"participateInNextBetaRelease":false}},"timezone":"US/Central","upgradeWindow":{"dayOfWeek":"Tue","hourOfDay":"9:00"}}'

 

My next test would be to apply it for all networks in a single python script where i would use the get network IDS function & use it in a loop with the same API call, The only doubt i have is the timezone, since i would only keep 1 timezone, i think it should work & not require the timezone for each network since they are on diff timezones.

Get notified when there are additional replies to this discussion.