---
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`

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