Undocumented return values ("Client") for "configurationChanges" endpoint

RolandBanks
New here

Undocumented return values ("Client") for "configurationChanges" endpoint

Hi,

 

when using this endpoint:

 

/organizations/{organizationId}/configurationChanges

 

(mentioned at https://developer.cisco.com/meraki/api-v1/get-organization-configuration-changes/)

 

it states the return values e.g. as shown below, but I believe there is one missing.

 

Here is an example of the JSON received as stated by the documentation (sorry I couldn't get it to paste with indentation):

 

[
{
"ts": "2018-02-11T00:00:00.090210Z",
"adminName": "Miles Meraki",
"adminEmail": "miles@meraki.com",
"adminId": "212406",
"networkName": "Main Office",
"networkId": "N_24329156",
"networkUrl": "https://n1.meraki.com//n//manage/nodes/list",
"ssidName": "My SSID",
"ssidNumber": 1,
"page": "via API",
"label": "PUT /api/v1/organizations/2930418",
"oldValue": "{\"id\":\"2930418\",\"name\":\"My organization\",\"url\":\"https://dashboard.meraki.com/o/VjjsAd/manage/organization/overview\"}",
"newValue": "{\"id\":\"2930418\",\"name\":\"My organization changed\",\"url\":\"https://dashboard.meraki.com/o/VjjsAd/manage/organization/overview\"}"
}

 

However, it also appears to return a "client" object that contains "id" and "type" properties.

Unfortunately the organisations I have access to always return null for these, so in my API code (which uses Refit) I am unable to populate the correct types (on my "ChangeLogEntry" class), and instead have left it as a nullable object (which then just contains empty tokens) e.g.

 

public object? Client { get; set; }

 

My question is whether the documentation will be updated with more information about this value that is returned?

 

I assume (but may not be correct) that "Id" within Client may be an integer or long, and that "Type" might be a string.

 

Thoughts?

3 Replies 3
RolandBanks
New here

Here is an example of the actual returned value (I changed some numbers and removed the oldValue and newValue and removed / changed sensitive information):

 

[
{
"ts":"2025-01-21T05:25:39.772017Z",
"adminName":"Roland Banks",
"adminEmail":"xxxxx",
"adminId":"123456789",
"networkName":"xxxxx",
"networkId":"L_123456789",
"networkUrl":"/xxxx/n/xxxxxxx/manage/usage/list",
"ssidName":null,
"ssidNumber":null,
"page":"via API",
"label":"PUT /api/v1/networks/L_123456789/wireless/settings",
"oldValue":"xxxxx",
"newValue":"xxxxx",
"client":{"id":null,"type":null}
}
]

 

As you can see, this is the undocumented (as far as I can see) item:

 

"client" : { "id" : null, "type" : null }

sungod
Kind of a big deal

Null values are a characteristic of some calls, sometimes in surprising contexts that need detecting/handling to avoid problems in code using the API.

 

For instance, an unconfigured device name that defaults to MAC address in Dashboard UI returning a null name in the API.

 

You could open a support case about the undocumented element.

 

I'd guess that it would have non-null values if the config change targeted a specific client, you could try making such a config change and see what happens.

 

RolandBanks
New here

Agreed. Will try and raise a support request.

Get notified when there are additional replies to this discussion.