Skip to main content

Overview

Gorillaa Mail provides API endpoints for GDPR compliance, allowing you to handle Data Subject Requests (DSRs) programmatically. All privacy endpoints require the privacy:read or privacy:manage scope.

Data export (Art. 15)

Export all data associated with an email address — the right of access.
curl -X POST https://api.mail.gorillaa.one/v1/gdpr/export \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "format": "json"
  }'
FieldTypeRequiredDescription
emailstringThe data subject’s email address
formatstringjson (default) or csv

Response

{
  "data": {
    "email": "[email protected]",
    "exportedAt": "2026-02-09T12:00:00Z",
    "data": {
      "emails": [ /* email records */ ],
      "events": [ /* event records */ ],
      "suppressions": [ /* suppression records */ ]
    }
  }
}
Export requests are processed synchronously. The response contains all data associated with the email address. Rate limit: 3 requests per 24 hours.

Data erasure (Art. 17)

Delete all data associated with an email address — the right to be forgotten.
curl -X POST https://api.mail.gorillaa.one/v1/gdpr/delete-request \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "reason": "User requested data deletion",
    "confirmDelete": true
  }'
FieldTypeRequiredDescription
emailstringThe data subject’s email address
reasonstringReason for erasure (max 500 chars)
confirmDeletebooleanMust be true — confirms irreversible deletion

Response

{
  "data": {
    "email": "[email protected]",
    "erasedAt": "2026-02-09T12:00:00Z",
    "method": "anonymize"
  }
}
Data erasure is irreversible. All emails, events, and metadata associated with the address will be permanently deleted or anonymized. Rate limit: 1 request per 24 hours.

List GDPR requests

View the history and status of all GDPR requests:
curl "https://api.mail.gorillaa.one/v1/gdpr/status" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "data": [
    {
      "id": "dsr_abc123",
      "type": "export",
      "email": "[email protected]",
      "requestedBy": "api_key_xyz",
      "status": "completed",
      "createdAt": "2026-02-09T12:00:00Z",
      "completedAt": "2026-02-09T12:05:00Z"
    },
    {
      "id": "dsr_def456",
      "type": "erasure",
      "email": "[email protected]",
      "requestedBy": "api_key_xyz",
      "status": "processing",
      "createdAt": "2026-02-09T12:10:00Z"
    }
  ]
}

Request statuses

StatusDescription
pendingRequest received, not yet started
processingRequest is being processed
completedRequest completed successfully
failedRequest failed (check error details)
cancelledRequest was cancelled

Privacy preferences

Manage per-address privacy preferences for data subjects.

Get preferences

curl "https://api.mail.gorillaa.one/v1/privacy/preferences/[email protected]" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "email": "[email protected]",
  "doNotSell": false,
  "marketingEmails": true,
  "productUpdates": true,
  "updatedAt": "2026-02-09T12:00:00Z"
}

Update preferences

curl -X PATCH "https://api.mail.gorillaa.one/v1/privacy/preferences/[email protected]" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "doNotSell": true,
    "marketingEmails": false,
    "productUpdates": false
  }'
FieldTypeDescription
doNotSellbooleanOpt out of data selling (CCPA)
marketingEmailsbooleanReceive marketing emails
productUpdatesbooleanReceive product update emails
This respects the data subject’s right to object to processing (Art. 21). When preferences are updated, future email sends will respect these settings.

DSR request history

List all Data Subject Requests (both export and erasure):
curl "https://api.mail.gorillaa.one/v1/privacy/requests" \
  -H "Authorization: Bearer YOUR_API_KEY"
Maintain an audit trail of GDPR requests for compliance. The Gorillaa Mail API retains request metadata even after data erasure is complete.