Listmonk.Client 1.0.0

dotnet add package Listmonk.Client --version 1.0.0
                    
NuGet\Install-Package Listmonk.Client -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Listmonk.Client" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Listmonk.Client" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Listmonk.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Listmonk.Client --version 1.0.0
                    
#r "nuget: Listmonk.Client, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Listmonk.Client@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Listmonk.Client&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Listmonk.Client&version=1.0.0
                    
Install as a Cake Tool

Listmonk.Client

<p align="left"> <img src="https://img.shields.io/nuget/v/Listmonk.Client.svg" alt="NuGet" /> <img src="https://img.shields.io/badge/.NET-Standard%201.3%20%7C%201.6%20%7C%202.0%20%7C%202.1%20%7C%20Framework%20%7C%206%20%7C%208-blue" alt=".NET targets" /> <img src="https://img.shields.io/badge/license-AGPL--3.0-blueviolet" alt="License" /> </p>

An opinionated, strongly typed .NET SDK for the listmonk HTTP API.

It is designed to be easy to use from modern .NET applications while still supporting older .NET Core and .NET Framework targets.

Highlights

  • Multi-targeted for broad .NET compatibility.
  • Typed client surface for core listmonk API areas.
  • Basic Auth and Authorization: token ... support.
  • JSON envelope handling that matches listmonk responses.
  • Multipart support for media upload, import, and transactional attachments.

Supported targets

This library targets:

  • netstandard1.3
  • netstandard1.6
  • netstandard2.0
  • netstandard2.1
  • net45
  • net461
  • net462
  • net472
  • net48
  • net6.0
  • net8.0

Install

After publishing to NuGet.org, install the package with the NuGet CLI:

nuget install Listmonk.Client -Version 1.0.0 -Source https://api.nuget.org/v3/index.json

For local testing from a folder feed:

nuget install Listmonk.Client -Version 1.0.0 -Source "D:\extra\nuget_packages\listmonk\src\Listmonk.Client\bin\Release"

Authentication

Listmonk supports either Basic Auth or the Authorization: token ... header.

var client = new ListmonkHttpClient(new ListmonkClientOptions
{
    BaseUrl = new Uri("https://listmonk.example.com"),
    Username = "api_user",
    AccessToken = "api_token"
});

Or:

var client = new ListmonkHttpClient(new ListmonkClientOptions
{
    BaseUrl = new Uri("https://listmonk.example.com"),
    AuthorizationToken = "token api_user:api_token"
});

Quick start

using Listmonk.Client;

var client = new ListmonkHttpClient(new ListmonkClientOptions
{
    BaseUrl = new Uri("http://localhost:9000"),
    Username = "api_user",
    AccessToken = "token"
});

var lists = await client.Lists.GetListsAsync(perPage: "100");
var subscribers = await client.Subscribers.GetSubscribersAsync(page: 1, perPage: "20");
var campaigns = await client.Campaigns.GetCampaignsAsync(page: 1, perPage: "20");

Implemented areas

  • Lists
  • Subscribers
  • Campaigns
  • Templates
  • Media
  • Import
  • Bounces
  • Transactional messages

Build

dotnet build Listmonk.Client.sln -c Release

Test

dotnet test Listmonk.Client.sln -c Release

Contributing

Contributions are welcome.

Before opening a pull request:

  1. Create a feature branch from main.
  2. Keep the SDK surface typed and backwards compatible where possible.
  3. Run dotnet build and dotnet test before submitting.
  4. Include or update tests for any behavior change.
  5. Update documentation when adding or changing public APIs.

Suggested pull request checklist:

  • Code builds successfully
  • Tests pass
  • Documentation updated
  • Package version updated if needed

Contributors

  • Malik Qasim - creator and maintainer

Notes

  • The SDK follows the documented listmonk response envelope shape where data contains the payload.
  • JSON request bodies are serialized with snake_case field names to match the API.
  • The public API surface is intentionally typed so the package can be consumed from older .NET Core and .NET Framework projects.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 is compatible.  netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 108 7/23/2026