Skip to content
Letterhead Letterhead Letterhead Help Center
Admin Tools

Add or update subscriptions in bulk

POST
/api/v3/contacts/{email}/subscriptions/bulk
curl --request POST \
--url https://api.tryletterhead.com/api/v3/contacts/example/subscriptions/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "channels": [ "weekly-digest", "breaking-news" ], "status": 1 }'

Adds (or updates) several channel subscriptions for a contact in a single call. A new subscription is created for each channel the contact isn’t already subscribed to; for channels they already have, the subscription’s status is updated. The contact is identified by the {email} in the URL.

The same status is applied to every channel in the payload — this mirrors the “one audience status applies to every selected newsletter” rule in the Add-to-Newsletter modal.

Subscription status values

ValueStatus
0Not subscribed
1Subscribed
2Unsubscribed
3Cleaned
4Subscribed (pending opt-in)
5Admin pending opt-in
6Pending re-engagement
7Disengaged

Returns the updated contact, including its full subscription list.

email
required
string

The email address of the contact whose subscriptions you’re managing.

Media type application/json
object
channels
required

Channel slugs to subscribe (preferred). 1–200 entries, each unique.

Array<string>
status
required

The subscription status to apply to every channel in the payload. See values below.

integer
Example
{
"channels": [
"weekly-digest",
"breaking-news"
],
"status": 1
}

Successful response

Still can’t find what you need? Contact support.