Skip to main content

Listmonk

@shrug/listmonkv2026.10.29.1· MIT· 3d agoBEHAVIORS
01README

listmonk (v6.2.0) REST API behavior — a typed swamp primitive for driving a listmonk deployment, not exec/curl wrappers.

Status: in development.

One behavior type (@shrug/listmonk), one deployment per instance. Routine methods authenticate as a SCOPED operational api user (apiUser/apiToken, vaulted); the Super Admin credential is only supplied at provision time as method arguments. Every write is gated behind dryRun (default true); campaign sends carry an additional per-call gate.

Methods (by phase)

  • Phase 0 (read) — health (GET /api/profile token probe), sync (secret-free snapshot: profile, lists, masked settings, subscriber/campaign counts; each section fault-tolerant).
  • Phase 0.5 (auth bootstrap) — provisionApiUser (mint a least-privilege api user + token, writing the token to the sensitive apiCredential resource so swamp vaults it), rotateApiToken (destructive delete+recreate).
  • Phase 1 (settings) — applySettings (GET-merge-PUT, SMTP password preservation), reconcileSettings (declarative per-key drift of the DECLARED desired settings, convergent-on-declared, secrets redacted), getSettings, setSmtpServers, testSmtp, reloadApp.
  • Phase 2 (lists) — upsertList (find-by-name then POST/partial-PUT, always sends tags), deleteList, listLists/findListByName, getList.
  • Phase 3 (subscribers) — importSubscribers (async global-singleton: reset, multipart upload, poll, scan logs), upsertSubscriber, manageSubscriberLists, querySubscribers, deleteSubscriber.
  • Phase 4 (campaigns, sends hard-gated) — createCampaign (always draft), updateCampaign, setCampaignStatus, sendCampaign, scheduleCampaign, pauseCampaign/cancelCampaign, testCampaign, template CRUD, previews, stats. ( = hard approval + dryRun default.)

Auth contract

Authorization: token <apiUser>:<apiToken> (literal "token", NOT bearer); never send a Cookie header (it shadows Authorization and 403s). Unauth / insufficient-perm => HTTP 403 (not 401).

02Behaviors1
@shrug/listmonkv2026.10.29.1listmonk.ts
03Stats
A
100 / 100
Downloads
0
Archive size
68.9 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
04Platforms
05Labels