# Delete an automation using OpenAPI

> Delete an automation from Automation Hub using the OpenAPI DELETE endpoint.

Delete an automation from Automation Hub by calling the `DELETE /api/v1/openapi/automations/{id}` endpoint.

## Prerequisites

* You have an active Automation Hub API token. For instructions, see [Generate your Token from Automation Hub](https://docs.uipath.com/automation-hub/automation-cloud/latest/api-guide/generate-your-token-from-automation-hub).
* You know the numeric ID of the automation you want to delete. You can retrieve it from the automation's URL in Automation Hub or via a `GET /api/v1/openapi/automations` call.
* You have the **System Admin** or **Program Manager** role.

## Delete an automation

1. Construct the request URL using the automation ID:

   ```
   DELETE https://{baseUrl}/api/v1/openapi/automations/{id}
   ```

2. Include the required authentication header:

   | Header | Value |
   | --- | --- |
   | `x-ah-openapi-app-key` | Your Automation Hub API token |
   | `x-ah-openapi-auth` | `openapi` |
   | `Content-Type` | `application/json` |

3. Optionally include a comment in the request body:

   ```json
   {
     "comment": "Removing duplicate entry."
   }
   ```

4. Send the request.

## Results

A successful deletion returns HTTP `200`. The automation is permanently removed from the tenant and no longer appears in Automation Hub.

## Error codes

| Code | Meaning |
| --- | --- |
| `400` | Bad request — the request body is malformed or a required field is invalid. |
| `404` | Not found — no automation with the specified ID exists in the tenant. |

## Example: delete multiple automations using a script

Use the following PowerShell script to delete a list of automations by ID:

```powershell
$baseUrl  = "https://<your-tenant>.automation-hub.uipath.com"
$appKey   = "<your-api-token>"
$ids      = @(1001, 1002, 1003)
$comment  = "Bulk cleanup"

foreach ($id in $ids) {
    $response = Invoke-RestMethod `
        -Method Delete `
        -Uri "$baseUrl/api/v1/openapi/automations/$id" `
        -Headers @{
            "x-ah-openapi-app-key" = $appKey
            "x-ah-openapi-auth"    = "openapi"
            "Content-Type"         = "application/json"
        } `
        -Body (ConvertTo-Json @{ comment = $comment })
    Write-Host "Deleted $id — Status: $($response.StatusCode)"
}
```

For more information, see the [API References](https://docs.uipath.com/automation-hub/automation-cloud/latest/api-guide/api-references) page.
