Skip to main content
DELETE
Delete workflow nodes recursively
Delete a node and its downstream subtree. Make a dry run request using dryRun: true. If contacts are queued at any node that would be deleted, Loops returns with "status": "queuedContactsFound" instead of deleting. Retry with queuedContactPolicy: "discard" to delete the nodes and discard those queued contacts.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workflowId
string
required

The ID of the workflow.

nodeId
string
required

The root node ID of the subtree to delete.

Body

application/json
expectedRevisionId
string
required

The workflow revision token returned by the latest workflow read or mutation. Mutations reject stale values.

dryRun
boolean

If true, the request will be validated but the workflow will not be modified.

queuedContactPolicy
enum<string>
default:fail

fail returns queued-contact impact instead of mutating. discard confirms that matching queued contacts should be discarded. Defaults to fail when omitted.

Available options:
fail,
discard

Response

Delete dry run, queued-contact warning, or deletion result.

status
enum<string>
required
Available options:
dryRun,
queuedContactsFound
nodeIds
string[]
required

The IDs of the nodes that would be deleted.

queuedContactCount
number
required

The number of queued contacts that would be removed from the workflow due to the node deletion.

queuedContactLimitReached
boolean
required

Whether the queued contact limit would be reached if the nodes were deleted.

Last modified on July 21, 2026