> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Start Migration

> Queue execution for an approved migration run.

# Start Migration

Queues the generic migration worker. Optionally approves `resourceIds` first.

## Request

<ParamField path="runId" type="string" required>
  Migration run ID.
</ParamField>

<ParamField body="resourceIds" type="string[]">
  Optional resources to approve before start.
</ParamField>

<ParamField body="resourceOptions" type="object">
  Optional per-resource filters when `resourceIds` is provided.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/migrations/run_123/start" \
  -H "Authorization: Bearer SEQUENZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"resourceIds":["subscribers","tags","custom_fields","automations"],"resourceOptions":{"automations":{"names":["Budget Worksheet"]}}}'
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {"success":true,"data":{"id":"run_123","status":"queued"}}
  ```

  ```json 401 theme={null}
  {"error":"Invalid API key"}
  ```

  ```json 403 theme={null}
  {"error":"Access denied to the migration run"}
  ```

  ```json 404 theme={null}
  {"error":"Migration run not found"}
  ```
</ResponseExample>
