Add single-breaker CRUD endpoints for better UX

Resolved 💬 1 comment Opened Dec 7, 2025 by mcarlone Closed Dec 18, 2025

Problem

Managing breakers currently requires clients to:

  1. Fetch the entire breaker configuration
  2. Edit it manually
  3. Send the whole thing back via PUT

This creates a poor experience for users. Even small changes (like toggling a breaker or adjusting a threshold) require full-document updates, which feels heavy, error-prone, and unintuitive.

This has become a clear adoption blocker: most users expect to edit a single breaker directly, not manipulate the entire configuration blob.

Proposed Solution

Add single-breaker CRUD endpoints that wrap the existing internal flow:

  • POST /v1/projects/:project_id/breakers - Create a single breaker
  • GET /v1/projects/:project_id/breakers/:breaker_id - Get a single breaker
  • PATCH /v1/projects/:project_id/breakers/:breaker_id - Update specific fields on a breaker
  • DELETE /v1/projects/:project_id/breakers/:breaker_id - Delete a single breaker

Implementation Notes

  • Keep the internal "single configuration document" model — it simplifies validation and consistency
  • New endpoints wrap the existing bulk replace flow under the hood
  • Externally, users get a friendlier API surface that feels straightforward and conventional

Acceptance Criteria

  • [ ] Single-breaker endpoints implemented
  • [ ] PATCH supports partial updates (only send fields you want to change)
  • [ ] Proper error handling (404 for missing breaker, 409 for conflicts, etc.)
  • [ ] Documentation updated
  • [ ] Tests added

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