resend-cli 2.22.0-preview-inboxes.1 → 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/README.md +3 -1
- package/dist/cli.cjs +287 -269
- package/package.json +2 -2
- package/skills/resend-cli/SKILL.md +2 -2
- package/skills/resend-cli/references/inboxes.md +64 -33
- package/skills/resend-cli/references/webhooks.md +4 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "resend-cli",
|
|
3
|
-
"version": "2.22.0-preview-inboxes.
|
|
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.
|
|
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.
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
| `--
|
|
25
|
-
| `--forwarding` | boolean | No |
|
|
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>","
|
|
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>"
|
|
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
|
|
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
|
-
| `--
|
|
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
|
|
|
@@ -73,32 +74,33 @@ The email address cannot be changed after creation.
|
|
|
73
74
|
## inboxes threads list
|
|
74
75
|
|
|
75
76
|
List threads in an inbox (default subcommand of `resend inboxes threads`).
|
|
76
|
-
|
|
77
|
+
Threads are ordered by newest activity first.
|
|
77
78
|
|
|
78
79
|
**Flags:** `--inbox_id <id>` — required in non-interactive mode
|
|
79
80
|
|
|
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 | — |
|
|
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
|
+
| `--after <cursor>` | string | — | Forward pagination cursor (a thread ID) |
|
|
88
|
+
| `--before <cursor>` | string | — | Backward pagination cursor (a thread ID) |
|
|
87
89
|
|
|
88
90
|
**Alias:** `ls`
|
|
89
91
|
|
|
90
|
-
**Output:** `{"object":"list","has_more":false,"
|
|
92
|
+
**Output:** `{"object":"list","has_more":false,"data":[{"id":"<uuid>","subject":"<subject>"|null,"from":"<sender>"|null,"to":[],"cc":[],"bcc":[],"labels":[],"message_count":1,"has_attachment":false,"has_draft":false,"read":false,"received_at":"<date>"}]}`
|
|
91
93
|
|
|
92
94
|
---
|
|
93
95
|
|
|
94
96
|
## inboxes threads get
|
|
95
97
|
|
|
96
|
-
Retrieve a thread
|
|
97
|
-
|
|
98
|
+
Retrieve a thread's summary. To read its messages, use
|
|
99
|
+
`inboxes threads emails list`.
|
|
98
100
|
|
|
99
101
|
**Flags:** `--inbox_id <id> --thread_id <id>` — required in non-interactive mode
|
|
100
102
|
|
|
101
|
-
**Output:** `{"object":"inbox_thread","id":"<uuid>","subject":"<subject>"|null,"folder":"inbox
|
|
103
|
+
**Output:** `{"object":"inbox_thread","id":"<uuid>","subject":"<subject>"|null,"folder":"inbox|archive|spam|sent|trash","labels":[],"read":true}`
|
|
102
104
|
|
|
103
105
|
---
|
|
104
106
|
|
|
@@ -136,31 +138,54 @@ Delete a thread and all of its messages.
|
|
|
136
138
|
|
|
137
139
|
---
|
|
138
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
|
+
|
|
139
161
|
## inboxes threads emails get
|
|
140
162
|
|
|
141
163
|
Retrieve a single email from a thread.
|
|
142
164
|
|
|
143
165
|
**Flags:** `--inbox_id <id> --thread_id <id> --email_id <id>` — required in non-interactive mode
|
|
144
166
|
|
|
145
|
-
**Output:** `{"id":"<uuid>","direction":"inbound|outbound","from":"<sender>","to":[],"cc":[],"bcc":[],"reply_to":[],"subject":"<subject>"|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>"}`
|
|
146
168
|
|
|
147
169
|
---
|
|
148
170
|
|
|
149
171
|
## inboxes threads emails reply
|
|
150
172
|
|
|
151
173
|
Reply to a specific email in a thread. The reply is sent from the inbox
|
|
152
|
-
address
|
|
174
|
+
address. The recipient comes from the original email. The total number of
|
|
175
|
+
recipients cannot exceed 50.
|
|
153
176
|
|
|
154
177
|
**Flags:** `--inbox_id <id> --thread_id <id> --email_id <id>` — required in
|
|
155
|
-
non-interactive mode; the email ID comes from `inboxes threads
|
|
178
|
+
non-interactive mode; the email ID comes from `inboxes threads emails list`
|
|
156
179
|
|
|
157
180
|
| Flag | Type | Required | Description |
|
|
158
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 |
|
|
159
184
|
| `--text <text>` | string | One of text/html | Plain text reply body |
|
|
160
185
|
| `--html <html>` | string | One of text/html | HTML reply body |
|
|
161
186
|
| `--subject <subject>` | string | No | Override the reply subject |
|
|
162
187
|
|
|
163
|
-
**Output:** `{"id":"<uuid>","email_id":"<uuid>","direction":"outbound","from":"<inbox-address>","to":["<recipient>"],"
|
|
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>"}`
|
|
164
189
|
|
|
165
190
|
---
|
|
166
191
|
|
|
@@ -173,11 +198,15 @@ Forward an email to other recipients from the inbox address.
|
|
|
173
198
|
| Flag | Type | Required | Description |
|
|
174
199
|
|------|------|----------|-------------|
|
|
175
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 |
|
|
176
203
|
| `--text <text>` | string | No | Plain text note to include |
|
|
177
204
|
| `--html <html>` | string | No | HTML note to include |
|
|
178
205
|
| `--subject <subject>` | string | No | Override the forwarded subject |
|
|
179
206
|
|
|
180
|
-
|
|
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>"}`
|
|
181
210
|
|
|
182
211
|
---
|
|
183
212
|
|
|
@@ -191,7 +220,7 @@ List all labels in an inbox (not paginated; default subcommand of
|
|
|
191
220
|
|
|
192
221
|
**Alias:** `ls`
|
|
193
222
|
|
|
194
|
-
**Output:** `{"object":"list","
|
|
223
|
+
**Output:** `{"object":"list","data":[{"id":"<uuid>","name":"<name>","color":"<color>","created_at":"<date>"}]}`
|
|
195
224
|
|
|
196
225
|
---
|
|
197
226
|
|
|
@@ -244,25 +273,27 @@ Delete a label. It is removed from every thread that has it.
|
|
|
244
273
|
## inboxes drafts list
|
|
245
274
|
|
|
246
275
|
List drafts in an inbox (default subcommand of `resend inboxes drafts`).
|
|
247
|
-
Opaque cursor pagination like threads — no `--limit`.
|
|
248
276
|
|
|
249
277
|
**Flags:** `--inbox_id <id>` — required in non-interactive mode
|
|
250
278
|
|
|
251
|
-
| Flag | Type | Description |
|
|
252
|
-
|
|
253
|
-
| `--
|
|
279
|
+
| Flag | Type | Default | Description |
|
|
280
|
+
|------|------|---------|-------------|
|
|
281
|
+
| `--limit <n>` | number | 10 | Max results, 1-100 |
|
|
282
|
+
| `--after <cursor>` | string | — | Forward pagination cursor (a draft ID) |
|
|
283
|
+
| `--before <cursor>` | string | — | Backward pagination cursor (a draft ID) |
|
|
254
284
|
|
|
255
285
|
**Alias:** `ls`
|
|
256
286
|
|
|
257
|
-
**Output:** `{"object":"list","has_more":false,"
|
|
287
|
+
**Output:** `{"object":"list","has_more":false,"data":[{"id":"<uuid>","type":"standalone|reply","to":["<address>"]|null,"cc":[],"bcc":[],"subject":"<subject>"|null,"snippet":"<text>"|null,"thread_id":"<uuid>"|null,"reply_to_email_id":"<uuid>"|null,"updated_at":"<date>"}]}`
|
|
258
288
|
|
|
259
289
|
---
|
|
260
290
|
|
|
261
291
|
## inboxes drafts create
|
|
262
292
|
|
|
263
293
|
Create a standalone draft, or a reply draft when `--thread_id` and
|
|
264
|
-
`--reply_to_email_id` are passed **together**.
|
|
265
|
-
|
|
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.
|
|
266
297
|
|
|
267
298
|
**Flags:** `--inbox_id <id>` — required in non-interactive mode
|
|
268
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
|
|
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
|
|