Group API Calls
Create a User Group
This call creates a user group. User groups allow you to assign apps, content and roles to multiple users. For example, you might create a Managers group if you want all department managers to be administrators for apps and content.
You can easily create static account groups. You can also create dynamic account groups, but this requires expertise in ANTLR expression, therefore, creating dynamic account groups is much easier from the Ivanti Neurons for MDM user interface.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
POST
Request URI
api/v1/group
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
name | Request body | Specify the name of the group. |
|
source | Request body | Valid value: LOCAL | LOCAL |
membershipStatic | Request Body | Specifies to create a static account group. Values: true false If the membershipStatic parameter is not present, then the system expects the definition parameter decribed below, which creates a dynamic account group. | true |
definition | Request body | Use only if you want to specify a dynamic account group. This requires an ANTLR expression. We recommend using the Ivanti Neurons for MDM user interface to create dynamic account groups, unless you are an expert in ANTLR expression. If you do use an ANTLR expression, only use the attribute and value pairs available in the user interface. Mixing and matching is unsupported and may result in an unstable system. Only use the values offered by Ivanti Neurons for MDM at position of Users > User Groups > + Add that correspond with the attribute you choose at position : |
|
Example Request
Example Request URL
https://[Ivanti Neurons for MDM]/api/v1/group
Example Request Body
name=ForDocs2
source=LOCAL
membershipStatic=true
Response Fields
Field | Description |
---|---|
errors | Errors returned by the call |
result |
|
id | Internal ID for the user |
createdBy | Who created the group. |
modifiedBy | Who modified the group. |
name | Name of the group. |
source | Can be LOCAL. LDAP may be supported later. |
mutable | Can be modified by default. |
membershipStatic |
|
Example Response
{
"errors": null,
"result": {
"id": 2168413,
"createdBy": 12533,
"modifiedBy": 12533,
"name": "ForDocs2",
"source": "LOCAL",
"mutable": true,
"membershipStatic": true
}
}
List User Groups
This call lists user groups.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
GET
Request URI
api/v1/group
Example Request
curl 'https:// [Ivanti Neurons for MDM]/api/v1/group'
Response Fields
Field | Description |
---|---|
errors |
|
result |
|
searchResults |
|
id |
|
modifiedAt |
|
modifiedBy |
|
name |
|
description |
|
source |
|
mutable | Can be modified by default. |
definition |
|
membershipStatic |
|
idpGroupDeleted |
|
applicationCount |
|
lastRefresh |
|
treeView |
|
operator |
|
rule |
|
field |
|
cfAttributeName |
|
operator |
|
values |
|
All Users" |
|
children |
|
totalCount |
|
offset |
|
limit |
|
Example Response
{
"errors": null,
"result": {
"searchResults": [
{
"id": 11776,
"modifiedAt": 1389288442684,
"modifiedBy": 1,
"name": "All Users",
"description": "All Users",
"source": "LOCAL",
"mutable": true,
"definition": "ACCOUNTGROUP EQ 'All Users'",
"membershipStatic": true,
"idpGroupDeleted": false,
"applicationCount": 24,
"lastRefresh": 1519943024892,
"treeView": {
"operator": "LEAF",
"rule": {
"field": "ACCOUNTGROUP",
"cfAttributeName": null,
"operator": "EQ",
"values": [
"All Users"
]
},
"children": null
}
},
…
],
"totalCount": 16,
"offset": 0,
"limit": 20
}
}
Update Accounts for Group
This call updates accounts for a group.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
PUT
Request URI
api/v1/group/{id}/accounts
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
groupId | Request Body | The group id of the account that must be updated. | 38041 |
Example Request
Example Request URL
curl -X PUT 'https://<hostname>/api/v1/rule_group/38041/devices?groupId=38041’ \
--header 'Authorization: Basic =='\
--header 'Content-Type: application/json' \
--data-raw '{
deviceIdList” : [111111]
}’
Example Response
{
"errors": null,
"result": 0
}
Check Delete Viability
This call determines whether a group can be deleted.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
GET
Request URI
/v1/group?checkDeleteViability=true&ids=<ids>
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
ids | Path | Groups for which to check delete viability. Use comma separated list for multiple IDs. You can get the IDs using the List User Groups call. | 4677669 |
Example Request
curl 'https://[Ivanti Neurons for MDM]/api/v1/group?checkDeleteViability=true&ids=4677669'
Example Response
{
"errors": null,
"result": {
"searchResults": [ ],
"totalCount": 0,
"offset": 0,
"limit": 0
}
}
Delete Group
This call deletes a group. You can run the Check Delete Viability call first to check whether the delete call would be successful.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
DELETE
Request URI
api/v1/group?id=<id>
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
id | Path | ID of group to delete. You can get the ID using the List User Groups call. | 4677669 |
Example Request
curl 'https://[Ivanti Neurons for MDM]/api/v1/group?id=4677669' -X DELETE
Example Response
{
"errors": null,
"result": 1
}
Delete Static Group Membership
This call deletes a static group membership.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
DELETE
Request URI
api/v1/rule_group/{id}/devices
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
groupId | Request Body | The device identifier | 38041 |
deviceIds | Request Body | List of device ids |
|
Example Request
curl -X DELETE 'https://<hostname>/api/v1/rule_group/38041/devices’ \
--header 'Authorization: Basic =='\
--header 'Content-Type: application/json' \
--data-raw '{
deviceIds” : [111111]
}’
Example Response
{
"errors": null,
"result": 0
}
Assign User to Group, Method 1
This call associates a user to a group.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
PUT
Request URI
api/v1/account
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
accountIds | Path | Accounts to assign to the group. | 102000 |
groupIds | Path | Groups to which to assign the users. | 11124,11125 |
append | Path | Boolean, TRUE or FALSE, specifies whether to assign the given accounts to the given groups, or to replace the current group memberships of the given accounts with the new given groups. | TRUE |
Example Request
https://[Ivanti Neurons for MDM]/api/v1/account?accountIds=10200&groupIds=11124,11125&append=true
Example Response
{
"errors":null,
"result":true
}
Assign User to Group, Method 2
This call assigns a user(s) to a group.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
PUT
Request URI
api/v1/group/{id}/accounts
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
id | Path | ID of the group | 11003 |
| Path |
|
|
| Path |
|
|
accountIds | Request body | Accounts to assign to the group. | 10004 |
append | Request body | Boolean, TRUE or FALSE, specifies whether to assign the group members to the group or to replace the group members with the new members | TRUE |
| Request body |
|
|
Example Request
Example Request URL
https://cluster057.auto.acme.com/api/v1/group/11003/accounts
Example Request Body
accountIds=10004
append=TRUE
Example Response
{
"errors":null,
"result":true
}
Create a Device Group
This call creates a device rule group.
Authentication
This call requires tenant admin credentials.
HTTP Method
POST
Request URI
/api/v1/rule_group
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
name | Request body | Rule group name | All Devices |
type | Request body | Value is DEVICE | DEVICE |
dmPartitionId | Request body | Device space ID. You can get this using the GET Tenant call | 23003 |
description | Request body | Describes the new group | Test+for+docs |
definition | Request body | The rule group criteria. You must add _# to the attribute name if creating a device group using numerical custom device attributes. | definition=PRETTYMODEL+EQ+'HTC+One+X'+ |
Example Request
Example Request URL
http://[Ivanti Neurons for MDM]/api/v1/rule_group
Example Request Body
name=TestForDocs
type=DEVICE
description=Test+for+docs
dmPartitionId=23003
definition=PRETTYMODEL+EQ+'HTC+One+X'+
Response Fields
200 OK
Example Response
{
"errors": null,
"result": {
"id": 39340
"createdAt": null,
"createdBy": 10044,
"modifiedAt": null,
"modifiedBy": 10044,
"name": "TestForDocs",
"description": "Test group for docs",
"type": "DEVICE",
"definition": "PRETTYMODEL EQ 'iPad' ",
"mutable": true,
"memberCount": 0,
"dmPartitionId": 23003,
"treeView": {
"operator": "LEAF",
"rule": {
"field": "PRETTYMODEL",
"operator": "EQ",
"values": [
"iPad"
]
},
"children": null
},
"actionExceptionCodes": null,
"assignedConfigs": null,
"assignedPolicies": null
}
}
Get List of Device Groups
This call returns a list of all device groups. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return.
Authentication
This call requires tenant admin credentials.
HTTP Method
GET
Request URI
/api/v1/rule_group?dmPartitionId=id&type=DEVICE
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
dmPartitionId | Query | dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call. | 23000 |
assignedPoliciesAndConfigs | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response. | assignedPoliciesAndConfigs=false |
memberCount | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time. | memberCount=false |
type=DEVICE | Query | Directs the call to retrieve all device groups. | type=DEVICE |
Example Requests
Get list of device groups with all available data
https://[Ivanti Neurons for MDM]/api/v1/rule_group?dmPartitionId=23003&type=DEVICE
Get list of device groups without assigned policies, configurations, and member counts
https://[Ivanti Neurons for MDM]/api/v1/rule_group?dmPartitionId=23003&type=DEVICE&assignedPoliciesAndConfigs=false&memberCount=false
Response Fields
Field | Description |
---|---|
errors |
|
result |
|
totalCount |
|
queryTime |
|
searchResults |
|
id |
|
createdAt |
|
createdBy |
|
modifiedAt |
|
modifiedBy |
|
dmPartitionId |
|
name |
|
description |
|
type |
|
definition |
|
mutable | Can be modified by default. |
memberCount | Count not included if call issued with memberCount=false |
systemName |
|
membershipStatic |
|
treeView |
|
actionExceptionCodes |
|
assignedConfigs |
|
id | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionId | Not included if call issued with assignedPoliciesAndConfigs=false. |
name | Not included if call issued with assignedPoliciesAndConfigs=false. |
systemName | Not included if call issued with assignedPoliciesAndConfigs=false. |
description | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionDistributionType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyRuleType | Not included if call issued with assignedPoliciesAndConfigs=false. |
uuid | Not included if call issued with assignedPoliciesAndConfigs=false. |
enabled | Not included if call issued with assignedPoliciesAndConfigs=false. |
priority | Not included if call issued with assignedPoliciesAndConfigs=false. |
configurationMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
distributionMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
priorityMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
deletable | Not included if call issued with assignedPoliciesAndConfigs=false. |
totalDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
installedDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
violationDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedAt | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedBy | Not included if call issued with assignedPoliciesAndConfigs=false. |
actions | Not included if call issued with assignedPoliciesAndConfigs=false. |
systemDefault | Not included if call issued with assignedPoliciesAndConfigs=false. |
assignedPolicies |
|
id | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionId | Not included if call issued with assignedPoliciesAndConfigs=false. |
name | Not included if call issued with assignedPoliciesAndConfigs=false. |
systemName | Not included if call issued with assignedPoliciesAndConfigs=false. |
description | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionDistributionType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyRuleType | Not included if call issued with assignedPoliciesAndConfigs=false. |
uuid | Not included if call issued with assignedPoliciesAndConfigs=false. |
enabled | Not included if call issued with assignedPoliciesAndConfigs=false. |
priority | Not included if call issued with assignedPoliciesAndConfigs=false. |
configurationMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
distributionMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
priorityMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
deletable | Not included if call issued with assignedPoliciesAndConfigs=false. |
totalDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
installedDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
violationDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedAt | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedBy | Not included if call issued with assignedPoliciesAndConfigs=false. |
actions | Not included if call issued with assignedPoliciesAndConfigs=false. |
systemDefault | Not included if call issued with assignedPoliciesAndConfigs=false. |
staticMembers |
|
offset |
|
limit |
|
Example Responses
Get list of device groups withall available data
{
"errors": null,
"result": {
"totalCount": 43,
"queryTime": 0,
"searchResults": [
{
"id": 38009,
"createdAt": null,
"createdBy": null,
"modifiedAt": null,
"modifiedBy": null,
"dmPartitionId": 23003,
"name": "All Devices",
"description": "Targets any type of device.",
"type": "DEVICE",
"definition": null,
"mutable": false,
"memberCount": 510,
"systemName": "ALL_DEVICES",
"membershipStatic": false,
"treeView": null,
"actionExceptionCodes": null,
"assignedConfigs": [
{
"id": null,
"dmPartitionId": null,
"name": "Privacy",
"systemName": null,
"description": null,
"dmPartitionDistributionType": null,
"policyType": "PRIVACY",
"policyRuleType": "NONE",
"uuid": null,
"enabled": false,
"priority": null,
"configurationMutable": false,
"distributionMutable": false,
"priorityMutable": false,
"deletable": false,
"totalDeviceCount": 0,
"installedDeviceCount": 0,
"violationDeviceCount": 0,
"modifiedAt": null,
"modifiedBy": null,
"actions": null,
"systemDefault": false
},
…
],
"assignedPolicies": [
{
"id": null,
"dmPartitionId": null,
"name": "Out of Contact ",
"systemName": null,
"description": null,
"dmPartitionDistributionType": null,
"policyType": "POLICY",
"policyRuleType": "OUT_OF_CONTACT",
"uuid": null,
"enabled": false,
"priority": null,
"configurationMutable": false,
"distributionMutable": false,
"priorityMutable": false,
"deletable": false,
"totalDeviceCount": 0,
"installedDeviceCount": 0,
"violationDeviceCount": 0,
"modifiedAt": null,
"modifiedBy": null,
"actions": null,
"systemDefault": false
},
…
],
"staticMembers": null
},
{
…
],
"offset": 0,
"limit": 50
}
}
Get list of device groups without assigned policies, configurations, and member counts
{ "errors": null, "result": { "searchResults": [ { "id": 40165, "createdAt": null, "createdBy": null, "modifiedAt": null, "modifiedBy": null, "visible": true, "dmPartitionId": 23504, "name": "All Devices", "description": "Targets any type of device.", "type": "DEVICE", "definition": null, "mutable": false, "memberCount": 0, "systemName": "ALL_DEVICES", "membershipStatic": false, "dmPartitionName": "Default Space", "treeView": null, "actionExceptionCodes": null, "assignedConfigs": null, "assignedPolicies": null, "applicationCount": 0, "staticMembers": [] }, ... ], "totalCount": 96, "offset": 0, "limit": 50 } }
Get General Information about a Device Group
This call returns a general information about a device group, for example, the query that is used to assemble the members of the device group. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return. You can use this call to help contruct the Get Device Details by Device Group call that gets all details about the devices in a device group. The return values in rule container (field, cfAttributeName, operator, and values) are the ones you use to help construct the Get Device Details by Device Group call.
Authentication
This call requires tenant admin credentials.
HTTP Method
GET
Request URI
/api/v1/rule_group/ruleGroupId?dmPartitionId=dmPartitionId&type=DEVICE
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
ruleGroupId | Path | Device group id. You can get this with the GET /api/v1/rule_group?dmPartitionId=id&type=DEVICE call. | 38010 |
dmPartitionId
| Query | dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call. | 23003 |
assignedPoliciesAndConfigs | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response. | assignedPoliciesAndConfigs=false |
memberCount | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time. | memberCount=false |
type=DEVICE | Query | Directs the call to retrieve all device groups. | type=DEVICE |
Response Fields
Field | Decription |
---|---|
errors |
|
result |
|
id |
|
createdAt |
|
createdBy |
|
modifiedAt |
|
modifiedBy |
|
dmPartitionId |
|
name |
|
description |
|
type |
|
definition |
|
mutable | Can be modified by default. |
memberCount | Count not included if call issued with memberCount=false. |
systemName |
|
membershipStatic |
|
treeView |
|
operator |
|
rule | The values in this container (field, cfAttributeName, operator, and values) are the ones you use to construct the Get Device Details by Device Group call. |
field |
|
cfAttributeName |
|
operator |
|
values |
|
children |
|
actionExceptionCodes |
|
assignedConfigs | Detail not included if call issued with assignedPoliciesAndConfigs=false. |
assignedPolicies | Detail not included if call issued with assignedPoliciesAndConfigs=false. |
staticMembers |
|
Example Requests
Get list of device groups with all available data
https://[Ivanti Neurons for MDM]/api/v1/rule_group/40165?type=DEVICE&dmPartitionId=23504
Get list of device groups without assigned policies, configurations, and member counts
https://[Ivanti Neurons for MDM]/api/v1/rule_group/40165?type=DEVICE&dmPartitionId=23504&assignedPoliciesAndConfigs=false&memberCount=false
Example Responses
Get list of device groups with all available data
{ "errors": null, "result": { "id": 40165, "createdAt": null, "createdBy": null, "modifiedAt": null, "modifiedBy": null, "visible": true, "dmPartitionId": 23504, "name": "All Devices", "description": "Targets any type of device.", "type": "DEVICE", "definition": null, "mutable": false, "memberCount": 153, "systemName": "ALL_DEVICES", "membershipStatic": false, "dmPartitionName": "Default Space", "treeView": null, "actionExceptionCodes": null, "assignedConfigs": [ { "id": 955365, "dmPartitionId": 23504, "name": "win_bridge_gpo", "systemName": null, "description": null, "dmPartitionDistributionType": "NONE", "policyType": "WINDOWS_GPO_ADMX", "policyRuleType": "NONE", "uuid": "17c0110b-6794-4051-9342-f8ea19cdb98a", "enabled": true, "priority": null, "cloneable": true, "configurationMutable": true, "distributionMutable": true, "priorityMutable": true, "deletable": true, "totalDeviceCount": 0, "installedDeviceCount": 0, "violationDeviceCount": 0, "modifiedAt": 1675942023874, "modifiedBy": { "id": 67076, "accountUid": "[email protected]", "displayName": "Admin-qa-0" }, "actions": null, "cloneableAcrossSpace": false, "clonedFromDefaultSpace": false, "resourceSupport": { "links": [] }, ... ], "applicationCount": null, "staticMembers": [] } }
Get list of device groups without assigned policies, configurations, and member counts
{ "errors": null, "result": { "id": 40165, "createdAt": null, "createdBy": null, "modifiedAt": null, "modifiedBy": null, "visible": true, "dmPartitionId": 23504, "name": "All Devices", "description": "Targets any type of device.", "type": "DEVICE", "definition": null, "mutable": false, "memberCount": 0, "systemName": "ALL_DEVICES", "membershipStatic": false, "dmPartitionName": "Default Space", "treeView": null, "actionExceptionCodes": null, "assignedConfigs": null, "assignedPolicies": null, "applicationCount": null, "staticMembers": [] } }
Get Device Group by Name Across Partitions
This call returns a general information about a device group searched for by name across partitions. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return.
Authentication
This call requires tenant admin credentials.
HTTP Method
GET
Request URI
/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=ids
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
q | Query | Device group name. You can get this with the GET /api/v1/rule_group?dmPartitionId=id&type=DEVICE call. | All Devices |
dmPartitionIds
| Query | A comma separated list of partitions across which to search for the rule group. You can get partition IDs with the GET /api/v1/metadata/tenant call. | 23504 |
assignedPoliciesAndConfigs | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response. | assignedPoliciesAndConfigs=false |
memberCount | Query | Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time. | memberCount=false |
type=DEVICE | Query | Directs the call to retrieve all device groups. | type=DEVICE |
Response Fields
|
|
---|---|
Field | Description |
errors |
|
result |
|
searchResults |
|
id |
|
createdAt |
|
createdBy |
|
modifiedAt |
|
modifiedBy |
|
visible |
|
dmPartitionId |
|
name |
|
description |
|
type |
|
definition |
|
mutable |
|
memberCount | Count not included if call issued with memberCount=false. |
systemName |
|
membershipStatic |
|
dmPartitionName |
|
treeView |
|
actionExceptionCodes |
|
assignedConfigs |
|
id | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionId | Not included if call issued with assignedPoliciesAndConfigs=false. |
name | Not included if call issued with assignedPoliciesAndConfigs=false. |
systemName | Not included if call issued with assignedPoliciesAndConfigs=false. |
description | Not included if call issued with assignedPoliciesAndConfigs=false. |
dmPartitionDistributionType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyType | Not included if call issued with assignedPoliciesAndConfigs=false. |
policyRuleType | Not included if call issued with assignedPoliciesAndConfigs=false. |
uuid | Not included if call issued with assignedPoliciesAndConfigs=false. |
enabled | Not included if call issued with assignedPoliciesAndConfigs=false. |
priority | Not included if call issued with assignedPoliciesAndConfigs=false. |
cloneable | Not included if call issued with assignedPoliciesAndConfigs=false. |
configurationMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
distributionMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
priorityMutable | Not included if call issued with assignedPoliciesAndConfigs=false. |
deletable | Not included if call issued with assignedPoliciesAndConfigs=false. |
totalDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
installedDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
violationDeviceCount | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedAt | Not included if call issued with assignedPoliciesAndConfigs=false. |
modifiedBy | Not included if call issued with assignedPoliciesAndConfigs=false. |
id | Not included if call issued with assignedPoliciesAndConfigs=false. |
accountUid | Not included if call issued with assignedPoliciesAndConfigs=false. |
displayName | Not included if call issued with assignedPoliciesAndConfigs=false. |
actions |
|
cloneableAcrossSpace |
|
clonedFromDefaultSpace |
|
resourceSupport |
|
links |
|
status |
|
error |
|
systemDefault |
|
applicationCount |
|
staticMembers |
|
totalCount |
|
offset |
|
limit |
|
Example Requests
Get list of device groups with all available data
https://[Ivanti Neurons for MDM]/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=23504
Get list of device groups without assigned policies, configurations, and member counts
https://[Ivanti Neurons for MDM]/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=23504&assignedPoliciesAndConfigs=false&assignedPolicies=false&memberCount=false
Example Responses
Get list of device groups with all available data
{ "errors": null, "result": { "searchResults": [ { "id": 40165, "createdAt": null, "createdBy": null, "modifiedAt": null, "modifiedBy": null, "visible": true, "dmPartitionId": 23504, "name": "All Devices", "description": "Targets any type of device.", "type": "DEVICE", "definition": null, "mutable": false, "memberCount": 153, "systemName": "ALL_DEVICES", "membershipStatic": false, "dmPartitionName": "Default Space", "treeView": null, "actionExceptionCodes": null, "assignedConfigs": [ { "id": 1108579, "dmPartitionId": 23504, "name": "Test Cert1", "systemName": null, "description": null, "dmPartitionDistributionType": "ALL", "policyType": "CERTIFICATE", "policyRuleType": "NONE", "uuid": "bdf2b679-c824-4276-97ce-31d04d99292d", "enabled": true, "priority": null, "cloneable": true, "configurationMutable": true, "distributionMutable": true, "priorityMutable": true, "deletable": true, "totalDeviceCount": 0, "installedDeviceCount": 0, "violationDeviceCount": 0, "modifiedAt": 1675943741940, "modifiedBy": { "id": 67076, "accountUid": "[email protected]", "displayName": "Admin-qa-0" }, "actions": null, "cloneableAcrossSpace": true, "clonedFromDefaultSpace": false, "resourceSupport": { "links": [] }, "status": null, "error": null, "systemDefault": false }, ... ], "applicationCount": 0, "staticMembers": [] } ], "totalCount": 1, "offset": 0, "limit": 50 } }
Get list of device groups without assigned policies, configurations, and member counts
{ "errors": null, "result": { "searchResults": [ { "id": 40165, "createdAt": null, "createdBy": null, "modifiedAt": null, "modifiedBy": null, "visible": true, "dmPartitionId": 23504, "name": "All Devices", "description": "Targets any type of device.", "type": "DEVICE", "definition": null, "mutable": false, "memberCount": 0, "systemName": "ALL_DEVICES", "membershipStatic": false, "dmPartitionName": "Default Space", "treeView": null, "actionExceptionCodes": null, "assignedConfigs": null, "assignedPolicies": null, "applicationCount": 0, "staticMembers": [] } ], "totalCount": 1, "offset": 0, "limit": 50 } }
Get Device Details by Device Group
This call returns a list and details of all devices in a device group within the device space specified by the parameter dmPartitionId. A device group is also known as a rule group. You will need to issue the call that describes the rules used to construct the parent device group to construct this call.
Authentication
This call requires tenant admin credentials.
HTTP Method
GET
Request URI
/api/v1/device?q=&rows=rows&start=start&dmPartitionId=dmPartitionId&fq=field+operator+fieldValue’&sortFields[0].name=sortField&sortFields[0].order=sortFieldOrder
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
rows | Query | Integer. How many rows to retrieve. Do not send a value larger than 500 with the rows parameter because the APIs do not permit a value of greater than 500. See Controlling Results . | 50 |
start | Query | Integer. Where in the record set to start displaying records. | 0 |
dmPartitionId
| Query | dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call. | 23003 |
fq | Query | The search query. You must add _# to the attribute name if using numerical custom device attributes as part of the search criteria. | OSVERSION+EQ+%275.0%27 |
sortField | Query | The field on which to sort the results. | lastCheckin |
sortFieldOrder | Query | How to sort the results, ascending or descending. | ASC |
Example Request
https://[Ivanti Neurons for MDM]/api/v1/device?q=&rows=50&start=0&dmPartitionId=23003&fq=OSVERSION+EQ+%275.0%27&sortFields%5B0%5D.name=lastCheckin&sortFields%5B0%5D.order=ASC
Response Fields
Field | Description |
---|---|
errors | |
result | |
totalCount | |
searchResults | |
id | |
mdmChannelId | Identifier of MDMchannel which is generated by Ivanti Neurons for MDM. |
phoneNumber | |
deviceModel | |
deviceName | |
platformType | |
platformVersion | |
osBuildVersion | |
lastCheckin | |
registrationState | |
displayName | |
firstName | |
lastName | |
uid | |
emailAddress | |
clientVersion | |
manufacturer | |
imei | |
imsi | |
locatorServiceEnabled | |
meid | |
wifiMacAddress | |
serialNumber | |
cellularTechnology | |
currentCarrierNetwork | |
subscriberCarrierNetwork | |
locale | |
ownershipType | |
complianceState | |
roaming | |
supervised | |
udid | |
clientLastCheckin | |
iccid | |
currentMcc | |
currentMnc | |
subscriberMcc | |
subscriberMnc | |
prettyModel | |
policyViolationCount | |
latitude | |
longitude | |
locationLastCapturedAt | |
lastRegistrationTime | |
lostModeEnabled | |
multiUser | |
clientDeviceIdentifier | |
quarantined | |
jailbroken | |
passcodeCompliant | True if the passcode is compliant with all the requirements on the device, including Exchange and other accounts. Applicable for iOS only (null for the other platforms). |
passcodeCompliantWithProfiles | True if the passcode is compliant with EMM profiles. Applicable for iOS and Android only (null for other platforms). |
blocked | |
locationStatusDetail | |
androidWorkContainerEnabled | |
androidWorkUid | |
fcmEnabled | |
actionExceptionCodes | |
violatedPolicies | |
supportLockMessage | |
ownerId | |
legalOwnerId | Legal owner of the device, for shared iPad devices. |
legalOwnerEmailAddress | Email address of the device legal owner, for shared iPad devices. |
kioskState | |
customAttributes | |
easDeviceIdentifiers | |
appEasIdentifiers | |
androidDeviceOwnerModeEnabled | |
windowsDeviceType | |
secureAppsStatus | |
secureAppsEncryptionStatus | |
secureAppsEncryptionMode | |
tpmSpecificationVersion | |
bridgeVersion | |
bridgeDeviceDataLastCapturedAt | |
lastHotfixId | |
lastHotfixInstalledOn | |
offset | |
limit | |
queryTime | |
facetedResults | |
LAST_HOTFIX_ID | |
SUBSCRIBERCARRIERNETWORK | |
UNKNOWN | |
COMPLIANCESTATE | |
false | |
true | |
SUPERVISED | |
false | |
SECUREAPPSSTATUS | |
ANDROIDDEVICEOWNERMODEENABLED | |
false | |
PRETTYMODEL | |
ACCOUNTGROUP | |
REGISTRATIONSTATE | |
ACTIVE | |
ACCOUNTENABLED | |
MULTIUSER | |
ANDROIDWORKENABLED | |
OSBUILDVERSION | |
KIOSKSTATE | |
ANDROIDSECURITYPATCHLEVEL | |
ROAMING | |
LOSTMODEENABLED | |
JAILBROKEN | |
PLATFORMTYPE | |
OWNERSHIPTYPE | |
totalUnfilteredResultCount |
Example Response
{ "errors": null, "result": { "totalCount": 2, "searchResults": [ { "id": 1169944, "mdmChannelId": "adc04c0b-724a-49fd-a665-730ce6c88289", "phoneNumber": null, "deviceModel": "MacBookPro11,1", "deviceName": "Stuart's MacBook Pro", "platformType": "OSX", "platformVersion": "10.13.3", "osBuildVersion": "17D47", "lastCheckin": 1517353729653, "registrationState": "ACTIVE", "displayName": "Stuart Cordery", "firstName": "Stuart", "lastName": "Cordery", "uid": "[email protected]", "emailAddress": "[email protected]", "clientVersion": null, "manufacturer": "Apple Inc.", "imei": "", "imsi": null, "locatorServiceEnabled": false, "meid": null, "wifiMacAddress": "60:f8:1d:b1:ed:c8", "serialNumber": "C02NT2XDG3QK", "cellularTechnology": "device__p_cellular_technology", "currentCarrierNetwork": "UNKNOWN", "subscriberCarrierNetwork": "UNKNOWN", "locale": null, "ownershipType": "UNKNOWN", "complianceState": true, "roaming": false, "supervised": false, "udid": "6A13DA42-D60E-5B46-BBFC-D88846AAD3B0", "clientLastCheckin": null, "iccid": "", "currentMcc": null, "currentMnc": null, "subscriberMcc": null, "subscriberMnc": null, "prettyModel": "MacBookPro11,1", "policyViolationCount": 0, "latitude": null, "longitude": null, "locationLastCapturedAt": null, "lastRegistrationTime": 1517357240374, "lostModeEnabled": false, "multiUser": false, "clientDeviceIdentifier": null, "quarantined": false, "jailbroken": false, "passcodeCompliant": null,
"passcodeCompliantWithProfiles": null, "blocked": false, "locationStatusDetail": null, "androidWorkContainerEnabled": false, "androidWorkUid": null, "fcmEnabled": false, "actionExceptionCodes": [ ], "violatedPolicies": [ ], "supportLockMessage": false, "ownerId": 1110567, "legalOwnerId": null, "legalOwnerEmailAddress": null, "kioskState": "NOT_CONFIGURED", "customAttributes": null, "easDeviceIdentifiers": [ ], "appEasIdentifiers": null, "androidDeviceOwnerModeEnabled": false, "windowsDeviceType": null, "secureAppsStatus": null, "secureAppsEncryptionStatus": null, "secureAppsEncryptionMode": null, "tpmSpecificationVersion": null, "bridgeVersion": null, "bridgeDeviceDataLastCapturedAt": null, "lastHotfixId": null, "lastHotfixInstalledOn": null }, { "id": 197483, "mdmChannelId": "3e85199d-1774-4032-9ec1-aebd08bfd442", "phoneNumber": "+447480308390", "deviceModel": "iPhone6,2", "deviceName": "iPhone", "platformType": "IOS", "platformVersion": "8.1.2", "osBuildVersion": "12B440", "lastCheckin": 1422649201021, "registrationState": "ACTIVE", "displayName": "Stuart Cordery", "firstName": "Stuart", "lastName": "Cordery", "uid": "[email protected]", "emailAddress": "[email protected]", "clientVersion": "2.9.0 (2.9.0.15)", "manufacturer": "Apple Inc.", "imei": "35 876105 566321 0", "imsi": null, "locatorServiceEnabled": false, "meid": null, "wifiMacAddress": "90:b9:31:73:5b:f6", "serialNumber": "F2LLMEE9FFG8", "cellularTechnology": "device__p_cellular_technology", "currentCarrierNetwork": "UNKNOWN", "subscriberCarrierNetwork": "Three", "locale": null, "ownershipType": "UNKNOWN", "complianceState": false, "roaming": true, "supervised": false, "udid": "f831a81049c541ad78b12e09db0849e06ad6dadb", "clientLastCheckin": 1422640798139, "iccid": "8944 2001 0071 0054 856", "currentMcc": "310", "currentMnc": "410", "subscriberMcc": "234", "subscriberMnc": "20", "prettyModel": "iPhone 5S", "policyViolationCount": 3, "latitude": 33.651546, "longitude": -117.99167, "locationLastCapturedAt": 1422640798182, "lastRegistrationTime": 1418162611699, "lostModeEnabled": false, "multiUser": false, "clientDeviceIdentifier": "0B6DC679-A419-4288-951A-C3C470097C71", "quarantined": false, "jailbroken": false, "passcodeCompliant": true, "passcodeCompliantWithProfiles": true, "blocked": false, "locationStatusDetail": { "lastUpdatedAt": 1422640798182, "locationStatus": "AVAILABLE" }, "androidWorkContainerEnabled": false, "androidWorkUid": null, "fcmEnabled": false, "actionExceptionCodes": [ ], "violatedPolicies": [ "International Roaming Devices", "MDM / Device Administration Disabled", "Out of Contact " ], "supportLockMessage": true, "ownerId": 1110567,
"legalOwnerId": null, "legalOwnerEmailAddress": null, "kioskState": "NOT_CONFIGURED", "customAttributes": null, "easDeviceIdentifiers": [ "ApplF2LLMEE9FFG8" ], "appEasIdentifiers": null, "androidDeviceOwnerModeEnabled": false, "windowsDeviceType": null, "secureAppsStatus": null, "secureAppsEncryptionStatus": null, "secureAppsEncryptionMode": null, "tpmSpecificationVersion": null, "bridgeVersion": null, "bridgeDeviceDataLastCapturedAt": null, "lastHotfixId": null, "lastHotfixInstalledOn": null } ], "offset": 0, "limit": 50, "queryTime": 1, "facetedResults": { "LAST_HOTFIX_ID": { }, "SUBSCRIBERCARRIERNETWORK": { "UNKNOWN": 1, "Three": 1 }, "COMPLIANCESTATE": { "false": 1, "true": 1 }, "SUPERVISED": { "false": 2 }, "SECUREAPPSSTATUS": { }, "ANDROIDDEVICEOWNERMODEENABLED": { "false": 2 }, "PRETTYMODEL": { "iPhone 5S": 1, "MacBookPro11,1": 1 }, "ACCOUNTGROUP": { "All Users": 2 }, "REGISTRATIONSTATE": { "ACTIVE": 2 }, "ACCOUNTENABLED": { "true": 2 }, "MULTIUSER": { "false": 2 }, "ANDROIDWORKENABLED": { "false": 2 }, "OSBUILDVERSION": { "12B440": 1, "17D47": 1 }, "KIOSKSTATE": { "NOT_CONFIGURED": 2 }, "ANDROIDSECURITYPATCHLEVEL": { }, "ROAMING": { "false": 1, "true": 1 }, "LOSTMODEENABLED": { "false": 2 }, "JAILBROKEN": { "false": 2 }, "PLATFORMTYPE": { "OSX": 1, "IOS": 1 }, "OWNERSHIPTYPE": { "UNKNOWN": 2 } }, "totalUnfilteredResultCount": 0 } }
Add or Remove a Device to or from a Device Group
This call adds or removes a device to or from a device group. To add a device, include its deviceId in the call. To remove a device, exclude its deviceId from the call.
Authentication
This call requires Tenant Admin credentials.
HTTP Method
POST
Request URI
/api/v1/rule_group/deviceGroupId/devices
Request Parameters
Parameter | Argument Type | Description | Example Value |
---|---|---|---|
deviceGroupId | Query Path | ID of the device group. | 47803 |
deviceIds | Request Body | IDs of the devices to add to the group. Exlude the ID to remove the corresponding device from the group. | "{""deviceIds"":[""337552""]}" |
Example Request
Add a Device to a Device Group
curl "https://[Ivanti Neurons for MDM]/api/v1/rule_group/47808/devices" --data-binary "{""deviceIds"":[""337552""]}"
Remove a Device from a Device Group
curl "https://[Ivanti Neurons for MDM /api/v1/rule_group/47808/devices" --data-binary "{""deviceIds"":[]}"