---
title: "Get List of All Purpose Details for All Data Subjects"
method: GET
path: "/rest/api/consent/v4/datasubjects/profiles"
tags: ["Data Subjects V4"]
---

# Get List of All Purpose Details for All Data Subjects

`GET /rest/api/consent/v4/datasubjects/profiles`

Use this API to retrieve a list of all purpose details last updated between a specified date range for all data subjects.

> 🗒 Things to Know
> 
> - The maximum date range that can be returned is 30 days. 
> - Along with the mandatory date range filter parameters, this API supports the following filter combinations: 
>   - `collectionPointId`, `purposeId`, and `status` 
>   - `purposeId` and `status` 
>   - `collectionPointId`

## Query parameters

- `collectionPointId` string, uuid
- `purposeId` string, uuid
- `status` 'EXPIRED' | 'WITHDRAWN' | 'NO_CONSENT' | 'PENDING' | 'ACTIVE' | 'OPT_OUT' | 'ALWAYS_ACTIVE' | 'HARD_OPT_OUT' | 'EXTEND' | 'CHANGE_PREFERENCES' | 'NOT_OPT_OUT' | 'OPT_IN' | 'IMPLICIT'
- `updatedSince` string, date-time, required
- `updatedUntil` string, date-time, required
- `page` integer
- `size` integer
- `sort` 'lastUpdatedDate,asc' | 'lastUpdatedDate,desc'

## Headers

- `requestContinuation` string

## Response `200`

OK

- ConsentAPIDataSubjectProfileResponseSliceDto
  - `content` ConsentAPIDataSubjectProfileResponseDto[]
    - `id` string, uuid — Unique Identifier identifying a Purpose
    - `identifier` string — The data subject identifier of the data subject.
    - `lastReceiptId` string, uuid — Unique Identifier identifying a Receipt
    - `name` string — The Purpose name
    - `version` integer — Version of the Purpose
    - `status` string — The status of the purpose for the data subject.
    - `firstTransactionDate` string, date-time — The date and time that the first transaction was written to the database.
    - `lastTransactionDate` string, date-time — The date and time that the last transaction was written to the database.
    - `withdrawalDate` string, date-time — The date and time that the data subject withdrew consent for the purpose.
    - `consentDate` string, date-time — The date and time that the data subject gave their last active consent.
    - `expiryDate` string, date-time — The explicit expiration date after which the purpose is no longer valid and no further consent is collected against it.
    - `totalTransactionCount` integer — The total number of Transactions recorded against this Purpose
    - `topicsList` string[] — The list of topics associated with the purpose.
    - `topics` ConsentAPIDataSubjectProfileTopicResponseDto[] — The details of the topics for which transactions were recorded.
      - `id` string, uuid — Unique Identifier identifying a Purpose Topic
      - `name` string — The name of the topic.
    - `customPreferencesMap` object — The list of purpose preferences associated with the purpose.
    - `customPreferences` ConsentAPIDsProfileCustomPreferenceResponseDto[] — The details of the purpose preferences for which transactions were recorded.
      - `id` string, uuid — The unique identifier of the purpose preference.
      - `name` string — The name of the purpose preference.
      - `options` ConsentAPIDsProfileCustomPreferenceOptionResponseDto[] — List containing the Custom Preference's Options
        - `id` string, uuid — The unique identifiers of the purpose preference options.
        - `name` string — The name of the purpose preference options.
    - `lastTransactionCollectionPointId` string, uuid
    - `lastTransactionCollectionPointVersion` integer
    - `purposeNote` ConsentAPIPurposeNoteResponseDto
      - `noteId` string, uuid — The unique identifier of the reason template.
      - `noteType` 'UNSUBSCRIBE_REASON' — The type of reason template.
      - `noteLanguage` string — The ISO code for the language of the reason template.
      - `noteText` string — The text of the reason template.
      - `isValidNote` boolean — This flag indicates whether the note is a valid reason template.
    - `lastUpdatedDate` string, date-time — The date and time of the latest change to the data subject profile in the database.to any of: Purpose version, Purpose Status, or Topic/Custom Preference selections
    - `lastInteractionDate` string, date-time — The date and time of the data subject's last interaction with the purpose.
    - `attributes` object — The additional attributes associated with the purpose.
    - `geolocation` ConsentAPIDataSubjectGeolocationResponseDto
      - `dataSubjectId` string, uuid — The unique identifier of the data subject.
      - `receiptGuid` string, uuid — The unique identifier of the consent receipt for which geolocation details were sent.
      - `country` string — The country where the consent interaction occurred.
      - `state` string — The state code where the consent interaction occurred.
      - `stateName` string — The name of the state where the consent interaction occurred.
    - `attachments` ConsentAPIDataSubjectAttachmentResponseDto[] — Documents attached to Data Subject Profile
      - `attachmentId` string, uuid — The unique identifier of the file attached to the data subject record.
      - `fileName` string — The name of the file attached to the data subject record.
      - `uploadedBy` string — The name of the user who uploaded the file.
      - `uploadDate` string, date-time — The date and time on which the file was uploaded.
    - `source` ConsentAPIDataSubjectSourceResponseDto
      - `dataSubjectId` string, uuid — The unique identifier of the data subject.
      - `receiptGuid` string, uuid — The unique identifier of the consent receipt for which source details were sent.
      - `sourceType` string — The type of source that captured the consent interaction.
      - `sourceContent` string — The URL or identifier of the source where the consent interaction took place.
  - `number` integer — The page number of the results.
  - `size` integer — The number of results per page.
  - `pageable` ConsentAPIPageableObject
    - `offset` integer
    - `sort` ConsentAPISortObject
      - `empty` boolean
      - `sorted` boolean
      - `unsorted` boolean
    - `pageNumber` integer
    - `paged` boolean
    - `pageSize` integer
    - `unpaged` boolean
  - `last` boolean — Flag indicating whether this is the last page or not.
  - `sort` ConsentAPISortObject
    - `empty` boolean
    - `sorted` boolean
    - `unsorted` boolean
  - `first` boolean
  - `numberOfElements` integer
  - `empty` boolean
  - `requestContinuation` string — The token used to paginate a response if the number of records is more than a page.

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