Contact .unsubscribe
Stops commercial email to a person in one click, for one topic or all, at once.
- Action class
- None
- Approval
- Runs on its own
- Emits
Contact.unsubscribed- Venues
- Gmail, Outlook
- Price
- Free
More factsFewer facts
Its Inputs, Outputs, Effects and guards quote the hub’s Contact.unsubscribe; this page adds what each Venue honors, its limits and a worked call. It is one of the Verbs of Mailboxes.
Inputs
| Name | Type | Meaning |
|---|---|---|
contact | Contact | Required. The Contact. |
topic | string | One topic; omitted, every commercial topic. Optional. |
Outputs
| Field | Type | What null means |
|---|---|---|
contact | Contact | Never null: the Contact, unsubscribed. |
Effects
- Action class
None: no approval rule names it, so it runs within its seat’s Permissions and Limits
- Modes
try: Runs every check and returns the record as it would be; nothing is stored.send: Returns a pending Action at once;Contact.unsubscribedfires when it is done.do: Waits for the Action to finish and returns the record.
- Idempotency
Only with a key: the same
Idempotency-Keyand input return the first Action, and the same key with other input returns409.- Saved or shared
Writes a Suppression when no topic is named. Never asks for sign-in or confirmation, and never waits.
- Emits
Contact.unsubscribedwith{ contact }- Performed by
Whichever seat calls it
- Price
Free on your own account: the platform charges nothing for the call.
On each Venue
Each Venue’s caps, review and rate limits are on its integration page, linked from its row. A field marked Not sent is one that Venue has no place for; the call never fails on it.
What try does
| Account | What try does |
|---|---|
| Gmail | Renders the exact email, headers included, and returns it with the time it would send; nothing reaches Gmail and no draft is saved. |
| Outlook | Renders the exact email or invite and returns it with the time it would go; nothing reaches Outlook and no draft or event is saved. |
Refuses when
The hub sets no guard of its own on this call: it refuses only on the shared checks every write meets (a missing record, a Permission the seat lacks).
Through a connected account it can also meet the shared account refusals.
When it waits
Returns in one response; nothing waits.
Example
In send mode the call returns its pending Action at once, and Contact.unsubscribed delivers the result.
Rosa asked for no more newsletters, only replies to her own emails. {
"mode": "send",
"action": {
"$id": "https://api.sb/leaseline.app/actions/action_Sd3kQ9vT2w" ,
"operation": "Contact.unsubscribe",
"status": "pending",
"reason": "running"
}
}To retry, send the same Idempotency-Key: the retry returns the first answer for $0. A new key reads again.