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

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/

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.