@salespark/mailerlite-api
v1.0.3
Published
MailerLite API v2 Node.js SDK. It is mostly a thin wrapper on axios that provides authentication, response/request camelCase transformations, Typescript type definitions and some handy shorthand methods.
Readme
@salespark/mailerlite-api
MailerLite API v2 Node.js SDK. It is mostly a thin wrapper on axios that provides authentication, response/request camelCase transformations, Typescript type definitions and some handy shorthand methods.
📦 Installation
yarn add @salespark/mailerlite-api
# or
npm install @salespark/mailerlite-api🚀 Usage
In node:
const MailerLite = require('@salespark/mailerlite-api');
const mailerLite = MailerLite('YOUR_API_KEY');
// with Promises
mailerLite.getAccount().then((account) => {
// ...
});
// with async await
async function getAccountEmail() {
const { email } = await mailerLite.getAccount();
return email;
}It is important to note that the request is resolved to response body - it does not return the full axios response object.
⚙️ Options
axiosOptions: object - additional axios config. This config does not overwrite the explicit baseURL and headers options below.
baseURL: string - API endpoint. Defaults to https://api.mailerlite.com/api/v2/. Timezones endpoint has a different hardcoded baseURL.
headers: object - additional request headers. Library already includes all the necessary headers to perform requests. But these can be overwritten with this option. Defaults to {}.
useCaseConverter: boolean - should the library convert all query params, request body and response body to camelCase. Defaults to true.
📖 Method reference
For complete reference, visit the official MailerLite API reference.
Account
getAccount()
Returns your current account details. To get the raw response use getAccountRaw()
Alias: getMe()
Batch
batch(requests)
Campaigns
actOnCampaign(campaignId, action, data)
getCampaigns(status?, params?)
getCampaignCount(status?)
createCampaign(campaign)
removeCampaign(campaignId)
setCampaignContent(campaignId, content)
Fields
getFields()
createField(field)
updateField(fieldId, fieldUpdate)
removeField(fieldId)
Groups
getGroups(params?)
searchGroups(groupName)
getGroup(groupId)
createGroup(group)
updateGroup(groupId, group)
removeGroup(groupId)
addSubscriberToGroup(groupId, subscriber)
addSubscribersToGroup(groupId, subscribers, importOptions)
getSubscribersGroupImport(groupId, importId)
getGroupSubscriber(groupId, subscriberId)
getGroupSubscribers(groupId, params?)
getGroupSubscriberCount(groupId)
getGroupSubscribersByType(groupId, subscriberType, params?)
getGroupSubscribersCountByType(groupId, subscriberType)
removeGroupSubscriber(groupId, subscriberIdentifier)
Segments
getSegments(params?)
getSegmentsCount(params?)
getSegmentsRaw(params?)
Settings
getDoubleOptinStatus()
Resolves to raw response object that contains enabled key
hasEnabledDoubleOptin(): resolve to Promise
Shorthand that resolves to a Promise.
enableDoubleOptin()
disableDoubleOptin()
Stats
getStats()
Subscribers
getSubscribers(params?)
addSubscriber(subscriber)
getSubscriber(identifier)
updateSubscriber(identifier, subscriber)
searchSubscribers(params?)
getSubscriberActivity(identifier)
getSubscriberActivityByType(identifier, activityType)
getSubscriberGroups(identifier)
removeSubscriber(identifier)
Timezones
getTimezones()
getTimezone(timezoneId)
Webhooks
getWebhooks()
getWebhooksCount()
getWebhooksRaw()
getWebhook(webhookId)
createWebhook(webhook)
updateWebhook(webhookId, webhook)
removeWebhook(webhookId)
Fixed: CWE-918
Server-Side Request Forgery (SSRF)
Axios Bug
Forked from: https://github.com/zygos/mailerlite-v2-node
🔒 Internal Usage Notice
This package is primarily designed and maintained for internal use within the SalesPark ecosystem. While it can technically be used in other Node.js/Mongoose projects, no official support or guarantees are provided outside of SalesPark-managed projects.
All code follows the same engineering standards applied across the SalesPark platform, ensuring consistency, reliability, and long-term maintainability of our internal systems.
⚡ Note: This package is most efficient and works best when used together with other official SalesPark packages, where interoperability and optimizations are fully leveraged.
Disclaimer: This software is provided “as is”, without warranties of any kind, express or implied. SalesPark shall not be held liable for any issues, damages, or losses arising from its use outside the intended SalesPark environment.
Organization packages: https://www.npmjs.com/org/salespark
📄 License
MIT © SalesPark
Document version: 2
Last update: 21-08-2025
