resend-cli 2.22.0-preview-inboxes.2 → 2.22.0-preview-inboxes.3

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.22.0-preview-inboxes.2",
3
+ "version": "2.22.0-preview-inboxes.3",
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.28.1-preview-inboxes.1"
49
+ "resend": "6.32.1-preview-inboxes.1"
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.19.0"
16
+ version: "2.20.0"
17
17
  homepage: https://resend.com/docs/cli-agents
18
18
  source: https://github.com/resend/resend-cli
19
19
  openclaw:
@@ -137,7 +137,7 @@ Auth resolves: `RESEND_API_KEY` env > config file (`resend login --key`). Use `-
137
137
  | `logs` | list, get, open |
138
138
  | `careers` | list, apply — browse open positions at Resend and apply |
139
139
  | `suppressions` _(beta)_ | list, add, get, delete, batch — requires account enrollment |
140
- | `inboxes` _(beta)_ | create, list, get, update, delete, threads (list, get, update, delete, emails get/reply/forward), labels, drafts — requires account enrollment |
140
+ | `inboxes` _(beta)_ | create, list, get, update, delete, threads (list, get, update, delete, emails list/get/reply/forward), labels, drafts — requires account enrollment |
141
141
  | `api-keys` | create, list, update, delete |
142
142
  | `automations` | create, get, list, update, delete, duplicate, stop, open, runs |
143
143
  | `events` | create, get, list, update, delete, send, open |
@@ -6,9 +6,10 @@ Detailed flag specifications for `resend inboxes` commands.
6
6
  > `--help` but return an API error unless inboxes is enabled for your account.
7
7
  > Reach out to Resend to join the beta.
8
8
 
9
- An inbox is an email address at one of your verified domains (with receiving
10
- enabled) that can receive email. Received messages are grouped into threads
11
- inside the inbox. Inboxes require a **full-access** API key — sending-only keys
9
+ An inbox is an email address at one of your verified domains that sends and
10
+ receives email. Receiving must be enabled on the domain, unless the inbox is
11
+ created with `--forwarding`. Received messages are grouped into threads inside
12
+ the inbox. Inboxes require a **full-access** API key — sending-only keys
12
13
  are rejected.
13
14
 
14
15
  ---
@@ -21,10 +22,10 @@ Create a new inbox at one of your verified domains.
21
22
  |------|------|----------|-------------|
22
23
  | `--email_address <address>` | string | Yes (non-interactive) | Address for the inbox, e.g. `support@yourdomain.com` |
23
24
  | `--name <name>` | string | No | Inbox name shown in the dashboard (max 64 chars) |
24
- | `--friendly_name <name>` | string | No | Name used when sending from this inbox, e.g. `Ada from Support` |
25
- | `--forwarding` | boolean | No | Enable forwarding — received emails are also forwarded to a generated forwarding address |
25
+ | `--from_name <name>` | string | No | Name used when sending from this inbox, e.g. `Ada from Support`. A plain name, not `Name <email>` |
26
+ | `--forwarding` | boolean | No | Receive mail without an MX record — Resend returns a `receiving_address` to forward mail to |
26
27
 
27
- **Output:** `{"object":"inbox","id":"<uuid>","name":"<name>","email_address":"<address>","domain_id":"<uuid>","forwarding_address":"<address>"|null,"unread":0,"created_at":"<date>"}`
28
+ **Output:** `{"object":"inbox","id":"<uuid>","name":"<name>","email_address":"<address>","domain_id":"<uuid>","receiving_address":"<address>"|null,"from_name":"<name>"|null,"unread":0,"drafts":0,"last_received":"<date>"|null,"created_at":"<date>"}`
28
29
 
29
30
  ---
30
31
 
@@ -40,23 +41,23 @@ List all inboxes (default subcommand — `resend inboxes` alone runs it).
40
41
 
41
42
  **Alias:** `ls`
42
43
 
43
- **Output:** `{"object":"list","has_more":false,"data":[{"id":"<uuid>","name":"<name>"|null,"email_address":"<address>","unread":0,"last_received":"<date>"|null}]}`
44
+ **Output:** `{"object":"list","has_more":false,"data":[{"id":"<uuid>","name":"<name>"|null,"email_address":"<address>","from_name":"<name>"|null,"unread":0,"last_received":"<date>"|null}]}`
44
45
 
45
46
  ---
46
47
 
47
48
  ## inboxes get
48
49
 
49
- Retrieve a single inbox.
50
+ Retrieve a single inbox by ID or email address.
50
51
 
51
- **Argument:** `<id>` — inbox UUID (required in non-interactive mode)
52
+ **Argument:** `<id>` — inbox UUID or inbox email address, e.g. `support@yourdomain.com` (required in non-interactive mode)
52
53
 
53
- **Output:** `{"object":"inbox","id":"<uuid>","name":"<name>"|null,"email_address":"<address>","forwarding_address":"<address>"|null,"unread":0,"drafts":0,"last_received":"<date>"|null}`
54
+ **Output:** `{"object":"inbox","id":"<uuid>","name":"<name>","email_address":"<address>","domain_id":"<uuid>","receiving_address":"<address>"|null,"from_name":"<name>"|null,"unread":0,"drafts":0,"last_received":"<date>"|null,"created_at":"<date>"}`
54
55
 
55
56
  ---
56
57
 
57
58
  ## inboxes update
58
59
 
59
- Update an inbox's name or friendly name. At least one option is required.
60
+ Update an inbox's name or from name. At least one option is required.
60
61
  The email address cannot be changed after creation.
61
62
 
62
63
  **Argument:** `<id>` — inbox UUID
@@ -64,7 +65,7 @@ The email address cannot be changed after creation.
64
65
  | Flag | Type | Description |
65
66
  |------|------|-------------|
66
67
  | `--name <name>` | string | New inbox name (max 64 chars) |
67
- | `--friendly_name <name>` | string | New name used when sending from this inbox |
68
+ | `--from_name <name>` | string | New name used when sending from this inbox. A plain name, not `Name <email>`. Pass `""` to clear it |
68
69
 
69
70
  **Output:** `{"object":"inbox","id":"<uuid>"}`
70
71
 
@@ -80,8 +81,7 @@ Threads are ordered by newest activity first.
80
81
  | Flag | Type | Default | Description |
81
82
  |------|------|---------|-------------|
82
83
  | `--folder <folder>` | string | `inbox` | One of `inbox`, `archive`, `spam`, `sent`, `trash` |
83
- | `--query <text>` | string | — | Search subject, sender, and label names |
84
- | `--from <sender>` | string | — | Filter by sender address or name |
84
+ | `--query <text>` | string | — | Case-insensitive match against thread subjects and label names |
85
85
  | `--label <label_id>` | string | — | Filter by label **UUID** (not name); repeat for multiple |
86
86
  | `--limit <n>` | number | 10 | Max results, 1-100 |
87
87
  | `--after <cursor>` | string | — | Forward pagination cursor (a thread ID) |
@@ -95,12 +95,12 @@ Threads are ordered by newest activity first.
95
95
 
96
96
  ## inboxes threads get
97
97
 
98
- Retrieve a thread with every message inline, including `html` and `text`
99
- bodies. Use the message `id` values as the email ID for replies.
98
+ Retrieve a thread's summary. To read its messages, use
99
+ `inboxes threads emails list`.
100
100
 
101
101
  **Flags:** `--inbox_id <id> --thread_id <id>` — required in non-interactive mode
102
102
 
103
- **Output:** `{"object":"inbox_thread","id":"<uuid>","subject":"<subject>"|null,"folder":"inbox","labels":[],"read":true,"messages":[{"id":"<uuid>","direction":"inbound|outbound","from":"<sender>","to":[],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[],"read":true,"received_at":"<date>"}]}`
103
+ **Output:** `{"object":"inbox_thread","id":"<uuid>","subject":"<subject>"|null,"folder":"inbox|archive|spam|sent|trash","labels":[],"read":true}`
104
104
 
105
105
  ---
106
106
 
@@ -138,31 +138,54 @@ Delete a thread and all of its messages.
138
138
 
139
139
  ---
140
140
 
141
+ ## inboxes threads emails list
142
+
143
+ List the emails in a thread, oldest first, with their `html` and `text` bodies
144
+ (default subcommand of `resend inboxes threads emails`). Use the email `id`
145
+ values with `emails get`, `reply`, and `forward`.
146
+
147
+ **Flags:** `--inbox_id <id> --thread_id <id>` — required in non-interactive mode
148
+
149
+ | Flag | Type | Default | Description |
150
+ |------|------|---------|-------------|
151
+ | `--limit <n>` | number | 10 | Max results, 1-100 |
152
+ | `--after <cursor>` | string | — | Forward pagination cursor (an email ID) |
153
+ | `--before <cursor>` | string | — | Backward pagination cursor (an email ID) |
154
+
155
+ **Alias:** `ls`
156
+
157
+ **Output:** `{"object":"list","has_more":false,"data":[{"id":"<uuid>","direction":"inbound|outbound","from":"<sender>","to":[],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[],"read":true,"received_at":"<date>"}]}`
158
+
159
+ ---
160
+
141
161
  ## inboxes threads emails get
142
162
 
143
163
  Retrieve a single email from a thread.
144
164
 
145
165
  **Flags:** `--inbox_id <id> --thread_id <id> --email_id <id>` — required in non-interactive mode
146
166
 
147
- **Output:** `{"id":"<uuid>","direction":"inbound|outbound","from":"<sender>","to":[],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[{"id":"<id>","filename":"<name>"|null,"size":123}],"read":true,"received_at":"<date>"}`
167
+ **Output:** `{"id":"<uuid>","direction":"inbound|outbound","from":"<sender>","to":[],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[{"id":"<id>","filename":"<name>"|null,"size":123|null}],"read":true,"received_at":"<date>"}`
148
168
 
149
169
  ---
150
170
 
151
171
  ## inboxes threads emails reply
152
172
 
153
173
  Reply to a specific email in a thread. The reply is sent from the inbox
154
- address to the sender of the original email.
174
+ address. The recipient comes from the original email. The total number of
175
+ recipients cannot exceed 50.
155
176
 
156
177
  **Flags:** `--inbox_id <id> --thread_id <id> --email_id <id>` — required in
157
- non-interactive mode; the email ID comes from `inboxes threads get`
178
+ non-interactive mode; the email ID comes from `inboxes threads emails list`
158
179
 
159
180
  | Flag | Type | Required | Description |
160
181
  |------|------|----------|-------------|
182
+ | `--cc <address>` | string | No | Cc address; repeat for multiple. Not copied from the original email |
183
+ | `--bcc <address>` | string | No | Bcc address; repeat for multiple. Not copied from the original email |
161
184
  | `--text <text>` | string | One of text/html | Plain text reply body |
162
185
  | `--html <html>` | string | One of text/html | HTML reply body |
163
186
  | `--subject <subject>` | string | No | Override the reply subject |
164
187
 
165
- **Output:** `{"id":"<uuid>","email_id":"<uuid>","direction":"outbound","from":"<inbox-address>","to":["<recipient>"],"text":"<text>"|null,"html":"<html>"|null,"read":true,"received_at":"<date>"}`
188
+ **Output:** `{"id":"<uuid>","email_id":"<uuid>","direction":"outbound","from":"<inbox-address>","to":["<recipient>"],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[],"read":true,"received_at":"<date>"}`
166
189
 
167
190
  ---
168
191
 
@@ -175,11 +198,15 @@ Forward an email to other recipients from the inbox address.
175
198
  | Flag | Type | Required | Description |
176
199
  |------|------|----------|-------------|
177
200
  | `--to <address>` | string | Yes | Recipient; repeat the flag for multiple |
201
+ | `--cc <address>` | string | No | Cc address; repeat for multiple |
202
+ | `--bcc <address>` | string | No | Bcc address; repeat for multiple |
178
203
  | `--text <text>` | string | No | Plain text note to include |
179
204
  | `--html <html>` | string | No | HTML note to include |
180
205
  | `--subject <subject>` | string | No | Override the forwarded subject |
181
206
 
182
- **Output:** `{"id":"<uuid>","email_id":"<uuid>","direction":"outbound","from":"<inbox-address>","to":["<recipient>"],"text":"<text>"|null,"html":"<html>"|null,"attachments":[],"read":true,"received_at":"<date>"}`
207
+ `--to`, `--cc`, and `--bcc` combined cannot exceed 50 recipients.
208
+
209
+ **Output:** `{"id":"<uuid>","email_id":"<uuid>","direction":"outbound","from":"<inbox-address>","to":["<recipient>"],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|null,"message_id":"<message-id>"|null,"html":"<html>"|null,"text":"<text>"|null,"attachments":[],"read":true,"received_at":"<date>"}`
183
210
 
184
211
  ---
185
212
 
@@ -264,8 +291,9 @@ List drafts in an inbox (default subcommand of `resend inboxes drafts`).
264
291
  ## inboxes drafts create
265
292
 
266
293
  Create a standalone draft, or a reply draft when `--thread_id` and
267
- `--reply_to_email_id` are passed **together**. At least one content field is
268
- required.
294
+ `--reply_to_email_id` are passed **together**. A reply draft does not copy
295
+ recipients from the email it replies to, so set `--to` before you send it. At
296
+ least one content field is required. Combined recipients cannot exceed 50.
269
297
 
270
298
  **Flags:** `--inbox_id <id>` — required in non-interactive mode
271
299
 
@@ -21,11 +21,13 @@ Detailed flag specifications for `resend webhooks` commands.
21
21
  | `--endpoint <url>` | string | Yes (non-interactive) | HTTPS webhook URL |
22
22
  | `--events <events...>` | string[] | Yes (non-interactive) | Event types or `all` |
23
23
 
24
- **All 19 events:**
24
+ **All 37 events:**
25
25
  - Email: `email.sent`, `email.delivered`, `email.delivery_delayed`, `email.bounced`, `email.complained`, `email.opened`, `email.clicked`, `email.failed`, `email.scheduled`, `email.suppressed`, `email.received`
26
- - Contact: `contact.created`, `contact.updated`, `contact.deleted`
26
+ - Contact: `contact.created`, `contact.updated`, `contact.deleted`, `contact.topics.updated`
27
27
  - Domain: `domain.created`, `domain.updated`, `domain.deleted`
28
28
  - Suppression: `suppression.added`, `suppression.removed`
29
+ - Topic: `topic.created`, `topic.updated`, `topic.deleted`
30
+ - Inbox (beta): `inbox.created`, `inbox.updated`, `inbox.deleted`, `inbox.thread.created`, `inbox.email.received`, `inbox.email.sent`, `inbox.thread.folder.updated`, `inbox.thread.assigned`, `inbox.thread.unassigned`, `inbox.thread.labels.updated`, `inbox.draft.created`, `inbox.draft.updated`, `inbox.draft.sent`, `inbox.draft.deleted`
29
31
 
30
32
  **Output includes `signing_secret`.** `webhooks get` returns it again.
31
33