Change cellullar uplink APN by API

theshmike
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:

{"enabled":true,"apn":"your.apn.com\","id":"$uplinkid"}

 

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

 

 

3 Replies 3
jdsilva
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"]}
>>>


 

theshmike
Getting noticed

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.
jdsilva
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.