Skip to main content
POST
/
publisher
/
{publisher_id}
/
newsletter
/
subscribe
Subscribe
curl --request POST \
  --url https://cms.thepublive.com/publisher/{publisher_id}/newsletter/subscribe/ \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>",
  "name": "<string>",
  "group_ids": {},
  "check_for_captcha": "<any>",
  "g-recaptcha-response": "<string>"
}
'
{
  "status": "ok",
  "message": "Subscribed successfully!"
}
Subscribes an email address to your newsletter. Optionally assigns the subscriber to one or more groups and supports reCAPTCHA verification.
publisher_id
string
required
Your Publisher ID
email
string
required
Subscriber’s email address. Validated against Django’s email format rules.
name
string
default:"\"\""
Subscriber’s name.
group_ids
string | array
Newsletter group IDs to assign the subscriber to. Omitted from the backend payload when empty or absent. Three formats are accepted:
FormatExample
Repeated form fieldsgroup_ids=10&group_ids=20
Comma-separated stringgroup_ids=1,2,3
JSON array["1,2,3"]
All formats normalize to a list of strings (e.g. ["1", "2", "3"]).
check_for_captcha
any
When present (any truthy value), activates reCAPTCHA validation using your publisher’s newsletter_captcha.secret_key. On successful verification, the backend sets verification_required = 0 — the subscriber skips email verification.
g-recaptcha-response
string
reCAPTCHA token from the client widget. Required when check_for_captcha is included.
Sending check_for_captcha when your publisher has no newsletter_captcha.secret_key configured will cause Google to reject the blank secret and return 400.
{
  "status": "ok",
  "message": "Subscribed successfully!"
}
Last modified on June 5, 2026