Suppressions & Compliance
Enterprise-grade compliance and suppression management to protect your sender reputation and meet regulatory requirements.
Suppression Management
Customer-Scoped Suppressions
Isolated suppression lists per customer ensure compliance and prevent cross-contamination between tenants.
Automatic Unsubscribe Handling
One-click unsubscribe with CAN-SPAM compliance. Unsubscribe links are automatically added to every marketing email.
Automated Bounce Import
Hard bounces from delivery logs are automatically imported into suppressions to prevent future sends to invalid addresses.
API Reference
List Suppressions
GET /comm-api/api/suppressions?page=1&limit=50
X-Tenant-Id: your-tenant-uuid
Add a Suppression
POST /comm-api/api/suppressions
Content-Type: application/json
X-Tenant-Id: your-tenant-uuid
{
"reason": "unsubscribe"
}
Bulk Import Suppressions
POST /comm-api/api/suppressions/bulk
Content-Type: application/json
X-Tenant-Id: your-tenant-uuid
{
}
Compliance Features
| Standard | Coverage |
|---|---|
| CAN-SPAM Act | Automatic unsubscribe, physical address, opt-out honoring |
| GDPR Article 17 | Right to erasure with anonymization |
| GDPR Article 20 | Right to data portability (JSON/CSV export) |
| CCPA | Consumer privacy rights |
| Audit Logging | Full audit trail of suppression changes |
| Cross-Customer Isolation | Tenant-scoped suppression lists |
GDPR Data Controls
Data Export (Article 20)
Users can request their data via email. Exports include:
- Contact data and custom fields
- Campaign history
- Tracking events
- Suppression status
Delivered in both JSON (machine-readable) and CSV (user-friendly) formats.
Right to Erasure (Article 17)
Delete contacts while preserving anonymized campaign statistics. This maintains aggregate analytics accuracy while fully removing personal data.
Communications Block API Headers
All Communications Block API calls require the tenant header:
X-Tenant-Id: your-tenant-uuid
Example request:
curl -H "X-Tenant-Id: 7fb9af38-eed7-4396-b761-9f160b7632ad" \
-H "Content-Type: application/json" \
https://motorical.com/comm-api/api/lists
Response Format
Success
{
"success": true,
"data": {
"id": "uuid",
"name": "My Campaign",
"status": "scheduled",
"created_at": "2025-09-10T12:00:00Z"
},
"message": "Campaign created successfully"
}
Error
{
"success": false,
"error": "Validation failed",
"details": {
"name": "Name is required",
"template_id": "Invalid template ID"
}
}