---
title: "Bulk delete sequence steps"
method: POST
path: "/v3/sequences/{id}/steps/bulk-delete"
tags: ["Sequence Steps"]
---

# Bulk delete sequence steps

`POST /v3/sequences/{id}/steps/bulk-delete`

<small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small>

Deletes multiple steps from a sequence at once. Returns a map of step IDs that could not be processed with their error details.

## Path parameters

- `id` integer, required

## Request body

- object
  - `ids` integer[], required — List of step IDs to delete

## Response `200`

Dictionary keyed by step ID. Only failed items appear; items not in the dictionary succeeded.

Possible per-item error codes:

| Error code | Meaning |
|-------|---------|
| `notFound` | Step does not exist or caller lacks permission |
| `stepLocked` | Step cannot be deleted |
| `stepLockedHasChildren` | Step has children that prevent deletion |

- object

## Other responses

- `400` — Body validation failure, or a business-rule rejection.
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — User lacks required feature scope to modify this sequence
- `409` — A step in the sequence is locked and blocks bulk deletion
- `429` — Too Many Requests

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
