openapi: 3.2.0 info: title: Data Hygiene Record Delete (Work order) API description: "Use the Data Hygiene REST API to schedule expiration dates for datasets or delete stored customer personal data in Experience Platform.\n- **Related documentation**:\n - [Advanced Data Lifecycle Management overview](https://experienceleague.adobe.com/en/docs/experience-platform/data-lifecycle/home)\n - [Quota endpoint](https://experienceleague.adobe.com/en/docs/experience-platform/data-lifecycle/api/quota)\n - [Workorder endpoint](https://experienceleague.adobe.com/en/docs/experience-platform/data-lifecycle/api/workorder)\n - [Dataset expiration endpoint](https://experienceleague.adobe.com/en/docs/experience-platform/data-lifecycle/api/dataset-expiration)\n - [Best practices for Advanced Data Lifecycle Management](https://experienceleague.adobe.com/en/docs/experience-platform/data-lifecycle/best-practices)\n\n- **Visualize API calls with Postman (a free, third-party software)**:\n * [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n * [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n- **API paths**:\n * Platform Gateway URL: https://platform.adobe.io\n * Base path for this API: /data/core/hygiene/\n * Example of a complete path for making a call to \"/ttl\": https://platform.adobe.io/data/core/hygiene/ttl\n\n- **Required headers**:\n * All calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, \n see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n * All requests with a payload in the request body (such as POST and PUT calls) must include the header `Content-Type` with a value of `application/json`.\n\n- **API error handling**:\n * Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#faq), \n [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#api-status-codes), \n and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#request-header-errors).\n" version: 1.0.0 servers: - url: https://{environment}.adobe.io variables: environment: default: platform enum: - platform - platform-stage tags: - name: Record Delete (Work order) description: 'Use the `/workorder` endpoint in the Data Hygiene API to programmatically manage record delete requests in Adobe Experience Platform. Specify primary identities to target and remove the relevant records. ' paths: /workorder: get: summary: List all work order requests description: 'Retrieves a paginated list of work order requests for data hygiene operations in your organization. You can filter results using query parameters. Each work order record includes action type, status, and related dataset and user information. ' operationId: getWorkOrders tags: - Record Delete (Work order) parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/XApiKey' - $ref: '#/components/parameters/XImsOrgId' - $ref: '#/components/parameters/XSandboxName' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/workorderType' - $ref: '#/components/parameters/workorderStatus' - $ref: '#/components/parameters/author' - $ref: '#/components/parameters/displayName' - $ref: '#/components/parameters/description' - $ref: '#/components/parameters/workorderIdQueryParameter' - $ref: '#/components/parameters/sandboxName' - $ref: '#/components/parameters/fromDate' - $ref: '#/components/parameters/toDate' - $ref: '#/components/parameters/filterDate' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/orderBy' - $ref: '#/components/parameters/properties' responses: '200': x-summary: Success description: Successfully retrieved list of work order requests. content: application/json: schema: $ref: '#/components/schemas/WorkorderListResponse' examples: default: summary: Example /workorder GET response value: results: - workorderId: DI-1729d091-b08b-47f4-923f-6a4af52c93ac orgId: 9C1F2AC143214567890ABCDE@AcmeOrg bundleId: BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41 action: identity-delete createdAt: 2034-03-15 11:02:10.935000+00:00 updatedAt: 2034-03-15 11:10:10.938000+00:00 operationCount: 3 targetServices: - profile - datalake - identity status: received createdBy: a.stark@acme.com BD8C3D631F41@acme.com datasetId: a7b7c8f3a1b8457eaa5321ab datasetName: Acme_Customer_Exports displayName: Customer Identity Delete Request description: Scheduled identity deletion for compliance - workorderId: DI-2a4c6a3d-dbb9-45e4-b37c-11203e4dbb6e orgId: 9C1F2AC143214567890ABCDE@AcmeOrg bundleId: BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41 action: identity-delete createdAt: 2034-03-16 10:32:00.101000+00:00 updatedAt: 2034-03-16 10:40:00.204000+00:00 operationCount: 2 targetServices: - profile - datalake status: received createdBy: t.lannister@acme.com BD8C3D631F41@acme.com datasetId: 5c7a6b8f3b9b455eac9321cd datasetName: Acme_Loyalty_Events displayName: Loyalty Identity Delete Request description: Scheduled deletion for loyalty dataset total: 2 count: 2 _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 '400': x-summary: Bad Request description: 'The request is invalid or missing required parameters. This may occur if the JSON payload is malformed or required fields are missing. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '401': x-summary: Unauthorized description: Authentication failed or you do not have permissions for the requested operation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' '403': x-summary: Forbidden description: You do not have permission to access this resource or perform the requested operation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' '500': x-summary: Internal server error description: 'This can occur if there is an issue on the server while processing the request. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' post: summary: Create a new work order request description: 'Submits a new work order to perform a data hygiene action (such as identity deletion or dataset expiration) for your organization. The work order is processed asynchronously and will appear in the work order list after submission. ' operationId: createWorkOrder tags: - Record Delete (Work order) parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/XApiKey' - $ref: '#/components/parameters/XImsOrgId' - $ref: '#/components/parameters/XSandboxName' - $ref: '#/components/parameters/ContentType' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWorkorderRequest' examples: default: summary: Delete customer records by email (Acme Loyalty) value: 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 responses: '200': x-summary: Success description: Successfully created work order request. content: application/json: schema: $ref: '#/components/schemas/CreateWorkorderResponse' examples: default: summary: Example /workorder POST response value: workorderId: DI-95c40d52-6229-44e8-881b-fc7f072de63d orgId: 8B1F2AC143214567890ABCDE@AcmeOrg bundleId: BN-c61bec61-5ce8-498f-a538-fb84b094adc6 action: identity-delete createdAt: 2035-06-02 09:21:00+00:00 updatedAt: 2035-06-02 09:21:05+00:00 operationCount: 1 targetServices: - profile - datalake - identity status: received createdBy: 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 '400': x-summary: Bad Request description: 'The request is invalid or missing required parameters. This may occur if the JSON payload is malformed or required fields are missing. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '401': x-summary: Unauthorized description: Authentication failed or you do not have permissions for the requested operation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' '500': x-summary: Internal server error description: 'This can occur if there is an issue on the server while processing the request. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' /workorder/{WORKORDER_ID}: get: summary: Retrieve details for a specific work order request description: 'Returns information for a specific work order request, identified by its work order ID. The response includes action type, status, associated dataset and user information, and audit metadata. ' operationId: getWorkOrderById tags: - Record Delete (Work order) parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/XApiKey' - $ref: '#/components/parameters/XImsOrgId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/XSandboxName' - $ref: '#/components/parameters/XRequestId' - $ref: '#/components/parameters/workorderId' responses: '200': x-summary: Success description: Successfully retrieved work order request details. content: application/json: schema: $ref: '#/components/schemas/WorkorderDetailResponse' examples: default: summary: Example /workorder/{WORKORDER_ID} GET response value: workorderId: DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427 orgId: 3C7F2AC143214567890ABCDE@AcmeOrg bundleId: BN-dbe3ffad-cb0b-401f-91ae-01c189f8e7b2 action: identity-delete createdAt: 2037-01-21 08:25:45.119000+00:00 updatedAt: 2037-01-21 08:30:45.233000+00:00 operationCount: 3 targetServices: - ajo - profile - datalake - identity status: received createdBy: 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 productStatusDetails: - productName: Data Management productStatus: success createdAt: 2022-08-08 16:51:31.535872+00:00 - productName: Identity Service productStatus: success createdAt: 2022-08-08 16:43:46.331150+00:00 - productName: Profile Service productStatus: waiting createdAt: 2022-08-08 16:37:13.443481+00:00 '400': x-summary: Bad Request description: 'The request is invalid or missing required parameters. This may occur if the JSON payload is malformed or required fields are missing. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '401': x-summary: Unauthorized description: Authentication failed or you do not have permissions for the requested operation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' '404': x-summary: Not Found description: Work order not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '500': x-summary: Internal server error description: 'This can occur if there is an issue on the server while processing the request. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' put: summary: Update an existing work order request description: 'Updates selected fields of a specific work order, identified by the `WORKORDER_ID`. Update the `name` and `description`` of a specific work order. ' operationId: updateWorkOrderById tags: - Record Delete (Work order) parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/XApiKey' - $ref: '#/components/parameters/XImsOrgId' - $ref: '#/components/parameters/ContentType' - $ref: '#/components/parameters/XSandboxName' - $ref: '#/components/parameters/workorderId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateWorkorderRequest' examples: default: summary: Example /workorder/{WORKORDER_ID} PUT request value: name: Updated Marketing Identity Delete Request description: Updated deletion request for marketing data responses: '200': x-summary: Success description: Successfully updated work order request. content: application/json: schema: $ref: '#/components/schemas/UpdateWorkorderResponse' examples: default: summary: Example /workorder/{workorderId} PUT response value: workorderId: DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb orgId: 7D4E2AC143214567890ABCDE@AcmeOrg bundleId: BN-12abcf45-32ea-45bc-9d1c-8e7b321cabc8 action: identity-delete createdAt: 2038-04-15 12:14:29.210000+00:00 updatedAt: 2038-04-15 12:30:29.442000+00:00 operationCount: 2 targetServices: - profile - datalake status: received createdBy: 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: success createdAt: 2022-08-08 16:51:31.535872+00:00 - productName: Identity Service productStatus: success createdAt: 2022-08-08 16:43:46.331150+00:00 - productName: Profile Service productStatus: waiting createdAt: 2022-08-08 16:37:13.443481+00:00 '400': x-summary: Bad Request description: 'The request is invalid or missing required parameters. This may occur if the JSON payload is malformed or required fields are missing. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '401': x-summary: Unauthorized description: Authentication failed or you do not have permissions for the requested operation. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' '404': x-summary: Not Found description: Work order not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '500': x-summary: Internal server error description: 'This can occur if there is an issue on the server while processing the request. ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' components: parameters: XApiKey: name: x-api-key in: header required: true description: The API key associated with your Experience Platform account. For more information, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). schema: type: string example: 3c14558cb79f4ee6dd9884243314f482 toDate: name: toDate in: query schema: type: string description: 'This parameter specifies the end date of the date range. It allows the user to filter the work orders to include only those created on or before this date. NOTE: If you specify the `toDate`, you must also specify the `fromDate`. ' example: '2099-01-01' ContentType: name: Content-Type in: header required: true description: The media type of the request body. Should be 'application/json'. schema: type: string example: application/json page: name: page in: query schema: type: integer description: 'An integer that indicates which page of expirations to return. Index of the results page to return. Page indexing starts at 0. The default page size is 50 results, with a maximum of 100 results per page. ' example: 3 search: name: search in: query schema: type: string description: 'Filters expirations using a case-insensitive partial match (wildcard search) across multiple fields. The `search` parameter matches records where the value is contained in any of the following fields: `author`, `displayName`, `description`, or `datasetName`, or is an exact match for the expiration ID. ' example: acme XRequestId: name: x-request-id in: header required: false schema: type: string description: 'The tracing ID associated with the request. If none is provided, the server generates one. ' example: YrgXiqvCobA9neOmrzCP7kQLi4yIizoP description: name: description in: query schema: type: string description: A description of the purpose of the request. example: Handle expiration of Acme information through the end of 2024. fromDate: name: fromDate in: query schema: type: string description: 'This parameter specifies the start date of the date range. It allows the user to filter the work orders to include only those created on or after this date. NOTE: If you specify the `fromDate`, you must also specify the `toDate`. ' example: '2099-01-01' workorderStatus: name: status in: query schema: type: string enum: - received - validated - submitted - ingested - completed - failed description: 'A comma-separated list of workorder statuses to filter results. When included, the response returns only work orders matching the specified statuses. Status values are case-sensitive and must match exactly. ' example: submitted,completed workorderType: name: type in: query schema: type: string enum: - identity-delete description: 'Filter the results by the work order type. ' example: identity-delete workorderIdQueryParameter: name: workorderId in: query schema: type: string description: Filter work orders by providing a specific work order ID. This requires an exact match. example: DI-1729d091-b08b-47f4-923f-6a4af52c93ac author: name: author in: query schema: type: string description: 'Use the `author` query parameter to find the person who most recently updated the dataset expiration or workorder. If no updates have been made since its creation, this will match the original creator. This parameter matches entries where the `created_by` field corresponds to the search string. If the search string begins with `LIKE` or `NOT LIKE`, the remainder is treated as an SQL search pattern. Otherwise, the entire search string is treated as a literal string that must exactly match the entire content of a `created_by` field. ' example: LIKE %john%, John Q. Public workorderId: name: WORKORDER_ID in: path required: true schema: type: string description: The ID of the deletion order. This can be used to look up the status of the deletion later. example: DI-a15345b8-a2d6-4d6f-b33c-5b593e86439a sandboxName: name: sandboxName in: query schema: type: string description: 'Matches work orders whose sandbox name exactly matches the `x-sandbox-name` header provided in the work order request. Use `sandboxName=*` to include work orders from all sandboxes. ' example: dev1 Authorization: name: Authorization in: header required: true description: The bearer token for authentication. For more information, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). schema: type: string example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.GOTCHARACTER.TOKENVALUE filterDate: name: filterDate in: query schema: type: string description: 'This parameter only returns the work orders that were created, updated, or have a particular status on that specific date. `filterDate` can be used with other query parameters to narrow down your search results and provide more specific and relevant information. ' example: '2024-06-12' displayName: name: displayName in: query schema: type: string description: Matches the display name provided in the search string. The match is case-insensitive. example: License Expiry properties: name: properties in: query schema: type: string description: 'A comma-separated list of additional fields to include in each work order result. Specify one or more field names, separated by commas. Field names may contain only letters, numbers, and the following characters: `/ . , _ -`. For example, to include `field1` and `field2` in the response, use: `properties=field1,field2`. This parameter is optional. If not specified, only default fields are returned. ' example: field1,field2 limit: name: limit in: query schema: type: integer minimum: 1 maximum: 100 default: 25 description: An integer between 1 and 100 indicates the maximum number of expirations to return. Defaults to 25. example: 50 XImsOrgId: name: x-gw-ims-org-id in: header required: true description: The organization ID associated with your Experience Platform account. See the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). schema: type: string XSandboxName: name: x-sandbox-name in: header required: true schema: type: string description: '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. ' example: loyalty-uat orderBy: name: orderBy in: query schema: type: string enum: - displayName, +displayName, -displayName - description, +description, -description - id, +id, -id - createdBy, +createdBy, -createdBy - createdAt, +createdAt, -createdAt - updatedAt, +updatedAt, -updatedAt - operation, +operation, -operation - operationCount, +operationCount, -operationCount - status, +status, -status description: 'The orderBy query parameter specifies the sorting order of the results returned by the API. Use it to arrange the data based on one or more fields, either in ascending (ASC) or descending (DESC) order. Use the + or - prefix to signify ASC, DESC respectively. The default sort direction is ascending when no prefix is provided. ' example: -datasetName schemas: WorkorderDetailResponse: type: object properties: workorderId: type: string description: The unique identifier for the work order. example: DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427 orgId: type: string description: Your organization's unique identifier. example: 3C7F2AC143214567890ABCDE@AcmeOrg bundleId: type: string description: 'The unique identifier of the bundle containing this deletion order. Bundling allows multiple deletion orders to be grouped and processed together by downstream services. Primarily used for troubleshooting and tracking. ' example: BN-dbe3ffad-cb0b-401f-91ae-01c189f8e7b2 action: type: string description: The action type requested in the work order. example: identity-delete createdAt: type: string format: date-time description: The timestamp when the work order was created. example: 2037-01-21 08:25:45.119000+00:00 updatedAt: type: string format: date-time description: The timestamp when the work order was last updated. example: 2037-01-21 08:30:45.233000+00:00 operationCount: type: integer description: The number of operations included in the work order. example: 1 targetServices: type: array items: type: string description: A list of target services impacted by this work order. example: - ajo - profile - datalake - identity status: type: string description: The current status of the work order. example: received createdBy: type: string description: The email and identifier of the user who created the work order. example: g.baratheon@acme.com C189F8E7B2@acme.com datasetId: type: string description: The unique identifier for the dataset associated with the work order. example: d2f1c8a4b8f747d0ba3521e2 datasetName: type: string description: The name of the dataset associated with the work order. example: Acme_Marketing_Events displayName: type: string description: A human-readable label for the work order. example: Marketing Identity Delete Request description: type: string description: A description of the work order request. example: Scheduled identity deletion for marketing compliance productStatusDetails: type: array description: "An array listing the current status of downstream processes for the request. Each object contains: \n\n- `productName`: The name of the downstream service. \n- `productStatus`: The current processing status from the downstream service. \n- `createdAt`: The timestamp when the most recent status was posted by the service. \n This property is available after the work order is submitted to downstream services to begin processing.\n" items: type: object properties: productName: type: string description: The name of the downstream service. example: Data Management productStatus: type: string description: The current processing status from the downstream service. example: success createdAt: type: string format: date-time description: The timestamp when the most recent status was posted by the service. example: '2022-08-08T16:51:31.535872Z' Workorder: type: object properties: workorderId: type: string description: 'The unique identifier for the work order. Use this value to look up the status or details of the deletion request. ' example: DI-1729d091-b08b-47f4-923f-6a4af52c93ac orgId: type: string description: Your unique organization identifier. example: 9C1F2AC143214567890ABCDE@AcmeOrg bundleId: type: string description: "The unique identifier of the bundle containing this deletion order. Bundling allows multiple deletion \norders to be grouped and processed together by downstream services. Primarily used for troubleshooting \nand tracking.\n" example: BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41 action: type: string description: The action type requested in the workorder. example: identity-delete createdAt: type: string format: date-time description: The timestamp when the workorder was created. example: '2034-03-15T11:02:10.935Z' updatedAt: type: string format: date-time description: The timestamp when the workorder was last updated. example: '2034-03-15T11:10:10.938Z' operationCount: type: integer description: The number of operations included in the workorder. example: 3 targetServices: type: array items: type: string description: A list of target services impacted by this workorder. example: - profile - datalake - identity status: type: string description: The current status of the workorder. example: received createdBy: type: string description: The email and identifier of the user who created the workorder. example: a.stark@acme.com BD8C3D631F41@acme.com datasetId: type: string description: "The unique identifier for the dataset associated with the workorder. If the \nrequest applies to all datasets, this field will be set to `ALL`.\n" example: a7b7c8f3a1b8457eaa5321ab datasetName: type: string description: The name of the dataset associated with the workorder. example: Acme_Customer_Exports displayName: type: string description: A human-readable label for the workorder. example: Customer Identity Delete Request description: type: string description: A description of the workorder's purpose. example: Scheduled identity deletion for compliance productStatusDetails: type: array description: "An array listing the current status of downstream processes for the request. Each object contains: \n\n- `productName`: The name of the downstream service. \n- `productStatus`: The current processing status from the downstream service. \n- `createdAt`: The timestamp when the most recent status was posted by the service. \n This property is available after the work order is submitted to downstream services to begin processing.\n" items: type: object properties: productName: type: string description: The name of the downstream service. example: Data Management productStatus: type: string description: The current processing status from the downstream service. example: success createdAt: type: string format: date-time description: The timestamp when the most recent status was posted by the service. example: '2022-08-08T16:51:31.535872Z' UpdateWorkorderResponse: type: object properties: workorderId: type: string description: The unique identifier for the work order. example: DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb orgId: type: string description: Your organization's unique identifier. example: 7D4E2AC143214567890ABCDE@AcmeOrg bundleId: type: string description: 'The ID of the bundle this deletion order is associated with, used for debugging purposes. Multiple deletion orders are bundled together to be processed by downstream services. ' example: BN-12abcf45-32ea-45bc-9d1c-8e7b321cabc8 action: type: string description: The action type requested in the work order. example: identity-delete createdAt: type: string format: date-time description: The timestamp when the work order was created. example: '2038-04-15T12:14:29.210Z' updatedAt: type: string format: date-time description: The timestamp when the work order was last updated. example: '2038-04-15T12:30:29.442Z' operationCount: type: integer description: The number of operations included in the work order. example: 2 targetServices: type: array items: type: string description: A list of target services impacted by this work order. example: - profile - datalake status: type: string description: The current status of the work order. example: received createdBy: type: string description: The email and identifier of the user who created the work order. example: b.tarth@acme.com 8E7B321CABC8@acme.com datasetId: type: string description: The unique identifier for the dataset associated with the work order. example: 1a2b3c4d5e6f7890abcdef12 datasetName: type: string description: A name of the dataset associated with the work order. example: Acme_Marketing_2024 displayName: type: string description: A human-readable label for the work order. example: Updated Marketing Identity Delete Request description: type: string description: A description of the work order request. example: Updated deletion request for marketing data productStatusDetails: type: array description: "An array listing the current status of downstream processes for the request. Each object contains: \n\n- `productName`: The name of the downstream service. \n- `productStatus`: The current processing status from the downstream service. \n- `createdAt`: The timestamp when the most recent status was posted by the service. \n This property is available after the work order is submitted to downstream services to begin processing.\n" items: type: object properties: productName: type: string description: The name of the downstream service. example: Data Management productStatus: type: string description: The current processing status from the downstream service. example: success createdAt: type: string format: date-time description: The timestamp when the most recent status was posted by the service. example: '2022-08-08T16:51:31.535872Z' CreateWorkorderResponse: type: object properties: workorderId: type: string description: 'The unique identifier for the work order. Use this value to look up the status or details of the deletion request. ' example: DI-95c40d52-6229-44e8-881b-fc7f072de63d orgId: type: string description: Your unique organization identifier. example: 8B1F2AC143214567890ABCDE@AcmeOrg bundleId: type: string description: "The unique identifier of the bundle containing this deletion order. Bundling allows multiple deletion \norders to be grouped and processed together by downstream services. Primarily used for troubleshooting \nand tracking.\n" example: BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41 action: type: string description: The action type requested in the work order. example: identity-delete createdAt: type: string format: date-time description: The timestamp when the work order was created. example: '2035-06-02T09:21:00.000Z' updatedAt: type: string format: date-time description: The timestamp when the work order was last updated. example: '2035-06-02T09:21:05.000Z' operationCount: type: integer description: The number of operations included in the work order. example: 1 targetServices: type: array items: type: string description: A list of target services for the work order. example: - ajo - profile - datalake - identity status: type: string description: Current status of the work order. example: received createdBy: type: string description: The email and identifier of the user who created the work order. example: c.lannister@acme.com 7EAB61F3E5C34810A49A1AB3@acme.com datasetId: type: string description: The unique identifier for the dataset. example: 7eab61f3e5c34810a49a1ab3 datasetName: type: string description: The name of the dataset for this work order. example: Acme_Loyalty_2023 displayName: type: string description: A human-readable label for this work order. example: Loyalty Identity Delete Request description: type: string description: A description of the work order request. example: Schedule deletion for Acme loyalty program dataset ErrorResponse400: type: object properties: error_code: type: string example: '400001' message: type: string example: Bad request. The request could not be understood or was missing required parameters. UpdateWorkorderRequest: type: object properties: name: type: string description: Human-readable label for the work order. example: Updated Marketing Identity Delete Request description: type: string description: Description of the work order request. example: Updated deletion request for marketing data WorkorderListResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/Workorder' total: type: integer description: Total number of work order requests. example: 2 count: type: integer description: Number of work orders in the current page. example: 2 _links: type: object description: Pagination and navigation links. properties: next: type: object properties: href: type: string example: https://platform.adobe.io/workorder?page=1&limit=2 templated: type: boolean example: false page: type: object properties: href: type: string example: https://platform.adobe.io/workorder?limit={limit}&page={page} templated: type: boolean example: true ErrorResponse401: type: object properties: error_code: type: string example: '401013' message: type: string example: Unauthorized. Authentication failed or user does not have permissions for the requested operation. CreateWorkorderRequest: type: object properties: displayName: type: string description: A human-readable label for this work order. example: Acme Loyalty - Customer Data Deletion description: type: string description: A description of the work order request. example: Delete all records associated with the specified email addresses from the Acme_Loyalty_2023 dataset. action: type: string description: 'The action requested for the work order. **NOTE**: The request value differs from the response value. Use "delete_identity" in requests, while responses will return "identity-delete". ' example: delete_identity datasetId: type: string description: 'The unique identifier for the dataset. If you are deleting from a single dataset, this value must be the ID of the dataset in question. If you are deleting from all datasets, set the value to `ALL`. If you are specifying a single dataset, the dataset’s associated Experience Data Model (XDM) schema must have a primary identity defined. If the dataset does not have a primary identity, then it must have an identity map in order to be modified by a Data Lifecycle request. 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. ' example: 7eab61f3e5c34810a49a1ab3 namespacesIdentities: type: array description: A list of identity namespaces and their corresponding IDs to delete. items: type: object required: - namespace - IDs properties: namespace: type: object description: "Specifies the identity namespace to which the IDs belong (for example, \"email\", \"phone\", or \na custom namespace code).\n" required: - code properties: code: type: string description: The identity namespace code (such as "email"). example: email IDs: type: array description: List of identity values to delete for this namespace. items: type: string example: - alice.smith@acmecorp.com - bob.jones@acmecorp.com - charlie.brown@acmecorp.com ErrorResponse404: type: object properties: error_code: type: string example: '404003' message: type: string example: Dataset expiration configuration SD-c9f113f2-d751-44bc-bc20-9d5ca0b6ae15 not found. ErrorResponse500: type: object properties: error_code: type: string example: '500001' message: type: string example: Internal server error. ErrorResponse403: type: object properties: error_code: type: string example: '403027' message: type: string example: Forbidden. You do not have permission to access this resource or perform the requested operation.