Update a subscriber
Sets whether this subscriber is on the list. Needs audience: write, and is a write.
status is the whole of what this writes, and only two of its five values can be sent. bounced and complained are verdicts a mailbox provider reached, so setting one would be asserting somebody else's answer on their behalf, and pending belongs to a confirmation flow nothing in this API starts. The address is not writable either: it is the subscription's identity, and on a subscriber with a Commune account behind them it lives on that account rather than here. Add the right address and delete the wrong one.
Both directions publish:
- To unsubscribed: subscriber.unsubscribed with reason: removed, which is the reason that means the newsletter did it rather than the reader. The row survives, so bounce and complaint history is kept and GET goes on resolving them.
- To subscribed: subscriber.created with resubscribed: true, exactly as a reader coming back publishes. Automations treat it as not a new subscriber, so nobody is welcomed again.
Setting the status it already has succeeds, changes nothing and publishes nothing. Setting subscribed on a complained subscriber is refused with 422: only the reader can undo a spam complaint, by subscribing again themselves.
Unlike Add a subscriber, this does not change source. A subscription imported from a provider and reactivated here is still an imported subscription, because what moved was one column of an existing row and not a new subscription being made.
Request
- Base URL: https://api.usecommune.com
- URL: https://api.usecommune.com/subscribers/{subscriber}
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://usecommune.com/api/oauth/authorize, token URL https://usecommune.com/api/oauth/token, scopes: audience:write)
Headers
A value of your choosing naming the change this request is making.
Send the same value again to retry the same request. Commune replays the answer the first attempt gave instead of making the change twice, and marks the replay with an Idempotent-Replay: true response header. Send a different value for a different change: a key reused for a request that differs in any way answers 409, because replaying an answer to a question you did not ask is a wrong answer you could not detect.
A UUID per change is the usual choice. Remembered for 24 hours, per credential, so two credentials choosing the same value never see each other's answers.
Required, not optional.
Request body
Example request
{
"status": "unsubscribed"
}Response
The subscriber, as it now stands.
Example response
{
"newsletter": {
"object": "newsletter",
"id": "9a4c1c6e-0f2b-4f47-9d3f-6d1b1a2c3d4e"
},
"user": {
"object": "newsletter",
"id": "9a4c1c6e-0f2b-4f47-9d3f-6d1b1a2c3d4e"
},
"tags": [
{
"object": "newsletter",
"id": "9a4c1c6e-0f2b-4f47-9d3f-6d1b1a2c3d4e"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.