OneTrust Preferences API

The Preferences API from OneTrust — 1 operation(s) for preferences.

Operations 1

GET /v1/preferences Get Data Subject's Preferences #

Documentation

📖
Documentation
https://developer.onetrust.com/onetrust/reference/attribute-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/activity-log
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/banner
📖
Documentation
https://developer.onetrust.com/onetrust/reference/consent-receipts
📖
Documentation
https://developer.onetrust.com/onetrust/reference/applications
📖
Documentation
https://developer.onetrust.com/onetrust/reference/categorizations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/domain-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences
📖
Documentation
https://developer.onetrust.com/onetrust/reference/mobile-app-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/privacy-notice-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/collection-points
📖
Documentation
https://developer.onetrust.com/onetrust/reference/catalog-search-v1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/classification
📖
Documentation
https://developer.onetrust.com/onetrust/reference/custom-scan
📖
Documentation
https://developer.onetrust.com/onetrust/reference/carbon-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audit-records
📖
Documentation
https://developer.onetrust.com/onetrust/reference/bulk-export
📖
Documentation
https://developer.onetrust.com/onetrust/reference/attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/system-credentials
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-relationships-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/model-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/tasks
📖
Documentation
https://developer.onetrust.com/onetrust/reference/groups-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/assessment-actions
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/drop-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/incidents
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-controller
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audits
📖
Documentation
https://developer.onetrust.com/onetrust/reference/initiatives
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/issues
📖
Documentation
https://developer.onetrust.com/onetrust/reference/control-implementations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/training
📖
Documentation
https://developer.onetrust.com/onetrust/reference/contracts

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/onetrust-preferences-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

onetrust-preferences-api-openapi.yml Raw ↑
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