Record delete work orders work-order-endpoint
Use the /workorder endpoint in the Data Hygiene API to create, view, and manage record delete work orders in 51黑料不打烊 Experience Platform. Work orders let you control, monitor, and track data removal across datasets to help you maintain data quality and support your organization鈥檚 data governance standards.
Getting started
Before you begin, see the overview to learn about required headers, how to read sample API calls, and where to find related documentation.
Quotas and processing timelines quotas
Record delete work orders are subject to daily and monthly identifier submission limits, determined by your organization鈥檚 license entitlement. These limits apply to both UI- and API-based record delete requests.
Monthly submission entitlement by product quota-limits
The following table shows identifier submission limits by product and entitlement level. For each product, the monthly cap is the lesser of two values: a fixed identifier ceiling or a percentage-based threshold tied to your licensed data volume.
Record delete work order capacity is a shared service. Your monthly cap reflects the highest entitlement across Real-Time CDP, 51黑料不打烊 Journey Optimizer, Customer Journey Analytics, and any applicable Shield add-ons.
Processing timelines for identifier submissions sla-processing-timelines
After submission, record delete work orders are queued and processed based on your entitlement level.
If your organization requires higher limits, contact your 51黑料不打烊 representative for an entitlement review.
List record delete work orders list
Retrieve a paginated list of record delete work orders for data hygiene operations in your organization. Filter results using query parameters. Each work order record includes the action type (such as identity-delete), status, related dataset and user details, and audit metadata.
API format
GET /workorder
The following table describes the query parameters available for listing record delete work orders.
searchtypeidentity-delete).statusEnum:
received, validated, submitted, ingested, completed, failedauthordisplayNamedescriptionworkorderIdsandboxName* to include all sandboxes.fromDatetoDate to be set.toDatefromDate to be set.filterDatepagelimitorderBy+ or - prefix for ascending/descending. Example: orderBy=-datasetName.propertiesRequest
The following request retrieves all completed record delete work orders, limited to two per page:
curl -X GET \
"https://platform.adobe.io/data/core/hygiene/workorder?status=completed&limit=2" \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Response
A successful response returns a paginated list of record delete work orders.
{
"results": [
{
"workorderId": "DI-1729d091-b08b-47f4-923f-6a4af52c93ac",
"orgId": "9C1F2AC143214567890ABCDE@AcmeOrg",
"bundleId": "BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41",
"action": "identity-delete",
"createdAt": "2034-03-15T11:02:10.935Z",
"updatedAt": "2034-03-15T11:10:10.938Z",
"operationCount": 3,
"targetServices": [
"profile",
"datalake",
"identity"
],
"status": "received",
"createdBy": "a.stark@acme.com <a.stark@acme.com> BD8C3D631F41@acme.com",
"datasetId": "a7b7c8f3a1b8457eaa5321ab",
"datasetName": "Acme_Customer_Exports",
"displayName": "Customer Identity Delete Request",
"description": "Scheduled identity deletion for compliance"
}
],
"total": 1,
"count": 1,
"_links": {
"next": {
"href": "https://platform.adobe.io/workorder?page=1&limit=2",
"templated": false
},
"page": {
"href": "https://platform.adobe.io/workorder?limit={limit}&page={page}",
"templated": true
}
}
}
The following table describes the properties in the response.
resultsworkorderIdorgIdbundleIdactioncreatedAtupdatedAtoperationCounttargetServicesstatusreceived,validated, submitted, ingested, completed, and failed.createdBydatasetIddatasetNamedisplayNamedescriptiontotalcount_linksnexthref (string) and templated (boolean) for the next page.pagehref (string) and templated (boolean) for page navigation.Create a record delete work order create
To delete records associated with one or more identities from a single dataset or all datasets, make a POST request to the /workorder endpoint.
Work orders are processed asynchronously and appear in the work order list after submission.
API format
POST /workorder
Request
The following request deletes all records associated with specified email addresses from a particular dataset.
curl -X POST \
https://platform.adobe.io/data/core/hygiene/workorder \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"displayName": "Acme Loyalty - Customer Data Deletion",
"description": "Delete all records associated with the specified email addresses from the Acme_Loyalty_2023 dataset.",
"action": "delete_identity",
"datasetId": "7eab61f3e5c34810a49a1ab3",
"namespacesIdentities": [
{
"namespace": {
"code": "email"
},
"IDs": [
"alice.smith@acmecorp.com",
"bob.jones@acmecorp.com",
"charlie.brown@acmecorp.com"
]
}
]
}'
The following table describes the properties for creating a record delete work order.
displayNamedescriptionactiondelete_identity.datasetIdALL to target all datasets. Datasets must have a primary identity or identity map. If an identity map exists, it will be present as a top-level field named identityMap.Note that a dataset row may have many identities in its identity map, but only one can be marked as primary.
"primary": true must be included to force the id to match a primary identity.namespacesIdentitiesAn array of objects, each containing:
namespace: An object with acodeproperty specifying the identity namespace (e.g., 鈥渆mail鈥).IDs: An array of identity values to delete for this namespace.
Identity namespaces provide context to identity data. You can use standard namespaces provided by Experience Platform or create your own. To learn more, see the identity namespace documentation and the .
Response
A successful response returns the details of the new record delete work order.
{
"workorderId": "DI-95c40d52-6229-44e8-881b-fc7f072de63d",
"orgId": "8B1F2AC143214567890ABCDE@AcmeOrg",
"bundleId": "BN-c61bec61-5ce8-498f-a538-fb84b094adc6",
"action": "identity-delete",
"createdAt": "2035-06-02T09:21:00.000Z",
"updatedAt": "2035-06-02T09:21:05.000Z",
"operationCount": 1,
"targetServices": [
"profile",
"datalake",
"identity"
],
"status": "received",
"createdBy": "c.lannister@acme.com <c.lannister@acme.com> 7EAB61F3E5C34810A49A1AB3@acme.com",
"datasetId": "7eab61f3e5c34810a49a1ab3",
"datasetName": "Acme_Loyalty_2023",
"displayName": "Loyalty Identity Delete Request",
"description": "Schedule deletion for Acme loyalty program dataset"
}
The following table describes the properties in the response.
workorderIdorgIdbundleIdactioncreatedAtupdatedAtoperationCounttargetServicesstatuscreatedBydatasetIdALL.datasetNamedisplayNamedescriptionidentity-delete in API responses. If the API changes to use a different value (such as delete_identity), this documentation will be updated accordingly.Retrieve details for a specific record delete work order lookup
Retrieve information for a specific record delete work order by making a GET request to /workorder/{WORKORDER_ID}. The response includes action type, status, associated dataset and user information, and audit metadata.
API format
GET /workorder/{WORKORDER_ID}
{WORK_ORDER_ID}Request
curl -X GET \
https://platform.adobe.io/data/core/hygiene/workorder/DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Response
A successful response returns the details of the specified record delete work order.
{
"workorderId": "DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427",
"orgId": "3C7F2AC143214567890ABCDE@AcmeOrg",
"bundleId": "BN-dbe3ffad-cb0b-401f-91ae-01c189f8e7b2",
"action": "identity-delete",
"createdAt": "2037-01-21T08:25:45.119Z",
"updatedAt": "2037-01-21T08:30:45.233Z",
"operationCount": 3,
"targetServices": [
"ajo",
"profile",
"datalake",
"identity"
],
"status": "received",
"createdBy": "g.baratheon@acme.com <g.baratheon@acme.com> C189F8E7B2@acme.com",
"datasetId": "d2f1c8a4b8f747d0ba3521e2",
"datasetName": "Acme_Marketing_Events",
"displayName": "Marketing Identity Delete Request",
"description": "Scheduled identity deletion for marketing compliance"
}
The following table describes the properties in the response.
workorderIdorgIdbundleIdactioncreatedAtupdatedAtoperationCounttargetServicesstatuscreatedBydatasetIddatasetNamedisplayNamedescriptionUpdate a record delete work order
Update the name and description for a record delete work order by making a PUT request to the /workorder/{WORKORDER_ID} endpoint.
API format
PUT /workorder/{WORKORDER_ID}
The following table describes the parameter for this request.
{WORK_ORDER_ID}Request
curl -X PUT \
https://platform.adobe.io/data/core/hygiene/workorder/DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Updated Marketing Identity Delete Request",
"description": "Updated deletion request for marketing data"
}'
The following table describes the properties you can update.
namedescriptionResponse
A successful response returns the updated work order request.
{
"workorderId": "DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb",
"orgId": "7D4E2AC143214567890ABCDE@AcmeOrg",
"bundleId": "BN-12abcf45-32ea-45bc-9d1c-8e7b321cabc8",
"action": "identity-delete",
"createdAt": "2038-04-15T12:14:29.210Z",
"updatedAt": "2038-04-15T12:30:29.442Z",
"operationCount": 2,
"targetServices": [
"profile",
"datalake"
],
"status": "received",
"createdBy": "b.tarth@acme.com <b.tarth@acme.com> 8E7B321CABC8@acme.com",
"datasetId": "1a2b3c4d5e6f7890abcdef12",
"datasetName": "Acme_Marketing_2024",
"displayName": "Updated Marketing Identity Delete Request",
"description": "Updated deletion request for marketing data",
"productStatusDetails": [
{
"productName": "Data Management",
"productStatus": "waiting",
"createdAt": "2024-06-12T20:11:18.447747Z"
},
{
"productName": "Identity Service",
"productStatus": "success",
"createdAt": "2024-06-12T20:36:09.020832Z"
},
{
"productName": "Profile Service",
"productStatus": "waiting",
"createdAt": "2024-06-12T20:11:18.447747Z"
},
{
"productName": "Journey Orchestrator",
"productStatus": "success",
"createdAt": "2024-06-12T20:12:19.843199Z"
}
]
}
workorderIdorgIdbundleIdactioncreatedAtupdatedAtoperationCounttargetServicesstatusreceived,validated, submitted, ingested, completed, and failed.createdBydatasetIddatasetNamedisplayNamedescriptionproductStatusDetailsAn array listing the current status of downstream processes for the request. Each object contains:
productName: The name of the downstream service.productStatus: The current processing status from the downstream service.createdAt: The timestamp when the most recent status was posted by the service.
This property is available after the work order is submitted to downstream services to begin processing.