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

# Update Purpose Preference

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

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.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)
