---
title: "Get Preference Center Schema"
method: GET
path: "/api/consentmanager/v1/preferencecenters/{prefcenterId}/preferences"
tags: ["Preference Centers"]
---

# Get Preference Center Schema

`GET /api/consentmanager/v1/preferencecenters/{prefcenterId}/preferences`

## Request

- Base URL: `https://hostname`
- URL: `https://hostname/api/consentmanager/v1/preferencecenters/{prefcenterId}/preferences`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://{hostname}/api/access/v1/oauth/token` scopes: `CONSENT`, `CONSENT_READ`

Use this API to retrieve the schema of a Preference Center. The response will include details about the Preference Center such as settings, languages, and Purposes.

> 🗒 Things to Know
> 
> - This API can be used for Original, Enhanced, and Multi Page Preference Centers.

## Path parameters

- `prefcenterId` string, uuid, required

## Query parameters

- `state` 'PUBLISHED' | 'DRAFT'

## Response `200`

OK - Successfully retrieved Preference Center schema.

- ConsentPreferencesUniversalConsentPreferenceManagPreferenceCenterDto
  - `messages` string[]: List of messages associated with the Preference Center
  - `PreferenceCentreId` string, uuid: Unique identifier identifying a Preference Center
  - `Purposes` ConsentPreferencesUniversalConsentPreferenceManagPurposesWithLanguagesDto[]: List of Purposes associated to the Preference Center
    - `Id` string, uuid: Unique identifier of the Purpose
    - `Version` integer: Version number of the Purpose
    - `Label` string: Display name of the Purpose
    - `Description` string: Detailed description explaining the Purpose
    - `Status` string: Current status of the Purpose (e.g., ACTIVE, INACTIVE)
    - `PurposeType` 'STANDARD' | 'COOKIE' | 'IAB' | 'MOBILE' | 'NOTIFICATION_OPT_OUT': Classification type of the Purpose
    - `ExternalReference` string
    - `Languages` ConsentPreferencesUniversalConsentPreferenceManagPurposeLanguageDto[]: List of language-specific data for the Purpose
      - `Name` string, required: The Purpose name
      - `Description` string, required: The Purpose description
      - `Description of Implicit Purpose Confirmation checkbox` string: The Implicit Purpose Confirmation checkbox description
      - `Language` string: The Purpose content language code
      - `Default` boolean: Whether this language is the default one for the Purpose
      - `HardOptOutMessage` string: The message to display with the purpose when the consent status is Hard opt-out. This message only displays when hardOptOutDisplayFormat is set to LOCK.
    - `Topics` ConsentPreferencesUniversalConsentPreferenceManagPreferencePurposeTopicDto[]: List of Topics associated with this Purpose
      - `Id` string, uuid: The unique identifier of the Purpose and Topic relation
      - `Name` string: The Topic name
      - `IntegrationKey` string: The Topic integration key (combination of Purpose and Topic names)
      - `Languages` ConsentPreferencesUniversalConsentPreferenceManagTopicLanguageDto[]: Translations for a Topic
        - `Name` string: The Topic name
        - `Language` string: The Topic content language code
        - `Default` boolean: Whether this language is the default one for the Topic
    - `CustomPreferences` ConsentPreferencesUniversalConsentPreferenceManagPreferencePurposeCustomPreferenceDto[]: List of custom preference settings for this Purpose
      - `Id` string, uuid: Unique identifier of the Purpose and Custom Preference relation
      - `Name` string: The Custom Preference name
      - `Description` string: The description of the Custom Preference
      - `SelectionType` 'SINGLE_CHOICE' | 'MULTI_CHOICE': Selection Type of the Custom Preference Options
      - `DisplayAs` 'BUTTONS' | 'CHECKBOXES': Display Type of the Custom Preference Options
      - `Required` boolean: Whether selection for this Custom Preference is required
      - `Options` ConsentPreferencesUniversalConsentPreferenceManagPreferenceCustomPreferenceOptionDto[]: A list containing the Custom Preference's Options
        - `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
      - `Languages` ConsentPreferencesUniversalConsentPreferenceManagPreferenceCustomPreferenceLanguageDto[]: A list containing the Custom Preference's Languages
        - `Name` string, required: name for a Custom Preference
        - `Description` string, required: The description of the Custom Preference
        - `Language` string: The Custom Preference content language code
        - `Default` boolean: The Option label
        - `Options` ConsentPreferencesUniversalConsentPreferenceManagPreferenceCustomPreferenceOptionDto[]: 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
    - `LifeSpan` integer: Lifespan of consents recorded against this Purpose in seconds
    - `ImplicitConsentLifeSpan` integer: Lifespan of implicit consents for this Purpose in seconds
    - `ImplicitConsentConfirmDesc` string: Description text for the implicit consent confirmation checkbox
    - `DefaultConsentStatus` 'ACTIVE' | 'OPT_OUT': Default consent status for this Purpose
  - `Status` integer: Status code for the preference center [200 (active), 400 (error retrieving this preference center)]
  - `PreferenceCenterSettings` object: Preference Center settings
  - `PortalSettings` object: Preference Center Portal settings
  - `Language` string: The Preference Center content language code
  - `Languages` string[]: List containing the Preference Center translations' language codes
  - `Translations` object: List containing the Preference Center translations
  - `DisplayNotificationPurpose` boolean: Setting to display or hide email notification option when Preferences change
  - `Template` 'ORIGINAL' | 'ENHANCED' | 'MULTIPAGE': The Preference Center template type
  - `ProfileSettings` object: Preference Center Profile page settings
  - `EnableMultipleIdentities` boolean
  - `HierarchicalAccessControl` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `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)
