---
title: "Add Data Subjects to Parent Consent Group"
method: POST
path: "/api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects"
tags: ["Consent Groups"]
---

# Add Data Subjects to Parent Consent Group

`POST /api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects`

Use this API to add data subjects as children of the specified Parent Consent Group.

> 🗒 Things to Know
> 
> - A Parent Consent Group can either have Consent Groups as children or data subjects as children within a given level in the hierarchy, not both. If data subjects are added as children to the Parent Consent Group, Consent Groups cannot be added to the Parent Consent Group at that given level or any level below in the hierarchical structure.

## Path parameters

- `consentGroupGuid` string, uuid, required

## Request body

- ConsentAPIConsentGroupDataSubjectsRequest
  - `dataSubjects` ConsentAPIDataSubjectInformation[] — A list of Data Subjects to be added to a Consent Group, identified either by their id or their identifier value
    - `id` string, uuid — Unique Identifier identifying a Data Subject
    - `identifier` string — The Data Subject identifier value

## Response `201`

Data Subjects added to Consent Group successfully.

- ConsentAPIConsentGroupDto
  - `name` string — The Consent Group name
  - `description` string — A description of the Consent Group
  - `externalName` string — The Consent Group's external name. If not provided, this will be generated based on the name
  - `consentGroupId` string, uuid — Unique identifier identifying a Consent Group
  - `membershipType` 'EMPTY' | 'CHILD_GROUPS' | 'DATA_SUBJECTS' — Indicates whether the consent group has other consent groups as its children, or if it has data subjects associated to it
  - `purposeRules` ConsentAPIPurposeRuleDto[] — The Consent Group's Purpose Rules
    - `purposeId` string, uuid, required — Identifier identifying a Purpose
    - `enforcedStatus` string — The Transaction Status enforced by the Consent Group for this Purpose
    - `effectiveStatus` string — The Consent Group's effective Transaction Status for this Purpose, which is calculated based on the Consent Group hierarchy
  - `dataSubjects` ConsentAPIDataSubjectInformationDto[] — The Consent Group's Data Subjects
    - `id` string, uuid — Unique Identifier identifying a Data Subject
    - `identifier` string — The Data Subject identifier value
    - `purposes` ConsentAPIDataSubjectPurposeInformationDto[] — The Data Subject's Purpose list
      - `id` string, uuid — Identifier identifying a Purpose
      - `version` integer — The Purpose's version
      - `status` string — The Data Subject's actual consent status for this Purpose
      - `effectiveStatus` string — The Data Subject's effective status for this Purpose, in the context of the specified Consent Group
  - `consentGroups` ConsentAPIConsentGroupSummaryDto[] — Consent Groups that are children of the current Consent Group
    - `name` string — The Consent Group name
    - `description` string — A description of the Consent Group
    - `externalName` string — The Consent Group's external name. If not provided, this will be generated based on the name
    - `consentGroupId` string, uuid — Unique identifier identifying a Consent Group
    - `membershipType` 'EMPTY' | 'CHILD_GROUPS' | 'DATA_SUBJECTS' — Indicates whether the consent group has other consent groups as its children, or if it has data subjects associated to it

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests. For more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).
- `500` — Internal Server Error

---

[API](https://skmtc.net/onetrust/apis/platform-access-management.md) · [All operations](https://skmtc.net/onetrust/apis/platform-access-management/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/onetrust/platform-access-management/versions/21de3aa0b170/schema)
