Change cellullar uplink APN by API

Getting noticed

Change cellullar uplink APN by API

I just wanted to share two undocumented API endpoints for changing the APN of a cellular uplink on a MX device.

I needed this function a few month ago and even the support told me that it is not possible, I reverse-engineered what the dashboard itself does to change the APN:


At first you pull the uplink id for the device with GET /api/v0/networks/$network/devices/$deviceserial/uplink/cellular


find the value for "id" in the returned json object and pass it to:


PUT api/v0/networks/$network/devices/$deviceserial/uplink/cellular/$uplinkid with this json object:



[Update: Seems only to work for MX devices with an integrated cellular modem]



Kind of a big deal

Doesn't work on an MX64 with a USb modem attached 😞


>>> c = requests.get(f"{base_url}/networks/{netid}/devices/Q2KN-XXXX-XXXX/uplink/cellular", headers=headers)
>>> print(c.text)
{"errors":["This device does not support cellular uplink configurations"]}


errrrr, sorry! I forgot to mention: I only used this with MX68CWs.
Can you do it from the dashboard? If so, it's maybe possible with another undocumented endpoint.
Kind of a big deal

No, I don't think you can. Meraki can on the backend, but I'm pretty sure it's not exposed to the Dasahboard we see. 

Get notified when there are additional replies to this discussion.