listmonk
listmonk is a free and open-source, self-hosted newsletter and mailing-list manager built in Go with a Vue front end. Every feature in the admin UI is backed by a documented REST API on the self-hosted instance (Basic auth with an API user and token) covering subscribers, lists, campaigns, templates, media, CSV import, transactional messages, and bounces. There is no hosted SaaS - users run their own instance.
APIs
listmonk Subscribers API
Create, query, update, blocklist, and delete subscribers, manage their list memberships individually or in bulk via SQL query expressions, and export subscriber data. Self-hoste...
listmonk Lists API
Create, retrieve, update, and delete mailing lists (single and double opt-in, public and private), with a public unauthenticated endpoint for surfacing subscribable lists on sub...
listmonk Campaigns API
Create, schedule, test, preview, and send email campaigns to one or more lists, change campaign status, publish to a public archive, and pull running stats and view/click/bounce...
listmonk Templates API
Manage campaign and transactional message templates - create, retrieve, update, delete, set a default, and render HTML previews of Go-templated email bodies.
listmonk Media API
Upload, list, retrieve, and delete media files (images and attachments) stored in the local filesystem or an S3-compatible backend for use in campaigns and templates.
listmonk Transactional API
Send arbitrary transactional messages (welcome emails, order confirmations, password resets) to one or more subscribers through a preconfigured transactional template, with cust...
listmonk Import and Bounces API
Bulk import subscribers from a CSV (optionally ZIP-compressed) file and monitor or stop the running import, plus retrieve and delete bounce records used to maintain sender reput...