---
title: "Delete a batch migration"
method: DELETE
path: "/api/v2/security_monitoring/batch-migrations/{batch_id}"
tags: ["Security Monitoring"]
---

# Delete a batch migration

`DELETE /api/v2/security_monitoring/batch-migrations/{batch_id}`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/security_monitoring/batch-migrations/{batch_id}`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `security_monitoring_rules_write`
- TypeScript: <https://skmtc.dev/datadog/apis/datadog-api-v2-collection/docs/api/v2/security_monitoring/batch-migrations/:batch_id/delete.ts> (a function with typed inputs; its response is checked against the schema)

Delete a batch migration and its resources. Detection rules that were already
published are not deleted. Returns `409 Conflict` while any resource is `in_progress`
or `publishing`: cancel the batch migration, or wait for publishing to finish, and
then try again.

## Path parameters

- `batch_id` string, uuid, required

## Response `204`

No Content

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/3f70db624329?raw)
