---
title: "Retire Purpose"
method: PUT
path: "/api/consentmanager/v1/purposes/{purposeId}/retire"
tags: ["Purposes"]
---

# Retire Purpose

`PUT /api/consentmanager/v1/purposes/{purposeId}/retire`

Use this API to set the retirement date for a specific Purpose. 

> 🗒 Things to Know
> 
> - If the `date` query parameter is left empty, the date will be set to one day in the future by default.
> - Data subjects who gave consent to the specified Purpose will be automatically updated after Purpose expiration. A summary of details about this transaction will appear on the Purposes and Receipts tabs of the Data Subject details screen in the OneTrust application for each profile associated to the Purpose. For more information, see [Managing Data Subjects](https://my.onetrust.com/s/article/UUID-3d2d8d5e-e9d7-ac43-4ee1-818a4c4e8932) and [Viewing Consent Receipts & Transactions](https://my.onetrust.com/s/article/UUID-17b03e29-c3b5-c5dc-a172-b2a180f9a826).
> - This API returns Purpose descriptions inside `<p>` and `</p> `HTML tags. These can be sanitized depending on your formatting needs.

## Path parameters

- `purposeId` string, uuid, required

## Query parameters

- `date` string, date

## Response `200`

OK - Successfully set retirement date for purpose.

- ConsentPreferencesUniversalConsentPreferenceManagPagePurposeDetailsDto
  - `content` ConsentPreferencesUniversalConsentPreferenceManagPurposeDetailsDto[] — The list of items for the current page.
    - `Id` string, uuid — Globally unique identifier of the Purpose
    - `Label` string — Name of the Purpose
    - `Description` string — Detailed description of the Purpose's intended use
    - `Status` 'DRAFT' | 'ACTIVE' | 'RETIRED' — Status of the Purpose
    - `Version` integer — Current version of the Purpose
    - `RetireOnDate` string, date-time — Date when the purpose will be retired
    - `ParentPurposeId` string, uuid — Unique identifier of the parent purpose
    - `ExternalReference` string — External reference identifier for the purpose
    - `PurposeType` 'STANDARD' | 'COOKIE' | 'IAB' | 'MOBILE' | 'NOTIFICATION_OPT_OUT' — Type of the purpose
    - `ConsentLifeSpan` integer — Lifespan of the consent in seconds
    - `ImplicitConsentLifeSpan` integer — Lifespan for implicit consents in seconds
    - `ImplicitConsentConfirmDesc` string — Description shown when confirming implicit consent
    - `PurposeCategory` ConsentPreferencesUniversalConsentPreferenceManagAttributeValueInformation
      - `id` string, uuid — Unique identifier for the attribute option
      - `value` string, required — Attribute value
      - `valueKey` string — Translation key used for localizing the value
      - `colorCode` string — Color code associated with the option. Used for score-based attributes.
      - `optionSelectionValue` string — Selection score value linked to the option. Used for score-based or numerical-based attributes.
      - `displayLabel` string — Display name for the option, used for external attributes managed by other systems
      - `associatedAttributeValueInformation` ConsentPreferencesUniversalConsentPreferenceManagAssociatedAttributeValueInformation[] — Associated attribute option information
        - `id` string, uuid — Unique identifier for the attribute option
        - `value` string, required — Attribute value
        - `valueKey` string — Translation key used for localizing the value
        - `colorCode` string — Color code associated with the option. Used for score-based attributes.
      - `disabled` boolean — Indicates whether this attribute option is currently disabled.
    - `Languages` ConsentPreferencesUniversalConsentPreferenceManagPurposeLanguageDto[] — List of languages supported by 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` ConsentPreferencesUniversalConsentPreferenceManagPurposeTopicDto[] — List of topics associated with the 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)
      - `CanDelete` boolean — Whether this Topic can be deleted or not
    - `CustomPreferences` ConsentPreferencesUniversalConsentPreferenceManagPurposeCustomPreferenceDto[] — List of custom preferences associated with the purpose
      - `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
      - `PurposeCustomPreferenceId` string, uuid — Unique identifier of the Purpose and Custom Preference relation
    - `ExpiryDateType` 'LAST_TRANSACTION_DATE' | 'CONSENT_DATE' — Date field considered for purpose lifespan/expiry
    - `attributeValues` object — Map of attribute values associated with the purpose
    - `IsMajorVersion` boolean
    - `HardOptOutDisplayFormat` 'HIDE' | 'LOCK' — The format in which the purpose displays in a Trust Center when the consent status is Hard opt-out. Hard opt-out purposes can either be displayed but locked, or hidden.
    - `attributes` object — Additional attributes attached to the purpose
    - `EnableGeolocation` boolean — Flag to enable geolocation tracking for this purpose
    - `LastMajorVersion` integer — Last major version number of the purpose
    - `VersionNotes` string — Notes about the current version of 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.
  - `empty` boolean — The flag to check if the entity is empty or not.
  - `first` boolean — The flag to check if the entity is first entity or not.
  - `last` boolean — The flag to check if the entity is last entity or not.
  - `number` integer — The number associated with the result.
  - `numberOfElements` integer — Total number of elements in the result.
  - `pageable` ConsentPreferencesUniversalConsentPreferenceManagPageableObject
    - `offset` integer
    - `sort` ConsentPreferencesUniversalConsentPreferenceManagSortObject
      - `empty` boolean
      - `unsorted` boolean
      - `sorted` boolean
    - `pageNumber` integer
    - `pageSize` integer
    - `paged` boolean
    - `unpaged` boolean
  - `sort` ConsentPreferencesUniversalConsentPreferenceManagSortObject
    - `empty` boolean
    - `unsorted` boolean
    - `sorted` boolean
  - `totalPages` integer — Total number of pages in the result list.
  - `totalElements` integer — Total number of elements in the result.
  - `size` integer — Size of the result list.

## 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/revisions/21de3aa0b170/schema)
