After signing in, you can create credentials that can be used to call the Platform APIs.
Download OpenAPI specification:Download
Use the Data Hygiene REST API to schedule expiration dates for datasets and programmatically correct or delete stored customer personal data in Experience Platform.
Related documentation:
Visualize API calls with Postman (a free, third-party software):
API paths:
Required headers:
Authorization
, x-gw-ims-org-id
, and x-api-key
. For more information on how to obtain these values,
see the authentication tutorial.Content-Type
with a value of application/json
.API error handling:
You can now interact with the Experience Platform API endpoints directly from this API reference page. Get your authentication credentials and use the Try it functionality in the right rail. Note that by using this functionality, you are making real API calls. Keep this in mind when you interact with production sandboxes.
Use the /quota
endpoint in the Data Hygiene API to monitor your Advanced data lifecycle management usage against your organization’s quota limits for each job type.
You can use this endpoint to retrieve your data hygiene quotas. Quota type values include:
datasetExpirationQuota
: This object shows the number of concurrently active dataset expirations for your organization, and your total allowance of expirations.dailyConsumerDeleteIdentitiesQuota
: This object shows the total number of record delete requests made by your organization today and your total daily allowance.
Note: Only accepted requests are counted. If a workorder is rejected because it fails validation, those identity deletions do not count against your quota.monthlyConsumerDeleteIdentitiesQuota
: This object shows the total number of record delete requests made by your organization this month and your total monthly allowance.monthlyUpdatedFieldIdentitiesQuota
: This object shows the total number of record updates requests made by your organization this month and your total monthly allowance.
Note: Only accepted requests are counted. If a workorder is rejected because it fails validation, those identity deletions do not count against your quota.Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
content-type required | string The type of content being sent in the body of the request. Should be 'application/json'. |
Success
Bad Request
Unauthorized
Forbidden
Not Found
{- "quotas": [
- {
- "name": "datasetExpirationQuota",
- "description": "The number of concurrently active Expiration Dataset Delete in all workorder requests for the organization.",
- "consumed": 12,
- "quota": 50
}, - {
- "name": "dailyConsumerDeleteIdentitiesQuota",
- "description": "The consumed number of deleted identities in all workorder requests for the organization for today.",
- "consumed": 21,
- "quota": 600000
}, - {
- "name": "monthlyConsumerDeleteIdentitiesQuota",
- "description": "The consumed number of deleted identities in all workorder requests for the organization for this month.",
- "consumed": 832,
- "quota": 600000
}, - {
- "name": "monthlyUpdatedFieldIdentitiesQuota",
- "description": "The consumed number of updated identities in all workorder requests for the organization for this month.",
- "consumed": 0,
- "quota": 0
}
]
}
Use the /ttl
endpoint to schedule expiration dates for datasets in Adobe Experience Platform.
You can retrieve a list of your organization's dataset expirations by making a GET request to the /ttl
endpoint. Query parameters can be used to filter the response to ensure the results are relevant and specific.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
Accept required | string Specifies the media type that the client expects in the response. All GET requests must include this header with the value of |
Success
Bad Request
Unauthorized
Forbidden
Not Found
{- "results": [
- {
- "ttlId": "SD-42215a53-b79e-49bc-bd00-69f8a470329f",
- "datasetId": "66043e214ac58a2c9f9eb99f",
- "datasetName": "E2E_Dataset_E2E_Identity_Map_Schema_5_1711554081377",
- "sandboxName": "sample-platform-sandbox",
- "imsOrg": "FB3C3EC6621DC3480A495EB2@AdobeOrg",
- "status": "executing",
- "expiry": "2024-03-28T16:41:24.262521Z",
- "updatedAt": "2024-03-28T16:41:32.549939Z",
- "updatedBy": "c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com <c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com> C4A32114631F55D40A495CA7@techacct.adobe.com",
- "displayName": "E2E_Short_Expiry_1711554084262",
- "description": "E2E_Short_Expiry"
}
], - "current_page": 0,
- "total_pages": 6,
- "total_count": 118
}
To schedule a new dataset expiration, make a POST request to the /ttl
endpoint with the required values in the payload. Specify the dataset ID and the expiry date and time (in ISO 8601 format) to ensure data is removed from the system after the specified period.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
Accept required | string Specifies the media type that the client expects in the response. All GET requests must include this header with the value of |
A JSON payload containing the details of the dataset expiration to be created.
Created
Bad Request
Unauthorized
Forbidden
Internal server error
{- "datasetId": "5b020a27e7040801dedbf46e",
- "expiry": "2030-12-31T23:59:59Z",
- "displayName": "Delete Acme Data before 2025",
- "description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}
{- "ttlId": "SD-42215a53-b79e-49bc-bd00-69f8a470329f",
- "datasetId": "66043e214ac58a2c9f9eb99f",
- "datasetName": "E2E_Dataset_E2E_Identity_Map_Schema_5_1711554081377",
- "sandboxName": "sample-platform-sandbox",
- "imsOrg": "FB3C3EC6621DC3480A495EB2@AdobeOrg",
- "status": "executing",
- "expiry": "2024-03-28T16:41:24.262521Z",
- "updatedAt": "2024-03-28T16:41:32.549939Z",
- "updatedBy": "c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com <c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com> C4A32114631F55D40A495CA7@techacct.adobe.com",
- "displayName": "E2E_Short_Expiry_1711554084262",
- "description": "E2E_Short_Expiry"
}
Use this endpoint to retrieve the details of a specific dataset expiration by providing its expiration ID or dataset ID.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
Accept required | string Specifies the media type that the client expects in the response. All GET requests must include this header with the value of |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
Success
Bad Request
Unauthorized
Forbidden
Not Found
{- "ttlId": "SD-42215a53-b79e-49bc-bd00-69f8a470329f",
- "datasetId": "66043e214ac58a2c9f9eb99f",
- "datasetName": "E2E_Dataset_E2E_Identity_Map_Schema_5_1711554081377",
- "sandboxName": "sample-platform-sandbox",
- "imsOrg": "FB3C3EC6621DC3480A495EB2@AdobeOrg",
- "status": "executing",
- "expiry": "2024-03-28T16:41:24.262521Z",
- "updatedAt": "2024-03-28T16:41:32.549939Z",
- "updatedBy": "c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com <c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com> C4A32114631F55D40A495CA7@techacct.adobe.com",
- "displayName": "E2E_Short_Expiry_1711554084262",
- "description": "E2E_Short_Expiry",
- "productStatusDetails": [
- {
- "productName": "Data Management",
- "productStatus": "waiting",
- "createdAt": "2024-06-12T20:11:18.447747Z"
}
]
}
Update the displayName
, description
, and/or expiry
of a dataset expiration. Note: If the expiry is changed it must be at least 24 hours in the future to avoid accidental deletions. This enforced delay provides an opportunity to cancel or re-schedule the dataset expiration.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
A JSON payload containing the details used to update the dataset expiration.
Success
Bad Request
Unauthorized
Forbidden
Not Found
Internal server error
{- "expiry": "2030-12-31T23:59:59Z",
- "displayName": "Delete Acme Data before 2025",
- "description": "The Acme information in this dataset is licensed for our use through the end of 2024."
}
{- "ttlId": "SD-42215a53-b79e-49bc-bd00-69f8a470329f",
- "datasetId": "66043e214ac58a2c9f9eb99f",
- "datasetName": "E2E_Dataset_E2E_Identity_Map_Schema_5_1711554081377",
- "sandboxName": "sample-platform-sandbox",
- "imsOrg": "FB3C3EC6621DC3480A495EB2@AdobeOrg",
- "status": "executing",
- "expiry": "2024-03-28T16:41:24.262521Z",
- "updatedAt": "2024-03-28T16:41:32.549939Z",
- "updatedBy": "c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com <c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com> C4A32114631F55D40A495CA7@techacct.adobe.com",
- "displayName": "E2E_Short_Expiry_1711554084262",
- "description": "E2E_Short_Expiry"
}
Use this endpoint to change the expiry date of an existing dataset expiration. This can be either the dataset expiration ID or the dataset
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
The request body to update the dataset expiration.
The dataset expiration was updated successfully.
Bad Request
Unauthorized
Forbidden
Not Found
Internal server error
{- "expiry": "2030-12-31T23:59:59Z"
}
{- "ttlId": "SD-42215a53-b79e-49bc-bd00-69f8a470329f",
- "datasetId": "66043e214ac58a2c9f9eb99f",
- "datasetName": "E2E_Dataset_E2E_Identity_Map_Schema_5_1711554081377",
- "sandboxName": "sample-platform-sandbox",
- "imsOrg": "FB3C3EC6621DC3480A495EB2@AdobeOrg",
- "status": "executing",
- "expiry": "2024-03-28T16:41:24.262521Z",
- "updatedAt": "2024-03-28T16:41:32.549939Z",
- "updatedBy": "c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com <c87fb98d-b537-4cb9-b1b0-9b74c8e30e2c@techacct.adobe.com> C4A32114631F55D40A495CA7@techacct.adobe.com",
- "displayName": "E2E_Short_Expiry_1711554084262",
- "description": "E2E_Short_Expiry",
- "productStatusDetails": [
- {
- "productName": "Data Management",
- "productStatus": "waiting",
- "createdAt": "2024-06-12T20:11:18.447747Z"
}
]
}
Use this endpoint to cancel an existing expiration for a dataset. This can be either the dataset expiration ID or the dataset
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
The dataset expiration was successfully canceled.
Bad Request
Unauthorized
Forbidden
Not Found
Internal server error
{- "message": "The dataset was successfully canceled."
}
Use the /workorder
endpoint in the Data Hygiene API to programmatically manage record delete requests in Adobe Experience Platform.
You can retrieve a list of your organization's record delete requests by making a GET request to the /workorder
endpoint.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
Success
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
- "orgId": "{ORG_ID}",
- "bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
- "action": "identity-delete",
- "createdAt": "2022-07-21T18:05:28.316029Z",
- "updatedAt": "2022-07-21T17:59:43.217801Z",
- "status": "received",
- "createdBy": "{USER_ID}",
- "datasetId": "c48b51623ec641a2949d339bad69cb15",
- "displayName": "Example Record Delete Request",
- "description": "Cleanup identities required by Jira request 12345."
}
You can delete one or more identities from a single dataset or all datasets by making a POST request to the /workorder
endpoint.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
content-type required | string The type of content being sent in the body of the request. Should be 'application/json'. |
Created
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "action": "delete_identity",
- "datasetId": "c48b51623ec641a2949d339bad69cb15",
- "displayName": "Example Record Delete Request",
- "description": "Cleanup identities required by Jira request 12345.",
- "identities": [
- {
- "namespace": {
- "code": "email"
}, - "id": "poul.anderson@example.com"
}, - {
- "namespace": {
- "code": "email"
}, - "id": "cordwainer.smith@gmail.com"
}, - {
- "namespace": {
- "code": "email"
}, - "id": "cyril.kornbluth@yahoo.com"
}
]
}
{- "workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
- "orgId": "{ORG_ID}",
- "bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
- "action": "identity-delete",
- "createdAt": "2022-07-21T18:05:28.316029Z",
- "updatedAt": "2022-07-21T17:59:43.217801Z",
- "status": "received",
- "createdBy": "{USER_ID}",
- "datasetId": "c48b51623ec641a2949d339bad69cb15",
- "displayName": "Example Record Delete Request",
- "description": "Cleanup identities required by Jira request 12345."
}
You can use this endpoint to retrieve the status of a record delete request. After creating a record delete request, you can check its status by making a GET request with the specified workorderId
.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
content-type required | string The type of content being sent in the body of the request. Should be 'application/json'. |
Success
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
- "orgId": "{ORG_ID}",
- "bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
- "action": "identity-delete",
- "createdAt": "2022-07-21T18:05:28.316029Z",
- "updatedAt": "2022-07-21T17:59:43.217801Z",
- "status": "received",
- "createdBy": "{USER_ID}",
- "datasetId": "c48b51623ec641a2949d339bad69cb15",
- "displayName": "Example Record Delete Request",
- "description": "Cleanup identities required by Jira request 12345.",
- "productStatusDetails": [
- {
- "productName": "Data Management",
- "productStatus": "success",
- "createdAt": "2022-08-08T16:51:31.535872Z"
}, - {
- "productName": "Identity Service",
- "productStatus": "success",
- "createdAt": "2022-08-08T16:43:46.331150Z"
}, - {
- "productName": "Profile Service",
- "productStatus": "waiting",
- "createdAt": "2022-08-08T16:37:13.443481Z"
}, - {
- "productName": "Journey Orchestrator",
- "productStatus": "success",
- "createdAt": "2024-06-12T20:12:19.843199Z"
}
]
}
Update the displayName
and description
of a specific workorder.
Authorization required | string The access token which can be copied from your Experience Platform integration, prefixed with 'Bearer '. For more information on how to obtain this value, visit the authentication tutorial. |
x-api-key required | string The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-gw-ims-org-id required | string The organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial. |
x-sandbox-name required | string All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. |
Success
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "displayName": "Update - displayName",
- "description": "Update - description"
}
{- "workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
- "orgId": "{ORG_ID}",
- "bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
- "action": "identity-delete",
- "createdAt": "2022-07-21T18:05:28.316029Z",
- "updatedAt": "2022-07-21T17:59:43.217801Z",
- "status": "received",
- "createdBy": "{USER_ID}",
- "datasetId": "c48b51623ec641a2949d339bad69cb15",
- "displayName": "Example Record Delete Request",
- "description": "Cleanup identities required by Jira request 12345.",
- "productStatusDetails": [
- {
- "productName": "Data Management",
- "productStatus": "success",
- "createdAt": "2022-08-08T16:51:31.535872Z"
}, - {
- "productName": "Identity Service",
- "productStatus": "success",
- "createdAt": "2022-08-08T16:43:46.331150Z"
}, - {
- "productName": "Profile Service",
- "productStatus": "waiting",
- "createdAt": "2022-08-08T16:37:13.443481Z"
}, - {
- "productName": "Journey Orchestrator",
- "productStatus": "success",
- "createdAt": "2024-06-12T20:12:19.843199Z"
}
]
}