---
title: "Get Preference Center Root Schema"
method: GET
path: "/api/consentmanager/v2/preferencecenters/{preferencecenterid}/schema"
tags: ["Preference Centers V2"]
---

# Get Preference Center Root Schema

`GET /api/consentmanager/v2/preferencecenters/{preferencecenterid}/schema`

## Request

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

Use this API to retrieve the root schema for a Multi Page Preference Center. The response will include the root structure of the Preference Center, including the settings, languages, and configured pages.

## Path parameters

- `preferencecenterid` string, uuid, required

## Query parameters

- `state` 'PUBLISHED' | 'DRAFT'

## Response `200`

OK - Successfully retrieved preference center root schema.

- ConsentPreferencesUniversalConsentPreferenceManagAdvancedPreferenceCenterDtoRootPublicAPI
  - `pages` ConsentPreferencesUniversalConsentPreferenceManagPreferenceCenterPageDtoRootPublicAPI[]: A list of all the pages attached to the Preference center
    - `id` string, uuid: The unique identifier of the Preference Center Page
    - `order` integer: Order of Preference Center Page
    - `navigationEnabled` boolean: Indicates if the Preference Center page navigation is enabled
    - `displaySubscribeSettings` boolean: Indicates if Subscribe settings should be displayed on the page
    - `displayUnsubscribeAll` boolean: Indicates if the 'Unsubscribe All' option should be displayed on the page
    - `displaySubscribeAll` boolean: Indicates if the 'Subscribe All' option should be displayed on the page
    - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: List of available language translations for this page
      - `name` string: Translated name of the item
      - `description` string: Translated description of the item
      - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
      - `content` string: Translated rich text content (may include HTML)
      - `language` string, required: Language code for this translation (ISO 639-1)
      - `isDefault` boolean: Indicates if this is the default translation
  - `defaultLanguage` string: The default language of the preference center
  - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: A list of translations for the preference center
    - `name` string: Translated name of the item
    - `description` string: Translated description of the item
    - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
    - `content` string: Translated rich text content (may include HTML)
    - `language` string, required: Language code for this translation (ISO 639-1)
    - `isDefault` boolean: Indicates if this is the default translation
  - `preferenceCenterSettings` object: A list of labels and their translations for the preference center
  - `enableMultipleIdentities` boolean: Boolean flag that denotes if Multi-Identity is enabled for the Preference center
  - `hierarchicalAccessControl` boolean: Indicates if hierarchical access control is enabled for this preference center
  - `displayUnsubscribeAll` boolean: Boolean flag that denotes if Unsubscribe-All section needs to be displayed for the Preference center
  - `displaySubscribeAll` boolean: Boolean flag that denotes if Subscribe-All section needs to be displayed for the Preference center
  - `displayNotificationPurpose` boolean: Boolean flag that denotes if Notification purpose needs to be displayed on the Preference center
  - `displaySubscribeSettings` boolean: Boolean flag that denotes if Subscribe settings section needs to be displayed for the Preference center
  - `notificationPurpose` ConsentPreferencesUniversalConsentPreferenceManagPCPurposeDtoRootPublicAPI
    - `id` string, uuid: Unique identifier of the element
    - `order` integer: Display order of the element within the section
    - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: Available translations for the element's content
      - `name` string: Translated name of the item
      - `description` string: Translated description of the item
      - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
      - `content` string: Translated rich text content (may include HTML)
      - `language` string, required: Language code for this translation (ISO 639-1)
      - `isDefault` boolean: Indicates if this is the default translation
    - `label` string: Name of the purpose
    - `description` string: Detailed description of the purpose
    - `implicitConsentConfirmDesc` string: Description shown for the implicit consent confirmation checkbox
    - `version` integer: Version number of the purpose
    - `topics` ConsentPreferencesUniversalConsentPreferenceManagPCPurposeTopicDtoRootPublicAPI[]: List of topics associated with this purpose
      - `id` string, uuid: Unique identifier of the topic-purpose relationship
      - `name` string: Name of the topic
      - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: List of translations for the topic's name
        - `name` string: Translated name of the item
        - `description` string: Translated description of the item
        - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
        - `content` string: Translated rich text content (may include HTML)
        - `language` string, required: Language code for this translation (ISO 639-1)
        - `isDefault` boolean: Indicates if this is the default translation
    - `customPreferences` ConsentPreferencesUniversalConsentPreferenceManagPCCustomPreferenceDtoRootPublicAPI[]: List of custom preferences associated with this purpose
      - `id` string, uuid: Unique identifier of the custom preference
      - `name` string: Name of the custom preference
      - `description` string: Detailed description of the custom preference
      - `selectionType` 'SINGLE_CHOICE' | 'MULTI_CHOICE': Type of selection allowed for this preference
      - `displayAs` 'BUTTONS' | 'CHECKBOXES': How the preference options should be displayed
      - `required` boolean: Whether a selection is required for this preference
      - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: List of translations for the custom preference
        - `name` string: Translated name of the item
        - `description` string: Translated description of the item
        - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
        - `content` string: Translated rich text content (may include HTML)
        - `language` string, required: Language code for this translation (ISO 639-1)
        - `isDefault` boolean: Indicates if this is the default translation
      - `customPreferenceOptions` ConsentPreferencesUniversalConsentPreferenceManagPCCustomPreferenceOptionDtoRootPublicAPI[]: List of available options for this custom preference
        - `id` string, uuid: Unique identifier of the option
        - `label` string: Display label for the option
        - `order` integer: Display order of the option (0-based index)
        - `isDefault` boolean: Indicates if this option is selected by default
        - `languages` ConsentPreferencesUniversalConsentPreferenceManagTranslationDtoRootPublicAPI[]: List of translations for the option label
          - `name` string: Translated name of the item
          - `description` string: Translated description of the item
          - `implicitConsentConfirmDesc` string: Translated text for implicit consent confirmation
          - `content` string: Translated rich text content (may include HTML)
          - `language` string, required: Language code for this translation (ISO 639-1)
          - `isDefault` boolean: Indicates if this is the default translation
    - `visibility` 'VISIBLE_TO_ALL' | 'VISIBLE_TO_CONSENTED' | 'VISIBLE_TO_PRIOR_CONSENTED': Visibility settings for the purpose in the preference center
  - `displayPageLevelSubscribeSettings` boolean: Boolean flag that denotes if Subscribe settings section is allowed to be configured specific to each Preference center page
  - `autoCheckTopics` boolean: Boolean flag that denotes if auto check topics feature is enabled for the Preference center
  - `updateNotOptedOutToActiveStatus` boolean: Boolean flag that denotes if 'update not opted-out' to 'active' status is enabled for the Preference center

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