openapi: 3.2.0 info: title: Consent & - Cross-Device Consent Preferences API version: '1.0' description: '' servers: - url: https://consent-api.onetrust.com tags: - name: Preferences paths: /v1/preferences: get: responses: '200': description: Response body contains a list of preferences with the current consent status for a data subject. content: application/json: schema: type: object properties: preferences: type: array items: $ref: '#/components/schemas/PreferencesDto' examples: response: value: preferences: - purposeLastUpdatedDate: '2021-01-06T09:00:48.247481Z' lastInteractionDate: '2021-01-06T09:00:48.247481Z' consentDate: '2021-01-06T09:00:48.247481Z' status: ACTIVE expiryDate: '2021-01-07T12:00:00Z' purposeVersion: 1 topics: - f851895b-5421-49eb-b592-8a97eae37104 - 0285e78e-c3a9-46f2-b41c-a7becc5712b6 customPreferences: b7e2b662-2eae-432e-80e0-c3597cd73436: - b4b36d84-e715-43f0-be90-364a6285be30 - 583a1dca-c734-4521-8320-8df9f22ae698 geolocation: - receiptGuid: b1071397-bec1-4218-a884-3916ad52a14a - country: USA - state: GA - stateName: Georgia - purposeLastUpdatedDate: '2021-01-06T09:00:48.247481Z' lastInteractionDate: '2021-01-06T09:00:48.247481Z' consentDate: '2021-01-06T09:00:48.247481Z' status: ACTIVE expiryDate: '2021-01-07T12:00:00Z' purposeVersion: 1 topics: - f851895b-5421-49eb-b592-8a97eae37104 - 0285e78e-c3a9-46f2-b41c-a7becc5712b6 customPreferences: b7e2b662-2eae-432e-80e0-c3597cd73436: - b4b36d84-e715-43f0-be90-364a6285be30 - 583a1dca-c734-4521-8320-8df9f22ae698 syncGroups: {} latestGeoLocation: - receiptGuid: b1071397-bec1-4218-a884-3916ad52a14a - country: USA - state: GA - stateName: Georgia dataElements: Device: iPhone 11 Browser: Safari '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '429': description: 'Too Many Requests For more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).' headers: Retry-After: description: The number of seconds after which requests will be allowed again. schema: type: integer format: int32 ot-ratelimit-event-id: description: The unique identifier for the rate-limiting event. schema: type: string format: uuid ot-requests-allowed: description: The number of requests allowed within the specified period. schema: type: integer format: int32 ot-period: description: The unit of time for which the rate limit applies. schema: type: string enum: - HOUR - MINUTE ot-request-made: description: The number of requests made within the specified period. schema: type: integer format: int32 summary: Get Data Subject's Preferences description: '> ❗️ End of Support Notification > > As of November 23, 2025, this API is now deprecated. Any customers leveraging this API are encouraged to use the Get Data Subject’s Preferences V2 API. For more information, see OneTrust API Sunsetting & Deprecation Guidelines. Use this API to retrieve a list of all consent preferences for a data subject identifier. The response will include details such as consent date, Purpose Preferences, and data subject''s geolocation. The response will also include relevant information about data elements and last interaction date, along with the current status of consent for the purposes that the data subject has interacted with. > 🗒 Things to Know > > - This API uses an authorization token with public key model that reduces query response time and bypasses rate limits that are in place with the main APIs that rely on querying the main OneTrust database. > - This API does not require an intermediary server-server API call. It is optimized for client-side applications, maintaining security to make quick decisions based on data subject consent. > - The response of this API will not return updates made via the Update Data Subject''s Preferences in a Preference Center API.' operationId: getPreferencesUsingGET parameters: - in: header name: identifier required: true description: ID of a data subject. example: gpburdell@onetrust.com schema: type: string - in: header name: tenantId required: true description: UUID of the tenant. The value can be retrieved in the OneTrust application using Get Help > Contact Us > Account ID. example: 33df590e-3fd5-44bd-a50f-3722988021eb schema: type: string - in: header name: Authorization required: true description: Authorization token for the data subject. Refer [Using an authorization token with public key model](https://my.onetrust.com/s/article/UUID-f706c4e7-3765-73bd-ec82-96afb8e3565e?topicId=0TO1Q000000ItSPWA) for more details. example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJncGJ1cmRlbGxAb25ldHJ1c3QuY29tIiwibmFtZSI6Ikdlb3JnZSBCdXJkZWxsIiwiaWF0IjoxNTE2MjM5MDIyfQ.UizsCE7HsWYe-d24XHekF5tJLGiwFbpshtHQkNw5bKb schema: type: string - in: query name: syncGroup description: UUID of the sync group. example: 664f18db-fb76-4917-aaf1-6a813779a86b schema: type: string tags: - Preferences components: schemas: PreferencesDto: type: object properties: consentDate: type: string format: date-time description: The date and time at which the Data Subject gave their consent based on the interaction date for a Confirmed Transaction. customPreferences: type: object description: The list of Custom Preferences associated with the Purpose. additionalProperties: type: array items: type: string format: uuid geolocation: $ref: '#/components/schemas/DataSubjectGeolocationDto' dataElements: type: object description: The names and values of Data Elements added via a consent receipt. items: type: string expiryDate: type: string format: date-time description: The date and time at which the Data Subject's consent expires. The expiryDate will only be included in the response if the expiration date is explicitly set using the Consent Receipt API. id: type: string format: uuid description: The preferences id is the Purpose GUID that the consent status relates to. lastInteractionDate: type: string format: date-time description: The most recent date and time at which the Data Subject last made a choice for a particular Purpose. purposeLastUpdatedDate: type: string format: date-time description: The most recent date and time when the Purpose status was changed, the Purpose version was updated, or any changes were made to Topic or Custom Preference option selections. purposeVersion: type: integer format: int32 description: The version of the purpose that the Data Subject consented to. status: type: string description: The Data Subject's consent status for the Purpose. enum: - EXPIRED - WITHDRAWN - NO_CONSENT - PENDING - ACTIVE - OPT_OUT - ALWAYS_ACTIVE - HARD_OPT_OUT - EXTEND - NOT_OPT_OUT syncGroups: type: string format: uuid description: The GUID of the sync group for which preferences are returned. This is an optional parameter that allows you to retrieve only the Purposes for a specified Sync Group. topics: type: array description: The list of topics associated with the Purpose. items: type: string latestGeolocation: $ref: '#/components/schemas/DataSubjectGeolocationDto' title: PreferencesDto DataSubjectGeolocationDto: type: object description: Provides geolocation information for a data subject if they have given consent to a purpose with geolocation tracking enabled. properties: receiptGuid: type: string format: uuid example: 788ba071-61b0-485f-81a0-a2245777b432 description: Unique Identifier of the Receipt for which geolocation parameters were sent. country: type: string example: US description: Country of the DataSubject. state: type: string description: State Code of the DataSubject. example: GA stateName: type: string description: State Name of the DataSubject. example: Georgia title: DataSubjectGeolocationDto x-readme: explorer-enabled: false metrics-enabled: false proxy-enabled: true x-onetrust: spec-label: Swagger 2 links: Cross-Domain & Cross-Device Consent: https://my.onetrust.com/s/article/UUID-750c79df-692c-7418-a395-af2acaa45601