agentmail 0.1.8 → 0.1.11

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.
Files changed (95) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/BaseClient.js +2 -2
  3. package/dist/cjs/api/resources/apiKeys/client/Client.js +1 -3
  4. package/dist/cjs/api/resources/domains/client/Client.js +1 -3
  5. package/dist/cjs/api/resources/drafts/client/Client.js +1 -6
  6. package/dist/cjs/api/resources/events/types/MessageReceivedEvent.d.ts +1 -0
  7. package/dist/cjs/api/resources/inboxes/client/Client.d.ts +2 -2
  8. package/dist/cjs/api/resources/inboxes/client/Client.js +8 -10
  9. package/dist/cjs/api/resources/inboxes/resources/drafts/client/Client.js +4 -15
  10. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +15 -0
  11. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +105 -15
  12. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +1 -3
  13. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.js +1 -6
  14. package/dist/cjs/api/resources/messages/types/ReplyAll.d.ts +4 -0
  15. package/dist/cjs/api/resources/messages/types/ReplyAll.js +3 -0
  16. package/dist/cjs/api/resources/messages/types/ReplyAllMessageRequest.d.ts +9 -0
  17. package/dist/cjs/api/resources/messages/types/ReplyAllMessageRequest.js +3 -0
  18. package/dist/cjs/api/resources/messages/types/ReplyToMessageRequest.d.ts +1 -0
  19. package/dist/cjs/api/resources/messages/types/index.d.ts +2 -0
  20. package/dist/cjs/api/resources/messages/types/index.js +2 -0
  21. package/dist/cjs/api/resources/metrics/client/Client.js +1 -3
  22. package/dist/cjs/api/resources/pods/client/Client.js +1 -3
  23. package/dist/cjs/api/resources/pods/resources/domains/client/Client.js +2 -9
  24. package/dist/cjs/api/resources/pods/resources/drafts/client/Client.js +1 -6
  25. package/dist/cjs/api/resources/pods/resources/inboxes/client/Client.js +2 -9
  26. package/dist/cjs/api/resources/pods/resources/threads/client/Client.js +1 -6
  27. package/dist/cjs/api/resources/threads/client/Client.js +1 -6
  28. package/dist/cjs/api/resources/webhooks/client/Client.js +1 -3
  29. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.d.ts +2 -0
  30. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.js +2 -0
  31. package/dist/cjs/serialization/resources/inboxes/client/create.d.ts +8 -0
  32. package/dist/cjs/serialization/resources/inboxes/client/create.js +6 -0
  33. package/dist/cjs/serialization/resources/inboxes/client/index.d.ts +1 -0
  34. package/dist/cjs/serialization/resources/inboxes/client/index.js +37 -0
  35. package/dist/cjs/serialization/resources/inboxes/index.d.ts +1 -0
  36. package/dist/cjs/serialization/resources/inboxes/index.js +1 -0
  37. package/dist/cjs/serialization/resources/messages/types/ReplyAll.d.ts +7 -0
  38. package/dist/cjs/serialization/resources/messages/types/ReplyAll.js +39 -0
  39. package/dist/cjs/serialization/resources/messages/types/ReplyAllMessageRequest.d.ts +20 -0
  40. package/dist/cjs/serialization/resources/messages/types/ReplyAllMessageRequest.js +52 -0
  41. package/dist/cjs/serialization/resources/messages/types/ReplyToMessageRequest.d.ts +2 -0
  42. package/dist/cjs/serialization/resources/messages/types/ReplyToMessageRequest.js +2 -0
  43. package/dist/cjs/serialization/resources/messages/types/index.d.ts +2 -0
  44. package/dist/cjs/serialization/resources/messages/types/index.js +2 -0
  45. package/dist/cjs/version.d.ts +1 -1
  46. package/dist/cjs/version.js +1 -1
  47. package/dist/esm/BaseClient.mjs +2 -2
  48. package/dist/esm/api/resources/apiKeys/client/Client.mjs +1 -3
  49. package/dist/esm/api/resources/domains/client/Client.mjs +1 -3
  50. package/dist/esm/api/resources/drafts/client/Client.mjs +1 -6
  51. package/dist/esm/api/resources/events/types/MessageReceivedEvent.d.mts +1 -0
  52. package/dist/esm/api/resources/inboxes/client/Client.d.mts +2 -2
  53. package/dist/esm/api/resources/inboxes/client/Client.mjs +8 -10
  54. package/dist/esm/api/resources/inboxes/resources/drafts/client/Client.mjs +4 -15
  55. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +15 -0
  56. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +105 -15
  57. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +1 -3
  58. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.mjs +1 -6
  59. package/dist/esm/api/resources/messages/types/ReplyAll.d.mts +4 -0
  60. package/dist/esm/api/resources/messages/types/ReplyAll.mjs +2 -0
  61. package/dist/esm/api/resources/messages/types/ReplyAllMessageRequest.d.mts +9 -0
  62. package/dist/esm/api/resources/messages/types/ReplyAllMessageRequest.mjs +2 -0
  63. package/dist/esm/api/resources/messages/types/ReplyToMessageRequest.d.mts +1 -0
  64. package/dist/esm/api/resources/messages/types/index.d.mts +2 -0
  65. package/dist/esm/api/resources/messages/types/index.mjs +2 -0
  66. package/dist/esm/api/resources/metrics/client/Client.mjs +1 -3
  67. package/dist/esm/api/resources/pods/client/Client.mjs +1 -3
  68. package/dist/esm/api/resources/pods/resources/domains/client/Client.mjs +2 -9
  69. package/dist/esm/api/resources/pods/resources/drafts/client/Client.mjs +1 -6
  70. package/dist/esm/api/resources/pods/resources/inboxes/client/Client.mjs +2 -9
  71. package/dist/esm/api/resources/pods/resources/threads/client/Client.mjs +1 -6
  72. package/dist/esm/api/resources/threads/client/Client.mjs +1 -6
  73. package/dist/esm/api/resources/webhooks/client/Client.mjs +1 -3
  74. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.d.mts +2 -0
  75. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.mjs +2 -0
  76. package/dist/esm/serialization/resources/inboxes/client/create.d.mts +8 -0
  77. package/dist/esm/serialization/resources/inboxes/client/create.mjs +3 -0
  78. package/dist/esm/serialization/resources/inboxes/client/index.d.mts +1 -0
  79. package/dist/esm/serialization/resources/inboxes/client/index.mjs +1 -0
  80. package/dist/esm/serialization/resources/inboxes/index.d.mts +1 -0
  81. package/dist/esm/serialization/resources/inboxes/index.mjs +1 -0
  82. package/dist/esm/serialization/resources/messages/types/ReplyAll.d.mts +7 -0
  83. package/dist/esm/serialization/resources/messages/types/ReplyAll.mjs +3 -0
  84. package/dist/esm/serialization/resources/messages/types/ReplyAllMessageRequest.d.mts +20 -0
  85. package/dist/esm/serialization/resources/messages/types/ReplyAllMessageRequest.mjs +16 -0
  86. package/dist/esm/serialization/resources/messages/types/ReplyToMessageRequest.d.mts +2 -0
  87. package/dist/esm/serialization/resources/messages/types/ReplyToMessageRequest.mjs +2 -0
  88. package/dist/esm/serialization/resources/messages/types/index.d.mts +2 -0
  89. package/dist/esm/serialization/resources/messages/types/index.mjs +2 -0
  90. package/dist/esm/version.d.mts +1 -1
  91. package/dist/esm/version.mjs +1 -1
  92. package/dist/llms-full.txt +726 -118
  93. package/dist/llms.txt +2 -6
  94. package/package.json +1 -1
  95. package/reference.md +66 -1
@@ -2,9 +2,11 @@
2
2
 
3
3
  > Your starting point for building with the AgentMail API.
4
4
 
5
- <Tip title="Welcome to AgentMail!" icon="fa-solid fa-star">
6
- We're excited to have you onboard!
7
- </Tip>
5
+ <Tip title="Welcome to AgentMail!" icon="fa-solid fa-star" />
6
+
7
+ <Frame caption="We're excited to have you onboard!">
8
+ <img src="file:1a083c39-ceed-4591-acaf-4220b54f7913" alt="We're excited to have you onboard!" />
9
+ </Frame>
8
10
 
9
11
  AgentMail is an API platform for giving AI agents their own inboxes to send, receive, and act upon emails. This allows agents to assume their own identity and communicate via the universal protocol of email with services, people, and other agents.
10
12
 
@@ -166,12 +168,10 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
166
168
  If you don't have an account yet, you can sign up directly from the console. Once you're logged in, you'll be able to manage your inboxes, view analytics, and create API keys.
167
169
  </Step>
168
170
 
169
- {" "}
170
-
171
171
  <Step title="Create an API Key">
172
172
  Now that you're in the console, you'll need to create an API key to
173
173
  authenticate your requests. Navigate to the API Keys section in your console
174
- dashboard. ![API Key Creation Screenshot](file:2ed6166f-567f-4666-8c03-00684ce19aa3) Click
174
+ dashboard. ![API Key Creation Screenshot](file:20e7f82e-4a12-4165-ba99-4b5cff0ac0f5) Click
175
175
  "Create New API Key" and give it a descriptive name. Once created, copy the
176
176
  API key and store it securely. Create a `.env` file in your project's root
177
177
  directory and add your key to it. We recommend using environment variables to
@@ -218,6 +218,16 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
218
218
  print("Inbox created successfully!")
219
219
  print(inbox)
220
220
 
221
+ # Send Email
222
+
223
+ client.inboxes.messages.send(
224
+ inbox_id="your-email@example.com",
225
+ to="contact@agentmail.to",
226
+ subject="Hello from AgentMail!",
227
+ text="This is my first email sent with the AgentMail API."
228
+
229
+ )
230
+
221
231
  ```
222
232
 
223
233
  ```typescript title="TypeScript"
@@ -238,7 +248,7 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
238
248
 
239
249
  // Send an email from the new inbox
240
250
  console.log("Sending email...");
