listmonk Subscribers API
The Subscribers API from listmonk — 10 operation(s) for subscribers.
The Subscribers API from listmonk — 10 operation(s) for subscribers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/listmonk-subscribers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Listmonk Subscribers API
version: '1.0'
description: 'Operations tagged Subscribers across 2 of this provider''s published API definitions: listmonk-collections-openapi.yml, listmonk-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
- url: '{host}/api'
description: Self-hosted instance
variables:
host:
default: http://localhost:9000
description: Base URL of your listmonk instance
tags:
- name: Subscribers
description: Subscribers API
externalDocs:
url: https://listmonk.app/docs/apis/subscribers/
paths:
/subscribers:
get:
tags:
- Subscribers
description: returns all subscribers.
operationId: getSubscribers
parameters:
- in: query
name: page
description: Page number for paginated results.
required: false
schema:
type: integer
format: int32
- in: query
name: per_page
description: Number of items per page. Use an integer for specific page size or 'all' to retrieve all results
required: false
schema:
oneOf:
- type: integer
description: Number of items to return per page
- type: string
enum:
- all
description: Return all results without pagination
- in: query
name: query
description: query subscribers with an SQL expression.
required: false
schema:
type: string
- in: query
name: order_by
description: Result sorting field. Options are name, status, created_at, updated_at
required: false
schema:
type: string
enum:
- name
- status
- created_at
- updated_at
- in: query
name: order
description: ASC|DESC Sort by ascending or descending order.
required: false
schema:
type: string
enum:
- ASC
- DESC
- in: query
name: subscription_status
description: Subscription status to filter by if there are one or more list_ids.
required: false
schema:
type: string
- in: query
name: list_id
description: ID of lists to filter by. Repeat in the query for multiple values.
required: false
schema:
type: array
items:
type: integer
responses:
'200':
description: subscribers list
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Subscriber'
query:
type: string
total:
type: integer
per_page:
type: integer
page:
type: integer
post:
description: handles creation of new subscriber
operationId: createSubscriber
tags:
- Subscribers
requestBody:
description: new subscriber info
content:
application/json:
schema:
$ref: '#/components/schemas/NewSubscriber'
responses:
'200':
description: subscriber object
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Subscriber'
delete:
description: handles subscribers deletion
operationId: deleteSubscriberByList
tags:
- Subscribers
parameters:
- in: query
name: id
required: true
description: subscriber id/s to be deleted
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{id}:
get:
description: handles the retrieval of a single subscriber by ID.
operationId: getSubscriberById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: The id value of the subscriber you want to get.
schema:
type: integer
responses:
'200':
description: gets a single subscriber.
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Subscriber'
put:
description: modify subscriber data
operationId: updateSubscriberById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: The id of subscriber to update
schema:
type: integer
requestBody:
description: new subscriber info
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSubscriber'
responses:
'200':
description: returns updated subscriber.
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Subscriber'
delete:
description: handles subscriber deletion based on id
operationId: deleteSubscriberById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: The id value of the subscriber you want to get.
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/lists:
put:
description: handles bulk addition or removal of subscribers
operationId: manageSubscriberLists
tags:
- Subscribers
requestBody:
description: The list of subscribers details to add or remove
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/lists/{id}:
put:
description: handles bulk addition or removal of subscribers for a specified list id
operationId: manageSubscriberListById
tags:
- Subscribers
requestBody:
description: The list of subscribers to add or remove
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
parameters:
- in: path
name: id
required: true
description: The id of list you want to update
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/blocklist:
put:
description: handles blocklisting of subscriber list
operationId: manageBlocklistBySubscriberList
tags:
- Subscribers
requestBody:
description: The list of subscribers to blocklist
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{id}/blocklist:
put:
description: handles the blocklisting of one or more subscribers.
operationId: manageBlocklistSubscribersById
tags:
- Subscribers
requestBody:
description: The id of subscriber to add or remove
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
parameters:
- in: path
name: id
required: true
description: The id value of the subscriber you want to blocklist.
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{id}/export:
get:
description: retrieves a subscriber's profile
operationId: exportSubscriberDataByID
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: The id value of subscriber profile you want to export
schema:
type: integer
responses:
'200':
headers:
Cache-Control:
schema:
type: string
Content-Disposition:
schema:
type: string
example: attachment; filename="data.json"
description: subscriber data object
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberData'
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{id}/bounces:
get:
description: retrieves a subscriber's bounce records
operationId: getSubscriberBouncesById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: subscriber id
schema:
type: integer
responses:
'200':
description: list of bounce records of a subscriber
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Bounce'
delete:
description: deletes a subscriber's bounce records
operationId: deleteSubscriberBouncesById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: subscriber id
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{id}/optin:
post:
description: sends an optin confirmation e-mail to a subscriber.
operationId: subscriberSendOptinById
tags:
- Subscribers
parameters:
- in: path
name: id
required: true
description: sends an optin confirmation e-mail to a subscriber
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/query/delete:
post:
description: bulk deletes based on an arbitrary SQL expression.
operationId: deleteSubscriberByQuery
tags:
- Subscribers
requestBody:
description: Arbitrary SQL expression.
content:
text/plain:
schema:
type: string
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/query/blocklist:
put:
description: bulk blocklists subscribers based on an arbitrary SQL expression.
operationId: blocklistSubscribersQuery
tags:
- Subscribers
requestBody:
description: Arbitrary SQL expression.
content:
text/plain:
schema:
type: string
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/query/lists:
put:
description: bulk adds/removes/unsubscribes subscribers from one or more lists based on an arbitrary SQL expression.
operationId: manageSubscriberListsByQuery
tags:
- Subscribers
requestBody:
description: Arbitrary SQL expression.
content:
text/plain:
schema:
type: string
application/json:
schema:
$ref: '#/components/schemas/SubscriberQueryRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: boolean
servers:
- description: Listmonk Developement Server
url: http://localhost:9000/api
/subscribers/{subscriber_id}:
parameters:
- name: subscriber_id
in: path
required: true
schema:
type: integer
get:
operationId: getSubscriber
tags:
- Subscribers
summary: Retrieve a specific subscriber.
responses:
'200':
description: The subscriber.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberResponse'
security:
- BasicAuth: []
- TokenAuth: []
put:
operationId: updateSubscriber
tags:
- Subscribers
summary: Update a specific subscriber.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberRequest'
responses:
'200':
description: The updated subscriber.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriberResponse'
security:
- BasicAuth: []
- TokenAuth: []
delete:
operationId: deleteSubscriber
tags:
- Subscribers
summary: Delete a specific subscriber.
responses:
'200':
description: Deletion result.
security:
- BasicAuth: []
- TokenAuth: []
servers:
- url: http://localhost:9000/api
description: Default local self-hosted instance
- url: '{host}/api'
description: Self-hosted instance
variables:
host:
default: http://localhost:9000
description: Base URL of your listmonk instance
/subscribers/{subscriber_id}/optin:
post:
operationId: sendSubscriberOptin
tags:
- Subscribers
summary: Send an opt-in confirmation email to a subscriber.
parameters:
- name: subscriber_id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Opt-in email queued.
security:
- BasicAuth: []
- TokenAuth: []
servers:
- url: http://localhost:9000/api
description: Default local self-hosted instance
- url: '{host}/api'
description: Self-hosted instance
variables:
host:
default: http://localhost:9000
description: Base URL of your listmonk instance
/subscribers/{subscriber_id}/export:
get:
operationId: exportSubscriber
tags:
- Subscribers
summary: Export a subscriber's data.
parameters:
- name: subscriber_id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Exported subscriber data.
security:
- BasicAuth: []
- TokenAuth: []
servers:
- url: http://localhost:9000/api
description: Default local self-hosted instance
- url: '{host}/api'
description: Self-hosted instance
variables:
host:
default: http://localhost:9000
description: Base URL of your listmonk instance
/subscribers/{subscriber_id}/blocklist:
put:
operationId: blocklistSubscriber
tags:
- Subscribers
summary: Blocklist a single subscriber.
parameters:
- name: subscriber_id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Subscriber blocklisted.
security:
- BasicAuth: []
- TokenAuth: []
servers:
- url: http://localhost:9000/api
description: Default local self-hosted instance
- url: '{host}/api'
description: Self-hosted instance
variables:
host:
default: http://localhost:9000
description: Base URL of your listmonk instance
components:
schemas:
Subscriptions:
type: object
properties:
subscription_status:
type: string
name:
type: string
type:
type: string
created_at:
type: string
NewSubscriber:
type: object
properties:
email:
type: string
name:
type: string
status:
type: string
lists:
type: array
items:
type: integer
list_uuids:
type: array
items:
type: string
preconfirm_subscriptions:
type: boolean
attribs:
type: object
additionalProperties: true
Bounce:
type: object
properties:
results:
type: array
items:
type: object
properties:
id:
type: integer
type:
type: string
source:
type: string
meta:
type: object
created_at:
type: string
email:
type: string
subscriber_uuid:
type: string
subscriber_id:
type: integer
campaign:
type: object
properties:
id:
type: integer
name:
type: string
campaign_uuid:
type: string
total:
type: integer
SubscriberQueryRequest:
type: object
properties:
query:
type: string
ids:
type: array
description: The ids of the subscribers to be modified.
items:
type: integer
action:
type: string
enum:
- add
- remove
- unsubscribe
description: Whether to add, remove, or unsubscribe the users.
target_list_ids:
type: integer
description: The ids of the lists to be modified.
items:
type: integer
status:
type: string
enum:
- confirmed
- unconfirmed
- unsubscribed
description: confirmed, unconfirmed, or unsubscribed status.
SubscriberData:
type: object
properties:
email:
type: string
profile:
type: array
items:
$ref: '#/components/schemas/SubscriberProfile'
subscriptions:
type: array
items:
$ref: '#/components/schemas/Subscriptions'
campaign_views:
type: array
items:
type: object
link_clicks:
type: array
items:
type: object
Subscriber:
type: object
properties:
id:
type: integer
created_at:
type: string
updated_at:
type: string
uuid:
type: string
email:
type: string
name:
type: string
attribs:
type: object
additionalProperties: true
status:
type: string
lists:
type: array
items:
type: object
properties:
subscription_status:
type: string
id:
type: integer
uuid:
type: string
name:
type: string
type:
type: string
tags:
type: array
items:
type: string
created_at:
type: string
updated_at:
type: string
UpdateSubscriber:
type: object
properties:
email:
type: string
name:
type: string
status:
type: string
lists:
type: array
items:
type: integer
list_uuids:
type: array
items:
type: string
preconfirm_subscriptions:
type: boolean
attribs:
type: object
additionalProperties: true
SubscriberProfile:
type: object
properties:
id:
type: integer
uuid:
type: string
email:
type: string
name:
type: string
attribs:
type: object
additionalProperties: true
status:
type: string
created_at:
type: string
updated_at:
type: string
SubscribersResponse:
type: object
properties:
data:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/Subscriber_2'
total:
type: integer
page:
type: integer
per_page:
type: integer
SubscriberResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Subscriber_2'
SubscriberRequest:
type: object
properties:
email:
type: string
format: email
name:
type: string
status:
type: string
enum:
- enabled
- disabled
- blocklisted
lists:
type: array
items:
type: integer
description: List IDs to subscribe to.
attribs:
type: object
additionalProperties: true
description: Arbitrary JSON attributes.
preconfirm_subscriptions:
type: boolean
required:
- email
SubscriberListsRequest:
type: object
properties:
ids:
type: array
items:
type: integer
query:
type: string
action:
type: string
enum:
- add
- remove
- unsubscribe
target_list_ids:
type: array
items:
type: integer
status:
type: string
enum:
- unconfirmed
- confirmed
- unsubscribed
Subscriber_2:
type: object
properties:
id:
type: integer
uuid:
type: string
email:
type: string
name:
type: string
status:
type: string
attribs:
type: object
additionalProperties: true
lists:
type: array
items:
type: object
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
securitySchemes:
BasicAuth:
type: http
scheme: basic
description: HTTP Basic auth using an API user name and token (api_user:token).
TokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Authorization header in the form: token api_user:token.'
x-refined-from:
- listmonk-collections-openapi.yml
- listmonk-openapi.yml