Skip to content

Add support to delete multiple channels in a single API call #213

@shroffk

Description

@shroffk

Currently, deleting multiple channels requires individual calls to the single-channel delete endpoint. This results in highly inefficient workflows when dealing with large numbers of channels (hundreds of thousands in some cases).

Background

The ability to delete multiple channels as a single API call was intentionally not supported in the past, citing safety concerns. However, after reviewing various real-world use cases — including:

  • Recsync/Receiver workflows
  • Unit and integration tests
  • Phoebus client actions

— it is clear that bulk channel deletion is a commonly needed and currently missing operation.

Problem

Without bulk delete support, clients must loop over individual channel delete calls. This is:

  • Inefficient: N HTTP round-trips for N channels
  • Slow: Especially painful when removing hundreds of thousands of channels
  • Error-prone: Partial failures are harder to handle across many individual requests

Proposed Solution

Add a new endpoint (or extend an existing one) to support deleting multiple channels in a single API call. To address the original safety concerns, access to this endpoint should be restricted to users with a specific role (e.g., CF-ADMIN), ensuring only authorized users can perform bulk deletions.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions