Remove a subscriber
Remove a subscriber from your publication. The publication is identified by the API key provided in the Authorization header. Identify the subscriber by email, wallet, or both.
Requirements:
- At least one of
emailorwalletmust be provided - If both are provided, they must resolve to the same subscriber
Behavior:
- The subscription is hard-deleted, mirroring the dashboard's "remove subscriber" action
apiKeyAuthorizationBearer <token>API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.
Body
application/json- body
email?stringEmail address of the subscriber to remove
emailwallet?stringWallet address of the subscriber to remove (0x format)
^0x[a-fA-F0-9]{40}$Subscriber removed successfully
application/json- response
success*trueWhether the subscriber was removed
truecurl -X DELETE "https://example.com/v1/subscribers" \ -H "Content-Type: application/json" \ -d '{}'{ "success": true}Add a new subscriber POST
Add a new subscriber to your publication. The publication is identified by the API key provided in the Authorization header. **Requirements:** - At least one of `email` or `wallet` must be provided - If both are provided, the subscriber will be associated with both credentials **Behavior:** - If the subscriber already exists (by email or wallet), they will not be duplicated
Send a custom email POST
Send an email from your publication to a list of recipient addresses. **Eligibility:** - Publications must be approved by Paragraph before they can send custom emails. Ineligible publications receive a 403. Eligibility is managed by Paragraph and is not user-configurable. **Per-recipient filtering:** - Malformed addresses and known disposable domains are skipped. - Addresses that previously unsubscribed from this publication are skipped as `suppressed`. - Skipped recipients are returned in the response; nothing else is delivered to them. **Delivery:** - `body` is treated as Markdown and rendered to HTML server-side. - Each recipient receives the email individually (not as a BCC blast) with a mandatory unsubscribe footer. - Sends are queued asynchronously; a 200 response means recipients were accepted, not delivered. **Caps:** - Maximum of 10,000 addresses per call (request-level sanity check).