Inbox Rules
Automatically process incoming emails based on sender and subject patterns. Create rules to forward, delete, or label emails matching specific criteria.
/api/inbox-rulesList Rules
Get all inbox rules configured for your account, ordered by priority (highest first).
Response 200
{
"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
Code Examples
curl https://destroy.network/api/inbox-rules \
-H "Authorization: Bearer sk_live_your_api_key"/api/inbox-rulesCreate Rule
Create a new inbox rule. Rules are processed in priority order (highest first). At least one pattern (from or subject) is required.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Rule name (1-100 characters) |
from_pattern | string | No | Glob pattern for sender (e.g., *@github.com) |
subject_pattern | string | No | Glob pattern for subject (e.g., *invoice*) |
action | string | Yes | Action: forward, delete, or label |
action_value | string | No | Forward address or label name (required for forward/label) |
enabled | boolean | No | Enable rule (default: true) |
priority | number | No | Priority 0-100, higher runs first (default: 0) |
{
"name": "Forward GitHub notifications",
"from_pattern": "*@github.com",
"action": "forward",
"action_value": "me@example.com",
"priority": 10
}Response 201
{
"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
| Status | Message |
|---|---|
| 400 | At least one pattern (from or subject) is required |
| 400 | Maximum N rules allowed on your plan |
| 401 | Unauthorized |
| 403 | Inbox rules require Pro or Business plan |
Rate Limits
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.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Rule ID |
Response 200
{
"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
| Status | Message |
|---|---|
| 404 | Rule not found |
Rate Limits
Code Examples
curl https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ \
-H "Authorization: Bearer sk_live_your_api_key"/api/inbox-rules/{id}Update Rule
Update an inbox rule's configuration. Only provided fields are updated.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Rule ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Rule name |
from_pattern | string | No | Sender pattern |
subject_pattern | string | No | Subject pattern |
action | string | No | Action type |
action_value | string | No | Action value |
enabled | boolean | No | Enable/disable rule |
priority | number | No | Priority (0-100) |
{
"enabled": false,
"priority": 50
}Response 200
{
"success": true
}Errors
| Status | Message |
|---|---|
| 404 | Rule not found |
Rate Limits
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}'Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Rule ID |
Response 200
{
"success": true
}Errors
| Status | Message |
|---|---|
| 404 | Rule not found |
Rate Limits
Code Examples
curl -X DELETE https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ \
-H "Authorization: Bearer sk_live_your_api_key"/api/inbox-rules/{id}/toggleToggle Rule
Enable or disable a rule with a single request. Returns the new enabled state.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Rule ID |
Response 200
{
"success": true,
"enabled": false
}Errors
| Status | Message |
|---|---|
| 404 | Rule not found |
Rate Limits
Code Examples
curl -X POST https://destroy.network/api/inbox-rules/rule_Kp9xMn2qLr4vTt7bYw3cZ/toggle \
-H "Authorization: Bearer sk_live_your_api_key"/api/inbox-rules/reorderReorder Rules
Update priorities for multiple rules at once. Useful for drag-and-drop reordering.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
rules | array | Yes | Array of {id, priority} objects |
{
"rules": [
{ "id": "rule_abc123", "priority": 100 },
{ "id": "rule_def456", "priority": 50 },
{ "id": "rule_ghi789", "priority": 0 }
]
}Response 200
{
"success": true
}Rate Limits
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.
