Manage Purposes
This page describes the governance
endpoint of the Immuta API and its request and response parameters used to manage purposes.
Additional fields may be included in some responses you receive; however, these attributes are for internal purposes and are therefore undocumented.
Governance workflow
Create a purpose
POST
/governance/purpose
Create a purpose.
Payload parameters
name
string
The purpose name.
Yes
id
integer
The ID of the purpose.
No
acknowledgement
string
The purpose acknowledgement.
No
description
string
The purpose description.
No
displayAcknowledgement
boolean
When true
, the acknowledgement
text will display for users when they are prompted to agree to use the data in the project only for that purpose. Default is true
.
No
deleted
boolean
If true
, the purpose has been deleted.
No
subpurposes
array
A list of the sub-purposes.
No
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
No
staged
boolean
If true
, the purpose is staged.
No
Response parameters
id
integer
The purpose ID.
name
string
The purpose name.
acknowledgement
string
The purpose acknowledgement.
description
string
The purpose description.
addedByProfile
integer
The profile ID of the user who created the purpose.
displayAcknowledgement
boolean
When true
, the acknowledgement
text is displayed for users when they are prompted to agree to use the data in the project only for that purpose.
deleted
boolean
If true
, the purpose has been deleted.
subpurposes
array
A list of the sub-purposes.
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
staged
boolean
If true
, the purpose is staged.
createdAt
timestamp
The date the purpose was created.
updatedAt
timestamp
The date the purpose was last updated.
Request example
This example request with the payload below creates a new purpose.
Payload example
Response example
Search purposes
Search all purposes
GET
/governance/purpose
Search for purposes.
Query parameters
offset
integer
Used in combination with size
to fetch pages.
No
size
integer
The number of results to return per page.
No
noLimit
boolean
When true
, the number of results to return per page will not be limited to the number defined by size
. Default is false
.
No
sortField
string
Used to sort results by field. Default is name
.
No
sortOrder
string
Sorts results by order, which must be asc
or desc
. Default is asc
.
No
searchText
string
Search for purpose names by text.
No
root
string
Restrict results to provided root or sub-purposes of root.
No
strictSearch
boolean
When true
, will search for a complete match of the whole string provided in searchText
.
No
getAffectedCount
boolean
If true
, returns the count of projects with each purpose.
No
includeDeleted
boolean
If true
, includes deleted purposes in the results.
No
Response parameters
count
integer
The number of results.
purposes
array
Information on each purpose returned, including id
, name
, acknowledgement
, description
, subpurposes
, policyMetadata
, the creation date, and the staged status.
Request example
This example request returns a list of all of the purposes.
Response example
Search purposes by ID
GET
/governance/purpose/{purposeId}
Get a purpose by ID.
Query parameters
purposeId
integer
The purpose ID.
Yes
includeSubpurposes
boolean
If true
, sub-purposes will be included in the results.
No
Response parameters
id
integer
The purpose ID.
name
string
The purpose name.
acknowledgement
string
The purpose acknowledgement.
description
string
The purpose description.
addedByProfile
integer
The profile ID of the user who created the purpose.
displayAcknowledgement
boolean
When true
, the acknowledgement
text is displayed for users when they are prompted to agree to use the data in the project only for that purpose.
deleted
boolean
If true
, the purpose has been deleted.
subpurposes
array
A list of the sub-purposes.
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
staged
boolean
If true
, the purpose is staged.
createdAt
timestamp
The date the purpose was created.
updatedAt
timestamp
The date the purpose was last updated.
Request example
This example request returns information on the purpose with the ID 1
, including its sub-purposes.
Response example
Update a purpose
PUT
/governance/purpose/{purposeId}
Update a purpose.
Query parameters
purposeId
integer
The purpose ID.
Yes
Payload parameters
name
string
The purpose name.
No
acknowledgement
string
The purpose acknowledgement.
No
description
string
The purpose description.
No
displayAcknowledgement
boolean
When true
, the acknowledgement
text will display for users when they are prompted to agree to use the data in the project only for that purpose. Default is true
.
No
reAcknowledge
boolean
When true
, users will have to re-acknowledge the purpose after it is updated.
No
applyToSubpurposes
boolean
It true
, the updates will be applied to the sub-purposes.
No
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
No
Response parameters
id
integer
The purpose ID.
name
string
The purpose name.
acknowledgement
string
The purpose acknowledgement.
description
string
The purpose description.
addedByProfile
integer
The profile ID of the user who created the purpose.
displayAcknowledgement
boolean
When true
, the acknowledgement
text is displayed for users when they are prompted to agree to use the data in the project only for that purpose.
deleted
boolean
If true
, the purpose has been deleted.
subpurposes
array
A list of the sub-purposes.
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
staged
boolean
If true
, the purpose is staged.
createdAt
timestamp
The date the purpose was created.
updatedAt
timestamp
The date the purpose was last updated.
Request example
This example request with the payload below will update the description of the purpose with the ID 8
.
Payload example
Response example
Delete a purpose
DELETE
/governance/purpose/{purposeId}
Delete the purpose with the given ID and its associated sub-purposes.
Query parameters
purposeId
integer
The purpose ID.
Yes
Response parameters
id
integer
The purpose ID.
name
string
The purpose name.
acknowledgement
string
The purpose acknowledgement.
description
string
The purpose description.
addedByProfile
integer
The profile ID of the user who created the purpose.
displayAcknowledgement
boolean
When true
, the acknowledgement
text is displayed for users when they are prompted to agree to use the data in the project only for that purpose.
deleted
boolean
If true
, the purpose has been deleted.
subpurposes
array
A list of the sub-purposes.
policyMetadata
array
Information including the values for kAnonNoiseReduction
, allowUnmaskedKAnon
, adjustmentCertificationText
, isHED
, and adjustmentRequiresDataSourceTag
.
staged
boolean
If true
, the purpose is staged.
createdAt
timestamp
The date the purpose was created.
updatedAt
timestamp
The date the purpose was last updated.
Request example
This example request deletes the purpose with the ID 8
.
Response example
Last updated