---
title: "Edit a group"
method: PATCH
path: "/api/v2/groups/{groupId}"
tags: ["Groups"]
---

# Edit a group

`PATCH /api/v2/groups/{groupId}`

> 🔑
>
> Required OAuth scope: `groups:write`.

Edits specific fields of an existing group. Fields not included in the request payload remain unchanged.

## Path parameters

- `groupId` string, ObjectId, required

## Headers

- `360-api-version` 'v2.0', required

## Request body

- PatchGroupDTO
  - `custom` string, nullable — A custom field to store information available only in the **General settings** of the group, the CSV exports, and the API. This information is not displayed to learners on the platform.
  - `name` string — The name of the group.
  - `public` boolean — True if the group is public; false if the group is private.
  - `parentId` string, ObjectId — The unique ID of the parent group. It must not be the updated group or one of its descendants.
  - `bannerImageId` string, ObjectId, nullable — The banner image of the group. Ensure that given media is an image with the proper size (at least 980px wide and 370px high).
  - `backgroundImageId` string, ObjectId, nullable — The background image of the group. Ensure that given media is an image with the proper size (at least 760px wide and 880px high).
  - `faviconImageId` string, ObjectId, nullable — The favicon image of the group. Ensure that given media is an image with the proper size (less than 500px wide and 500px high and more than 16px wide and 16px high).
  - `logoImageId` string, ObjectId, nullable — The logo image of the group.
  - `subdomain` string, nullable — The subdomain of the group.
  - `url` string, nullable — The custom url of the group.
  - `privacyPolicy` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `moderationCharter` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `termsOfUse` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `imprint` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.

## Response `200`

Returns the updated group.

- GroupDTO
  - `privacyPolicy` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `moderationCharter` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `termsOfUse` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `imprint` PolicyDTO
    - `url` string, required — The URL of the policy document.
    - `explicitConsent` boolean — When true, user must provide explicit consent at first login. Default is false.
  - `bannerImageId` string, ObjectId — The banner image of the group. Ensure that given media is an image with the proper size (at least 980px wide and 370px high).
  - `backgroundImageId` string, ObjectId — The background image of the group. Ensure that given media is an image with the proper size (at least 760px wide and 880px high).
  - `faviconImageId` string, ObjectId — The favicon image of the group. Ensure that given media is an image with the proper size (less than 500px wide and 500px high and more than 16px wide and 16px high).
  - `logoImageId` string, ObjectId — The logo image of the group.
  - `subdomain` string — The subdomain of the group.
  - `url` string — The custom url of the group. The given URL must resolve on the same address as 360learning.com.
  - `_id` string, ObjectId, required — The unique ID of the group.
  - `name` string, required — The name of the group.
  - `custom` string — A custom field to store information available only in the **General settings** of the group, the CSV exports, and the API. This information is not displayed to learners on the platform.
  - `public` boolean, required — True if the group is public; false if the group is private.
  - `parentId` string, ObjectId — The unique ID of the parent group. Not defined for the root group.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error.
- `401` — The given access token is either missing, invalid, has expired, or has been revoked.
- `403` — The given access token does not have the required OAuth scope to execute the request.
- `404` — The server cannot find the requested resource.
- `429` — The client has sent too many requests in a short amount of time.

---

[API](https://skmtc.net/360learning/apis/core-api.md) · [All operations](https://skmtc.net/360learning/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/360learning/core-api/revisions/94b691b0b72c/schema)
