---
updatedAt: 2026-05-19T12:50:48.000Z
agentTools:
  siteIndex: https://developer.jamf.com/llms.txt
  projectIndex: https://developer.jamf.com/jamf-pro/llms.txt
---

# Update a group by platform UUID

Updates a group by its platform UUID. For both smart and static groups, groupName and groupDescription can be updated. For smart groups, criteria can also be updated. For static groups, assignments can also be updated. Requires appropriate UPDATE privileges.


# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Jamf Pro API",
    "termsOfService": "https://www.jamf.com/developer-resources/api-license-agreement",
    "version": "11.32.0"
  },
  "servers": [
    {
      "url": "https://yourServer.jamfcloud.com/api"
    }
  ],
  "x-readme": {
    "samples-languages": [
      "curl",
      "swift",
      "ruby",
      "python"
    ],
    "explorer-enabled": false
  },
  "security": [
    {
      "Bearer": []
    },
    {
      "ApiClient": []
    },
    {
      "BasicAuth": [
        "/v1/auth/token"
      ]
    }
  ],
  "paths": {
    "/v2/groups/{id}": {
      "patch": {
        "tags": [
          "groups"
        ],
        "summary": "Update a group by platform UUID",
        "description": "Updates a group by its platform UUID. For both smart and static groups, groupName and groupDescription can be updated. For smart groups, criteria can also be updated. For static groups, assignments can also be updated. Requires appropriate UPDATE privileges.\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The platform UUID of a group",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupUpdateDtoV2"
              },
              "examples": {
                "smartGroup": {
                  "summary": "Update Smart Group",
                  "description": "Example of updating a smart group with criteria",
                  "value": {
                    "groupName": "Updated Smart Group",
                    "groupDescription": "Updated smart group description",
                    "criteria": [
                      {
                        "name": "Computer Name",
                        "priority": 0,
                        "andOr": "and",
                        "searchType": "is",
                        "value": "Test",
                        "openingParen": false,
                        "closingParen": false
                      }
                    ]
                  }
                },
                "staticGroup": {
                  "summary": "Update Static Group",
                  "description": "Example of updating a static group with device assignments",
                  "value": {
                    "groupName": "Updated Static Group",
                    "groupDescription": "Updated static group description",
                    "assignments": [
                      {
                        "deviceId": "56585788-8937-4bdf-b986-458048b1c36c",
                        "selected": true
                      },
                      {
                        "deviceId": "12345678-1234-1234-1234-123456789012",
                        "selected": false
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Group updated successfully"
          },
          "400": {
            "description": "Invalid request data or validation error. Common causes include:\n- Invalid andOr value (must be \"and\" or \"or\")\n- Invalid priority order in criteria\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient privileges to update this group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "The requested resource was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "422": {
            "description": "Duplicate group name",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "x-authentication-required": true
      }
    }
  },
  "components": {
    "schemas": {
      "ApiError": {
        "type": "object",
        "properties": {
          "httpStatus": {
            "type": "integer",
            "description": "HTTP status of the response",
            "example": 400
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiErrorCause"
            }
          }
        }
      },
      "ApiErrorCause": {
        "required": [
          "field"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error-specific code that can be used to identify localization string, etc.",
            "example": "8675309"
          },
          "field": {
            "type": "string",
            "description": "Name of the field that caused the error.",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "A general description of error for troubleshooting/debugging. Generally this text should not be displayed to a user; instead refer to errorCode and it's localized text",
            "example": "I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours"
          },
          "id": {
            "type": "string",
            "description": "id of object with error. Optional.",
            "nullable": true,
            "example": "3"
          }
        }
      },
      "AssignmentDtoV1": {
        "required": [
          "deviceId",
          "selected"
        ],
        "type": "object",
        "properties": {
          "deviceId": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "example": "56585788-8937-4bdf-b986-458048b1c36c"
          },
          "selected": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "GroupUpdateDtoV2": {
        "type": "object",
        "properties": {
          "groupName": {
            "type": "string",
            "example": "Updated Group Name"
          },
          "groupDescription": {
            "type": "string",
            "example": "Updated Group Description"
          },
          "criteria": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnifiedSmartGroupCriteriaV2"
            }
          },
          "assignments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssignmentDtoV1"
            }
          }
        }
      },
      "UnifiedSmartGroupCriteriaV2": {
        "required": [
          "andOr",
          "name",
          "priority",
          "searchType",
          "value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The field to search on (e.g., Model, OS Version, etc.)",
            "example": "Model"
          },
          "priority": {
            "minimum": 0,
            "type": "integer",
            "description": "The priority order of this criterion",
            "nullable": false,
            "example": 1
          },
          "andOr": {
            "type": "string",
            "description": "Whether this criterion should be ANDed or ORed with the previous criterion. Only \"and\" or \"or\" values are accepted (case-insensitive).",
            "example": "and",
            "enum": [
              "and",
              "or"
            ]
          },
          "searchType": {
            "minLength": 1,
            "type": "string",
            "description": "The type of search to perform (e.g., is, is not, like, etc.)",
            "example": "is"
          },
          "value": {
            "type": "string",
            "description": "The value to search for",
            "example": "iPad"
          },
          "openingParen": {
            "type": "boolean",
            "description": "Whether to add an opening parenthesis before this criterion",
            "example": false
          },
          "closingParen": {
            "type": "boolean",
            "description": "Whether to add a closing parenthesis after this criterion",
            "example": false
          }
        },
        "description": "V2 criteria format with strict enum validation for andOr field.\nOnly \"and\" or \"or\" values are accepted (case-insensitive).\n"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "BasicAuth": {
        "type": "http",
        "description": "Basic auth is used only for obtaining bearer tokens from the /v1/auth/token endpoint",
        "scheme": "basic"
      },
      "ApiClient": {
        "type": "oauth2",
        "description": "Jamf Pro API Roles and Clients provide a client ID and secret for obtaining access tokens using the OAuth2 client_credentials grant type",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/v1/oauth/token",
            "scopes": {}
          }
        }
      }
    }
  }
}
```