Description:
Implement two public (no auth required) endpoints for email-based unsubscription:
GET /v1/subscriptions/{id} — look up a subscription by UUID, return info (type, status)
DELETE /v1/subscriptions/{id} — deactivate subscription by UUID
For api.announcements, the DELETE handler must also remove the contact from the Brevo list. Also the api.announcements announcements should not be removed from the subcription, it should set active = false(this is to use the api.announcements as a token for email unsubscribe link).
Acceptance Criteria:
Description:
Implement two public (no auth required) endpoints for email-based unsubscription:
GET /v1/subscriptions/{id}— look up a subscription by UUID, return info (type, status)DELETE /v1/subscriptions/{id}— deactivate subscription by UUIDFor
api.announcements, the DELETE handler must also remove the contact from the Brevo list. Also theapi.announcementsannouncements should not be removed from the subcription, it should set active = false(this is to use the api.announcements as a token for email unsubscribe link).Acceptance Criteria:
GET /v1/subscriptions/{id}returns subscription info given a valid UUIDDELETE /v1/subscriptions/{id}deactivates the subscription (setsactive = false)api.announcements, Brevo contact is removed from the list on deactivation