OneTrust Consent Groups API

APIs for managing Consent Groups and their configurations.

Operations 12

GET /api/consent/v2/consent-groups Get List of Consent Groups #
POST /api/consent/v2/consent-groups Create Consent Group #
GET /api/consent/v2/consent-groups/settings Get Priority Scores for Purpose Statuses #
PUT /api/consent/v2/consent-groups/settings Update Priority Scores for Purpose Statuses #
GET /api/consent/v2/consent-groups/{consentGroupGuid} Get Consent Group #
POST /api/consent/v2/consent-groups/{consentGroupGuid}/consent-groups Add Consent Groups to Parent Consent Group #
DELETE /api/consent/v2/consent-groups/{consentGroupGuid}/consent-groups Remove Consent Groups from Parent Consent Group #
POST /api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects Add Data Subjects to Parent Consent Group #
DELETE /api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects/{dataSubjectGuid} Remove Data Subject from Parent Consent Group #
PUT /api/consent/v2/consent-groups/{consentGroupGuid}/purpose-rules Update Consent Group Purpose Rule #
POST /api/consent/v2/consent-groups/{consentGroupGuid}/purpose-rules Add Purpose Rules to Consent Group #
DELETE /api/consent/v2/consent-groups/{consentGroupGuid}/purpose-rules/{purposeGuid} Remove Purpose Rule from Consent Group #

Documentation

📖
Documentation
https://developer.onetrust.com/onetrust/reference/attribute-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/activity-log
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/banner
📖
Documentation
https://developer.onetrust.com/onetrust/reference/consent-receipts
📖
Documentation
https://developer.onetrust.com/onetrust/reference/applications
📖
Documentation
https://developer.onetrust.com/onetrust/reference/categorizations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/domain-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences
📖
Documentation
https://developer.onetrust.com/onetrust/reference/mobile-app-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/privacy-notice-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/collection-points
📖
Documentation
https://developer.onetrust.com/onetrust/reference/catalog-search-v1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/classification
📖
Documentation
https://developer.onetrust.com/onetrust/reference/custom-scan
📖
Documentation
https://developer.onetrust.com/onetrust/reference/carbon-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audit-records
📖
Documentation
https://developer.onetrust.com/onetrust/reference/bulk-export
📖
Documentation
https://developer.onetrust.com/onetrust/reference/attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/system-credentials
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-relationships-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/model-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/tasks
📖
Documentation
https://developer.onetrust.com/onetrust/reference/groups-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/assessment-actions
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/drop-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/incidents
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-controller
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audits
📖
Documentation
https://developer.onetrust.com/onetrust/reference/initiatives
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/issues
📖
Documentation
https://developer.onetrust.com/onetrust/reference/control-implementations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/training
📖
Documentation
https://developer.onetrust.com/onetrust/reference/contracts

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/onetrust-consent-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

onetrust-consent-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Consent & Preferences - Universal Consent & Preference…
  version: '1.0'
  contact:
    name: OneTrust Support
    url: https://my.onetrust.com/s/contactsupport
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  description: The Universal Consent & Preference Management APIs are used to integrate external systems and streamline the flow of data with Universal Consent & Preference Management in the OneTrust Platform.
servers:
- url: https://{hostname}
  variables:
    hostname:
      default: hostname
      description: The OneTrust hostname such as app.onetrust.com, app-eu.onetrust.com, app-de.onetrust.com, app-uk.onetrust.com, app-apac.onetrust.com, trial.onetrust.com, or uat.onetrust.com.
tags:
- name: Consent Groups
  description: APIs for managing Consent Groups and their configurations.
  externalDocs:
    description: OpenAPI 3.1.0 - Download Definition
    url: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
  x-displayName: Consent Groups
