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

# Start a batch migration

`POST /api/v2/security_monitoring/batch-migrations/{batch_id}/start`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/security_monitoring/batch-migrations/{batch_id}/start`
- 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/start/post.ts> (a function with typed inputs; its response is checked against the schema)

Start translating the `pending` resources of a `draft` batch migration into Cloud SIEM
detection rules. The batch migration moves to `in_progress`, and its resources are
translated asynchronously. Once no resource is `pending` or `in_progress`, the batch
migration moves to `completed`. Starting an `in_progress` batch migration again does not
queue duplicate work, so the request can be safely retried, including after a timeout or
a `5xx` error. Returns `409 Conflict` if the batch migration is `completed` or `canceled`.

An organization can translate up to 2000 resources in total across all of its batch
migrations. Resources that were already processed count toward this limit even after
they are deleted, and `pending` resources of `in_progress` batch migrations reserve
capacity. Returns `409 Conflict` if starting the batch migration would exceed this limit.
To request a higher limit for your organization, contact
[Datadog support](https://docs.datadoghq.com/help/).

## Path parameters

- `batch_id` string, uuid, required

## Response `202`

Accepted

## Other responses

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

---

[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)