241
- await client.inboxes.messages.send(inbox.inbox_id, {
251
+ await client.inboxes.messages.send(inbox.inboxId, {
242
252
  to: "your-email@example.com",
243
253
  subject: "Hello from AgentMail!",
244
254
  text: "This is my first email sent with the AgentMail API.",
@@ -264,7 +274,7 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
264
274
  python quickstart.py
265
275
  ```
266
276
 
267
- ```bash title="Node"
277
+ ```bash title="TypeScript"
268
278
  npx ts-node quickstart.ts
269
279
  ```
270
280
  </CodeBlocks>
@@ -312,7 +322,7 @@ Unlike traditional email providers that are designed for human scale, AgentMail
312
322
 
313
323
  As the diagram below illustrates, your `organization` is the top-level container that holds all your resources. You can provision many `Inboxes` within your `organization`, each with its own `Threads`, `Messages`, and `Attachments`, allowing you to manage a large fleet of agents seamlessly.
314
324
 
315
- <img src="file:5059430e-56d3-4f25-8e53-c039ee07eae3" alt="AgentMail Organizational Hierarchy" />
325
+ <img src="file:17d978ed-f12c-4634-8560-1fe14dfd09a0" alt="AgentMail Organizational Hierarchy" />
316
326
 
317
327
  <Steps>
318
328
  <Step title="Organization">
@@ -347,7 +357,7 @@ As the diagram below illustrates, your `organization` is the top-level container
347
357
 
348
358
  ## Core Capabilities
349
359
 
350
- Here at AgentMail we've now made an `Inbox` is an API resource, meaning you can perform standard CRUD operations on it. Here are the core capabilities you'll use to manage your `Inboxes`.
360
+ Here at AgentMail we've now made an `Inbox` an API resource, meaning you can perform standard CRUD operations on it. Here are the core capabilities you'll use to manage your `Inboxes`.
351
361
 
352
362
  <CodeBlocks>
353
363
  ```python
@@ -732,7 +742,7 @@ Here is an example of a well-structured and styled HTML header:
732
742
  </CodeBlocks>
733
743
 
734
744
  <Frame caption="Look how pretty this message looks!">
735
- <img src="file:c026b6cd-f41d-4bc0-9818-5058474f4b79" alt="rendered css" />
745
+ <img src="file:c2086bbe-a796-4972-be4d-5e4534c24ca8" alt="rendered css" />
736
746
  </Frame>
737
747
 
738
748
  ## Receiving `Messages`
@@ -1135,7 +1145,7 @@ This is where `Labels` become truly powerful. You can list `Threads`, `Messages`
1135
1145
 
1136
1146
  ## What are `Attachments`?
1137
1147
 
1138
- An `Attachment` is a file that is associated with a `Message`. This can be anything from a PDF invoice to a CSV report or an image(though we don't recommend sending images in the first email sent. We go more into this in the [deliverability section](/deliverability)). Your agents can both send `Attachments` in outgoing `Messages` and process `Attachments` from incoming `Messages`.
1148
+ An `Attachment` is a file that is associated with a `Message`. This can be anything from a PDF invoice to a CSV report or an image(though we don't recommend sending images in the first email sent. We go more into this in the [deliverability section](/email-deliverability)). Your agents can both send `Attachments` in outgoing `Messages` and process `Attachments` from incoming `Messages`.
1139
1149
 
1140
1150
  ## Sending `Attachments`
1141
1151
 
@@ -1158,15 +1168,15 @@ To send a file, you include it in an `Attachments` array when sending a `Message
1158
1168
  encoded_content = base64.b64encode(file_content.encode()).decode()
1159
1169
 
1160
1170
  sent_message = client.inboxes.messages.send(
1161
- inbox_id="reports@agentmail.to",
1162
- to=["supervisor@example.com"],
1163
- subject="Q4 Financial Report",
1164
- text="Please see the attached report.",
1165
- attachments=[{
1166
- "content": encoded_content,
1167
- "filename": "Q4-report.txt",
1168
- "content_type": "text/plain"
1169
- }]
1171
+ inbox_id="reports@agentmail.to",
1172
+ to=["supervisor@example.com"],
1173
+ subject="Q4 Financial Report",
1174
+ text="Please see the attached report.",
1175
+ attachments=[{
1176
+ "content": encoded_content,
1177
+ "filename": "Q4-report.txt",
1178
+ "content_type": "text/plain"
1179
+ }]
1170
1180
  )
1171
1181
 
1172
1182
  ```
@@ -1207,15 +1217,15 @@ If you know the `Message` an `Attachment` belongs to, you can retrieve it direct
1207
1217
  attachment_id = "attach_789" # From the message object
1208
1218
 
1209
1219
  file_data = client.inboxes.messages.get_attachment(
1210
- inbox_id=inbox_id,
1211
- message_id=message_id,
1212
- attachment_id=attachment_id
1220
+ inbox_id=inbox_id,
1221
+ message_id=message_id,
1222
+ attachment_id=attachment_id
1213
1223
  )
1214
1224
 
1215
1225
  # Now you can save the file
1216
1226
 
1217
1227
  with open("downloaded_file.pdf", "wb") as f:
1218
- f.write(file_data)
1228
+ f.write(file_data)
1219
1229
 
1220
1230
  ```
1221
1231
 
@@ -1507,27 +1517,6 @@ Pod: "Marketing-Agent"
1507
1517
  * Explore [Domains](/custom-domains) to set up custom email domains for your pods
1508
1518
 
1509
1519
 
1510
- # Integrations
1511
-
1512
- > Overview of AgentMail's integrations
1513
-
1514
- ## Platforms
1515
-
1516
- <CardGroup>
1517
- <Card title="Replit" icon="fa-solid fa-box-open" href="replit" />
1518
-
1519
- <Card title="Smithery" icon="fa-solid fa-box-open" href="smithery" />
1520
- </CardGroup>
1521
-
1522
- ## Frameworks
1523
-
1524
- <CardGroup>
1525
- <Card title="Mastra" icon="fa-solid fa-box-open" href="mastra" />
1526
-
1527
- <Card title="CrewAI" icon="fa-solid fa-box-open" href="crewai" />
1528
- </CardGroup>
1529
-
1530
-
1531
1520
  # Replit
1532
1521
 
1533
1522
  > AgentMail's Replit integration
@@ -1602,6 +1591,7 @@ Below is a collections of prebuilt tools that Replit can use out of the box to s
1602
1591
  .union([z.string(), z.array(z.string())])
1603
1592
  .optional()
1604
1593
  .describe('BCC recipients'),
1594
+ subject: z.string().optional().describe('Subject'),
1605
1595
  })
1606
1596
 
1607
1597
  const ReplyToMessageInput = BaseMessageInput.extend({ messageId: MessageId })
@@ -1739,24 +1729,6 @@ Email is critical to identity and communication on the internet. Much of the con
1739
1729
  These are just a few select verticals, but we have seen AgentMail be effective in automating any email task across every function. If a human does it with email, it can be automated with AgentMail.
1740
1730
 
1741
1731
 
1742
- # Smithery
1743
-
1744
- > AgentMail's Smithery integration
1745
-
1746
-
1747
-
1748
- # Mastra
1749
-
1750
- > AgentMail's Mastra integration
1751
-
1752
-
1753
-
1754
- # CrewAI
1755
-
1756
- > AgentMail's CrewAI integration
1757
-
1758
-
1759
-
1760
1732
  # Guide: Sending & Receiving Email
1761
1733
 
1762
1734
  > A step-by-step guide to the practical workflow of sending initial emails and handling replies to have a full conversation.
@@ -2009,7 +1981,7 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2009
1981
  After creating your domain in the AgentMail Console, click the "Download BIND Zone File" button to get the complete zone file.
2010
1982
 
2011
1983
  <Frame caption="Downloading BIND zone file from AgentMail Console">
2012
- <img src="file:abd861e7-e3c4-4253-843d-5e1877e84487" alt="Download BIND Zone File from Console" />
1984
+ <img src="file:984a2b44-d86f-47bc-ace2-143e0daf1757" alt="Download BIND Zone File from Console" />
2013
1985
  </Frame>
2014
1986
 
2015
1987
  <Tabs>
@@ -2020,13 +1992,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2020
1992
  2. Click **"Import zone file"** in the top right corner
2021
1993
 
2022
1994
  <Frame caption="Importing BIND zone file in AWS Route 53">
2023
- <img src="file:1381b9e1-8945-463b-8211-f3cb7d8ff390" alt="AWS Route 53 BIND Import" />
1995
+ <img src="file:9647ee70-c593-4daa-a8bf-3079e41ff670" alt="AWS Route 53 BIND Import" />
2024
1996
  </Frame>
2025
1997
 
2026
1998
  3. Paste the CONTENTS of downloaded BIND zone file
2027
1999
 
2028
2000
  <Frame caption="Open the file with text editor and paste the contents. It should look similar to what we have in this image.">
2029
- <img src="file:a1ec7b55-2283-4e6c-af6f-5bfca7ad00d6" alt="AWS Route 53 BIND Import" />
2001
+ <img src="file:8e5863f4-bee3-42c8-a6fe-60fc89f9b534" alt="AWS Route 53 BIND Import" />
2030
2002
  </Frame>
2031
2003
 
2032
2004
  4. Review the records and click **"Import"**
@@ -2039,13 +2011,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2039
2011
  2. Navigate to **DNS > Records**
2040
2012
 
2041
2013
  <Frame caption="This is what the page looks like">
2042
- <img src="file:ba36964f-3f3e-439c-80f0-c71884757f68" alt="Cloudflare BIND Import" />
2014
+ <img src="file:88185597-fdb9-45aa-a132-7b7284bde354" alt="Cloudflare BIND Import" />
2043
2015
  </Frame>
2044
2016
 
2045
2017
  3. Click **"Import and Export"**
2046
2018
 
2047
2019
  <Frame caption="You should be able to just drop the file in">
2048
- <img src="file:990c0430-f086-4365-813f-a3b6463d5e07" alt="Cloudflare BIND Import" />
2020
+ <img src="file:7fdc901a-28f8-436a-ad49-d2595e448503" alt="Cloudflare BIND Import" />
2049
2021
  </Frame>
2050
2022
 
2051
2023
  4. Upload the downloaded BIND zone file as is
@@ -2058,13 +2030,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2058
2030
  2. Navigate to the **DNS** subtab of the domain you want to send from
2059
2031
 
2060
2032
  <Frame caption="Click on this button!">
2061
- <img src="file:86a3ef0e-6f6e-4eb3-a721-52c1730f0b49" alt="Porkbun DNS Management" />
2033
+ <img src="file:ad432f5f-3bdd-4e60-ad17-c9129578a975" alt="Porkbun DNS Management" />
2062
2034
  </Frame>
2063
2035
 
2064
2036
  3. Scroll down to the quick upload section
2065
2037
 
2066
2038
  <Frame caption="Upload your BIND zone file here">
2067
- <img src="file:295db837-0235-4696-b96d-5318f68b49f5" alt="Porkbun Zone File Import" />
2039
+ <img src="file:9a206318-f766-4423-b0aa-3c6f637edb2a" alt="Porkbun Zone File Import" />
2068
2040
  </Frame>
2069
2041
 
2070
2042
  4. Upload the downloaded BIND zone file as is
@@ -2148,7 +2120,7 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2148
2120
  * **Value:** Can directly copy paste the `value` from the API response (e.g., `{random_letters_numbers}.dkim.amazonses.com`).
2149
2121
 
2150
2122
  <Frame caption="Example of adding a CNAME record in Route 53. Notice that AWS already appends the root domain (agentmail.cc) to the end of the name value!">
2151
- <img src="file:e57473d0-08bd-4ddc-ba64-0ff6c2e49ccc" alt="AWS Route 53 Record Configuration" />
2123
+ <img src="file:1913b0a8-b4bb-4368-b90d-4989059e598a" alt="AWS Route 53 Record Configuration" />
2152
2124
  </Frame>
2153
2125
 
2154
2126
  * **TXT (DMARC/SPF):**
@@ -2583,39 +2555,47 @@ When AgentMail sends a webhook, the payload will have the following structure.
2583
2555
 
2584
2556
  # Webhook Events
2585
2557
 
2586
- > A complete reference of the AgentMail webhook event and its payload.
2558
+ As mentioned in the overview, webhooks allow us to create event-driven applications.
2587
2559
 
2588
- When you create a webhook, you subscribe to events from AgentMail. As of now, AgentMail supports a single event type: `message.received`. This event is your primary trigger for all agent-based workflows. We will be adding more event types in the future.
2560
+ AgentMail supports multiple event types that allow you to build comprehensive, event-driven workflows for your email agents.
2589
2561
 
2590
2562
  All webhook payloads follow the same basic structure:
2591
2563
 
2592
2564
  ```json
2593
2565
  {
2594
- "event": "event.name",
2595
- "data": {
2596
- // ... event-specific data object
2597
- }
2566
+ "type": "event",
2567
+ "event_type": "event.name",
2568
+ "event_id": "evt_123abc..."
2569
+ // ... event-specific data object
2598
2570
  }
2599
2571
  ```
2600
2572
 
2601
- ## Message Event
2602
-
2603
- The `message.received` event is triggered whenever a new email is successfully received and processed in one of your `Inboxes`.
2573
+ ## Message Events
2604
2574
 
2605
2575
  ### `message.received`
2606
2576
 
2607
- * **Description:** This is the main trigger to kick off your agent's workflow. Use this event to fetch the full message content, process it, and decide on the next action, such as generating a reply.
2608
- * **Use Case:** Instantly kick off an agent's workflow to process and reply to an incoming email.
2577
+ * **Description:** Triggered whenever a new email is successfully received and processed in one of your `Inboxes`. This is the most common trigger to kick off agent workflows.
2578
+ * **Example use-case:** Kick off a internal workflow when a customer complaint email hits the support inbox
2579
+
2580
+ <Callout>
2581
+ Something here to notice is message.received is the only webhook event that
2582
+ includes both the metadata on the `Thread` and the `Message` in the payload.
2583
+ Other event types send only metadata on the event. Let us know if you need
2584
+ metadata on other event types by emailing `support@agentmail.cc`
2585
+ </Callout>
2609
2586
 
2610
2587
  <CodeGroup>
2611
2588
  ```json
2612
2589
  {
2613
- "event": "message.received",
2614
- "data": {
2615
- "id": "msg_123abc",
2616
- "object": "message",
2590
+ "type": "event",
2591
+ "event_type": "message.received",
2592
+ "event_id": "evt_123abc",
2593
+ "message": {
2617
2594
  "inbox_id": "inbox_456def",
2618
2595
  "thread_id": "thd_789ghi",
2596
+ "message_id": "msg_123abc",
2597
+ "labels": ["received"],
2598
+ "timestamp": "2023-10-27T10:00:00Z",
2619
2599
  "from": [
2620
2600
  {
2621
2601
  "name": "Jane Doe",
@@ -2629,28 +2609,206 @@ The `message.received` event is triggered whenever a new email is successfully r
2629
2609
  }
2630
2610
  ],
2631
2611
  "subject": "Question about my account",
2612
+ "preview": "A short preview of the email text...",
2613
+ "text": "The full text body of the email.",
2614
+ "html": "<html>...</html>",
2632
2615
  "created_at": "2023-10-27T10:00:00Z"
2633
- // ... and other message properties
2616
+ },
2617
+ "thread": {
2618
+ // ... thread properties
2619
+ }
2620
+ }
2621
+ ```
2622
+ </CodeGroup>
2623
+
2624
+ ### `message.sent`
2625
+
2626
+ * **Description:** Triggered when a message is successfully sent from one of your `Inboxes`.
2627
+ * **Use Case:** Track outgoing messages, update your database, or trigger follow-up workflows after sending.
2628
+
2629
+ <CodeGroup>
2630
+ ```json
2631
+ {
2632
+ "type": "event",
2633
+ "event_type": "message.sent",
2634
+ "event_id": "evt_456def",
2635
+ "send": {
2636
+ "inbox_id": "inbox_456def",
2637
+ "thread_id": "thd_789ghi",
2638
+ "message_id": "msg_123abc",
2639
+ "timestamp": "2023-10-27T10:05:00Z",
2640
+ "recipients": [
2641
+ "recipient@example.com"
2642
+ ]
2634
2643
  }
2635
2644
  }
2636
2645
  ```
2637
2646
  </CodeGroup>
2638
2647
 
2639
- ## Future Events
2648
+ ### `message.delivered`
2640
2649
 
2641
- We are working on expanding our event offerings. In the future, you can expect to see events related to email delivery status, such as:
2650
+ * **Description:** Triggered when a sent message is successfully delivered to the recipient's mail server.
2651
+ * **Use Case:** Confirm successful delivery, update message status, or trigger delivery confirmation workflows.
2642
2652
 
2643
- * `delivery.success`
2644
- * `delivery.bounced`
2645
- * `delivery.complained`
2646
- * and much more...
2653
+ <CodeGroup>
2654
+ ```json
2655
+ {
2656
+ "type": "event",
2657
+ "event_type": "message.delivered",
2658
+ "event_id": "evt_789ghi",
2659
+ "delivery": {
2660
+ "inbox_id": "inbox_456def",
2661
+ "thread_id": "thd_789ghi",
2662
+ "message_id": "msg_123abc",
2663
+ "timestamp": "2023-10-27T10:06:00Z",
2664
+ "recipients": [
2665
+ "recipient@example.com"
2666
+ ]
2667
+ }
2668
+ }
2669
+ ```
2670
+ </CodeGroup>
2647
2671
 
2648
- Stay tuned for updates as we roll out these new features!
2672
+ <AccordionGroup>
2673
+ <Accordion title="What is the difference between `message.sent` and `message.delivered?`" defaultOpen={true}>
2674
+ `message.sent` means the message has succesfully left our servers and is out
2675
+ to travel the network. This is typically happens before `message.delivered`
2676
+ where `message.delivered` means the recieving email server(whether its Gmail
2677
+ or Outlook) gives us the `200 OK` saying the email has been received. What
2678
+ they do with the email after is unknown.
2679
+ </Accordion>
2649
2680
 
2650
- If you have any specific webhook notifications you would like, please ping us in the `#feature-requests` channel in the [Discord](https://discord.gg/hTYatWYWBc)
2681
+ <Accordion title="Does `message.delivered` mean I landed in their inbox?">
2682
+ Nope. As mentioned `message.delivered` means the receiving email server,
2683
+ whether it's Gmail or Outlook tells us "Hey AgentMail, we got your email,
2684
+ we'll take it from here!". They typically have their own properitary
2685
+ algorithms to determine whether the email is going to end up in the inbox or
2686
+ spam, but rest assured we handle everything needed for providers like Gmail
2687
+ to deem the emails primary inbox worthy
2688
+ </Accordion>
2689
+ </AccordionGroup>
2651
2690
 
2652
- ```
2653
- ```
2691
+ ### `message.bounced`
2692
+
2693
+ * **Description:** Triggered when a sent message fails to deliver and bounces back. Includes bounce type and sub-type information.
2694
+ * **Use Case:** Handle bounced emails, update recipient status, or trigger bounce handling workflows.
2695
+
2696
+ <CodeGroup>
2697
+ ```json
2698
+ {
2699
+ "type": "event",
2700
+ "event_type": "message.bounced",
2701
+ "event_id": "evt_012jkl",
2702
+ "bounce": {
2703
+ "inbox_id": "inbox_456def",
2704
+ "thread_id": "thd_789ghi",
2705
+ "message_id": "msg_123abc",
2706
+ "timestamp": "2023-10-27T10:07:00Z",
2707
+ "type": "Permanent",
2708
+ "sub_type": "General",
2709
+ "recipients": [
2710
+ {
2711
+ "address": "invalid@example.com",
2712
+ "status": "bounced"
2713
+ }
2714
+ ]
2715
+ }
2716
+ }
2717
+ ```
2718
+ </CodeGroup>
2719
+
2720
+ ### `message.complained`
2721
+
2722
+ * **Description:** Triggered when a recipient marks your message as spam or files a complaint.
2723
+ * **Use Case:** Handle spam complaints, update sender reputation, or trigger complaint handling workflows.
2724
+
2725
+ <CodeGroup>
2726
+ ```json
2727
+ {
2728
+ "type": "event",
2729
+ "event_type": "message.complained",
2730
+ "event_id": "evt_345mno",
2731
+ "complaint": {
2732
+ "inbox_id": "inbox_456def",
2733
+ "thread_id": "thd_789ghi",
2734
+ "message_id": "msg_123abc",
2735
+ "timestamp": "2023-10-27T10:08:00Z",
2736
+ "type": "abuse",
2737
+ "sub_type": "spam",
2738
+ "recipients": [
2739
+ "complainer@example.com"
2740
+ ]
2741
+ }
2742
+ }
2743
+ ```
2744
+ </CodeGroup>
2745
+
2746
+ ### `message.rejected`
2747
+
2748
+ * **Description:** Triggered when a message is rejected before being sent, typically due to validation errors or policy violations.
2749
+ * **Use Case:** Handle rejected messages, log rejection reasons, or trigger validation workflows.
2750
+
2751
+ <CodeGroup>
2752
+ ```json
2753
+ {
2754
+ "type": "event",
2755
+ "event_type": "message.rejected",
2756
+ "event_id": "evt_678pqr",
2757
+ "reject": {
2758
+ "inbox_id": "inbox_456def",
2759
+ "thread_id": "thd_789ghi",
2760
+ "message_id": "msg_123abc",
2761
+ "timestamp": "2023-10-27T10:09:00Z",
2762
+ "reason": "Invalid recipient address"
2763
+ }
2764
+ }
2765
+ ```
2766
+ </CodeGroup>
2767
+
2768
+ <Warning>
2769
+ If you send an email to a `bounced` address, `rejected` address, or
2770
+ `complained` address we prevent you from sending to this email address ever
2771
+ again to keep bounce rates low. Make sure to keep your account bounce rate
2772
+ under 4%, otherwise we will put your account under review.
2773
+ </Warning>
2774
+
2775
+ ## Domain Events
2776
+
2777
+ ### `domain.verified`
2778
+
2779
+ * **Description:** Triggered when a domain is successfully verified and ready to use for sending emails.
2780
+ * **Use Case:** Automatically enable domain-specific features, update domain status, or trigger post-verification workflows.
2781
+
2782
+ <CodeGroup>
2783
+ ```json
2784
+ {
2785
+ "type": "event",
2786
+ "event_type": "domain.verified",
2787
+ "event_id": "evt_901stu",
2788
+ "domain": {
2789
+ "domain_id": "dom_123abc",
2790
+ "status": "verified",
2791
+ "feedback_enabled": true,
2792
+ "records": [
2793
+ // ... DNS verification records
2794
+ ],
2795
+ "created_at": "2023-10-27T09:00:00Z",
2796
+ "updated_at": "2023-10-27T10:00:00Z"
2797
+ }
2798
+ }
2799
+ ```
2800
+ </CodeGroup>
2801
+
2802
+ ## Event Filtering
2803
+
2804
+ When creating a webhook, you can specify which events to subscribe to. This allows you to:
2805
+
2806
+ * Reduce webhook traffic by only subscribing to events you need
2807
+ * Create specialized webhooks for specific workflows
2808
+
2809
+ For example, if you only need to trigger workflows on incoming messages, you can subscribe to just `message.received`. If you're building a delivery tracking system, you might subscribe to `message.sent`, `message.delivered`, and `message.bounced`.
2810
+
2811
+ If you have any specific webhook notifications you would like, please ping us in the `#feature-requests` channel in the [Discord](https://discord.gg/hTYatWYWBc)
2654
2812
 
2655
2813
 
2656
2814
  # Webhook Setup Guide
@@ -2684,13 +2842,13 @@ Ngrok creates a secure tunnel from a public URL to your local development server
2684
2842
 
2685
2843
  Visit [ngrok.com](https://ngrok.com/) and click "Sign up" to create a free account.
2686
2844
 
2687
- <img src="file:b2e9355e-36a9-46dc-bbe0-8192253fc301" alt="Ngrok homepage" />
2845
+ <img src="file:c15f82e4-27f6-4a70-ac26-add0b5b12db0" alt="Ngrok homepage" />
2688
2846
 
2689
2847
  ### 1.2 Choose your platform and install
2690
2848
 
2691
2849
  After logging in, ngrok will guide you through the setup process. Select your operating system and follow the installation instructions.
2692
2850
 
2693
- <img src="file:3905deb7-315f-48fe-adee-1f4e4a115bcd" alt="Ngrok setup instructions" />
2851
+ <img src="file:4a0b3ee3-7848-45d2-be50-2b5ff7c85295" alt="Ngrok setup instructions" />
2694
2852
 
2695
2853
  For macOS, you can install ngrok via Homebrew:
2696
2854
 
@@ -2736,7 +2894,7 @@ ngrok http 3000
2736
2894
 
2737
2895
  You should see output similar to this:
2738
2896
 
2739
- <img src="file:96fe265e-bc8e-40fc-8bb1-a53acadb74ca" alt="Ngrok terminal output" />
2897
+ <img src="file:8bcb8b41-cb1c-462c-8fe4-e9e6a1184d0b" alt="Ngrok terminal output" />
2740
2898
 
2741
2899
  Copy the **Forwarding URL** (e.g., `https://your-subdomain.ngrok-free.app`). This is the public URL that AgentMail will use to send webhooks.
2742
2900
 
@@ -2833,7 +2991,7 @@ python webhook_receiver.py
2833
2991
 
2834
2992
  Open your browser and visit `http://127.0.0.1:3000` to see the status page confirming your webhook receiver is running:
2835
2993
 
2836
- <img src="file:6e602847-1e91-47d2-8aa0-c4d8ca72fed4" alt="Webhook receiver status page" />
2994
+ <img src="file:ca0e6f7a-9ed4-4689-9508-7a56cef9eaf5" alt="Webhook receiver status page" />
2837
2995
 
2838
2996
  ## Testing Your Setup
2839
2997
 
@@ -2955,7 +3113,7 @@ How you send your emails is just as important as what you send. If you're sendin
2955
3113
  more natural to email providers. AgentMail's ability to create inboxes at
2956
3114
  scale makes this strategy easy to implement.
2957
3115
 
2958
- <img src="file:d79176d8-08fb-4eba-b880-66bfcf164f59" alt="Diagram comparing one inbox sending 1000 emails vs. five inboxes sending 200 each." />
3116
+ <img src="file:a620b6d7-d2f7-4925-94ce-afcd6fb2ff4c" alt="Diagram comparing one inbox sending 1000 emails vs. five inboxes sending 200 each." />
2959
3117
  </Step>
2960
3118
 
2961
3119
  <Step title="Protect Your Reputation with Multiple Domains">
@@ -4974,7 +5132,7 @@ Done
4974
5132
 
4975
5133
  Go to your AgentMail inbox and filter by labels to organize your emails:
4976
5134
 
4977
- <img src="file:19536629-9971-42f0-b8c1-ffa1f9849fd5" alt="Test image" />
5135
+ <img src="file:2d19dca9-3d2a-43a1-a741-27bc0b88bc19" alt="Test image" />
4978
5136
 
4979
5137
  **Filter by sentiment:**
4980
5138
 
@@ -5796,7 +5954,55 @@ We hope this provides a clear and transparent look into why these DNS records ar
5796
5954
 
5797
5955
  # SOC 2 Compliance
5798
5956
 
5799
- We're almost there....
5957
+ > AgentMail's SOC 2 Type II certification and what it means for your data security
5958
+
5959
+ AgentMail is **SOC 2 Type II certified**, demonstrating our commitment to maintaining the highest standards of security, availability, and confidentiality for your data.
5960
+
5961
+ <img src="file:7e299fb7-9841-4f90-a033-b5e4878067b1" alt="SOC 2 Type II Certified" />
5962
+
5963
+ ## What is SOC 2?
5964
+
5965
+ SOC 2 is a rigorous auditing standard developed by the American Institute of Certified Public Accountants (AICPA). It evaluates how organizations manage customer data based on five principles:
5966
+
5967
+ * **Security**: Protection against unauthorized access
5968
+ * **Availability**: Systems are operational and accessible as committed
5969
+ * **Processing Integrity**: Data processing is complete, accurate, and authorized
5970
+ * **Confidentiality**: Information designated as confidential is protected
5971
+ * **Privacy**: Personal information is collected, used, and retained appropriately
5972
+
5973
+ ## What does this mean for you?
5974
+
5975
+ When you use AgentMail, you can trust that:
5976
+
5977
+ <AccordionGroup>
5978
+ <Accordion title="Your data is protected by enterprise-grade security">
5979
+ We've implemented comprehensive security controls that have been
5980
+ independently verified by third-party auditors. This includes access
5981
+ controls, encryption, and continuous monitoring.
5982
+ </Accordion>
5983
+
5984
+ <Accordion title="We follow industry best practices">
5985
+ Our policies and procedures align with established security frameworks. We
5986
+ don't just claim to be secure—we prove it through regular audits.
5987
+ </Accordion>
5988
+
5989
+ <Accordion title="Our controls are continuously monitored">
5990
+ SOC 2 Type II certification means our controls were tested over an
5991
+ observation period, not just at a single point in time. This demonstrates
5992
+ consistent, ongoing compliance.
5993
+ </Accordion>
5994
+ </AccordionGroup>
5995
+
5996
+ ## Our Certifications
5997
+
5998
+ | Certification | Status | Last Audit |
5999
+ | ------------- | ----------- | ------------- |
6000
+ | SOC 2 Type I | ✅ Compliant | — |
6001
+ | SOC 2 Type II | ✅ Compliant | November 2025 |
6002
+
6003
+ ## Request Compliance Documentation
6004
+
6005
+ Need our SOC 2 report for your vendor assessment? Contact our team at [founders@agentmail.cc](mailto:founders@agentmail.cc) to request access to our compliance documentation.
5800
6006
 
5801
6007
 
5802
6008
  # API Welcome
@@ -5908,9 +6114,11 @@ components:
5908
6114
  updated_at:
5909
6115
  type: string
5910
6116
  format: date-time
6117
+ description: Time at which inbox was last updated.
5911
6118
  created_at:
5912
6119
  type: string
5913
6120
  format: date-time
6121
+ description: Time at which inbox was created.
5914
6122
  required:
5915
6123
  - pod_id
5916
6124
  - inbox_id
@@ -5929,6 +6137,7 @@ components:
5929
6137
  type: array
5930
6138
  items:
5931
6139
  $ref: '#/components/schemas/type_inboxes:Inbox'
6140
+ description: Ordered by `created_at` descending.
5932
6141
  required:
5933
6142
  - count
5934
6143
  - inboxes
@@ -6126,9 +6335,11 @@ components:
6126
6335
  updated_at:
6127
6336
  type: string
6128
6337
  format: date-time
6338
+ description: Time at which inbox was last updated.
6129
6339
  created_at:
6130
6340
  type: string
6131
6341
  format: date-time
6342
+ description: Time at which inbox was created.
6132
6343
  required:
6133
6344
  - pod_id
6134
6345
  - inbox_id
@@ -6318,8 +6529,12 @@ components:
6318
6529
  properties:
6319
6530
  username:
6320
6531
  type: string
6532
+ description: Username of address. Randomly generated if not specified.
6321
6533
  domain:
6322
6534
  type: string
6535
+ description: >-
6536
+ Domain of address. Must be verified domain. Defaults to
6537
+ `agentmail.to`.
6323
6538
  display_name:
6324
6539
  $ref: '#/components/schemas/type_inboxes:DisplayName'
6325
6540
  client_id:
@@ -6342,9 +6557,11 @@ components:
6342
6557
  updated_at:
6343
6558
  type: string
6344
6559
  format: date-time
6560
+ description: Time at which inbox was last updated.
6345
6561
  created_at:
6346
6562
  type: string
6347
6563
  format: date-time
6564
+ description: Time at which inbox was created.
6348
6565
  required:
6349
6566
  - pod_id
6350
6567
  - inbox_id
@@ -6363,7 +6580,7 @@ async function main() {
6363
6580
  environment: "https://api.agentmail.to",
6364
6581
  apiKey: "YOUR_TOKEN_HERE",
6365
6582
  });
6366
- await client.inboxes.create({});
6583
+ await client.inboxes.create();
6367
6584
  }
6368
6585
  main();
6369
6586
 
@@ -6386,7 +6603,6 @@ package main
6386
6603
 
6387
6604
  import (
6388
6605
  "fmt"
6389
- "strings"
6390
6606
  "net/http"
6391
6607
  "io"
6392
6608
  )
@@ -6395,9 +6611,7 @@ func main() {
6395
6611
 
6396
6612
  url := "https://api.agentmail.to/v0/inboxes"
6397
6613
 
6398
- payload := strings.NewReader("{}")
6399
-
6400
- req, _ := http.NewRequest("POST", url, payload)
6614
+ req, _ := http.NewRequest("POST", url, nil)
6401
6615
 
6402
6616
  req.Header.Add("Authorization", "Bearer <api_key>")
6403
6617
  req.Header.Add("Content-Type", "application/json")
@@ -6425,7 +6639,6 @@ http.use_ssl = true
6425
6639
  request = Net::HTTP::Post.new(url)
6426
6640
  request["Authorization"] = 'Bearer <api_key>'
6427
6641
  request["Content-Type"] = 'application/json'
6428
- request.body = "{}"
6429
6642
 
6430
6643
  response = http.request(request)
6431
6644
  puts response.read_body
@@ -6435,7 +6648,6 @@ puts response.read_body
6435
6648
  HttpResponse<String> response = Unirest.post("https://api.agentmail.to/v0/inboxes")
6436
6649
  .header("Authorization", "Bearer <api_key>")
6437
6650
  .header("Content-Type", "application/json")
6438
- .body("{}")
6439
6651
  .asString();
6440
6652
  ```
6441
6653
 
@@ -6445,7 +6657,6 @@ HttpResponse<String> response = Unirest.post("https://api.agentmail.to/v0/inboxe
6445
6657
  $client = new \GuzzleHttp\Client();
6446
6658
 
6447
6659
  $response = $client->request('POST', 'https://api.agentmail.to/v0/inboxes', [
6448
- 'body' => '{}',
6449
6660
  'headers' => [
6450
6661
  'Authorization' => 'Bearer <api_key>',
6451
6662
  'Content-Type' => 'application/json',
@@ -6460,7 +6671,6 @@ var client = new RestClient("https://api.agentmail.to/v0/inboxes");
6460
6671
  var request = new RestRequest(Method.POST);
6461
6672
  request.AddHeader("Authorization", "Bearer <api_key>");
6462
6673
  request.AddHeader("Content-Type", "application/json");
6463
- request.AddParameter("application/json", "{}", ParameterType.RequestBody);
6464
6674
  IRestResponse response = client.Execute(request);
6465
6675
  ```
6466
6676
 
@@ -6471,16 +6681,12 @@ let headers = [
6471
6681
  "Authorization": "Bearer <api_key>",
6472
6682
  "Content-Type": "application/json"
6473
6683
  ]
6474
- let parameters = [] as [String : Any]
6475
-
6476
- let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
6477
6684
 
6478
6685
  let request = NSMutableURLRequest(url: NSURL(string: "https://api.agentmail.to/v0/inboxes")! as URL,
6479
6686
  cachePolicy: .useProtocolCachePolicy,
6480
6687
  timeoutInterval: 10.0)
6481
6688
  request.httpMethod = "POST"
6482
6689
  request.allHTTPHeaderFields = headers
6483
- request.httpBody = postData as Data
6484
6690
 
6485
6691
  let session = URLSession.shared
6486
6692
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
@@ -6576,9 +6782,11 @@ components:
6576
6782
  updated_at:
6577
6783
  type: string
6578
6784
  format: date-time
6785
+ description: Time at which inbox was last updated.
6579
6786
  created_at:
6580
6787
  type: string
6581
6788
  format: date-time
6789
+ description: Time at which inbox was created.
6582
6790
  required:
6583
6791
  - pod_id
6584
6792
  - inbox_id
@@ -7137,6 +7345,7 @@ components:
7137
7345
  type: array
7138
7346
  items:
7139
7347
  $ref: '#/components/schemas/type_threads:ThreadItem'
7348
+ description: Ordered by `timestamp` descending.
7140
7349
  required:
7141
7350
  - count
7142
7351
  - threads
@@ -7460,6 +7669,9 @@ components:
7460
7669
  type: array
7461
7670
  items:
7462
7671
  type: string
7672
+ description: >-
7673
+ Reply-to addresses. In format `username@domain.com` or `Display Name
7674
+ <username@domain.com>`.
7463
7675
  to:
7464
7676
  $ref: '#/components/schemas/type_messages:MessageTo'
7465
7677
  cc:
@@ -7474,6 +7686,12 @@ components:
7474
7686
  $ref: '#/components/schemas/type_messages:MessageText'
7475
7687
  html:
7476
7688
  $ref: '#/components/schemas/type_messages:MessageHtml'
7689
+ extracted_text:
7690
+ type: string
7691
+ description: Extracted new text content.
7692
+ extracted_html:
7693
+ type: string
7694
+ description: Extracted new HTML content.
7477
7695
  attachments:
7478
7696
  $ref: '#/components/schemas/type_messages:MessageAttachments'
7479
7697
  in_reply_to:
@@ -7536,6 +7754,7 @@ components:
7536
7754
  type: array
7537
7755
  items:
7538
7756
  $ref: '#/components/schemas/type_messages:Message'
7757
+ description: Messages in thread. Ordered by `timestamp` ascending.
7539
7758
  required:
7540
7759
  - inbox_id
7541
7760
  - thread_id
@@ -8287,6 +8506,7 @@ components:
8287
8506
  type: array
8288
8507
  items:
8289
8508
  $ref: '#/components/schemas/type_messages:MessageItem'
8509
+ description: Ordered by `timestamp` descending.
8290
8510
  required:
8291
8511
  - count
8292
8512
  - messages
@@ -8569,6 +8789,9 @@ components:
8569
8789
  type: array
8570
8790
  items:
8571
8791
  type: string
8792
+ description: >-
8793
+ Reply-to addresses. In format `username@domain.com` or `Display Name
8794
+ <username@domain.com>`.
8572
8795
  to:
8573
8796
  $ref: '#/components/schemas/type_messages:MessageTo'
8574
8797
  cc:
@@ -8583,6 +8806,12 @@ components:
8583
8806
  $ref: '#/components/schemas/type_messages:MessageText'
8584
8807
  html:
8585
8808
  $ref: '#/components/schemas/type_messages:MessageHtml'
8809
+ extracted_text:
8810
+ type: string
8811
+ description: Extracted new text content.
8812
+ extracted_html:
8813
+ type: string
8814
+ description: Extracted new HTML content.
8586
8815
  attachments:
8587
8816
  $ref: '#/components/schemas/type_messages:MessageAttachments'
8588
8817
  in_reply_to:
@@ -9777,10 +10006,12 @@ components:
9777
10006
  type: array
9778
10007
  items:
9779
10008
  type: string
10009
+ description: Labels to add to message.
9780
10010
  remove_labels:
9781
10011
  type: array
9782
10012
  items:
9783
10013
  type: string
10014
+ description: Labels to remove from message.
9784
10015
  type_threads:ThreadId:
9785
10016
  type: string
9786
10017
  type_messages:MessageLabels:
@@ -9876,6 +10107,9 @@ components:
9876
10107
  type: array
9877
10108
  items:
9878
10109
  type: string
10110
+ description: >-
10111
+ Reply-to addresses. In format `username@domain.com` or `Display Name
10112
+ <username@domain.com>`.
9879
10113
  to:
9880
10114
  $ref: '#/components/schemas/type_messages:MessageTo'
9881
10115
  cc:
@@ -9890,6 +10124,12 @@ components:
9890
10124
  $ref: '#/components/schemas/type_messages:MessageText'
9891
10125
  html:
9892
10126
  $ref: '#/components/schemas/type_messages:MessageHtml'
10127
+ extracted_text:
10128
+ type: string
10129
+ description: Extracted new text content.
10130
+ extracted_html:
10131
+ type: string
10132
+ description: Extracted new HTML content.
9893
10133
  attachments:
9894
10134
  $ref: '#/components/schemas/type_messages:MessageAttachments'
9895
10135
  in_reply_to:
@@ -10273,6 +10513,7 @@ components:
10273
10513
  type: array
10274
10514
  items:
10275
10515
  $ref: '#/components/schemas/type_drafts:DraftItem'
10516
+ description: Ordered by `updated_at` descending.
10276
10517
  required:
10277
10518
  - count
10278
10519
  - drafts
@@ -10574,6 +10815,7 @@ components:
10574
10815
  type: array
10575
10816
  items:
10576
10817
  type: string
10818
+ description: IDs of previous messages in thread.
10577
10819
  send_status:
10578
10820
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
10579
10821
  send_at:
@@ -10583,6 +10825,7 @@ components:
10583
10825
  created_at:
10584
10826
  type: string
10585
10827
  format: date-time
10828
+ description: Time at which draft was created.
10586
10829
  required:
10587
10830
  - inbox_id
10588
10831
  - thread_id
@@ -10915,6 +11158,7 @@ components:
10915
11158
  type: array
10916
11159
  items:
10917
11160
  type: string
11161
+ description: IDs of previous messages in thread.
10918
11162
  send_status:
10919
11163
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
10920
11164
  send_at:
@@ -10924,6 +11168,7 @@ components:
10924
11168
  created_at:
10925
11169
  type: string
10926
11170
  format: date-time
11171
+ description: Time at which draft was created.
10927
11172
  required:
10928
11173
  - inbox_id
10929
11174
  - thread_id
@@ -11273,6 +11518,7 @@ components:
11273
11518
  type: array
11274
11519
  items:
11275
11520
  type: string
11521
+ description: IDs of previous messages in thread.
11276
11522
  send_status:
11277
11523
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
11278
11524
  send_at:
@@ -11282,6 +11528,7 @@ components:
11282
11528
  created_at:
11283
11529
  type: string
11284
11530
  format: date-time
11531
+ description: Time at which draft was created.
11285
11532
  required:
11286
11533
  - inbox_id
11287
11534
  - thread_id
@@ -11512,10 +11759,12 @@ components:
11512
11759
  type: array
11513
11760
  items:
11514
11761
  type: string
11762
+ description: Labels to add to message.
11515
11763
  remove_labels:
11516
11764
  type: array
11517
11765
  items:
11518
11766
  type: string
11767
+ description: Labels to remove from message.
11519
11768
  type_messages:MessageId:
11520
11769
  type: string
11521
11770
  type_threads:ThreadId:
@@ -11956,35 +12205,43 @@ components:
11956
12205
  type: array
11957
12206
  items:
11958
12207
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12208
+ description: Timestamps when messages were sent.
11959
12209
  delivered:
11960
12210
  type: array
11961
12211
  items:
11962
12212
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12213
+ description: Timestamps when messages were delivered.
11963
12214
  bounced:
11964
12215
  type: array
11965
12216
  items:
11966
12217
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12218
+ description: Timestamps when messages bounced.
11967
12219
  delayed:
11968
12220
  type: array
11969
12221
  items:
11970
12222
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12223
+ description: Timestamps when messages were delayed.
11971
12224
  rejected:
11972
12225
  type: array
11973
12226
  items:
11974
12227
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12228
+ description: Timestamps when messages were rejected.
11975
12229
  complained:
11976
12230
  type: array
11977
12231
  items:
11978
12232
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12233
+ description: Timestamps when messages received complaints.
11979
12234
  received:
11980
12235
  type: array
11981
12236
  items:
11982
12237
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12238
+ description: Timestamps when messages were received.
11983
12239
  type_metrics:ListMetricsResponse:
11984
12240
  type: object
11985
12241
  properties:
11986
12242
  message:
11987
12243
  $ref: '#/components/schemas/type_metrics:MessageMetrics'
12244
+ description: Message metrics grouped by event type.
11988
12245
 
11989
12246
  ```
11990
12247
 
@@ -12342,6 +12599,7 @@ components:
12342
12599
  type: array
12343
12600
  items:
12344
12601
  $ref: '#/components/schemas/type_threads:ThreadItem'
12602
+ description: Ordered by `timestamp` descending.
12345
12603
  required:
12346
12604
  - count
12347
12605
  - threads
@@ -12657,6 +12915,9 @@ components:
12657
12915
  type: array
12658
12916
  items:
12659
12917
  type: string
12918
+ description: >-
12919
+ Reply-to addresses. In format `username@domain.com` or `Display Name
12920
+ <username@domain.com>`.
12660
12921
  to:
12661
12922
  $ref: '#/components/schemas/type_messages:MessageTo'
12662
12923
  cc:
@@ -12671,6 +12932,12 @@ components:
12671
12932
  $ref: '#/components/schemas/type_messages:MessageText'
12672
12933
  html:
12673
12934
  $ref: '#/components/schemas/type_messages:MessageHtml'
12935
+ extracted_text:
12936
+ type: string
12937
+ description: Extracted new text content.
12938
+ extracted_html:
12939
+ type: string
12940
+ description: Extracted new HTML content.
12674
12941
  attachments:
12675
12942
  $ref: '#/components/schemas/type_messages:MessageAttachments'
12676
12943
  in_reply_to:
@@ -12733,6 +13000,7 @@ components:
12733
13000
  type: array
12734
13001
  items:
12735
13002
  $ref: '#/components/schemas/type_messages:Message'
13003
+ description: Messages in thread. Ordered by `timestamp` ascending.
12736
13004
  required:
12737
13005
  - inbox_id
12738
13006
  - thread_id
@@ -13267,6 +13535,7 @@ components:
13267
13535
  type: array
13268
13536
  items:
13269
13537
  $ref: '#/components/schemas/type_drafts:DraftItem'
13538
+ description: Ordered by `updated_at` descending.
13270
13539
  required:
13271
13540
  - count
13272
13541
  - drafts
@@ -13560,6 +13829,7 @@ components:
13560
13829
  type: array
13561
13830
  items:
13562
13831
  type: string
13832
+ description: IDs of previous messages in thread.
13563
13833
  send_status:
13564
13834
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
13565
13835
  send_at:
@@ -13569,6 +13839,7 @@ components:
13569
13839
  created_at:
13570
13840
  type: string
13571
13841
  format: date-time
13842
+ description: Time at which draft was created.
13572
13843
  required:
13573
13844
  - inbox_id
13574
13845
  - thread_id
@@ -13780,9 +14051,11 @@ components:
13780
14051
  updated_at:
13781
14052
  type: string
13782
14053
  format: date-time
14054
+ description: Time at which the domain was last updated.
13783
14055
  created_at:
13784
14056
  type: string
13785
14057
  format: date-time
14058
+ description: Time at which the domain was created.
13786
14059
  required:
13787
14060
  - domain_id
13788
14061
  - feedback_enabled
@@ -13801,6 +14074,7 @@ components:
13801
14074
  type: array
13802
14075
  items:
13803
14076
  $ref: '#/components/schemas/type_domains:DomainItem'
14077
+ description: Ordered by `created_at` descending.
13804
14078
  required:
13805
14079
  - count
13806
14080
  - domains
@@ -14004,14 +14278,19 @@ components:
14004
14278
  properties:
14005
14279
  type:
14006
14280
  $ref: '#/components/schemas/type_domains:RecordType'
14281
+ description: The type of the DNS record.
14007
14282
  name:
14008
14283
  type: string
14284
+ description: The name or host of the record.
14009
14285
  value:
14010
14286
  type: string
14287
+ description: The value of the record.
14011
14288
  status:
14012
14289
  $ref: '#/components/schemas/type_domains:RecordStatus'
14290
+ description: The verification status of this specific record.
14013
14291
  priority:
14014
14292
  type: integer
14293
+ description: The priority of the MX record.
14015
14294
  required:
14016
14295
  - type
14017
14296
  - name
@@ -14028,20 +14307,24 @@ components:
14028
14307
  $ref: '#/components/schemas/type_domains:DomainId'
14029
14308
  status:
14030
14309
  $ref: '#/components/schemas/type_domains:VerificationStatus'
14310
+ description: The verification status of the domain.
14031
14311
  feedback_enabled:
14032
14312
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
14033
14313
  records:
14034
14314
  type: array
14035
14315
  items:
14036
14316
  $ref: '#/components/schemas/type_domains:VerificationRecord'
14317
+ description: A list of DNS records required to verify the domain.
14037
14318
  client_id:
14038
14319
  $ref: '#/components/schemas/type_domains:ClientId'
14039
14320
  updated_at:
14040
14321
  type: string
14041
14322
  format: date-time
14323
+ description: Time at which the domain was last updated.
14042
14324
  created_at:
14043
14325
  type: string
14044
14326
  format: date-time
14327
+ description: Time at which the domain was created.
14045
14328
  required:
14046
14329
  - domain_id
14047
14330
  - status
@@ -14441,14 +14724,19 @@ components:
14441
14724
  properties:
14442
14725
  type:
14443
14726
  $ref: '#/components/schemas/type_domains:RecordType'
14727
+ description: The type of the DNS record.
14444
14728
  name:
14445
14729
  type: string
14730
+ description: The name or host of the record.
14446
14731
  value:
14447
14732
  type: string
14733
+ description: The value of the record.
14448
14734
  status:
14449
14735
  $ref: '#/components/schemas/type_domains:RecordStatus'
14736
+ description: The verification status of this specific record.
14450
14737
  priority:
14451
14738
  type: integer
14739
+ description: The priority of the MX record.
14452
14740
  required:
14453
14741
  - type
14454
14742
  - name
@@ -14465,20 +14753,24 @@ components:
14465
14753
  $ref: '#/components/schemas/type_domains:DomainId'
14466
14754
  status:
14467
14755
  $ref: '#/components/schemas/type_domains:VerificationStatus'
14756
+ description: The verification status of the domain.
14468
14757
  feedback_enabled:
14469
14758
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
14470
14759
  records:
14471
14760
  type: array
14472
14761
  items:
14473
14762
  $ref: '#/components/schemas/type_domains:VerificationRecord'
14763
+ description: A list of DNS records required to verify the domain.
14474
14764
  client_id:
14475
14765
  $ref: '#/components/schemas/type_domains:ClientId'
14476
14766
  updated_at:
14477
14767
  type: string
14478
14768
  format: date-time
14769
+ description: Time at which the domain was last updated.
14479
14770
  created_at:
14480
14771
  type: string
14481
14772
  format: date-time
14773
+ description: Time at which the domain was created.
14482
14774
  required:
14483
14775
  - domain_id
14484
14776
  - status
@@ -15078,14 +15370,18 @@ components:
15078
15370
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15079
15371
  secret:
15080
15372
  type: string
15373
+ description: Secret for webhook signature verification.
15081
15374
  enabled:
15082
15375
  type: boolean
15376
+ description: Whether the webhook is enabled.
15083
15377
  updated_at:
15084
15378
  type: string
15085
15379
  format: date-time
15380
+ description: Time at which webhook was last updated.
15086
15381
  created_at:
15087
15382
  type: string
15088
15383
  format: date-time
15384
+ description: Time at which webhook was created.
15089
15385
  client_id:
15090
15386
  $ref: '#/components/schemas/type_webhooks:ClientId'
15091
15387
  required:
@@ -15108,6 +15404,7 @@ components:
15108
15404
  type: array
15109
15405
  items:
15110
15406
  $ref: '#/components/schemas/type_webhooks:Webhook'
15407
+ description: Ordered by `created_at` descending.
15111
15408
  required:
15112
15409
  - count
15113
15410
  - webhooks
@@ -15320,14 +15617,18 @@ components:
15320
15617
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15321
15618
  secret:
15322
15619
  type: string
15620
+ description: Secret for webhook signature verification.
15323
15621
  enabled:
15324
15622
  type: boolean
15623
+ description: Whether the webhook is enabled.
15325
15624
  updated_at:
15326
15625
  type: string
15327
15626
  format: date-time
15627
+ description: Time at which webhook was last updated.
15328
15628
  created_at:
15329
15629
  type: string
15330
15630
  format: date-time
15631
+ description: Time at which webhook was created.
15331
15632
  client_id:
15332
15633
  $ref: '#/components/schemas/type_webhooks:ClientId'
15333
15634
  required:
@@ -15563,14 +15864,18 @@ components:
15563
15864
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15564
15865
  secret:
15565
15866
  type: string
15867
+ description: Secret for webhook signature verification.
15566
15868
  enabled:
15567
15869
  type: boolean
15870
+ description: Whether the webhook is enabled.
15568
15871
  updated_at:
15569
15872
  type: string
15570
15873
  format: date-time
15874
+ description: Time at which webhook was last updated.
15571
15875
  created_at:
15572
15876
  type: string
15573
15877
  format: date-time
15878
+ description: Time at which webhook was created.
15574
15879
  client_id:
15575
15880
  $ref: '#/components/schemas/type_webhooks:ClientId'
15576
15881
  required:
@@ -16072,6 +16377,9 @@ components:
16072
16377
  type: array
16073
16378
  items:
16074
16379
  type: string
16380
+ description: >-
16381
+ Reply-to addresses. In format `username@domain.com` or `Display Name
16382
+ <username@domain.com>`.
16075
16383
  to:
16076
16384
  $ref: '#/components/schemas/type_messages:MessageTo'
16077
16385
  cc:
@@ -16086,6 +16394,12 @@ components:
16086
16394
  $ref: '#/components/schemas/type_messages:MessageText'
16087
16395
  html:
16088
16396
  $ref: '#/components/schemas/type_messages:MessageHtml'
16397
+ extracted_text:
16398
+ type: string
16399
+ description: Extracted new text content.
16400
+ extracted_html:
16401
+ type: string
16402
+ description: Extracted new HTML content.
16089
16403
  attachments:
16090
16404
  $ref: '#/components/schemas/type_messages:MessageAttachments'
16091
16405
  in_reply_to:
@@ -16109,6 +16423,96 @@ components:
16109
16423
  - size
16110
16424
  - updated_at
16111
16425
  - created_at
16426
+ type_threads:ThreadLabels:
16427
+ type: array
16428
+ items:
16429
+ type: string
16430
+ type_threads:ThreadTimestamp:
16431
+ type: string
16432
+ format: date-time
16433
+ type_threads:ThreadReceivedTimestamp:
16434
+ type: string
16435
+ format: date-time
16436
+ type_threads:ThreadSentTimestamp:
16437
+ type: string
16438
+ format: date-time
16439
+ type_threads:ThreadSenders:
16440
+ type: array
16441
+ items:
16442
+ type: string
16443
+ type_threads:ThreadRecipients:
16444
+ type: array
16445
+ items:
16446
+ type: string
16447
+ type_threads:ThreadSubject:
16448
+ type: string
16449
+ type_threads:ThreadPreview:
16450
+ type: string
16451
+ type_threads:ThreadAttachments:
16452
+ type: array
16453
+ items:
16454
+ $ref: '#/components/schemas/type_attachments:Attachment'
16455
+ type_threads:ThreadLastMessageId:
16456
+ type: string
16457
+ type_threads:ThreadMessageCount:
16458
+ type: integer
16459
+ type_threads:ThreadSize:
16460
+ type: integer
16461
+ type_threads:ThreadUpdatedAt:
16462
+ type: string
16463
+ format: date-time
16464
+ type_threads:ThreadCreatedAt:
16465
+ type: string
16466
+ format: date-time
16467
+ type_threads:ThreadItem:
16468
+ type: object
16469
+ properties:
16470
+ inbox_id:
16471
+ $ref: '#/components/schemas/type_inboxes:InboxId'
16472
+ thread_id:
16473
+ $ref: '#/components/schemas/type_threads:ThreadId'
16474
+ labels:
16475
+ $ref: '#/components/schemas/type_threads:ThreadLabels'
16476
+ timestamp:
16477
+ $ref: '#/components/schemas/type_threads:ThreadTimestamp'
16478
+ received_timestamp:
16479
+ $ref: '#/components/schemas/type_threads:ThreadReceivedTimestamp'
16480
+ sent_timestamp:
16481
+ $ref: '#/components/schemas/type_threads:ThreadSentTimestamp'
16482
+ senders:
16483
+ $ref: '#/components/schemas/type_threads:ThreadSenders'
16484
+ recipients:
16485
+ $ref: '#/components/schemas/type_threads:ThreadRecipients'
16486
+ subject:
16487
+ $ref: '#/components/schemas/type_threads:ThreadSubject'
16488
+ preview:
16489
+ $ref: '#/components/schemas/type_threads:ThreadPreview'
16490
+ attachments:
16491
+ $ref: '#/components/schemas/type_threads:ThreadAttachments'
16492
+ last_message_id:
16493
+ $ref: '#/components/schemas/type_threads:ThreadLastMessageId'
16494
+ message_count:
16495
+ $ref: '#/components/schemas/type_threads:ThreadMessageCount'
16496
+ size:
16497
+ $ref: '#/components/schemas/type_threads:ThreadSize'
16498
+ updated_at:
16499
+ $ref: '#/components/schemas/type_threads:ThreadUpdatedAt'
16500
+ created_at:
16501
+ $ref: '#/components/schemas/type_threads:ThreadCreatedAt'
16502
+ required:
16503
+ - inbox_id
16504
+ - thread_id
16505
+ - labels
16506
+ - timestamp
16507
+ - received_timestamp
16508
+ - sent_timestamp
16509
+ - senders
16510
+ - recipients
16511
+ - last_message_id
16512
+ - message_count
16513
+ - size
16514
+ - updated_at
16515
+ - created_at
16112
16516
  type_events:MessageReceivedEvent:
16113
16517
  type: object
16114
16518
  properties:
@@ -16126,11 +16530,14 @@ components:
16126
16530
  $ref: '#/components/schemas/type_events:EventId'
16127
16531
  message:
16128
16532
  $ref: '#/components/schemas/type_messages:Message'
16533
+ thread:
16534
+ $ref: '#/components/schemas/type_threads:ThreadItem'
16129
16535
  required:
16130
16536
  - type
16131
16537
  - event_type
16132
16538
  - event_id
16133
16539
  - message
16540
+ - thread
16134
16541
 
16135
16542
  ```
16136
16543
 
@@ -16213,6 +16620,7 @@ components:
16213
16620
  type: array
16214
16621
  items:
16215
16622
  type: string
16623
+ description: Sent recipients.
16216
16624
  required:
16217
16625
  - inbox_id
16218
16626
  - thread_id
@@ -16323,6 +16731,7 @@ components:
16323
16731
  type: array
16324
16732
  items:
16325
16733
  type: string
16734
+ description: Delivered recipients.
16326
16735
  required:
16327
16736
  - inbox_id
16328
16737
  - thread_id
@@ -16423,8 +16832,10 @@ components:
16423
16832
  properties:
16424
16833
  address:
16425
16834
  type: string
16835
+ description: Recipient address.
16426
16836
  status:
16427
16837
  type: string
16838
+ description: Recipient status.
16428
16839
  required:
16429
16840
  - address
16430
16841
  - status
@@ -16441,12 +16852,15 @@ components:
16441
16852
  $ref: '#/components/schemas/type_events:Timestamp'
16442
16853
  type:
16443
16854
  type: string
16855
+ description: Bounce type.
16444
16856
  sub_type:
16445
16857
  type: string
16858
+ description: Bounce sub-type.
16446
16859
  recipients:
16447
16860
  type: array
16448
16861
  items:
16449
16862
  $ref: '#/components/schemas/type_events:Recipient'
16863
+ description: Bounced recipients.
16450
16864
  required:
16451
16865
  - inbox_id
16452
16866
  - thread_id
@@ -16557,12 +16971,15 @@ components:
16557
16971
  $ref: '#/components/schemas/type_events:Timestamp'
16558
16972
  type:
16559
16973
  type: string
16974
+ description: Complaint type.
16560
16975
  sub_type:
16561
16976
  type: string
16977
+ description: Complaint sub-type.
16562
16978
  recipients:
16563
16979
  type: array
16564
16980
  items:
16565
16981
  type: string
16982
+ description: Complained recipients.
16566
16983
  required:
16567
16984
  - inbox_id
16568
16985
  - thread_id
@@ -16673,6 +17090,7 @@ components:
16673
17090
  $ref: '#/components/schemas/type_events:Timestamp'
16674
17091
  reason:
16675
17092
  type: string
17093
+ description: Reject reason.
16676
17094
  required:
16677
17095
  - inbox_id
16678
17096
  - thread_id
@@ -16787,14 +17205,19 @@ components:
16787
17205
  properties:
16788
17206
  type:
16789
17207
  $ref: '#/components/schemas/type_domains:RecordType'
17208
+ description: The type of the DNS record.
16790
17209
  name:
16791
17210
  type: string
17211
+ description: The name or host of the record.
16792
17212
  value:
16793
17213
  type: string
17214
+ description: The value of the record.
16794
17215
  status:
16795
17216
  $ref: '#/components/schemas/type_domains:RecordStatus'
17217
+ description: The verification status of this specific record.
16796
17218
  priority:
16797
17219
  type: integer
17220
+ description: The priority of the MX record.
16798
17221
  required:
16799
17222
  - type
16800
17223
  - name
@@ -16811,20 +17234,24 @@ components:
16811
17234
  $ref: '#/components/schemas/type_domains:DomainId'
16812
17235
  status:
16813
17236
  $ref: '#/components/schemas/type_domains:VerificationStatus'
17237
+ description: The verification status of the domain.
16814
17238
  feedback_enabled:
16815
17239
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
16816
17240
  records:
16817
17241
  type: array
16818
17242
  items:
16819
17243
  $ref: '#/components/schemas/type_domains:VerificationRecord'
17244
+ description: A list of DNS records required to verify the domain.
16820
17245
  client_id:
16821
17246
  $ref: '#/components/schemas/type_domains:ClientId'
16822
17247
  updated_at:
16823
17248
  type: string
16824
17249
  format: date-time
17250
+ description: Time at which the domain was last updated.
16825
17251
  created_at:
16826
17252
  type: string
16827
17253
  format: date-time
17254
+ description: Time at which the domain was created.
16828
17255
  required:
16829
17256
  - domain_id
16830
17257
  - status
@@ -16978,10 +17405,12 @@ components:
16978
17405
  type: array
16979
17406
  items:
16980
17407
  type: string
17408
+ description: IDs of the inboxes that have been subscribed to.
16981
17409
  pod_ids:
16982
17410
  type: array
16983
17411
  items:
16984
17412
  type: string
17413
+ description: IDs of the pods that have been subscribed to.
16985
17414
  required:
16986
17415
  - type
16987
17416
  type_events:EventId:
@@ -17085,6 +17514,9 @@ components:
17085
17514
  type: array
17086
17515
  items:
17087
17516
  type: string
17517
+ description: >-
17518
+ Reply-to addresses. In format `username@domain.com` or `Display Name
17519
+ <username@domain.com>`.
17088
17520
  to:
17089
17521
  $ref: '#/components/schemas/type_messages:MessageTo'
17090
17522
  cc:
@@ -17099,6 +17531,12 @@ components:
17099
17531
  $ref: '#/components/schemas/type_messages:MessageText'
17100
17532
  html:
17101
17533
  $ref: '#/components/schemas/type_messages:MessageHtml'
17534
+ extracted_text:
17535
+ type: string
17536
+ description: Extracted new text content.
17537
+ extracted_html:
17538
+ type: string
17539
+ description: Extracted new HTML content.
17102
17540
  attachments:
17103
17541
  $ref: '#/components/schemas/type_messages:MessageAttachments'
17104
17542
  in_reply_to:
@@ -17122,6 +17560,96 @@ components:
17122
17560
  - size
17123
17561
  - updated_at
17124
17562
  - created_at
17563
+ type_threads:ThreadLabels:
17564
+ type: array
17565
+ items:
17566
+ type: string
17567
+ type_threads:ThreadTimestamp:
17568
+ type: string
17569
+ format: date-time
17570
+ type_threads:ThreadReceivedTimestamp:
17571
+ type: string
17572
+ format: date-time
17573
+ type_threads:ThreadSentTimestamp:
17574
+ type: string
17575
+ format: date-time
17576
+ type_threads:ThreadSenders:
17577
+ type: array
17578
+ items:
17579
+ type: string
17580
+ type_threads:ThreadRecipients:
17581
+ type: array
17582
+ items:
17583
+ type: string
17584
+ type_threads:ThreadSubject:
17585
+ type: string
17586
+ type_threads:ThreadPreview:
17587
+ type: string
17588
+ type_threads:ThreadAttachments:
17589
+ type: array
17590
+ items:
17591
+ $ref: '#/components/schemas/type_attachments:Attachment'
17592
+ type_threads:ThreadLastMessageId:
17593
+ type: string
17594
+ type_threads:ThreadMessageCount:
17595
+ type: integer
17596
+ type_threads:ThreadSize:
17597
+ type: integer
17598
+ type_threads:ThreadUpdatedAt:
17599
+ type: string
17600
+ format: date-time
17601
+ type_threads:ThreadCreatedAt:
17602
+ type: string
17603
+ format: date-time
17604
+ type_threads:ThreadItem:
17605
+ type: object
17606
+ properties:
17607
+ inbox_id:
17608
+ $ref: '#/components/schemas/type_inboxes:InboxId'
17609
+ thread_id:
17610
+ $ref: '#/components/schemas/type_threads:ThreadId'
17611
+ labels:
17612
+ $ref: '#/components/schemas/type_threads:ThreadLabels'
17613
+ timestamp:
17614
+ $ref: '#/components/schemas/type_threads:ThreadTimestamp'
17615
+ received_timestamp:
17616
+ $ref: '#/components/schemas/type_threads:ThreadReceivedTimestamp'
17617
+ sent_timestamp:
17618
+ $ref: '#/components/schemas/type_threads:ThreadSentTimestamp'
17619
+ senders:
17620
+ $ref: '#/components/schemas/type_threads:ThreadSenders'
17621
+ recipients:
17622
+ $ref: '#/components/schemas/type_threads:ThreadRecipients'
17623
+ subject:
17624
+ $ref: '#/components/schemas/type_threads:ThreadSubject'
17625
+ preview:
17626
+ $ref: '#/components/schemas/type_threads:ThreadPreview'
17627
+ attachments:
17628
+ $ref: '#/components/schemas/type_threads:ThreadAttachments'
17629
+ last_message_id:
17630
+ $ref: '#/components/schemas/type_threads:ThreadLastMessageId'
17631
+ message_count:
17632
+ $ref: '#/components/schemas/type_threads:ThreadMessageCount'
17633
+ size:
17634
+ $ref: '#/components/schemas/type_threads:ThreadSize'
17635
+ updated_at:
17636
+ $ref: '#/components/schemas/type_threads:ThreadUpdatedAt'
17637
+ created_at:
17638
+ $ref: '#/components/schemas/type_threads:ThreadCreatedAt'
17639
+ required:
17640
+ - inbox_id
17641
+ - thread_id
17642
+ - labels
17643
+ - timestamp
17644
+ - received_timestamp
17645
+ - sent_timestamp
17646
+ - senders
17647
+ - recipients
17648
+ - last_message_id
17649
+ - message_count
17650
+ - size
17651
+ - updated_at
17652
+ - created_at
17125
17653
  type_events:MessageReceivedEvent:
17126
17654
  type: object
17127
17655
  properties:
@@ -17139,11 +17667,14 @@ components:
17139
17667
  $ref: '#/components/schemas/type_events:EventId'
17140
17668
  message:
17141
17669
  $ref: '#/components/schemas/type_messages:Message'
17670
+ thread:
17671
+ $ref: '#/components/schemas/type_threads:ThreadItem'
17142
17672
  required:
17143
17673
  - type
17144
17674
  - event_type
17145
17675
  - event_id
17146
17676
  - message
17677
+ - thread
17147
17678
  type_events:Timestamp:
17148
17679
  type: string
17149
17680
  format: date-time
@@ -17162,6 +17693,7 @@ components:
17162
17693
  type: array
17163
17694
  items:
17164
17695
  type: string
17696
+ description: Sent recipients.
17165
17697
  required:
17166
17698
  - inbox_id
17167
17699
  - thread_id
@@ -17205,6 +17737,7 @@ components:
17205
17737
  type: array
17206
17738
  items:
17207
17739
  type: string
17740
+ description: Delivered recipients.
17208
17741
  required:
17209
17742
  - inbox_id
17210
17743
  - thread_id
@@ -17238,8 +17771,10 @@ components:
17238
17771
  properties:
17239
17772
  address:
17240
17773
  type: string
17774
+ description: Recipient address.
17241
17775
  status:
17242
17776
  type: string
17777
+ description: Recipient status.
17243
17778
  required:
17244
17779
  - address
17245
17780
  - status
@@ -17256,12 +17791,15 @@ components:
17256
17791
  $ref: '#/components/schemas/type_events:Timestamp'
17257
17792
  type:
17258
17793
  type: string
17794
+ description: Bounce type.
17259
17795
  sub_type:
17260
17796
  type: string
17797
+ description: Bounce sub-type.
17261
17798
  recipients:
17262
17799
  type: array
17263
17800
  items:
17264
17801
  $ref: '#/components/schemas/type_events:Recipient'
17802
+ description: Bounced recipients.
17265
17803
  required:
17266
17804
  - inbox_id
17267
17805
  - thread_id
@@ -17305,12 +17843,15 @@ components:
17305
17843
  $ref: '#/components/schemas/type_events:Timestamp'
17306
17844
  type:
17307
17845
  type: string
17846
+ description: Complaint type.
17308
17847
  sub_type:
17309
17848
  type: string
17849
+ description: Complaint sub-type.
17310
17850
  recipients:
17311
17851
  type: array
17312
17852
  items:
17313
17853
  type: string
17854
+ description: Complained recipients.
17314
17855
  required:
17315
17856
  - inbox_id
17316
17857
  - thread_id
@@ -17354,6 +17895,7 @@ components:
17354
17895
  $ref: '#/components/schemas/type_events:Timestamp'
17355
17896
  reason:
17356
17897
  type: string
17898
+ description: Reject reason.
17357
17899
  required:
17358
17900
  - inbox_id
17359
17901
  - thread_id
@@ -17410,14 +17952,19 @@ components:
17410
17952
  properties:
17411
17953
  type:
17412
17954
  $ref: '#/components/schemas/type_domains:RecordType'
17955
+ description: The type of the DNS record.
17413
17956
  name:
17414
17957
  type: string
17958
+ description: The name or host of the record.
17415
17959
  value:
17416
17960
  type: string
17961
+ description: The value of the record.
17417
17962
  status:
17418
17963
  $ref: '#/components/schemas/type_domains:RecordStatus'
17964
+ description: The verification status of this specific record.
17419
17965
  priority:
17420
17966
  type: integer
17967
+ description: The priority of the MX record.
17421
17968
  required:
17422
17969
  - type
17423
17970
  - name
@@ -17434,20 +17981,24 @@ components:
17434
17981
  $ref: '#/components/schemas/type_domains:DomainId'
17435
17982
  status:
17436
17983
  $ref: '#/components/schemas/type_domains:VerificationStatus'
17984
+ description: The verification status of the domain.
17437
17985
  feedback_enabled:
17438
17986
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
17439
17987
  records:
17440
17988
  type: array
17441
17989
  items:
17442
17990
  $ref: '#/components/schemas/type_domains:VerificationRecord'
17991
+ description: A list of DNS records required to verify the domain.
17443
17992
  client_id:
17444
17993
  $ref: '#/components/schemas/type_domains:ClientId'
17445
17994
  updated_at:
17446
17995
  type: string
17447
17996
  format: date-time
17997
+ description: Time at which the domain was last updated.
17448
17998
  created_at:
17449
17999
  type: string
17450
18000
  format: date-time
18001
+ description: Time at which the domain was created.
17451
18002
  required:
17452
18003
  - domain_id
17453
18004
  - status
@@ -17491,10 +18042,12 @@ components:
17491
18042
  type: array
17492
18043
  items:
17493
18044
  type: string
18045
+ description: IDs of the inboxes to subscribe to.
17494
18046
  pod_ids:
17495
18047
  type: array
17496
18048
  items:
17497
18049
  type: string
18050
+ description: IDs of the pods to subscribe to.
17498
18051
  required:
17499
18052
  - type
17500
18053
 
@@ -17586,35 +18139,43 @@ components:
17586
18139
  type: array
17587
18140
  items:
17588
18141
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18142
+ description: Timestamps when messages were sent.
17589
18143
  delivered:
17590
18144
  type: array
17591
18145
  items:
17592
18146
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18147
+ description: Timestamps when messages were delivered.
17593
18148
  bounced:
17594
18149
  type: array
17595
18150
  items:
17596
18151
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18152
+ description: Timestamps when messages bounced.
17597
18153
  delayed:
17598
18154
  type: array
17599
18155
  items:
17600
18156
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18157
+ description: Timestamps when messages were delayed.
17601
18158
  rejected:
17602
18159
  type: array
17603
18160
  items:
17604
18161
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18162
+ description: Timestamps when messages were rejected.
17605
18163
  complained:
17606
18164
  type: array
17607
18165
  items:
17608
18166
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18167
+ description: Timestamps when messages received complaints.
17609
18168
  received:
17610
18169
  type: array
17611
18170
  items:
17612
18171
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18172
+ description: Timestamps when messages were received.
17613
18173
  type_metrics:ListMetricsResponse:
17614
18174
  type: object
17615
18175
  properties:
17616
18176
  message:
17617
18177
  $ref: '#/components/schemas/type_metrics:MessageMetrics'
18178
+ description: Message metrics grouped by event type.
17618
18179
 
17619
18180
  ```
17620
18181
 
@@ -17823,6 +18384,7 @@ components:
17823
18384
  used_at:
17824
18385
  type: string
17825
18386
  format: date-time
18387
+ description: Time at which api key was last used.
17826
18388
  created_at:
17827
18389
  $ref: '#/components/schemas/type_api-keys:CreatedAt'
17828
18390
  required:
@@ -17841,6 +18403,7 @@ components:
17841
18403
  type: array
17842
18404
  items:
17843
18405
  $ref: '#/components/schemas/type_api-keys:ApiKey'
18406
+ description: Ordered by `created_at` descending.
17844
18407
  required:
17845
18408
  - count
17846
18409
  - api_keys
@@ -18040,6 +18603,7 @@ components:
18040
18603
  $ref: '#/components/schemas/type_api-keys:ApiKeyId'
18041
18604
  api_key:
18042
18605
  type: string
18606
+ description: API key.
18043
18607
  prefix:
18044
18608
  $ref: '#/components/schemas/type_api-keys:Prefix'
18045
18609
  name:
@@ -18445,9 +19009,11 @@ components:
18445
19009
  updated_at:
18446
19010
  type: string
18447
19011
  format: date-time
19012
+ description: Time at which pod was last updated.
18448
19013
  created_at:
18449
19014
  type: string
18450
19015
  format: date-time
19016
+ description: Time at which pod was created.
18451
19017
  client_id:
18452
19018
  $ref: '#/components/schemas/type_pods:ClientId'
18453
19019
  required:
@@ -18468,6 +19034,7 @@ components:
18468
19034
  type: array
18469
19035
  items:
18470
19036
  $ref: '#/components/schemas/type_pods:Pod'
19037
+ description: Ordered by `created_at` descending.
18471
19038
  required:
18472
19039
  - count
18473
19040
  - pods
@@ -18659,9 +19226,11 @@ components:
18659
19226
  updated_at:
18660
19227
  type: string
18661
19228
  format: date-time
19229
+ description: Time at which pod was last updated.
18662
19230
  created_at:
18663
19231
  type: string
18664
19232
  format: date-time
19233
+ description: Time at which pod was created.
18665
19234
  client_id:
18666
19235
  $ref: '#/components/schemas/type_pods:ClientId'
18667
19236
  required:
@@ -18867,9 +19436,11 @@ components:
18867
19436
  updated_at:
18868
19437
  type: string
18869
19438
  format: date-time
19439
+ description: Time at which pod was last updated.
18870
19440
  created_at:
18871
19441
  type: string
18872
19442
  format: date-time
19443
+ description: Time at which pod was created.
18873
19444
  client_id:
18874
19445
  $ref: '#/components/schemas/type_pods:ClientId'
18875
19446
  required:
@@ -19311,9 +19882,11 @@ components:
19311
19882
  updated_at:
19312
19883
  type: string
19313
19884
  format: date-time
19885
+ description: Time at which inbox was last updated.
19314
19886
  created_at:
19315
19887
  type: string
19316
19888
  format: date-time
19889
+ description: Time at which inbox was created.
19317
19890
  required:
19318
19891
  - pod_id
19319
19892
  - inbox_id
@@ -19332,6 +19905,7 @@ components:
19332
19905
  type: array
19333
19906
  items:
19334
19907
  $ref: '#/components/schemas/type_inboxes:Inbox'
19908
+ description: Ordered by `created_at` descending.
19335
19909
  required:
19336
19910
  - count
19337
19911
  - inboxes
@@ -19537,9 +20111,11 @@ components:
19537
20111
  updated_at:
19538
20112
  type: string
19539
20113
  format: date-time
20114
+ description: Time at which inbox was last updated.
19540
20115
  created_at:
19541
20116
  type: string
19542
20117
  format: date-time
20118
+ description: Time at which inbox was created.
19543
20119
  required:
19544
20120
  - pod_id
19545
20121
  - inbox_id
@@ -19738,8 +20314,12 @@ components:
19738
20314
  properties:
19739
20315
  username:
19740
20316
  type: string
20317
+ description: Username of address. Randomly generated if not specified.
19741
20318
  domain:
19742
20319
  type: string
20320
+ description: >-
20321
+ Domain of address. Must be verified domain. Defaults to
20322
+ `agentmail.to`.
19743
20323
  display_name:
19744
20324
  $ref: '#/components/schemas/type_inboxes:DisplayName'
19745
20325
  client_id:
@@ -19760,9 +20340,11 @@ components:
19760
20340
  updated_at:
19761
20341
  type: string
19762
20342
  format: date-time
20343
+ description: Time at which inbox was last updated.
19763
20344
  created_at:
19764
20345
  type: string
19765
20346
  format: date-time
20347
+ description: Time at which inbox was created.
19766
20348
  required:
19767
20349
  - pod_id
19768
20350
  - inbox_id
@@ -20327,6 +20909,7 @@ components:
20327
20909
  type: array
20328
20910
  items:
20329
20911
  $ref: '#/components/schemas/type_threads:ThreadItem'
20912
+ description: Ordered by `timestamp` descending.
20330
20913
  required:
20331
20914
  - count
20332
20915
  - threads
@@ -20652,6 +21235,9 @@ components:
20652
21235
  type: array
20653
21236
  items:
20654
21237
  type: string
21238
+ description: >-
21239
+ Reply-to addresses. In format `username@domain.com` or `Display Name
21240
+ <username@domain.com>`.
20655
21241
  to:
20656
21242
  $ref: '#/components/schemas/type_messages:MessageTo'
20657
21243
  cc:
@@ -20666,6 +21252,12 @@ components:
20666
21252
  $ref: '#/components/schemas/type_messages:MessageText'
20667
21253
  html:
20668
21254
  $ref: '#/components/schemas/type_messages:MessageHtml'
21255
+ extracted_text:
21256
+ type: string
21257
+ description: Extracted new text content.
21258
+ extracted_html:
21259
+ type: string
21260
+ description: Extracted new HTML content.
20669
21261
  attachments:
20670
21262
  $ref: '#/components/schemas/type_messages:MessageAttachments'
20671
21263
  in_reply_to:
@@ -20728,6 +21320,7 @@ components:
20728
21320
  type: array
20729
21321
  items:
20730
21322
  $ref: '#/components/schemas/type_messages:Message'
21323
+ description: Messages in thread. Ordered by `timestamp` ascending.
20731
21324
  required:
20732
21325
  - inbox_id
20733
21326
  - thread_id
@@ -21280,6 +21873,7 @@ components:
21280
21873
  type: array
21281
21874
  items:
21282
21875
  $ref: '#/components/schemas/type_drafts:DraftItem'
21876
+ description: Ordered by `updated_at` descending.
21283
21877
  required:
21284
21878
  - count
21285
21879
  - drafts
@@ -21583,6 +22177,7 @@ components:
21583
22177
  type: array
21584
22178
  items:
21585
22179
  type: string
22180
+ description: IDs of previous messages in thread.
21586
22181
  send_status:
21587
22182
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
21588
22183
  send_at:
@@ -21592,6 +22187,7 @@ components:
21592
22187
  created_at:
21593
22188
  type: string
21594
22189
  format: date-time
22190
+ description: Time at which draft was created.
21595
22191
  required:
21596
22192
  - inbox_id
21597
22193
  - thread_id
@@ -21845,9 +22441,11 @@ components:
21845
22441
  updated_at:
21846
22442
  type: string
21847
22443
  format: date-time
22444
+ description: Time at which the domain was last updated.
21848
22445
  created_at:
21849
22446
  type: string
21850
22447
  format: date-time
22448
+ description: Time at which the domain was created.
21851
22449
  required:
21852
22450
  - domain_id
21853
22451
  - feedback_enabled
@@ -21866,6 +22464,7 @@ components:
21866
22464
  type: array
21867
22465
  items:
21868
22466
  $ref: '#/components/schemas/type_domains:DomainItem'
22467
+ description: Ordered by `created_at` descending.
21869
22468
  required:
21870
22469
  - count
21871
22470
  - domains
@@ -22090,14 +22689,19 @@ components:
22090
22689
  properties:
22091
22690
  type:
22092
22691
  $ref: '#/components/schemas/type_domains:RecordType'
22692
+ description: The type of the DNS record.
22093
22693
  name:
22094
22694
  type: string
22695
+ description: The name or host of the record.
22095
22696
  value:
22096
22697
  type: string
22698
+ description: The value of the record.
22097
22699
  status:
22098
22700
  $ref: '#/components/schemas/type_domains:RecordStatus'
22701
+ description: The verification status of this specific record.
22099
22702
  priority:
22100
22703
  type: integer
22704
+ description: The priority of the MX record.
22101
22705
  required:
22102
22706
  - type
22103
22707
  - name
@@ -22114,20 +22718,24 @@ components:
22114
22718
  $ref: '#/components/schemas/type_domains:DomainId'
22115
22719
  status:
22116
22720
  $ref: '#/components/schemas/type_domains:VerificationStatus'
22721
+ description: The verification status of the domain.
22117
22722
  feedback_enabled:
22118
22723
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
22119
22724
  records:
22120
22725
  type: array
22121
22726
  items:
22122
22727
  $ref: '#/components/schemas/type_domains:VerificationRecord'
22728
+ description: A list of DNS records required to verify the domain.
22123
22729
  client_id:
22124
22730
  $ref: '#/components/schemas/type_domains:ClientId'
22125
22731
  updated_at:
22126
22732
  type: string
22127
22733
  format: date-time
22734
+ description: Time at which the domain was last updated.
22128
22735
  created_at:
22129
22736
  type: string
22130
22737
  format: date-time
22738
+ description: Time at which the domain was created.
22131
22739
  required:
22132
22740
  - domain_id
22133
22741
  - status