Profile system jobs endpoint (Delete requests)
Adobe Experience Platform enables you to ingest data from multiple sources and build robust profiles for individual customers. Data ingested into Experience Platform is stored in the Data Lake, and if the datasets have been enabled for Profile, that data is stored in the Real-Time Customer Profile data store as well. Occasionally it may be necessary to delete profile data associated with a dataset from the Profile store in order to remove data that is no longer needed or was added in error. This requires using the Real-Time Customer Profile API to create a Profile system job, or “delete request”.
Getting started
The API endpoint used in this guide is part of the Real-Time Customer Profile API. Before continuing, please review the getting started guide for links to related documentation, a guide to reading the sample API calls in this document, and important information regarding required headers that are needed to successfully make calls to any Experience Platform API.
View delete requests view
A delete request is a long-running, asynchronous process, meaning that your organization may be running multiple delete requests at once. In order to view all delete requests that your organization is currently running, you can perform a GET request to the /system/jobs endpoint.
You may also use optional query parameters to filter the list of delete requests returned in the response. To use multiple parameters, separate each parameter using an ampersand (&).
API format
When using this endpoint, the first 100 system jobs are returned in ascending order, based on their creation date.
GET /system/jobs
GET /system/jobs?{QUERY_PARAMETERS}
startstart=0 will return results starting from 0.start=4limitlimit=10For example, if you had the query parameter of ?start=1&limit=10, the response will return records 10-19.
Request
| code language-shell |
|---|
|
Response
A successful response returns page information and a children array that contains an object for each of the system requests.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Property | Description |
requestId |
The ID of the system job. |
requestType |
The type of the system job. Possible values include BACKFILL_TTL, DELETE_EE_BATCH, and TRUNCATE_DATASET. |
status |
The status of the system job. Possible values include NEW, SUCCESS, ERROR, FAILED, and IN-PROGRESS. |
properties |
An object that contains batch and/or dataset IDs of the system job. |
Create a delete request create-a-delete-request
Initiating a new delete request is done through a POST request to the /systems/jobs endpoint, where the ID of the dataset or batch to be deleted is provided in the body of the request.
Delete a dataset and associated profile data
In order to delete a dataset and all profile data associated with the dataset from the Profile store, the dataset ID must be included in the body of the POST request. This action will delete ALL data for a given dataset. Experience Platform allows you to delete datasets based on both record and time series schemas.
API format
POST /system/jobs
Request
| code language-shell |
|---|
|
dataSetIdResponse
A successful response returns the details of the newly created system request, including a unique, system-generated, read-only ID for the request. This can be used to look up the request and check its status. The status for the request at time of creation is NEW until it begins processing (IN-PROGRESS). The dataSetId in the response should match the dataSetId sent in the request.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Property | Description |
requestId |
The system-generated, read-only ID of the system job. |
requestType |
The type of the system job. Since you’re deleting a dataset, this value is TRUNCATE_DATASET. |
status |
The status of the system job. Possible values include NEW, SUCCESS, ERROR, FAILED, and IN-PROGRESS. |
properties |
An object that contains the dataset IDs of the system job. |
Delete a batch
In order to delete a batch, the batch ID must be included in the body of the POST request. Please be advised that you cannot delete batches for datasets based on record schemas. Only batches for datasets based on time series schemas may be deleted.
For more information on record and time series behavior, please review the section on XDM data behaviors in the XDM System overview.
API format
POST /system/jobs
Request
| code language-shell |
|---|
|
datasetIdbatchIdResponse
A successful response returns the details of the newly created system request.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Property | Description |
requestId |
The system-generated, read-only ID of the system job. |
requestType |
The type of the system job. Since you’re deleting a batch, this value is DELETE_EE_BATCH. |
status |
The status of the system job. Possible values include NEW, SUCCESS, ERROR, FAILED, and IN-PROGRESS. |
properties |
An object that contains the batch and dataset IDs of the system job. |
If you attempt to initiate a delete request for a Record dataset batch, the request will fail.
View a specific delete request view-a-specific-delete-request
To view a specific delete request, including details such as its status, you can perform a lookup (GET) request to the /system/jobs endpoint and include the ID of the delete request in the path.
API format
GET /system/jobs/{DELETE_REQUEST_ID}
{DELETE_REQUEST_ID}Request
| code language-shell |
|---|
|
Response
A successful response returns the details of the specified system request, including its updated status. The ID of the system request in the response should match the ID sent in the request path.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Property | Description |
requestId |
The system-generated, read-only ID of the system job. |
requestType |
The type of the system job. Possible values include BACKFILL_TTL, DELETE_EE_BATCH, and TRUNCATE_DATASET. |
status |
The status of the system job. Possible values include NEW, SUCCESS, ERROR, FAILED, and IN-PROGRESS. |
properties |
An object that contains batch and/or dataset IDs of the system job. |
Once the delete request status is "SUCCESS" you can confirm that the data has been deleted by attempting to access the deleted data using the Data Access API. For instructions on how to use the Data Access API to access datasets and batches, please review the Data Access documentation.
Next steps
Now that you know the steps involved in deleting datasets and batches from the Profile store within Experience Platform, you can safely delete data that has been added erroneously or that your organization no longer needs. Please be mindful that a delete request cannot be undone, therefore you should only delete data that you are confident you do not need now and will not need in the future.