Subscribe an email address. The server-to-server signup endpoint: a new address is added to the list and the team gets a notification. An address already on the list is returned unchanged with created false
POST
https://app.softsolz.uk/api/v1/services/newsletter/subscribeRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Headers
AuthorizationstringrequiredBearer token: Bearer sk_live_... (or sk_test_... for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
emailstringrequiredSubscriber email (required).
namestringOptional subscriber name.
Response
Response Body
idintegerSubscriber id.emailstringSubscriber email.namestring | nullOptional subscriber name.statusstringSubscription status. "pending" means double opt-in is on and the address has not been confirmed yet.source_kindstringHow the subscriber arrived: widget (a signup card), api, manual (added in the app) or import.source_urlstring | nullPage the address was entered on, kept as consent evidence.consent_textstring | nullExact wording the person agreed to at sign-up. Null for people added by a team member or the API without their own consent wording.consent_atstring | nullWhen the person gave consent. Null for people added by a team member or the API without consent wording. Re-adding an existing address never changes it.confirmed_atstring | nullWhen the address was confirmed; null while pending.created_atstringWhen the subscriber was added.unsubscribed_atstring | nullWhen the subscriber unsubscribed; null while subscribed.createdbooleanTrue when a new subscriber was created. False when the address was already on the list; the existing record is returned unchanged and nobody is resubscribed.Request
curl --request POST \ --url https://app.softsolz.uk/api/v1/services/newsletter/subscribe \ --header 'Authorization: Bearer sk_live_your_key' \ --header 'Content-Type: application/json' \ --data '{ "email": "reader@example.com", "name": "Jane Reader"}'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 201
{ "data": { "id": 5001, "email": "reader@example.com", "name": "Jane Reader", "status": "subscribed", "source_kind": "api", "source_url": "https://example.com/blog/how-we-ship", "consent_text": "I agree to receive email updates and understand I can unsubscribe at any time.", "consent_at": "2026-06-04T18:11:00.000Z", "confirmed_at": "2026-06-04T18:13:00.000Z", "created_at": "2026-06-04T18:11:00.000Z", "unsubscribed_at": null, "created": true }}