---
title: "Update Purpose Preference"
method: PUT
path: "/api/consentmanager/v1/custompreferences/{customPreferenceId}"
tags: ["Purpose Preferences"]
---

# Update Purpose Preference

`PUT /api/consentmanager/v1/custompreferences/{customPreferenceId}`

## Request

- Base URL: `https://hostname`
- URL: `https://hostname/api/consentmanager/v1/custompreferences/{customPreferenceId}`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://{hostname}/api/access/v1/oauth/token` scopes: `CONSENT`

Use this API to edit a specific Purpose Preference. The Purpose Preference will be updated with the details provided in the request body.

## Path parameters

- `customPreferenceId` string, uuid, required

## Request body

- ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceDto
  - `Id` string, uuid, required: Unique identifier for the Custom Preference
  - `Name` string, required: The display name of the Custom Preference
  - `Description` string: Detailed description explaining the purpose and usage of this Custom Preference
  - `SelectionType` 'SINGLE_CHOICE' | 'MULTI_CHOICE' | 'SINGLE_CHOICE' | 'MULTI_CHOICE', required: Defines how options can be selected in this Custom Preference
  - `DisplayAs` 'BUTTONS' | 'CHECKBOXES' | 'BUTTONs' | 'CHECKBOXES' | 'DROPDOWN' | 'RADIO_BUTTONS', required: Specifies how the preference options should be displayed in the UI
  - `CreatedDate` string, date-time: Timestamp when the Custom Preference was created
  - `UpdatedDate` string, date-time: Timestamp when the Custom Preference was last updated
  - `NumberOfOptions` integer: Total number of available options for this Custom Preference
  - `Required` boolean: Indicates whether a response is mandatory for this Custom Preference
  - `NumberOfLanguages` integer: Number of languages this Custom Preference has been translated into
  - `DefaultLanguage` string: The default language code for this Custom Preference (BCP 47 format)
  - `Disabled` boolean: Indicates if this Custom Preference is currently disabled
  - `Options` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceOptionDto[]: List of available options for this Custom Preference
    - `Id` string, uuid: Unique Identifier identifying an Option
    - `Label` string: The Option label
    - `Order` integer: The order of the option, Starts from 0
    - `IsDefault` boolean: Whether the Option is default option or not
    - `CanDelete` boolean: Whether the Option can be deleted or not
    - `Disabled` boolean: Whether Custom Preference is disabled or not
  - `Languages` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceLanguageDto[]: List of language configurations for this Custom Preference
    - `Name` string, required: The Custom Preference name
    - `Description` string, required: The description of the Custom Preference
    - `Language` string: The Custom Preference content language code
    - `Default` boolean: Whether this language is the default one for the Custom Preference
    - `Options` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceOptionDto[]: Options associated with a Custom Preference
      - `Id` string, uuid: Unique Identifier identifying an Option
      - `Label` string: The Option label
      - `Order` integer: The order of the option, Starts from 0
      - `IsDefault` boolean: Whether the Option is default option or not
      - `CanDelete` boolean: Whether the Option can be deleted or not
      - `Disabled` boolean: Whether Custom Preference is disabled or not
  - `Organizations` string[]: List of Organization IDs that have access to this Custom Preference
  - `TotalLinkedActivePurposes` integer: Count of active purposes that reference this Custom Preference

## Response `200`

OK - Purpose Preference updated successfully.

- ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceDto
  - `Id` string, uuid, required: Unique identifier for the Custom Preference
  - `Name` string, required: The display name of the Custom Preference
  - `Description` string: Detailed description explaining the purpose and usage of this Custom Preference
  - `SelectionType` 'SINGLE_CHOICE' | 'MULTI_CHOICE' | 'SINGLE_CHOICE' | 'MULTI_CHOICE', required: Defines how options can be selected in this Custom Preference
  - `DisplayAs` 'BUTTONS' | 'CHECKBOXES' | 'BUTTONs' | 'CHECKBOXES' | 'DROPDOWN' | 'RADIO_BUTTONS', required: Specifies how the preference options should be displayed in the UI
  - `CreatedDate` string, date-time: Timestamp when the Custom Preference was created
  - `UpdatedDate` string, date-time: Timestamp when the Custom Preference was last updated
  - `NumberOfOptions` integer: Total number of available options for this Custom Preference
  - `Required` boolean: Indicates whether a response is mandatory for this Custom Preference
  - `NumberOfLanguages` integer: Number of languages this Custom Preference has been translated into
  - `DefaultLanguage` string: The default language code for this Custom Preference (BCP 47 format)
  - `Disabled` boolean: Indicates if this Custom Preference is currently disabled
  - `Options` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceOptionDto[]: List of available options for this Custom Preference
    - `Id` string, uuid: Unique Identifier identifying an Option
    - `Label` string: The Option label
    - `Order` integer: The order of the option, Starts from 0
    - `IsDefault` boolean: Whether the Option is default option or not
    - `CanDelete` boolean: Whether the Option can be deleted or not
    - `Disabled` boolean: Whether Custom Preference is disabled or not
  - `Languages` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceLanguageDto[]: List of language configurations for this Custom Preference
    - `Name` string, required: The Custom Preference name
    - `Description` string, required: The description of the Custom Preference
    - `Language` string: The Custom Preference content language code
    - `Default` boolean: Whether this language is the default one for the Custom Preference
    - `Options` ConsentPreferencesUniversalConsentPreferenceManagCustomPreferenceOptionDto[]: Options associated with a Custom Preference
      - `Id` string, uuid: Unique Identifier identifying an Option
      - `Label` string: The Option label
      - `Order` integer: The order of the option, Starts from 0
      - `IsDefault` boolean: Whether the Option is default option or not
      - `CanDelete` boolean: Whether the Option can be deleted or not
      - `Disabled` boolean: Whether Custom Preference is disabled or not
  - `Organizations` string[]: List of Organization IDs that have access to this Custom Preference
  - `TotalLinkedActivePurposes` integer: Count of active purposes that reference this Custom Preference

## 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.dev/onetrust/apis/consent-preferences-universal-consent-preference-management.md) - [All operations](https://skmtc.dev/onetrust/apis/consent-preferences-universal-consent-preference-management/llms.txt) - [OpenAPI document](https://skmtc.dev/onetrust/apis/consent-preferences-universal-consent-preference-management/revisions/fe4a0697ec9d?raw)
