feat: add Broadcasts.cancel() and cancel_async()

Merged
DI
2mo ago
+89-0

Summary

  • Adds Broadcasts.cancel(id) / cancel_async(id), calling POST /broadcasts/:id/cancel to cancel a queued or scheduled broadcast.
  • Mirrors Emails.cancel()'s shape (empty params, id-only).
  • Adds Broadcasts.CancelResponse (object + id).

Part of the broadcast cancel rollout: resend/resend-monorepo#8126, resend/resend-openapi#85, resend/resend-node#1059, resend/resend-docs#1722, resend/resend-go#144, resend/resend-java#122, resend/resend-php#135.

Test plan

  • pytest tests/broadcasts_test.py tests/broadcasts_async_test.py โ€” 24/24 passing
  • mypy resend/broadcasts/ โ€” clean

๐Ÿค– Generated with Claude Code


Summary by cubic

Adds cancel support for broadcasts via Broadcasts.cancel(id) and cancel_async(id) to stop queued or scheduled sends with POST /broadcasts/:id/cancel, matching Emails.cancel().

  • New Features

    • Broadcasts.cancel(id) and cancel_async(id) to cancel queued/scheduled broadcasts.
    • Broadcasts.CancelResponse returning object and id.
  • Bug Fixes

    • Added test to ensure cancel_async raises NoContentError on no-content responses.