paths:
  /api/consent/v2/consent-groups:
    get:
      operationId: getConsentGroupListUsingGET
      summary: Get List of Consent Groups
      description: Use this API to retrieve a list of all Consent Groups along with details such as the Consent Group ID, associated Purpose Rules, and the list of data subjects and/or Consent Groups within its hierarchal structure.
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: name
        in: query
        description: Name of the Consent Group
        required: false
        schema:
          type: string
        example: Marketing
      responses:
        '200':
          description: Successfully retrieved list of Consent Groups.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_PageConsentGroupListDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
        - CONSENT_READ
    post:
      operationId: createConsentGroupUsingPOST
      summary: Create Consent Group
      description: 'Use this API to create a new Consent Group by providing a name, description, and optional external name.


        > 🗒 Things to Know

        >

        > - If an external name is not defined, one will be generated automatically.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupRequest'
      responses:
        '201':
          description: Consent Group created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/settings:
    get:
      operationId: getConsentGroupSettingsUsingGET
      summary: Get Priority Scores for Purpose Statuses
      description: 'Use this API to retrieve the Priority Scores for each Purpose Status.


        > 🗒 Things to Know

        >

        > - All Purpose Statuses are given a Priority Score. A Purpose Status with a lower Priority Score will be given precedence over a Purpose Status with a higher Priority Score.

        > - Each Purpose in a Consent Group has its own Purpose Rule which is comprised of an Enforced Status and Effective Status.

        > - The Enforced Status is the Purpose Status that you want to apply for a particular Purpose.

        > - The Effective Status is calculated using the Priority Scores across the entire Consent Group hierarchy for each Purpose.


        > 👍

        >

        > For more information, see Using Consent Groups to Alter a Data Subject''s Consent Status.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      responses:
        '200':
          description: Successfully retrieved Consent Group settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupSettingsDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
        - CONSENT_READ
    put:
      operationId: updateConsentGroupSettingsUsingPUT
      summary: Update Priority Scores for Purpose Statuses
      description: 'Use this API to update the current Priority Score values for the Purpose Statuses. Priority Scores across the entire Consent Group hierarchy are used to calculate the Effective Status of a Purpose.


        > 🗒 Things to Know

        >

        > - All Purpose Statuses are given a Priority Score. A Purpose Status with a lower Priority Score will be given precedence over a Purpose Status with a higher Priority Score. Any new Purpose Statuses will automatically be given a higher priority score by default.

        > - When calculating the Effective Status of any Purpose in a Consent Group:

        > - If there is no Parent Consent Group, the Effective Status becomes the same as the Enforced Status.

        > - If there is a Parent Consent Group, the Effective Status would be calculated by comparing the Priority Score of the Enforced Status of the Purpose at that hierarchy level with the Priority Score of the Effective Status of the Purpose in the Parent level and applying the status associated with the lower Priority Score.


        > 👍

        >

        > For more information, see Using Consent Groups to Alter a Data Subject''s Consent Status.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupSettingsDto'
      responses:
        '200':
          description: Successfully updated Consent Group settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupSettingsDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/{consentGroupGuid}:
    get:
      operationId: getConsentGroupUsingGET
      summary: Get Consent Group
      description: Use this API to retrieve a single Consent Group by its unique identifier along with details such as the Consent Group ID, associated Purpose Rules, and the list of data subjects and/or Consent Groups within its hierarchal structure.
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget)
        required: true
        schema:
          type: string
          format: uuid
          example: 823e4567-e89b-12d3-a456-fa6614171652
      responses:
        '200':
          description: Successfully retrieved Consent Group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
        - CONSENT_READ
  /api/consent/v2/consent-groups/{consentGroupGuid}/consent-groups:
    post:
      operationId: addConsentGroupsToConsentGroupUsingPOST
      summary: Add Consent Groups to Parent Consent Group
      description: 'Use this API to add Consent Groups as children of the specified Parent Consent Group.


        > 🗒 Things to Know

        >

        > - A Consent Group can only be added as a child to one Parent Consent Group.

        > - 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 Consent Groups are added as children to the Parent Consent Group, data subjects cannot be added to the Parent Consent Group at that given level.

        > - Consent Groups can support a hierarchical structure of up to 4 levels. However, once data subjects are added as children to a Parent Consent Group, no additional Consent Groups can be added to that hierarchical structure.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups](/onetrust/reference/getconsentgrouplistusingget) API.
        required: true
        schema:
          type: string
          format: uuid
          example: 1a6c1e65-aa4f-4d79-ac62-7fe905616f71
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupConsentGroupsRequest'
      responses:
        '201':
          description: Consent Groups added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
    delete:
      operationId: unlinkConsentGroupUsingDELETE
      summary: Remove Consent Groups from Parent Consent Group
      description: 'Use this API to remove Consent Groups as children of the specified Parent Consent Group.


        > 🗒 Things to Know

        >

        > - Multiple Consent Groups can be removed within the same API call by specifying the list of child Consent Group IDs.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the parent Consent Group. The `consentGroupGuid` can be obtained using the [Get a Paged View for Consent Group](/onetrust/reference/getconsentgrouplistusingget) API
        required: true
        schema:
          type: string
          format: uuid
          example: 1a6c1e65-aa4f-4d79-ac62-7fe905616f71
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupConsentGroupsRequest'
      responses:
        '204':
          description: Consent Groups removed successfully.
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects:
    post:
      operationId: addDataSubjectsToConsentGroupUsingPOST
      summary: Add Data Subjects to Parent Consent Group
      description: '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.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget)
        required: true
        schema:
          type: string
          format: uuid
          example: 1a6c1e65-aa4f-4d79-ac62-7fe905616f71
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupDataSubjectsRequest'
      responses:
        '201':
          description: Data Subjects added to Consent Group successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/{consentGroupGuid}/data-subjects/{dataSubjectGuid}:
    delete:
      operationId: deleteDataSubjectsToConsentGroupUsingDELETE
      summary: Remove Data Subject from Parent Consent Group
      description: 'Use this API to remove a single data subject as a child of the specified Parent Consent Group.


        > 🗒 Things to Know

        >

        > - Only one data subject can be removed per API call.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget)
        required: true
        schema:
          type: string
          format: uuid
          example: 1a6c1e65-aa4f-4d79-ac62-7fe905616f71
      - name: dataSubjectGuid
        in: path
        description: The UUID of the Data Subject to be deleted from Consent Group. `dataSubjectGuid` can be retrieved using [Get a paged list of Data Subjects](/onetrust/reference/getdatasubjectsusingget)
        required: true
        schema:
          type: string
          format: uuid
          example: fa3e4567-e89b-12d3-a456-426614176901
      responses:
        '204':
          description: Data Subject removed successfully.
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/{consentGroupGuid}/purpose-rules:
    put:
      operationId: updatePurposeRulesToConsentGroupUsingPUT
      summary: Update Consent Group Purpose Rule
      description: Use this API to update existing Purpose Rules within a Consent Group.
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget)
        required: true
        schema:
          type: string
          format: uuid
          example: 853e4567-e89b-12d3-a456-fa6614174000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupPurposeRulesRequest'
      responses:
        '200':
          description: Purpose Rules updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
    post:
      operationId: addPurposeRulesToConsentGroupUsingPOST
      summary: Add Purpose Rules to Consent Group
      description: 'Use this API to add Purpose Rules to a Consent Group. These rules will dictate which Purposes will be overridden with the defined Enforced Status for data subjects within the given Consent Group.


        > 🗒 Things to Know

        >

        > - Each Purpose in a Consent Group has its own Purpose Rule which is comprised of an Enforced Status and Effective Status.

        > - The Enforced Status is the Purpose Status that you want to apply for a particular Purpose.

        > - The Effective Status is calculated using the Priority Scores across the entire Consent Group hierarchy for each Purpose.'
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget) to add Purpose Rules
        required: true
        schema:
          type: string
          format: uuid
          example: 1a6c1e65-aa4f-4d79-ac62-7fe905616f71
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentAPI_ConsentGroupPurposeRulesRequest'
      responses:
        '201':
          description: Purpose Rules added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentAPI_ConsentGroupDto'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)."
          headers:
            Retry-After:
              schema:
                description: The number of seconds after which requests will be allowed again.
                format: int32
            ot-period:
              schema:
                description: The unit of time for which the rate limit applies
                enum:
                - HOUR
                - MINUTE
            ot-ratelimit-event-id:
              schema:
                description: The unique identifier for the rate-limiting event.
                format: uuid
            ot-request-made:
              schema:
                description: The number of requests made within the specified period.
                format: int32
            ot-requests-allowed:
              schema:
                description: The number of requests allowed within the specified period.
                format: int32
        '500':
          description: Internal Server Error
      security:
      - ConsentAPI_OAUTH2:
        - CONSENT
  /api/consent/v2/consent-groups/{consentGroupGuid}/purpose-rules/{purposeGuid}:
    delete:
      operationId: deleteConsentGroupPurposeRuleUsingDELETE
      summary: Remove Purpose Rule from Consent Group
      description: Use this API to remove existing Purpose Rules from a Consent Group.
      tags:
      - Consent Groups
      x-onetrust:
        spec-label: https://developer.onetrust.com/onetrust/openapi/consent-preferences-universal-consent-preference-management-oas.json
      parameters:
      - name: consentGroupGuid
        in: path
        description: The UUID of the Consent Group. `consentGroupGuid` can be retrieved using the [Get a paged view for consent groups API](/onetrust/reference/getconsentgrouplistusingget)
        re

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onetrust/refs/heads/main/openapi/onetrust-consent-groups-api-openapi.yml