---
title: "Create or update an access control project group."
method: PUT
path: "/api/project-groups/{projectGroupId}"
tags: ["Projects", "GradleEnterprise", "Develocity"]
---

# Create or update an access control project group.

`PUT /api/project-groups/{projectGroupId}`

## Request

- Base URL: `https://develocity.example.com`
- URL: `https://develocity.example.com/api/project-groups/{projectGroupId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/develocity/apis/develocity-api/docs/api/project-groups/:projectGroupId/put.ts> (a function with typed inputs; its response is checked against the schema)

**<mark>Beta:</mark>** Create or update a project group configured for project-level access control in Develocity.
When updating, any optional fields that are omitted from the request, but were previously set on the project group, will be unset/removed.
An existing project group's identifier cannot be updated.
If the update contains a id that does not match the current id, then the operation will fail with a Bad Request response.

## Request body

- ProjectGroup: A group of projects that can be assigned to users.
  - `id` string, required: The unique identifier for the project group configured for project-level access control in Develocity. Must not contain whitespace.
  - `displayName` string: The label used when displaying the project group.
  - `description` string: The description of the project group.
  - `identityProviderAttributeValue` string: The value of an identity provider attribute this project group is associated with. Users who have this value in the identity provider attribute will be assigned this project group.
  - `projects` ProjectReference[]
    - `id` string, required: The unique identifier for the project. Must not contain whitespace.

## Response `200`

The project group was created or updated successfully.

- ProjectGroup: A group of projects that can be assigned to users.
  - `id` string, required: The unique identifier for the project group configured for project-level access control in Develocity. Must not contain whitespace.
  - `displayName` string: The label used when displaying the project group.
  - `description` string: The description of the project group.
  - `identityProviderAttributeValue` string: The value of an identity provider attribute this project group is associated with. Users who have this value in the identity provider attribute will be assigned this project group.
  - `projects` ProjectReference[]
    - `id` string, required: The unique identifier for the project. Must not contain whitespace.

## Other responses

- `400`: The request body is malformed or contains invalid values for at least one of the properties.
- `403`: The authenticated user has insufficient permissions.
- `404`: No API key was specified in the request, the key has been revoked, or the user bearing the key lacks permissions for this operation.

---

[API](https://skmtc.dev/develocity/apis/develocity-api.md) - [All operations](https://skmtc.dev/develocity/apis/develocity-api/llms.txt) - [OpenAPI document](https://skmtc.dev/develocity/apis/develocity-api/revisions/b49835fbf065?raw)
