Skip to content

Subscribers API updates#435

Open
supun-io wants to merge 40 commits intomainfrom
create-subscribers-endpoint
Open

Subscribers API updates#435
supun-io wants to merge 40 commits intomainfrom
create-subscribers-endpoint

Conversation

@supun-io
Copy link
Copy Markdown
Member

@supun-io supun-io commented Feb 25, 2026

closes #434
closes #319
closes #447

Changes

  • subscriber_list_removals records when a subscriber is removed from a list
  • Single POST /subscribers endpoint to create or update a subscriber
  • PATCH /subscribers/:id removed
  • Subscriber UNSUBSCRIBED status removed (columns are not yet removed, only the entities)
    • subscribers.unsubscribed_at removed
    • subscribers.opt_in_at removed (we no longer want to restrict admins with this - status is enough)

Migration command:

  • not written, remove unsubscribed subscribers manually

@supun-io supun-io force-pushed the create-subscribers-endpoint branch from d9ce666 to bb195f1 Compare February 27, 2026 03:47
@supun-io supun-io requested a review from Nadil-K March 4, 2026 10:59
@supun-io
Copy link
Copy Markdown
Member Author

supun-io commented Mar 4, 2026

@Nadil-K need a careful review of the POST /subscribers endpoint, and the used services and the listeners (ConfirmationMailListener, ListRemovalListener).

@supun-io supun-io force-pushed the create-subscribers-endpoint branch from a8745f7 to d31e097 Compare April 20, 2026 04:45
@supun-io supun-io force-pushed the create-subscribers-endpoint branch from 4880abb to 4185e5c Compare April 28, 2026 04:28
Copy link
Copy Markdown
Member

@Nadil-K Nadil-K left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • What happened to opt_in_at? How do we handle this?

$update,
// generally, this should not be used since we do not remove lists
// but sending just in case to prevent removals being marked as unsubscribes
ListRemovalReason::OTHER
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • What are the possible scenarios where removals could happen here?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here, removals should not happen. ListRemovalReason::OTHER is sent as a placeholder

Copy link
Copy Markdown
Member Author

@supun-io supun-io Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opt_in_at is no longer used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sentry integration Changing list subscriber endpoints Discussion: Remove "Unsubscribed" state

2 participants