NEW

Automatically process incoming emails based on sender and subject patterns. Create rules to forward, delete, or label emails matching specific criteria.

GET/api/inbox-rules
Auth Required

Get all inbox rules configured for your account, ordered by priority (highest first).

Response 200

Example Responsejson
{
  "rules": [
    {
      "id": "rule_Kp9xMn2qLr4vTt7bYw3cZ",
      "name": "Forward GitHub notifications",
      "fromPattern": "*@github.com",
      "subjectPattern": null,
      "action": "forward",
      "actionValue": "me@example.com",
      "enabled": true,
      "priority": 10,
      "createdAt": "2025-01-29T12:00:00.000Z",
      "updatedAt": "2025-01-29T12:00:00.000Z"
    }
  ],
  "limit": 10,
  "used": 1
}

Rate Limits

FreeN/A (Pro only)
Pro30 req/min
Business60 req/min

Code Examples

curl https://destroy.network/api/inbox-rules \
  -H "Authorization: Bearer sk_live_your_api_key"
POST/api/inbox-rules
Auth Required

Create a new inbox rule. Rules are processed in priority order (highest first). At least one pattern (from or subject) is required.

Request Body

FieldTypeRequiredDescription
namestringYesRule name (1-100 characters)
from_patternstringNoGlob pattern for sender (e.g., *@github.com)
subject_patternstringNoGlob pattern for subject (e.g., *invoice*)
actionstringYesAction: forward, delete, or label
action_valuestringNoForward address or label name (required for forward/label)
enabledbooleanNoEnable rule (default: true)
prioritynumberNoPriority 0-100, higher runs first (default: 0)
Example Requestjson
{
  "name": "Forward GitHub notifications",
  "from_pattern": "*@github.com",
  "action": "forward",
  "action_value": "me@example.com",
  "priority": 10
}

Response 201

Example Responsejson
{
  "id": "rule_Kp9xMn2qLr4vTt7bYw3cZ",
  "name": "Forward GitHub notifications",
  "fromPattern": "*@github.com",
  "subjectPattern": null,
  "action": "forward",
  "actionValue": "me@example.com",
  "enabled": true,
  "priority": 10,
  "createdAt": "2025-01-29T12:00:00.000Z",
  "updatedAt": "2025-01-29T12:00:00.000Z"
}

Errors

StatusMessage
400At least one pattern (from or subject) is required
400Maximum N rules allowed on your plan
401Unauthorized
403Inbox rules require Pro or Business plan

Rate Limits

FreeN/A (Pro only)
Pro10 req/min
Business30 req/min

Code Examples

curl -X POST https://destroy.network/api/inbox-rules \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Forward GitHub notifications",
    "from_pattern": "*@github.com",
    "action": "forward",
    "action_value": "me@example.com",
    "priority": 10
  }'

Inbox rules require Pro or Business plan.

At least one pattern (from_pattern or subject_pattern) is required.

Patterns use glob-style matching: * matches any characters.

Pro accounts can create up to 10 rules, Business up to 50.

GET/api/inbox-rules/{id}
Auth Required

Get details for a specific inbox rule.

Path Parameters

NameTypeRequiredDescription
idstringYesRule ID

Response 200

Example Responsejson
{
  "id": "rule_Kp9xMn2qLr4vTt7bYw3cZ",
  "name": "Forward GitHub notifications",
  "fromPattern": "*@github.com",
  "subjectPattern": null,
  "action": "forward",
  "actionValue": "me@example.com",
  "enabled": true,
  "priority": 10,
  "createdAt": "2025-01-29T12:00:00.000Z",
  "updatedAt": "2025-01-29T12:00:00.000Z"
}

Errors

StatusMessage
404Rule not found

Rate Limits

FreeN/A (Pro only)
Pro30 req/min
Business60 req/min

Code Examples

curl https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ \
  -H "Authorization: Bearer sk_live_your_api_key"
PATCH/api/inbox-rules/{id}
Auth Required

Update an inbox rule's configuration. Only provided fields are updated.

Path Parameters

NameTypeRequiredDescription
idstringYesRule ID

Request Body

FieldTypeRequiredDescription
namestringNoRule name
from_patternstringNoSender pattern
subject_patternstringNoSubject pattern
actionstringNoAction type
action_valuestringNoAction value
enabledbooleanNoEnable/disable rule
prioritynumberNoPriority (0-100)
Example Requestjson
{
  "enabled": false,
  "priority": 50
}

Response 200

Example Responsejson
{
  "success": true
}

Errors

StatusMessage
404Rule not found

Rate Limits

FreeN/A (Pro only)
Pro10 req/min
Business30 req/min

Code Examples

curl -X PATCH https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'
DELETE/api/inbox-rules/{id}
Auth Required

Remove an inbox rule.

Path Parameters

NameTypeRequiredDescription
idstringYesRule ID

Response 200

Example Responsejson
{
  "success": true
}

Errors

StatusMessage
404Rule not found

Rate Limits

FreeN/A (Pro only)
Pro10 req/min
Business30 req/min

Code Examples

curl -X DELETE https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ \
  -H "Authorization: Bearer sk_live_your_api_key"
POST/api/inbox-rules/{id}/toggle
Auth Required

Enable or disable a rule with a single request. Returns the new enabled state.

Path Parameters

NameTypeRequiredDescription
idstringYesRule ID

Response 200

Example Responsejson
{
  "success": true,
  "enabled": false
}

Errors

StatusMessage
404Rule not found

Rate Limits

FreeN/A (Pro only)
Pro10 req/min
Business30 req/min

Code Examples

curl -X POST https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ/toggle \
  -H "Authorization: Bearer sk_live_your_api_key"
POST/api/inbox-rules/reorder
Auth Required

Update priorities for multiple rules at once. Useful for drag-and-drop reordering.

Request Body

FieldTypeRequiredDescription
rulesarrayYesArray of {id, priority} objects
Example Requestjson
{
  "rules": [
    { "id": "rule_abc123", "priority": 100 },
    { "id": "rule_def456", "priority": 50 },
    { "id": "rule_ghi789", "priority": 0 }
  ]
}

Response 200

Example Responsejson
{
  "success": true
}

Rate Limits

FreeN/A (Pro only)
Pro5 req/min
Business15 req/min

Code Examples

curl -X POST https://destroy.network/api/inbox-rules/reorder \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "rules": [
      { "id": "rule_abc123", "priority": 100 },
      { "id": "rule_def456", "priority": 50 }
    ]
  }'

Higher priority rules are processed first.

Rules with equal priority are processed in creation order.

Only provided rules are updated; others keep their current priority.