---
title: "Get Purpose Details by Data Subject"
method: GET
path: "/rest/api/consent/v4/datasubjects/profiles/{purposeGuid}"
tags: ["Data Subjects V4"]
---

# Get Purpose Details by Data Subject

`GET /rest/api/consent/v4/datasubjects/profiles/{purposeGuid}`

Use this API to retrieve a data subject’s purpose details for a specific purpose. The response will include details such as the last transaction date, consent date, and purpose preferences.

## Path parameters

- `purposeGuid` string, uuid, required

## Headers

- `identifier` string, required

## Response `200`

OK

- 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.

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