resend-cli 2.8.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resend-cli",
3
- "version": "2.8.1",
3
+ "version": "2.9.0",
4
4
  "description": "The official CLI for Resend",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "esbuild": "0.28.1",
47
47
  "esbuild-wasm": "0.28.0",
48
48
  "picocolors": "1.1.1",
49
- "resend": "6.17.1"
49
+ "resend": "6.18.0-canary.0"
50
50
  },
51
51
  "pkg": {
52
52
  "scripts": [
@@ -13,7 +13,7 @@ metadata:
13
13
  author: resend
14
14
  # Skill version is independent from the CLI/package.json version —
15
15
  # bump it on skill content changes, not CLI releases.
16
- version: "2.3.0"
16
+ version: "2.4.0"
17
17
  homepage: https://resend.com/docs/cli-agents
18
18
  source: https://github.com/resend/resend-cli
19
19
  openclaw:
@@ -57,6 +57,7 @@ references:
57
57
  - references/templates.md
58
58
  - references/topics.md
59
59
  - references/logs.md
60
+ - references/suppressions.md
60
61
  - references/webhooks.md
61
62
  - references/auth.md
62
63
  - references/workflows.md
@@ -143,6 +144,7 @@ Auth resolves: `--api-key` flag > `RESEND_API_KEY` env > config file (`resend lo
143
144
  | `emails receiving` | list, get, attachments, forward, listen |
144
145
  | `domains` | create, verify, get, claim, update, delete, list |
145
146
  | `logs` | list, get, open |
147
+ | `suppressions` _(beta)_ | list, add, get, delete, batch — requires account enrollment |
146
148
  | `api-keys` | create, list, delete |
147
149
  | `automations` | create, get, list, update, delete, stop, open, runs |
148
150
  | `events` | create, get, list, update, delete, send, open |
@@ -220,6 +222,7 @@ resend doctor -q
220
222
  - **Defining contact properties** → [references/contact-properties.md](references/contact-properties.md)
221
223
  - **Working with templates** → [references/templates.md](references/templates.md)
222
224
  - **Viewing API request logs** → [references/logs.md](references/logs.md)
225
+ - **Managing the suppression list** (beta) → [references/suppressions.md](references/suppressions.md)
223
226
  - **Creating automations or sending events** → [references/automations.md](references/automations.md)
224
227
  - **Setting up webhooks or listening for events** → [references/webhooks.md](references/webhooks.md)
225
228
  - **Auth, profiles, or health checks** → [references/auth.md](references/auth.md)
@@ -44,6 +44,7 @@ Retrieve a sent email by ID.
44
44
  {
45
45
  "object": "email",
46
46
  "id": "<uuid>",
47
+ "message_id": "<111-222-333@email.example.com>",
47
48
  "from": "you@domain.com",
48
49
  "to": ["user@example.com"],
49
50
  "subject": "Hello",
@@ -65,7 +66,7 @@ List sent emails.
65
66
  | `--after <cursor>` | string | — | Forward pagination cursor |
66
67
  | `--before <cursor>` | string | — | Backward pagination cursor |
67
68
 
68
- **Output:** `{"object":"list","data":[...],"has_more":bool}`
69
+ **Output:** `{"object":"list","data":[{"id":"...","message_id":"<111-222-333@email.example.com>",...}],"has_more":bool}`
69
70
 
70
71
  ---
71
72
 
@@ -0,0 +1,101 @@
1
+ # suppressions
2
+
3
+ Detailed flag specifications for `resend suppressions` commands.
4
+
5
+ > **Beta:** Suppressions is a pre-GA feature gated per account. Commands appear in
6
+ > `--help` but return an API error unless the suppression list is enabled for your
7
+ > account. Reach out to Resend to join the beta.
8
+
9
+ Suppressions block future sends to an address. Each entry has an `origin`:
10
+
11
+ | Origin | Meaning |
12
+ |--------|---------|
13
+ | `bounce` | Added automatically after a hard bounce |
14
+ | `complaint` | Added automatically after a spam complaint |
15
+ | `manual` | Added by you via `suppressions add` |
16
+
17
+ `get` and `delete` accept **either** a suppression ID **or** the email address.
18
+
19
+ ---
20
+
21
+ ## suppressions list
22
+
23
+ List suppressed addresses (default subcommand — `resend suppressions` alone runs it).
24
+
25
+ | Flag | Type | Default | Description |
26
+ |------|------|---------|-------------|
27
+ | `--limit <n>` | number | 10 | Max results, 1-100 |
28
+ | `--after <cursor>` | string | — | Forward pagination cursor |
29
+ | `--before <cursor>` | string | — | Backward pagination cursor |
30
+ | `--origin <origin>` | string | — | Filter: `bounce` \| `complaint` \| `manual` |
31
+
32
+ **Alias:** `ls`
33
+
34
+ **Output:** `{"object":"list","has_more":false,"data":[{"object":"suppression","id":"...","email":"...","origin":"bounce|complaint|manual","source_id":"..."|null,"created_at":"..."}]}`
35
+
36
+ ---
37
+
38
+ ## suppressions add
39
+
40
+ Suppress a single email address (origin `manual`).
41
+
42
+ **Argument:** `<email>` — email address to suppress (required in non-interactive mode)
43
+
44
+ **Output:** `{"object":"suppression","id":"..."}`
45
+
46
+ ---
47
+
48
+ ## suppressions get
49
+
50
+ Retrieve a single suppression.
51
+
52
+ **Argument:** `<id-or-email>` — suppression ID or the suppressed email address
53
+
54
+ **Output:** `{"object":"suppression","id":"...","email":"...","origin":"...","source_id":"..."|null,"created_at":"..."}`
55
+
56
+ ---
57
+
58
+ ## suppressions delete
59
+
60
+ Remove a suppression so Resend can send to the address again.
61
+
62
+ **Argument:** `<id-or-email>` — suppression ID or the suppressed email address
63
+
64
+ | Flag | Type | Required | Description |
65
+ |------|------|----------|-------------|
66
+ | `--yes` | boolean | Yes (non-interactive) | Skip confirmation |
67
+
68
+ **Alias:** `rm`
69
+
70
+ **Output:** `{"object":"suppression","id":"...","deleted":true}`
71
+
72
+ ---
73
+
74
+ ## suppressions batch add
75
+
76
+ Suppress up to 100 addresses in one request.
77
+
78
+ | Flag | Type | Required | Description |
79
+ |------|------|----------|-------------|
80
+ | `--file <path>` | string | Yes (non-interactive) | JSON file with an array of email strings (`-` for stdin) |
81
+
82
+ **File format:** `["a@example.com", "b@example.com"]`
83
+
84
+ **Output:** `{"data":[{"object":"suppression","id":"..."}]}`
85
+
86
+ ---
87
+
88
+ ## suppressions batch remove
89
+
90
+ Remove up to 100 suppressions in one request.
91
+
92
+ | Flag | Type | Required | Description |
93
+ |------|------|----------|-------------|
94
+ | `--file <path>` | string | Yes (non-interactive) | JSON file with an array of strings (`-` for stdin) |
95
+ | `--ids` | boolean | No | Treat file entries as suppression IDs instead of emails |
96
+
97
+ **Alias:** `rm`
98
+
99
+ **File format:** `["a@example.com", "b@example.com"]` (or IDs with `--ids`)
100
+
101
+ **Output:** `{"data":[{"object":"suppression","id":"...","deleted":true}]}`