Additional User Properties for API Calls
I'm looking for a way to manage our user groups via the API. At the moment, I don't see a way to move a user between groups, add groups, or delete groups. This would especially come in handy in combination with the SSO login option. Most of our roles are automatically assigned when a user logs in. However, they will always land in the Ungrouped folder. If the User object returned the group the user belonged to, we could use the patch method to move the user to the group that matches their role. In another instance, we use a python script implemented as a config source that suspends users if they haven't logged in in 90 days. I have a "suspended" users group that I currently manually move those users to. We could implement the move automatically in the script if that piece of information was returned by the API.
Returned user model:
<span style="color:#ffffff;">{</span><span style="color:#555555;">
</span><span style="color:#555555;">"acceptEULA"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"acceptEULAOn"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"apiTokens"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">[</span><span style="color:#555555;">
</span><span style="color:#ffffff;">{</span><span style="color:#555555;">
</span><span style="color:#555555;">"accessId"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"accessKey"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"adminId"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"adminName"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"createdBy"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"createdOn"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"id"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastUsedOn"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"note"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"John Doe's API Token"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"roles"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">[</span><span style="color:#555555;">
</span><span style="color:#555555;">"string"</span><span style="color:#555555;">
</span><span style="color:#ffffff;">]</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"status"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">2</span><span style="color:#555555;">
</span><span style="color:#ffffff;">}</span><span style="color:#555555;">
</span><span style="color:#ffffff;">]</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"apionly"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">false</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"contactMethod"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"email"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"createdBy"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"Chief Admin"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"email"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"john.doe@logicmonitor.com"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"firstName"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"John"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"forcePasswordChange"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"id"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastAction"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastActionOn"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastActionOnLocal"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastLoginOn"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"lastName"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"Doe"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"note"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"John Doe is an Admin on this Portal"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"password"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"JohnDoe1"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"phone"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"8054445555"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"roles"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">[</span><span style="color:#555555;">
</span><span style="color:#ffffff;">{</span><span style="color:#555555;">
</span><span style="color:#555555;">"acctRequireTwoFA"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"associatedUserCount"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"customHelpLabel"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"Internal Support Resources"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"customHelpURL"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"https://logicmonitor.com/support"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"description"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"Administrator can do everything, including security-sensitive actions"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"enableRemoteSessionInCompanyLevel"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"id"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">0</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"name"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"administrator"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"privileges"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">[</span><span style="color:#555555;">
</span><span style="color:#ffffff;">{</span><span style="color:#555555;">
</span><span style="color:#555555;">"objectId"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"123"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"objectName"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"objectType"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"dashboard group"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"operation"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"write"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"subOperation"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#555555;">
</span><span style="color:#ffffff;">}</span><span style="color:#555555;">
</span><span style="color:#ffffff;">]</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"requireEULA"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"twoFARequired"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">true</span><span style="color:#555555;">
</span><span style="color:#ffffff;">}</span><span style="color:#555555;">
</span><span style="color:#ffffff;">]</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"smsEmail"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"8054445555@logicmonitor.com"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"smsEmailFormat"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"sms"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"status"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"active"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"timezone"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"America/Los Angeles"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"trainingEmail"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"string"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"twoFAEnabled"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#ffffff;">false</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"username"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"John"</span><span style="color:#ffffff;">,</span><span style="color:#555555;">
</span><span style="color:#555555;">"viewPermission"</span><span style="color:#ffffff;">:</span><span style="color:#555555;"> </span><span style="color:#555555;">"{\n\n\"Hosts\" : true,\n\"Services\" : true,\n\"Reports\" : true,\n\"Dashboards\" : true,\n\"Alerts\" : true,\n\"Settings\" : true\n}"</span><span style="color:#555555;">
</span><span style="color:#ffffff;">}</span>
Vitor_Santos
·5 years agoYeah @Stuart Weenig is right.
We had this type of need in the past (doing some sort of user management) when automating some processes at our company.
Unfortunately I no longer have the script ?
But, this was accomplished on Python & exploring the API v3. What allowed me discover the calls I needed was performing the operation on the browser & then analyzing the calls/etc... with the dev. tools (F12 on Chrome for example).
LM User
·5 years agoUser group management doesn't exist in v2 of the API. You can try v3 of the API, which is completely undocumented, unpublished, and unsupported (but pretty easy to reverse engineer using developer tools in your browser).