Skip to content

Create unsubscribe API endpoints #1732

@cka-y

Description

@cka-y

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.

Acceptance Criteria:

  • GET /v1/subscriptions/{id} returns subscription info given a valid UUID
  • DELETE /v1/subscriptions/{id} deactivates the subscription (sets active = false)
  • Deactivation is idempotent (no-op on already-inactive subscription)
  • For api.announcements, Brevo contact is removed from the list on deactivation
  • UUID v4 provides sufficient security (no auth needed — only action is deactivation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions