SimpleMDM API Change Log

Groups Preview Release - March 19, 2025

*Only impacts accounts that opt-in to the Groups preview. However, changes will impact all accounts at the time of the official release.

Assignment Groups API

  • group_type will return static for static groups and dynamic for dynamic groups.

  • Create :

    • Create endpoint will now create a new static group
    • type and install_type properties are deprecated. These properties should be set per-app using the associate_app endpoint.

  • Assign App endpoint will now accepts the following parameters:

    • deployment_type : Optional. Type of assignment group. Must be one of standard (for MDM app/media deployments) or munki for Munki app deployments.

    • install_type : Optional. The install type for munki assignment groups. Must be one of managed, self_serve, default_installs or managed_updates. This setting has no effect for non-munki (standard) assignment groups. Defaults to managed.

  • Assign Device Group and Unassign Device Group have been removed for V2 Group-enabled accounts. It is suggested that you set up a dynamic group with a filter of the static group IDs you would like to assign.

  • There is not yet an API to configure dynamic group filters.

Device Groups API

  • The Device Groups endpoints are now deprecated. Going forward, it is recommended that you use the Assignment Groups endpoints to manage groups.

  • Device Groups have been migrated to Static Groups in v2 groups. As part of the migration, a new Static Group was created for each Device Group in an account. The new Static Groups have their own ID, which will be different from the Device Group ID. For backwards compatibility, the Device Groups API will display the original ID of the Device Group before the migration. We are referring to this as the legacy group id.

    • id will return the legacy group id of the device group.

Devices API

  • Create

    • group_id is deprecated and no longer required for V2 Groups accounts. If you use group_id, the device will become assigned to the static group that was created from that device group.

    • static_group_ids an optional array of static group ids. If provided, the device will be assigned to the static groups with the provided ids.

  • relationships.device_group will show the legacy device group ID if the device was assigned to a device group in v1 groups.

  • relationships.groups will show all dynamic and static groups that the device is currently assigned to.

Custom Attribute Values API

  • source will display group when source is a static or dynamic group.

  • New endpoints added:

    • Get custom attribute values for assignment group
    • Set custom attribute values for assignment group

Profiles API

  • List All/Retrieve One:

    • relationships.device_groups will return the legacy device group IDs of the device groups that the profile was assigned to in v1.

    • relationships.groups will show all dynamic and static groups that the profile is currently assigned to.

  • Assgn to Device Group/Unassign to Device Group

    • These are deprecated in favor of using Assignment Groups Assign Profile and Unassign Profile endpoints. To ensure backwards compatibility for V2 Groups enabled accounts, device_group_id will map to the static group that was created from the original device group.

Script Jobs API

  • group_ids is deprecated. It is recommended that you use assignment_group_ids instead and provide the assignment group id of the static group you would like to assign the script to. To ensure backwards compatibility for V2 Groups enabled accounts, group_ids will map to the static group that was created from the device group.

Still have a question or want to share what you have learned? Visit our Community Discord to get help and collaborate with others.