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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions