Reference / MCP tool reference
Reference
Check suppression
check_suppression: Checks the suppression status of up to 1,000 delivered records by record id, as of now, and names the lists that suppress each.
Checks the suppression status of up to 1,000 delivered records by record id, as of now, and names the lists that suppress each. Use it before every send, because objections reach records after delivery. Free; it needs suppressions:read. Leave suppressed records out of the send, and call report_objection when someone objects. Lawful basis is UK GDPR Article 6(1)(f) legitimate interests; email audiences include corporate subscribers only by default (PECR), so sole traders and ordinary partnerships are left out unless the toggle is changed.
| Property | Value |
|---|---|
| Tool name | check_suppression |
| Position in tools/list | 20 of 22 |
| Cost | Free |
| Scope | suppressions:read |
| Annotations | readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false |
| Kind | Read only; idempotent, not destructive, closed world |
| REST equivalent | POST /v1/suppressions/check |
Input
The schema sets additionalProperties to false, so a member that is not listed is refused.
| Member | Type | Required | Description |
|---|---|---|---|
record_ids | array of string | yes |
Example call
The params of a tools/call request:
{
"name": "check_suppression",
"arguments": {
"record_ids": ["contact_01JA9X2V7XN3M9R6T1Y5W8ZAK8"]
}
}Output
The result carries structuredContent that matches this schema, and one line of text that leads with the number.
| Member | Type | Always present | Description |
|---|---|---|---|
checked_at | string (date-time) | yes | |
results | array of object | yes | |
results[].record_id | string | yes | Format: a contact id: contact_ followed by a 26 character ULID in upper case Crockford base32, such as contact_01JA9X2V7XN3M9R6T1Y5W8ZAK8. |
results[].suppressed | boolean | yes | |
results[].suppression_status | enum: none, objected_to_emailmovers, objected_to_licensee, deceased, left_company | yes | |
results[].list_ids | array of string | yes |
Errors
A failed call returns isError true. The text content leads with the sentence a person acts on, then the whole problem as JSON, with code, detail, next_step and did_you_mean. A 401 and a step-up 403 are answered at HTTP level so the client can start authorisation. See Errors.