agentmail 0.1.9 → 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 (80) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/apiKeys/client/Client.js +1 -3
  3. package/dist/cjs/api/resources/domains/client/Client.js +1 -3
  4. package/dist/cjs/api/resources/drafts/client/Client.js +1 -6
  5. package/dist/cjs/api/resources/events/types/MessageReceivedEvent.d.ts +1 -0
  6. package/dist/cjs/api/resources/inboxes/client/Client.js +2 -6
  7. package/dist/cjs/api/resources/inboxes/resources/drafts/client/Client.js +4 -15
  8. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +15 -0
  9. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +105 -15
  10. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +1 -3
  11. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.js +1 -6
  12. package/dist/cjs/api/resources/messages/types/ReplyAll.d.ts +4 -0
  13. package/dist/cjs/api/resources/messages/types/ReplyAll.js +3 -0
  14. package/dist/cjs/api/resources/messages/types/ReplyAllMessageRequest.d.ts +9 -0
  15. package/dist/cjs/api/resources/messages/types/ReplyAllMessageRequest.js +3 -0
  16. package/dist/cjs/api/resources/messages/types/ReplyToMessageRequest.d.ts +1 -0
  17. package/dist/cjs/api/resources/messages/types/index.d.ts +2 -0
  18. package/dist/cjs/api/resources/messages/types/index.js +2 -0
  19. package/dist/cjs/api/resources/metrics/client/Client.js +1 -3
  20. package/dist/cjs/api/resources/pods/client/Client.js +1 -3
  21. package/dist/cjs/api/resources/pods/resources/domains/client/Client.js +2 -9
  22. package/dist/cjs/api/resources/pods/resources/drafts/client/Client.js +1 -6
  23. package/dist/cjs/api/resources/pods/resources/inboxes/client/Client.js +2 -9
  24. package/dist/cjs/api/resources/pods/resources/threads/client/Client.js +1 -6
  25. package/dist/cjs/api/resources/threads/client/Client.js +1 -6
  26. package/dist/cjs/api/resources/webhooks/client/Client.js +1 -3
  27. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.d.ts +2 -0
  28. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.js +2 -0
  29. package/dist/cjs/serialization/resources/messages/types/ReplyAll.d.ts +7 -0
  30. package/dist/cjs/serialization/resources/messages/types/ReplyAll.js +39 -0
  31. package/dist/cjs/serialization/resources/messages/types/ReplyAllMessageRequest.d.ts +20 -0
  32. package/dist/cjs/serialization/resources/messages/types/ReplyAllMessageRequest.js +52 -0
  33. package/dist/cjs/serialization/resources/messages/types/ReplyToMessageRequest.d.ts +2 -0
  34. package/dist/cjs/serialization/resources/messages/types/ReplyToMessageRequest.js +2 -0
  35. package/dist/cjs/serialization/resources/messages/types/index.d.ts +2 -0
  36. package/dist/cjs/serialization/resources/messages/types/index.js +2 -0
  37. package/dist/cjs/version.d.ts +1 -1
  38. package/dist/cjs/version.js +1 -1
  39. package/dist/esm/BaseClient.mjs +2 -2
  40. package/dist/esm/api/resources/apiKeys/client/Client.mjs +1 -3
  41. package/dist/esm/api/resources/domains/client/Client.mjs +1 -3
  42. package/dist/esm/api/resources/drafts/client/Client.mjs +1 -6
  43. package/dist/esm/api/resources/events/types/MessageReceivedEvent.d.mts +1 -0
  44. package/dist/esm/api/resources/inboxes/client/Client.mjs +2 -6
  45. package/dist/esm/api/resources/inboxes/resources/drafts/client/Client.mjs +4 -15
  46. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +15 -0
  47. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +105 -15
  48. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +1 -3
  49. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.mjs +1 -6
  50. package/dist/esm/api/resources/messages/types/ReplyAll.d.mts +4 -0
  51. package/dist/esm/api/resources/messages/types/ReplyAll.mjs +2 -0
  52. package/dist/esm/api/resources/messages/types/ReplyAllMessageRequest.d.mts +9 -0
  53. package/dist/esm/api/resources/messages/types/ReplyAllMessageRequest.mjs +2 -0
  54. package/dist/esm/api/resources/messages/types/ReplyToMessageRequest.d.mts +1 -0
  55. package/dist/esm/api/resources/messages/types/index.d.mts +2 -0
  56. package/dist/esm/api/resources/messages/types/index.mjs +2 -0
  57. package/dist/esm/api/resources/metrics/client/Client.mjs +1 -3
  58. package/dist/esm/api/resources/pods/client/Client.mjs +1 -3
  59. package/dist/esm/api/resources/pods/resources/domains/client/Client.mjs +2 -9
  60. package/dist/esm/api/resources/pods/resources/drafts/client/Client.mjs +1 -6
  61. package/dist/esm/api/resources/pods/resources/inboxes/client/Client.mjs +2 -9
  62. package/dist/esm/api/resources/pods/resources/threads/client/Client.mjs +1 -6
  63. package/dist/esm/api/resources/threads/client/Client.mjs +1 -6
  64. package/dist/esm/api/resources/webhooks/client/Client.mjs +1 -3
  65. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.d.mts +2 -0
  66. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.mjs +2 -0
  67. package/dist/esm/serialization/resources/messages/types/ReplyAll.d.mts +7 -0
  68. package/dist/esm/serialization/resources/messages/types/ReplyAll.mjs +3 -0
  69. package/dist/esm/serialization/resources/messages/types/ReplyAllMessageRequest.d.mts +20 -0
  70. package/dist/esm/serialization/resources/messages/types/ReplyAllMessageRequest.mjs +16 -0
  71. package/dist/esm/serialization/resources/messages/types/ReplyToMessageRequest.d.mts +2 -0
  72. package/dist/esm/serialization/resources/messages/types/ReplyToMessageRequest.mjs +2 -0
  73. package/dist/esm/serialization/resources/messages/types/index.d.mts +2 -0
  74. package/dist/esm/serialization/resources/messages/types/index.mjs +2 -0
  75. package/dist/esm/version.d.mts +1 -1
  76. package/dist/esm/version.mjs +1 -1
  77. package/dist/llms-full.txt +684 -63
  78. package/dist/llms.txt +2 -2
  79. package/package.json +1 -1
  80. package/reference.md +65 -0
@@ -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
 
@@ -169,7 +171,7 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
169
171
  <Step title="Create an API Key">
170
172
  Now that you're in the console, you'll need to create an API key to
171
173
  authenticate your requests. Navigate to the API Keys section in your console
172
- dashboard. ![API Key Creation Screenshot](file:b6a2250c-78ed-4c96-ae69-b8601bae53b8) Click
174
+ dashboard. ![API Key Creation Screenshot](file:20e7f82e-4a12-4165-ba99-4b5cff0ac0f5) Click
173
175
  "Create New API Key" and give it a descriptive name. Once created, copy the
174
176
  API key and store it securely. Create a `.env` file in your project's root
175
177
  directory and add your key to it. We recommend using environment variables to
@@ -272,7 +274,7 @@ This guide will walk you through installing the AgentMail SDK, authenticating wi
272
274
  python quickstart.py
273
275
  ```
274
276
 
275
- ```bash title="Node"
277
+ ```bash title="TypeScript"
276
278
  npx ts-node quickstart.ts
277
279
  ```
278
280
  </CodeBlocks>
@@ -320,7 +322,7 @@ Unlike traditional email providers that are designed for human scale, AgentMail
320
322
 
321
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.
322
324
 
323
- <img src="file:4479b8d5-647b-428f-9c43-5202aafa5175" alt="AgentMail Organizational Hierarchy" />
325
+ <img src="file:17d978ed-f12c-4634-8560-1fe14dfd09a0" alt="AgentMail Organizational Hierarchy" />
324
326
 
325
327
  <Steps>
326
328
  <Step title="Organization">
@@ -355,7 +357,7 @@ As the diagram below illustrates, your `organization` is the top-level container
355
357
 
356
358
  ## Core Capabilities
357
359
 
358
- 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`.
359
361
 
360
362
  <CodeBlocks>
361
363
  ```python
@@ -740,7 +742,7 @@ Here is an example of a well-structured and styled HTML header:
740
742
  </CodeBlocks>
741
743
 
742
744
  <Frame caption="Look how pretty this message looks!">
743
- <img src="file:a3eb4249-4892-4a88-b6d3-9bcaa7e79044" alt="rendered css" />
745
+ <img src="file:c2086bbe-a796-4972-be4d-5e4534c24ca8" alt="rendered css" />
744
746
  </Frame>
745
747
 
746
748
  ## Receiving `Messages`
@@ -1143,7 +1145,7 @@ This is where `Labels` become truly powerful. You can list `Threads`, `Messages`
1143
1145
 
1144
1146
  ## What are `Attachments`?
1145
1147
 
1146
- 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`.
1147
1149
 
1148
1150
  ## Sending `Attachments`
1149
1151
 
@@ -1166,15 +1168,15 @@ To send a file, you include it in an `Attachments` array when sending a `Message
1166
1168
  encoded_content = base64.b64encode(file_content.encode()).decode()
1167
1169
 
1168
1170
  sent_message = client.inboxes.messages.send(
1169
- inbox_id="reports@agentmail.to",
1170
- to=["supervisor@example.com"],
1171
- subject="Q4 Financial Report",
1172
- text="Please see the attached report.",
1173
- attachments=[{
1174
- "content": encoded_content,
1175
- "filename": "Q4-report.txt",
1176
- "content_type": "text/plain"
1177
- }]
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
+ }]
1178
1180
  )
1179
1181
 
1180
1182
  ```
@@ -1215,15 +1217,15 @@ If you know the `Message` an `Attachment` belongs to, you can retrieve it direct
1215
1217
  attachment_id = "attach_789" # From the message object
1216
1218
 
1217
1219
  file_data = client.inboxes.messages.get_attachment(
1218
- inbox_id=inbox_id,
1219
- message_id=message_id,
1220
- attachment_id=attachment_id
1220
+ inbox_id=inbox_id,
1221
+ message_id=message_id,
1222
+ attachment_id=attachment_id
1221
1223
  )
1222
1224
 
1223
1225
  # Now you can save the file
1224
1226
 
1225
1227
  with open("downloaded_file.pdf", "wb") as f:
1226
- f.write(file_data)
1228
+ f.write(file_data)
1227
1229
 
1228
1230
  ```
1229
1231
 
@@ -1979,7 +1981,7 @@ Configuring your domain is a three-step process: add the domain via API, copy th
1979
1981
  After creating your domain in the AgentMail Console, click the "Download BIND Zone File" button to get the complete zone file.
1980
1982
 
1981
1983
  <Frame caption="Downloading BIND zone file from AgentMail Console">
1982
- <img src="file:9be82773-96e6-4707-90e4-049e00ecc897" alt="Download BIND Zone File from Console" />
1984
+ <img src="file:984a2b44-d86f-47bc-ace2-143e0daf1757" alt="Download BIND Zone File from Console" />
1983
1985
  </Frame>
1984
1986
 
1985
1987
  <Tabs>
@@ -1990,13 +1992,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
1990
1992
  2. Click **"Import zone file"** in the top right corner
1991
1993
 
1992
1994
  <Frame caption="Importing BIND zone file in AWS Route 53">
1993
- <img src="file:52e201a6-6877-492d-8ceb-d68103640c2d" alt="AWS Route 53 BIND Import" />
1995
+ <img src="file:9647ee70-c593-4daa-a8bf-3079e41ff670" alt="AWS Route 53 BIND Import" />
1994
1996
  </Frame>
1995
1997
 
1996
1998
  3. Paste the CONTENTS of downloaded BIND zone file
1997
1999
 
1998
2000
  <Frame caption="Open the file with text editor and paste the contents. It should look similar to what we have in this image.">
1999
- <img src="file:6afc53aa-83cf-47c5-b751-b2ff42f86fc9" alt="AWS Route 53 BIND Import" />
2001
+ <img src="file:8e5863f4-bee3-42c8-a6fe-60fc89f9b534" alt="AWS Route 53 BIND Import" />
2000
2002
  </Frame>
2001
2003
 
2002
2004
  4. Review the records and click **"Import"**
@@ -2009,13 +2011,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2009
2011
  2. Navigate to **DNS > Records**
2010
2012
 
2011
2013
  <Frame caption="This is what the page looks like">
2012
- <img src="file:a5aac2ea-d73e-4931-b5b9-ff49cecc4f1e" alt="Cloudflare BIND Import" />
2014
+ <img src="file:88185597-fdb9-45aa-a132-7b7284bde354" alt="Cloudflare BIND Import" />
2013
2015
  </Frame>
2014
2016
 
2015
2017
  3. Click **"Import and Export"**
2016
2018
 
2017
2019
  <Frame caption="You should be able to just drop the file in">
2018
- <img src="file:d92b7899-42d5-4622-8a7c-93c3dfde145d" alt="Cloudflare BIND Import" />
2020
+ <img src="file:7fdc901a-28f8-436a-ad49-d2595e448503" alt="Cloudflare BIND Import" />
2019
2021
  </Frame>
2020
2022
 
2021
2023
  4. Upload the downloaded BIND zone file as is
@@ -2028,13 +2030,13 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2028
2030
  2. Navigate to the **DNS** subtab of the domain you want to send from
2029
2031
 
2030
2032
  <Frame caption="Click on this button!">
2031
- <img src="file:dd25616b-848d-43b5-98da-91f256c8c435" alt="Porkbun DNS Management" />
2033
+ <img src="file:ad432f5f-3bdd-4e60-ad17-c9129578a975" alt="Porkbun DNS Management" />
2032
2034
  </Frame>
2033
2035
 
2034
2036
  3. Scroll down to the quick upload section
2035
2037
 
2036
2038
  <Frame caption="Upload your BIND zone file here">
2037
- <img src="file:807e2a16-6fe3-4fce-bdf8-cd5333ef8459" alt="Porkbun Zone File Import" />
2039
+ <img src="file:9a206318-f766-4423-b0aa-3c6f637edb2a" alt="Porkbun Zone File Import" />
2038
2040
  </Frame>
2039
2041
 
2040
2042
  4. Upload the downloaded BIND zone file as is
@@ -2118,7 +2120,7 @@ Configuring your domain is a three-step process: add the domain via API, copy th
2118
2120
  * **Value:** Can directly copy paste the `value` from the API response (e.g., `{random_letters_numbers}.dkim.amazonses.com`).
2119
2121
 
2120
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!">
2121
- <img src="file:8f29da71-dcd0-42e2-9d1d-ffd6fbc5fa62" alt="AWS Route 53 Record Configuration" />
2123
+ <img src="file:1913b0a8-b4bb-4368-b90d-4989059e598a" alt="AWS Route 53 Record Configuration" />
2122
2124
  </Frame>
2123
2125
 
2124
2126
  * **TXT (DMARC/SPF):**
@@ -2553,39 +2555,47 @@ When AgentMail sends a webhook, the payload will have the following structure.
2553
2555
 
2554
2556
  # Webhook Events
2555
2557
 
2556
- > 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.
2557
2559
 
2558
- 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.
2559
2561
 
2560
2562
  All webhook payloads follow the same basic structure:
2561
2563
 
2562
2564
  ```json
2563
2565
  {
2564
- "event": "event.name",
2565
- "data": {
2566
- // ... event-specific data object
2567
- }
2566
+ "type": "event",
2567
+ "event_type": "event.name",
2568
+ "event_id": "evt_123abc..."
2569
+ // ... event-specific data object
2568
2570
  }
2569
2571
  ```
2570
2572
 
2571
- ## Message Event
2572
-
2573
- The `message.received` event is triggered whenever a new email is successfully received and processed in one of your `Inboxes`.
2573
+ ## Message Events
2574
2574
 
2575
2575
  ### `message.received`
2576
2576
 
2577
- * **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.
2578
- * **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>
2579
2586
 
2580
2587
  <CodeGroup>
2581
2588
  ```json
2582
2589
  {
2583
- "event": "message.received",
2584
- "data": {
2585
- "id": "msg_123abc",
2586
- "object": "message",
2590
+ "type": "event",
2591
+ "event_type": "message.received",
2592
+ "event_id": "evt_123abc",
2593
+ "message": {
2587
2594
  "inbox_id": "inbox_456def",
2588
2595
  "thread_id": "thd_789ghi",
2596
+ "message_id": "msg_123abc",
2597
+ "labels": ["received"],
2598
+ "timestamp": "2023-10-27T10:00:00Z",
2589
2599
  "from": [
2590
2600
  {
2591
2601
  "name": "Jane Doe",
@@ -2599,28 +2609,206 @@ The `message.received` event is triggered whenever a new email is successfully r
2599
2609
  }
2600
2610
  ],
2601
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>",
2602
2615
  "created_at": "2023-10-27T10:00:00Z"
2603
- // ... and other message properties
2616
+ },
2617
+ "thread": {
2618
+ // ... thread properties
2604
2619
  }
2605
2620
  }
2606
2621
  ```
2607
2622
  </CodeGroup>
2608
2623
 
2609
- ## Future Events
2624
+ ### `message.sent`
2610
2625
 
2611
- We are working on expanding our event offerings. In the future, you can expect to see events related to email delivery status, such as:
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.
2612
2628
 
2613
- * `delivery.success`
2614
- * `delivery.bounced`
2615
- * `delivery.complained`
2616
- * and much more...
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
+ ]
2643
+ }
2644
+ }
2645
+ ```
2646
+ </CodeGroup>
2617
2647
 
2618
- Stay tuned for updates as we roll out these new features!
2648
+ ### `message.delivered`
2619
2649
 
2620
- 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)
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.
2621
2652
 
2622
- ```
2623
- ```
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>
2671
+
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>
2680
+
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>
2690
+
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)
2624
2812
 
2625
2813
 
2626
2814
  # Webhook Setup Guide
@@ -2654,13 +2842,13 @@ Ngrok creates a secure tunnel from a public URL to your local development server
2654
2842
 
2655
2843
  Visit [ngrok.com](https://ngrok.com/) and click "Sign up" to create a free account.
2656
2844
 
2657
- <img src="file:3be3ba9b-4849-4adb-85b5-b1dd53489224" alt="Ngrok homepage" />
2845
+ <img src="file:c15f82e4-27f6-4a70-ac26-add0b5b12db0" alt="Ngrok homepage" />
2658
2846
 
2659
2847
  ### 1.2 Choose your platform and install
2660
2848
 
2661
2849
  After logging in, ngrok will guide you through the setup process. Select your operating system and follow the installation instructions.
2662
2850
 
2663
- <img src="file:3606f774-41a5-4e9a-b513-8818ded10a21" alt="Ngrok setup instructions" />
2851
+ <img src="file:4a0b3ee3-7848-45d2-be50-2b5ff7c85295" alt="Ngrok setup instructions" />
2664
2852
 
2665
2853
  For macOS, you can install ngrok via Homebrew:
2666
2854
 
@@ -2706,7 +2894,7 @@ ngrok http 3000
2706
2894
 
2707
2895
  You should see output similar to this:
2708
2896
 
2709
- <img src="file:99864be8-6721-4b52-bae1-981cee8bd478" alt="Ngrok terminal output" />
2897
+ <img src="file:8bcb8b41-cb1c-462c-8fe4-e9e6a1184d0b" alt="Ngrok terminal output" />
2710
2898
 
2711
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.
2712
2900
 
@@ -2803,7 +2991,7 @@ python webhook_receiver.py
2803
2991
 
2804
2992
  Open your browser and visit `http://127.0.0.1:3000` to see the status page confirming your webhook receiver is running:
2805
2993
 
2806
- <img src="file:65bc3605-d0f1-41cc-bd3c-7c6138eed70c" alt="Webhook receiver status page" />
2994
+ <img src="file:ca0e6f7a-9ed4-4689-9508-7a56cef9eaf5" alt="Webhook receiver status page" />
2807
2995
 
2808
2996
  ## Testing Your Setup
2809
2997
 
@@ -2925,7 +3113,7 @@ How you send your emails is just as important as what you send. If you're sendin
2925
3113
  more natural to email providers. AgentMail's ability to create inboxes at
2926
3114
  scale makes this strategy easy to implement.
2927
3115
 
2928
- <img src="file:9510cd76-587b-4d97-97d8-d8ed463903ee" 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." />
2929
3117
  </Step>
2930
3118
 
2931
3119
  <Step title="Protect Your Reputation with Multiple Domains">
@@ -4944,7 +5132,7 @@ Done
4944
5132
 
4945
5133
  Go to your AgentMail inbox and filter by labels to organize your emails:
4946
5134
 
4947
- <img src="file:36c999f1-b941-45cb-8f04-1b062610ef6c" alt="Test image" />
5135
+ <img src="file:2d19dca9-3d2a-43a1-a741-27bc0b88bc19" alt="Test image" />
4948
5136
 
4949
5137
  **Filter by sentiment:**
4950
5138
 
@@ -5766,7 +5954,55 @@ We hope this provides a clear and transparent look into why these DNS records ar
5766
5954
 
5767
5955
  # SOC 2 Compliance
5768
5956
 
5769
- 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.
5770
6006
 
5771
6007
 
5772
6008
  # API Welcome
@@ -5878,9 +6114,11 @@ components:
5878
6114
  updated_at:
5879
6115
  type: string
5880
6116
  format: date-time
6117
+ description: Time at which inbox was last updated.
5881
6118
  created_at:
5882
6119
  type: string
5883
6120
  format: date-time
6121
+ description: Time at which inbox was created.
5884
6122
  required:
5885
6123
  - pod_id
5886
6124
  - inbox_id
@@ -5899,6 +6137,7 @@ components:
5899
6137
  type: array
5900
6138
  items:
5901
6139
  $ref: '#/components/schemas/type_inboxes:Inbox'
6140
+ description: Ordered by `created_at` descending.
5902
6141
  required:
5903
6142
  - count
5904
6143
  - inboxes
@@ -6096,9 +6335,11 @@ components:
6096
6335
  updated_at:
6097
6336
  type: string
6098
6337
  format: date-time
6338
+ description: Time at which inbox was last updated.
6099
6339
  created_at:
6100
6340
  type: string
6101
6341
  format: date-time
6342
+ description: Time at which inbox was created.
6102
6343
  required:
6103
6344
  - pod_id
6104
6345
  - inbox_id
@@ -6288,8 +6529,12 @@ components:
6288
6529
  properties:
6289
6530
  username:
6290
6531
  type: string
6532
+ description: Username of address. Randomly generated if not specified.
6291
6533
  domain:
6292
6534
  type: string
6535
+ description: >-
6536
+ Domain of address. Must be verified domain. Defaults to
6537
+ `agentmail.to`.
6293
6538
  display_name:
6294
6539
  $ref: '#/components/schemas/type_inboxes:DisplayName'
6295
6540
  client_id:
@@ -6312,9 +6557,11 @@ components:
6312
6557
  updated_at:
6313
6558
  type: string
6314
6559
  format: date-time
6560
+ description: Time at which inbox was last updated.
6315
6561
  created_at:
6316
6562
  type: string
6317
6563
  format: date-time
6564
+ description: Time at which inbox was created.
6318
6565
  required:
6319
6566
  - pod_id
6320
6567
  - inbox_id
@@ -6535,9 +6782,11 @@ components:
6535
6782
  updated_at:
6536
6783
  type: string
6537
6784
  format: date-time
6785
+ description: Time at which inbox was last updated.
6538
6786
  created_at:
6539
6787
  type: string
6540
6788
  format: date-time
6789
+ description: Time at which inbox was created.
6541
6790
  required:
6542
6791
  - pod_id
6543
6792
  - inbox_id
@@ -7096,6 +7345,7 @@ components:
7096
7345
  type: array
7097
7346
  items:
7098
7347
  $ref: '#/components/schemas/type_threads:ThreadItem'
7348
+ description: Ordered by `timestamp` descending.
7099
7349
  required:
7100
7350
  - count
7101
7351
  - threads
@@ -7419,6 +7669,9 @@ components:
7419
7669
  type: array
7420
7670
  items:
7421
7671
  type: string
7672
+ description: >-
7673
+ Reply-to addresses. In format `username@domain.com` or `Display Name
7674
+ <username@domain.com>`.
7422
7675
  to:
7423
7676
  $ref: '#/components/schemas/type_messages:MessageTo'
7424
7677
  cc:
@@ -7435,8 +7688,10 @@ components:
7435
7688
  $ref: '#/components/schemas/type_messages:MessageHtml'
7436
7689
  extracted_text:
7437
7690
  type: string
7691
+ description: Extracted new text content.
7438
7692
  extracted_html:
7439
7693
  type: string
7694
+ description: Extracted new HTML content.
7440
7695
  attachments:
7441
7696
  $ref: '#/components/schemas/type_messages:MessageAttachments'
7442
7697
  in_reply_to:
@@ -7499,6 +7754,7 @@ components:
7499
7754
  type: array
7500
7755
  items:
7501
7756
  $ref: '#/components/schemas/type_messages:Message'
7757
+ description: Messages in thread. Ordered by `timestamp` ascending.
7502
7758
  required:
7503
7759
  - inbox_id
7504
7760
  - thread_id
@@ -8250,6 +8506,7 @@ components:
8250
8506
  type: array
8251
8507
  items:
8252
8508
  $ref: '#/components/schemas/type_messages:MessageItem'
8509
+ description: Ordered by `timestamp` descending.
8253
8510
  required:
8254
8511
  - count
8255
8512
  - messages
@@ -8532,6 +8789,9 @@ components:
8532
8789
  type: array
8533
8790
  items:
8534
8791
  type: string
8792
+ description: >-
8793
+ Reply-to addresses. In format `username@domain.com` or `Display Name
8794
+ <username@domain.com>`.
8535
8795
  to:
8536
8796
  $ref: '#/components/schemas/type_messages:MessageTo'
8537
8797
  cc:
@@ -8548,8 +8808,10 @@ components:
8548
8808
  $ref: '#/components/schemas/type_messages:MessageHtml'
8549
8809
  extracted_text:
8550
8810
  type: string
8811
+ description: Extracted new text content.
8551
8812
  extracted_html:
8552
8813
  type: string
8814
+ description: Extracted new HTML content.
8553
8815
  attachments:
8554
8816
  $ref: '#/components/schemas/type_messages:MessageAttachments'
8555
8817
  in_reply_to:
@@ -9744,10 +10006,12 @@ components:
9744
10006
  type: array
9745
10007
  items:
9746
10008
  type: string
10009
+ description: Labels to add to message.
9747
10010
  remove_labels:
9748
10011
  type: array
9749
10012
  items:
9750
10013
  type: string
10014
+ description: Labels to remove from message.
9751
10015
  type_threads:ThreadId:
9752
10016
  type: string
9753
10017
  type_messages:MessageLabels:
@@ -9843,6 +10107,9 @@ components:
9843
10107
  type: array
9844
10108
  items:
9845
10109
  type: string
10110
+ description: >-
10111
+ Reply-to addresses. In format `username@domain.com` or `Display Name
10112
+ <username@domain.com>`.
9846
10113
  to:
9847
10114
  $ref: '#/components/schemas/type_messages:MessageTo'
9848
10115
  cc:
@@ -9859,8 +10126,10 @@ components:
9859
10126
  $ref: '#/components/schemas/type_messages:MessageHtml'
9860
10127
  extracted_text:
9861
10128
  type: string
10129
+ description: Extracted new text content.
9862
10130
  extracted_html:
9863
10131
  type: string
10132
+ description: Extracted new HTML content.
9864
10133
  attachments:
9865
10134
  $ref: '#/components/schemas/type_messages:MessageAttachments'
9866
10135
  in_reply_to:
@@ -10244,6 +10513,7 @@ components:
10244
10513
  type: array
10245
10514
  items:
10246
10515
  $ref: '#/components/schemas/type_drafts:DraftItem'
10516
+ description: Ordered by `updated_at` descending.
10247
10517
  required:
10248
10518
  - count
10249
10519
  - drafts
@@ -10545,6 +10815,7 @@ components:
10545
10815
  type: array
10546
10816
  items:
10547
10817
  type: string
10818
+ description: IDs of previous messages in thread.
10548
10819
  send_status:
10549
10820
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
10550
10821
  send_at:
@@ -10554,6 +10825,7 @@ components:
10554
10825
  created_at:
10555
10826
  type: string
10556
10827
  format: date-time
10828
+ description: Time at which draft was created.
10557
10829
  required:
10558
10830
  - inbox_id
10559
10831
  - thread_id
@@ -10886,6 +11158,7 @@ components:
10886
11158
  type: array
10887
11159
  items:
10888
11160
  type: string
11161
+ description: IDs of previous messages in thread.
10889
11162
  send_status:
10890
11163
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
10891
11164
  send_at:
@@ -10895,6 +11168,7 @@ components:
10895
11168
  created_at:
10896
11169
  type: string
10897
11170
  format: date-time
11171
+ description: Time at which draft was created.
10898
11172
  required:
10899
11173
  - inbox_id
10900
11174
  - thread_id
@@ -11244,6 +11518,7 @@ components:
11244
11518
  type: array
11245
11519
  items:
11246
11520
  type: string
11521
+ description: IDs of previous messages in thread.
11247
11522
  send_status:
11248
11523
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
11249
11524
  send_at:
@@ -11253,6 +11528,7 @@ components:
11253
11528
  created_at:
11254
11529
  type: string
11255
11530
  format: date-time
11531
+ description: Time at which draft was created.
11256
11532
  required:
11257
11533
  - inbox_id
11258
11534
  - thread_id
@@ -11483,10 +11759,12 @@ components:
11483
11759
  type: array
11484
11760
  items:
11485
11761
  type: string
11762
+ description: Labels to add to message.
11486
11763
  remove_labels:
11487
11764
  type: array
11488
11765
  items:
11489
11766
  type: string
11767
+ description: Labels to remove from message.
11490
11768
  type_messages:MessageId:
11491
11769
  type: string
11492
11770
  type_threads:ThreadId:
@@ -11927,35 +12205,43 @@ components:
11927
12205
  type: array
11928
12206
  items:
11929
12207
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12208
+ description: Timestamps when messages were sent.
11930
12209
  delivered:
11931
12210
  type: array
11932
12211
  items:
11933
12212
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12213
+ description: Timestamps when messages were delivered.
11934
12214
  bounced:
11935
12215
  type: array
11936
12216
  items:
11937
12217
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12218
+ description: Timestamps when messages bounced.
11938
12219
  delayed:
11939
12220
  type: array
11940
12221
  items:
11941
12222
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12223
+ description: Timestamps when messages were delayed.
11942
12224
  rejected:
11943
12225
  type: array
11944
12226
  items:
11945
12227
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12228
+ description: Timestamps when messages were rejected.
11946
12229
  complained:
11947
12230
  type: array
11948
12231
  items:
11949
12232
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12233
+ description: Timestamps when messages received complaints.
11950
12234
  received:
11951
12235
  type: array
11952
12236
  items:
11953
12237
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
12238
+ description: Timestamps when messages were received.
11954
12239
  type_metrics:ListMetricsResponse:
11955
12240
  type: object
11956
12241
  properties:
11957
12242
  message:
11958
12243
  $ref: '#/components/schemas/type_metrics:MessageMetrics'
12244
+ description: Message metrics grouped by event type.
11959
12245
 
11960
12246
  ```
11961
12247
 
@@ -12313,6 +12599,7 @@ components:
12313
12599
  type: array
12314
12600
  items:
12315
12601
  $ref: '#/components/schemas/type_threads:ThreadItem'
12602
+ description: Ordered by `timestamp` descending.
12316
12603
  required:
12317
12604
  - count
12318
12605
  - threads
@@ -12628,6 +12915,9 @@ components:
12628
12915
  type: array
12629
12916
  items:
12630
12917
  type: string
12918
+ description: >-
12919
+ Reply-to addresses. In format `username@domain.com` or `Display Name
12920
+ <username@domain.com>`.
12631
12921
  to:
12632
12922
  $ref: '#/components/schemas/type_messages:MessageTo'
12633
12923
  cc:
@@ -12644,8 +12934,10 @@ components:
12644
12934
  $ref: '#/components/schemas/type_messages:MessageHtml'
12645
12935
  extracted_text:
12646
12936
  type: string
12937
+ description: Extracted new text content.
12647
12938
  extracted_html:
12648
12939
  type: string
12940
+ description: Extracted new HTML content.
12649
12941
  attachments:
12650
12942
  $ref: '#/components/schemas/type_messages:MessageAttachments'
12651
12943
  in_reply_to:
@@ -12708,6 +13000,7 @@ components:
12708
13000
  type: array
12709
13001
  items:
12710
13002
  $ref: '#/components/schemas/type_messages:Message'
13003
+ description: Messages in thread. Ordered by `timestamp` ascending.
12711
13004
  required:
12712
13005
  - inbox_id
12713
13006
  - thread_id
@@ -13242,6 +13535,7 @@ components:
13242
13535
  type: array
13243
13536
  items:
13244
13537
  $ref: '#/components/schemas/type_drafts:DraftItem'
13538
+ description: Ordered by `updated_at` descending.
13245
13539
  required:
13246
13540
  - count
13247
13541
  - drafts
@@ -13535,6 +13829,7 @@ components:
13535
13829
  type: array
13536
13830
  items:
13537
13831
  type: string
13832
+ description: IDs of previous messages in thread.
13538
13833
  send_status:
13539
13834
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
13540
13835
  send_at:
@@ -13544,6 +13839,7 @@ components:
13544
13839
  created_at:
13545
13840
  type: string
13546
13841
  format: date-time
13842
+ description: Time at which draft was created.
13547
13843
  required:
13548
13844
  - inbox_id
13549
13845
  - thread_id
@@ -13755,9 +14051,11 @@ components:
13755
14051
  updated_at:
13756
14052
  type: string
13757
14053
  format: date-time
14054
+ description: Time at which the domain was last updated.
13758
14055
  created_at:
13759
14056
  type: string
13760
14057
  format: date-time
14058
+ description: Time at which the domain was created.
13761
14059
  required:
13762
14060
  - domain_id
13763
14061
  - feedback_enabled
@@ -13776,6 +14074,7 @@ components:
13776
14074
  type: array
13777
14075
  items:
13778
14076
  $ref: '#/components/schemas/type_domains:DomainItem'
14077
+ description: Ordered by `created_at` descending.
13779
14078
  required:
13780
14079
  - count
13781
14080
  - domains
@@ -13979,14 +14278,19 @@ components:
13979
14278
  properties:
13980
14279
  type:
13981
14280
  $ref: '#/components/schemas/type_domains:RecordType'
14281
+ description: The type of the DNS record.
13982
14282
  name:
13983
14283
  type: string
14284
+ description: The name or host of the record.
13984
14285
  value:
13985
14286
  type: string
14287
+ description: The value of the record.
13986
14288
  status:
13987
14289
  $ref: '#/components/schemas/type_domains:RecordStatus'
14290
+ description: The verification status of this specific record.
13988
14291
  priority:
13989
14292
  type: integer
14293
+ description: The priority of the MX record.
13990
14294
  required:
13991
14295
  - type
13992
14296
  - name
@@ -14003,20 +14307,24 @@ components:
14003
14307
  $ref: '#/components/schemas/type_domains:DomainId'
14004
14308
  status:
14005
14309
  $ref: '#/components/schemas/type_domains:VerificationStatus'
14310
+ description: The verification status of the domain.
14006
14311
  feedback_enabled:
14007
14312
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
14008
14313
  records:
14009
14314
  type: array
14010
14315
  items:
14011
14316
  $ref: '#/components/schemas/type_domains:VerificationRecord'
14317
+ description: A list of DNS records required to verify the domain.
14012
14318
  client_id:
14013
14319
  $ref: '#/components/schemas/type_domains:ClientId'
14014
14320
  updated_at:
14015
14321
  type: string
14016
14322
  format: date-time
14323
+ description: Time at which the domain was last updated.
14017
14324
  created_at:
14018
14325
  type: string
14019
14326
  format: date-time
14327
+ description: Time at which the domain was created.
14020
14328
  required:
14021
14329
  - domain_id
14022
14330
  - status
@@ -14416,14 +14724,19 @@ components:
14416
14724
  properties:
14417
14725
  type:
14418
14726
  $ref: '#/components/schemas/type_domains:RecordType'
14727
+ description: The type of the DNS record.
14419
14728
  name:
14420
14729
  type: string
14730
+ description: The name or host of the record.
14421
14731
  value:
14422
14732
  type: string
14733
+ description: The value of the record.
14423
14734
  status:
14424
14735
  $ref: '#/components/schemas/type_domains:RecordStatus'
14736
+ description: The verification status of this specific record.
14425
14737
  priority:
14426
14738
  type: integer
14739
+ description: The priority of the MX record.
14427
14740
  required:
14428
14741
  - type
14429
14742
  - name
@@ -14440,20 +14753,24 @@ components:
14440
14753
  $ref: '#/components/schemas/type_domains:DomainId'
14441
14754
  status:
14442
14755
  $ref: '#/components/schemas/type_domains:VerificationStatus'
14756
+ description: The verification status of the domain.
14443
14757
  feedback_enabled:
14444
14758
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
14445
14759
  records:
14446
14760
  type: array
14447
14761
  items:
14448
14762
  $ref: '#/components/schemas/type_domains:VerificationRecord'
14763
+ description: A list of DNS records required to verify the domain.
14449
14764
  client_id:
14450
14765
  $ref: '#/components/schemas/type_domains:ClientId'
14451
14766
  updated_at:
14452
14767
  type: string
14453
14768
  format: date-time
14769
+ description: Time at which the domain was last updated.
14454
14770
  created_at:
14455
14771
  type: string
14456
14772
  format: date-time
14773
+ description: Time at which the domain was created.
14457
14774
  required:
14458
14775
  - domain_id
14459
14776
  - status
@@ -15053,14 +15370,18 @@ components:
15053
15370
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15054
15371
  secret:
15055
15372
  type: string
15373
+ description: Secret for webhook signature verification.
15056
15374
  enabled:
15057
15375
  type: boolean
15376
+ description: Whether the webhook is enabled.
15058
15377
  updated_at:
15059
15378
  type: string
15060
15379
  format: date-time
15380
+ description: Time at which webhook was last updated.
15061
15381
  created_at:
15062
15382
  type: string
15063
15383
  format: date-time
15384
+ description: Time at which webhook was created.
15064
15385
  client_id:
15065
15386
  $ref: '#/components/schemas/type_webhooks:ClientId'
15066
15387
  required:
@@ -15083,6 +15404,7 @@ components:
15083
15404
  type: array
15084
15405
  items:
15085
15406
  $ref: '#/components/schemas/type_webhooks:Webhook'
15407
+ description: Ordered by `created_at` descending.
15086
15408
  required:
15087
15409
  - count
15088
15410
  - webhooks
@@ -15295,14 +15617,18 @@ components:
15295
15617
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15296
15618
  secret:
15297
15619
  type: string
15620
+ description: Secret for webhook signature verification.
15298
15621
  enabled:
15299
15622
  type: boolean
15623
+ description: Whether the webhook is enabled.
15300
15624
  updated_at:
15301
15625
  type: string
15302
15626
  format: date-time
15627
+ description: Time at which webhook was last updated.
15303
15628
  created_at:
15304
15629
  type: string
15305
15630
  format: date-time
15631
+ description: Time at which webhook was created.
15306
15632
  client_id:
15307
15633
  $ref: '#/components/schemas/type_webhooks:ClientId'
15308
15634
  required:
@@ -15538,14 +15864,18 @@ components:
15538
15864
  $ref: '#/components/schemas/type_webhooks:InboxIds'
15539
15865
  secret:
15540
15866
  type: string
15867
+ description: Secret for webhook signature verification.
15541
15868
  enabled:
15542
15869
  type: boolean
15870
+ description: Whether the webhook is enabled.
15543
15871
  updated_at:
15544
15872
  type: string
15545
15873
  format: date-time
15874
+ description: Time at which webhook was last updated.
15546
15875
  created_at:
15547
15876
  type: string
15548
15877
  format: date-time
15878
+ description: Time at which webhook was created.
15549
15879
  client_id:
15550
15880
  $ref: '#/components/schemas/type_webhooks:ClientId'
15551
15881
  required:
@@ -16047,6 +16377,9 @@ components:
16047
16377
  type: array
16048
16378
  items:
16049
16379
  type: string
16380
+ description: >-
16381
+ Reply-to addresses. In format `username@domain.com` or `Display Name
16382
+ <username@domain.com>`.
16050
16383
  to:
16051
16384
  $ref: '#/components/schemas/type_messages:MessageTo'
16052
16385
  cc:
@@ -16063,8 +16396,10 @@ components:
16063
16396
  $ref: '#/components/schemas/type_messages:MessageHtml'
16064
16397
  extracted_text:
16065
16398
  type: string
16399
+ description: Extracted new text content.
16066
16400
  extracted_html:
16067
16401
  type: string
16402
+ description: Extracted new HTML content.
16068
16403
  attachments:
16069
16404
  $ref: '#/components/schemas/type_messages:MessageAttachments'
16070
16405
  in_reply_to:
@@ -16088,6 +16423,96 @@ components:
16088
16423
  - size
16089
16424
  - updated_at
16090
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
16091
16516
  type_events:MessageReceivedEvent:
16092
16517
  type: object
16093
16518
  properties:
@@ -16105,11 +16530,14 @@ components:
16105
16530
  $ref: '#/components/schemas/type_events:EventId'
16106
16531
  message:
16107
16532
  $ref: '#/components/schemas/type_messages:Message'
16533
+ thread:
16534
+ $ref: '#/components/schemas/type_threads:ThreadItem'
16108
16535
  required:
16109
16536
  - type
16110
16537
  - event_type
16111
16538
  - event_id
16112
16539
  - message
16540
+ - thread
16113
16541
 
16114
16542
  ```
16115
16543
 
@@ -16192,6 +16620,7 @@ components:
16192
16620
  type: array
16193
16621
  items:
16194
16622
  type: string
16623
+ description: Sent recipients.
16195
16624
  required:
16196
16625
  - inbox_id
16197
16626
  - thread_id
@@ -16302,6 +16731,7 @@ components:
16302
16731
  type: array
16303
16732
  items:
16304
16733
  type: string
16734
+ description: Delivered recipients.
16305
16735
  required:
16306
16736
  - inbox_id
16307
16737
  - thread_id
@@ -16402,8 +16832,10 @@ components:
16402
16832
  properties:
16403
16833
  address:
16404
16834
  type: string
16835
+ description: Recipient address.
16405
16836
  status:
16406
16837
  type: string
16838
+ description: Recipient status.
16407
16839
  required:
16408
16840
  - address
16409
16841
  - status
@@ -16420,12 +16852,15 @@ components:
16420
16852
  $ref: '#/components/schemas/type_events:Timestamp'
16421
16853
  type:
16422
16854
  type: string
16855
+ description: Bounce type.
16423
16856
  sub_type:
16424
16857
  type: string
16858
+ description: Bounce sub-type.
16425
16859
  recipients:
16426
16860
  type: array
16427
16861
  items:
16428
16862
  $ref: '#/components/schemas/type_events:Recipient'
16863
+ description: Bounced recipients.
16429
16864
  required:
16430
16865
  - inbox_id
16431
16866
  - thread_id
@@ -16536,12 +16971,15 @@ components:
16536
16971
  $ref: '#/components/schemas/type_events:Timestamp'
16537
16972
  type:
16538
16973
  type: string
16974
+ description: Complaint type.
16539
16975
  sub_type:
16540
16976
  type: string
16977
+ description: Complaint sub-type.
16541
16978
  recipients:
16542
16979
  type: array
16543
16980
  items:
16544
16981
  type: string
16982
+ description: Complained recipients.
16545
16983
  required:
16546
16984
  - inbox_id
16547
16985
  - thread_id
@@ -16652,6 +17090,7 @@ components:
16652
17090
  $ref: '#/components/schemas/type_events:Timestamp'
16653
17091
  reason:
16654
17092
  type: string
17093
+ description: Reject reason.
16655
17094
  required:
16656
17095
  - inbox_id
16657
17096
  - thread_id
@@ -16766,14 +17205,19 @@ components:
16766
17205
  properties:
16767
17206
  type:
16768
17207
  $ref: '#/components/schemas/type_domains:RecordType'
17208
+ description: The type of the DNS record.
16769
17209
  name:
16770
17210
  type: string
17211
+ description: The name or host of the record.
16771
17212
  value:
16772
17213
  type: string
17214
+ description: The value of the record.
16773
17215
  status:
16774
17216
  $ref: '#/components/schemas/type_domains:RecordStatus'
17217
+ description: The verification status of this specific record.
16775
17218
  priority:
16776
17219
  type: integer
17220
+ description: The priority of the MX record.
16777
17221
  required:
16778
17222
  - type
16779
17223
  - name
@@ -16790,20 +17234,24 @@ components:
16790
17234
  $ref: '#/components/schemas/type_domains:DomainId'
16791
17235
  status:
16792
17236
  $ref: '#/components/schemas/type_domains:VerificationStatus'
17237
+ description: The verification status of the domain.
16793
17238
  feedback_enabled:
16794
17239
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
16795
17240
  records:
16796
17241
  type: array
16797
17242
  items:
16798
17243
  $ref: '#/components/schemas/type_domains:VerificationRecord'
17244
+ description: A list of DNS records required to verify the domain.
16799
17245
  client_id:
16800
17246
  $ref: '#/components/schemas/type_domains:ClientId'
16801
17247
  updated_at:
16802
17248
  type: string
16803
17249
  format: date-time
17250
+ description: Time at which the domain was last updated.
16804
17251
  created_at:
16805
17252
  type: string
16806
17253
  format: date-time
17254
+ description: Time at which the domain was created.
16807
17255
  required:
16808
17256
  - domain_id
16809
17257
  - status
@@ -16957,10 +17405,12 @@ components:
16957
17405
  type: array
16958
17406
  items:
16959
17407
  type: string
17408
+ description: IDs of the inboxes that have been subscribed to.
16960
17409
  pod_ids:
16961
17410
  type: array
16962
17411
  items:
16963
17412
  type: string
17413
+ description: IDs of the pods that have been subscribed to.
16964
17414
  required:
16965
17415
  - type
16966
17416
  type_events:EventId:
@@ -17064,6 +17514,9 @@ components:
17064
17514
  type: array
17065
17515
  items:
17066
17516
  type: string
17517
+ description: >-
17518
+ Reply-to addresses. In format `username@domain.com` or `Display Name
17519
+ <username@domain.com>`.
17067
17520
  to:
17068
17521
  $ref: '#/components/schemas/type_messages:MessageTo'
17069
17522
  cc:
@@ -17080,8 +17533,10 @@ components:
17080
17533
  $ref: '#/components/schemas/type_messages:MessageHtml'
17081
17534
  extracted_text:
17082
17535
  type: string
17536
+ description: Extracted new text content.
17083
17537
  extracted_html:
17084
17538
  type: string
17539
+ description: Extracted new HTML content.
17085
17540
  attachments:
17086
17541
  $ref: '#/components/schemas/type_messages:MessageAttachments'
17087
17542
  in_reply_to:
@@ -17105,6 +17560,96 @@ components:
17105
17560
  - size
17106
17561
  - updated_at
17107
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
17108
17653
  type_events:MessageReceivedEvent:
17109
17654
  type: object
17110
17655
  properties:
@@ -17122,11 +17667,14 @@ components:
17122
17667
  $ref: '#/components/schemas/type_events:EventId'
17123
17668
  message:
17124
17669
  $ref: '#/components/schemas/type_messages:Message'
17670
+ thread:
17671
+ $ref: '#/components/schemas/type_threads:ThreadItem'
17125
17672
  required:
17126
17673
  - type
17127
17674
  - event_type
17128
17675
  - event_id
17129
17676
  - message
17677
+ - thread
17130
17678
  type_events:Timestamp:
17131
17679
  type: string
17132
17680
  format: date-time
@@ -17145,6 +17693,7 @@ components:
17145
17693
  type: array
17146
17694
  items:
17147
17695
  type: string
17696
+ description: Sent recipients.
17148
17697
  required:
17149
17698
  - inbox_id
17150
17699
  - thread_id
@@ -17188,6 +17737,7 @@ components:
17188
17737
  type: array
17189
17738
  items:
17190
17739
  type: string
17740
+ description: Delivered recipients.
17191
17741
  required:
17192
17742
  - inbox_id
17193
17743
  - thread_id
@@ -17221,8 +17771,10 @@ components:
17221
17771
  properties:
17222
17772
  address:
17223
17773
  type: string
17774
+ description: Recipient address.
17224
17775
  status:
17225
17776
  type: string
17777
+ description: Recipient status.
17226
17778
  required:
17227
17779
  - address
17228
17780
  - status
@@ -17239,12 +17791,15 @@ components:
17239
17791
  $ref: '#/components/schemas/type_events:Timestamp'
17240
17792
  type:
17241
17793
  type: string
17794
+ description: Bounce type.
17242
17795
  sub_type:
17243
17796
  type: string
17797
+ description: Bounce sub-type.
17244
17798
  recipients:
17245
17799
  type: array
17246
17800
  items:
17247
17801
  $ref: '#/components/schemas/type_events:Recipient'
17802
+ description: Bounced recipients.
17248
17803
  required:
17249
17804
  - inbox_id
17250
17805
  - thread_id
@@ -17288,12 +17843,15 @@ components:
17288
17843
  $ref: '#/components/schemas/type_events:Timestamp'
17289
17844
  type:
17290
17845
  type: string
17846
+ description: Complaint type.
17291
17847
  sub_type:
17292
17848
  type: string
17849
+ description: Complaint sub-type.
17293
17850
  recipients:
17294
17851
  type: array
17295
17852
  items:
17296
17853
  type: string
17854
+ description: Complained recipients.
17297
17855
  required:
17298
17856
  - inbox_id
17299
17857
  - thread_id
@@ -17337,6 +17895,7 @@ components:
17337
17895
  $ref: '#/components/schemas/type_events:Timestamp'
17338
17896
  reason:
17339
17897
  type: string
17898
+ description: Reject reason.
17340
17899
  required:
17341
17900
  - inbox_id
17342
17901
  - thread_id
@@ -17393,14 +17952,19 @@ components:
17393
17952
  properties:
17394
17953
  type:
17395
17954
  $ref: '#/components/schemas/type_domains:RecordType'
17955
+ description: The type of the DNS record.
17396
17956
  name:
17397
17957
  type: string
17958
+ description: The name or host of the record.
17398
17959
  value:
17399
17960
  type: string
17961
+ description: The value of the record.
17400
17962
  status:
17401
17963
  $ref: '#/components/schemas/type_domains:RecordStatus'
17964
+ description: The verification status of this specific record.
17402
17965
  priority:
17403
17966
  type: integer
17967
+ description: The priority of the MX record.
17404
17968
  required:
17405
17969
  - type
17406
17970
  - name
@@ -17417,20 +17981,24 @@ components:
17417
17981
  $ref: '#/components/schemas/type_domains:DomainId'
17418
17982
  status:
17419
17983
  $ref: '#/components/schemas/type_domains:VerificationStatus'
17984
+ description: The verification status of the domain.
17420
17985
  feedback_enabled:
17421
17986
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
17422
17987
  records:
17423
17988
  type: array
17424
17989
  items:
17425
17990
  $ref: '#/components/schemas/type_domains:VerificationRecord'
17991
+ description: A list of DNS records required to verify the domain.
17426
17992
  client_id:
17427
17993
  $ref: '#/components/schemas/type_domains:ClientId'
17428
17994
  updated_at:
17429
17995
  type: string
17430
17996
  format: date-time
17997
+ description: Time at which the domain was last updated.
17431
17998
  created_at:
17432
17999
  type: string
17433
18000
  format: date-time
18001
+ description: Time at which the domain was created.
17434
18002
  required:
17435
18003
  - domain_id
17436
18004
  - status
@@ -17474,10 +18042,12 @@ components:
17474
18042
  type: array
17475
18043
  items:
17476
18044
  type: string
18045
+ description: IDs of the inboxes to subscribe to.
17477
18046
  pod_ids:
17478
18047
  type: array
17479
18048
  items:
17480
18049
  type: string
18050
+ description: IDs of the pods to subscribe to.
17481
18051
  required:
17482
18052
  - type
17483
18053
 
@@ -17569,35 +18139,43 @@ components:
17569
18139
  type: array
17570
18140
  items:
17571
18141
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18142
+ description: Timestamps when messages were sent.
17572
18143
  delivered:
17573
18144
  type: array
17574
18145
  items:
17575
18146
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18147
+ description: Timestamps when messages were delivered.
17576
18148
  bounced:
17577
18149
  type: array
17578
18150
  items:
17579
18151
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18152
+ description: Timestamps when messages bounced.
17580
18153
  delayed:
17581
18154
  type: array
17582
18155
  items:
17583
18156
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18157
+ description: Timestamps when messages were delayed.
17584
18158
  rejected:
17585
18159
  type: array
17586
18160
  items:
17587
18161
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18162
+ description: Timestamps when messages were rejected.
17588
18163
  complained:
17589
18164
  type: array
17590
18165
  items:
17591
18166
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18167
+ description: Timestamps when messages received complaints.
17592
18168
  received:
17593
18169
  type: array
17594
18170
  items:
17595
18171
  $ref: '#/components/schemas/type_metrics:MetricTimestamp'
18172
+ description: Timestamps when messages were received.
17596
18173
  type_metrics:ListMetricsResponse:
17597
18174
  type: object
17598
18175
  properties:
17599
18176
  message:
17600
18177
  $ref: '#/components/schemas/type_metrics:MessageMetrics'
18178
+ description: Message metrics grouped by event type.
17601
18179
 
17602
18180
  ```
17603
18181
 
@@ -17806,6 +18384,7 @@ components:
17806
18384
  used_at:
17807
18385
  type: string
17808
18386
  format: date-time
18387
+ description: Time at which api key was last used.
17809
18388
  created_at:
17810
18389
  $ref: '#/components/schemas/type_api-keys:CreatedAt'
17811
18390
  required:
@@ -17824,6 +18403,7 @@ components:
17824
18403
  type: array
17825
18404
  items:
17826
18405
  $ref: '#/components/schemas/type_api-keys:ApiKey'
18406
+ description: Ordered by `created_at` descending.
17827
18407
  required:
17828
18408
  - count
17829
18409
  - api_keys
@@ -18023,6 +18603,7 @@ components:
18023
18603
  $ref: '#/components/schemas/type_api-keys:ApiKeyId'
18024
18604
  api_key:
18025
18605
  type: string
18606
+ description: API key.
18026
18607
  prefix:
18027
18608
  $ref: '#/components/schemas/type_api-keys:Prefix'
18028
18609
  name:
@@ -18428,9 +19009,11 @@ components:
18428
19009
  updated_at:
18429
19010
  type: string
18430
19011
  format: date-time
19012
+ description: Time at which pod was last updated.
18431
19013
  created_at:
18432
19014
  type: string
18433
19015
  format: date-time
19016
+ description: Time at which pod was created.
18434
19017
  client_id:
18435
19018
  $ref: '#/components/schemas/type_pods:ClientId'
18436
19019
  required:
@@ -18451,6 +19034,7 @@ components:
18451
19034
  type: array
18452
19035
  items:
18453
19036
  $ref: '#/components/schemas/type_pods:Pod'
19037
+ description: Ordered by `created_at` descending.
18454
19038
  required:
18455
19039
  - count
18456
19040
  - pods
@@ -18642,9 +19226,11 @@ components:
18642
19226
  updated_at:
18643
19227
  type: string
18644
19228
  format: date-time
19229
+ description: Time at which pod was last updated.
18645
19230
  created_at:
18646
19231
  type: string
18647
19232
  format: date-time
19233
+ description: Time at which pod was created.
18648
19234
  client_id:
18649
19235
  $ref: '#/components/schemas/type_pods:ClientId'
18650
19236
  required:
@@ -18850,9 +19436,11 @@ components:
18850
19436
  updated_at:
18851
19437
  type: string
18852
19438
  format: date-time
19439
+ description: Time at which pod was last updated.
18853
19440
  created_at:
18854
19441
  type: string
18855
19442
  format: date-time
19443
+ description: Time at which pod was created.
18856
19444
  client_id:
18857
19445
  $ref: '#/components/schemas/type_pods:ClientId'
18858
19446
  required:
@@ -19294,9 +19882,11 @@ components:
19294
19882
  updated_at:
19295
19883
  type: string
19296
19884
  format: date-time
19885
+ description: Time at which inbox was last updated.
19297
19886
  created_at:
19298
19887
  type: string
19299
19888
  format: date-time
19889
+ description: Time at which inbox was created.
19300
19890
  required:
19301
19891
  - pod_id
19302
19892
  - inbox_id
@@ -19315,6 +19905,7 @@ components:
19315
19905
  type: array
19316
19906
  items:
19317
19907
  $ref: '#/components/schemas/type_inboxes:Inbox'
19908
+ description: Ordered by `created_at` descending.
19318
19909
  required:
19319
19910
  - count
19320
19911
  - inboxes
@@ -19520,9 +20111,11 @@ components:
19520
20111
  updated_at:
19521
20112
  type: string
19522
20113
  format: date-time
20114
+ description: Time at which inbox was last updated.
19523
20115
  created_at:
19524
20116
  type: string
19525
20117
  format: date-time
20118
+ description: Time at which inbox was created.
19526
20119
  required:
19527
20120
  - pod_id
19528
20121
  - inbox_id
@@ -19721,8 +20314,12 @@ components:
19721
20314
  properties:
19722
20315
  username:
19723
20316
  type: string
20317
+ description: Username of address. Randomly generated if not specified.
19724
20318
  domain:
19725
20319
  type: string
20320
+ description: >-
20321
+ Domain of address. Must be verified domain. Defaults to
20322
+ `agentmail.to`.
19726
20323
  display_name:
19727
20324
  $ref: '#/components/schemas/type_inboxes:DisplayName'
19728
20325
  client_id:
@@ -19743,9 +20340,11 @@ components:
19743
20340
  updated_at:
19744
20341
  type: string
19745
20342
  format: date-time
20343
+ description: Time at which inbox was last updated.
19746
20344
  created_at:
19747
20345
  type: string
19748
20346
  format: date-time
20347
+ description: Time at which inbox was created.
19749
20348
  required:
19750
20349
  - pod_id
19751
20350
  - inbox_id
@@ -20310,6 +20909,7 @@ components:
20310
20909
  type: array
20311
20910
  items:
20312
20911
  $ref: '#/components/schemas/type_threads:ThreadItem'
20912
+ description: Ordered by `timestamp` descending.
20313
20913
  required:
20314
20914
  - count
20315
20915
  - threads
@@ -20635,6 +21235,9 @@ components:
20635
21235
  type: array
20636
21236
  items:
20637
21237
  type: string
21238
+ description: >-
21239
+ Reply-to addresses. In format `username@domain.com` or `Display Name
21240
+ <username@domain.com>`.
20638
21241
  to:
20639
21242
  $ref: '#/components/schemas/type_messages:MessageTo'
20640
21243
  cc:
@@ -20651,8 +21254,10 @@ components:
20651
21254
  $ref: '#/components/schemas/type_messages:MessageHtml'
20652
21255
  extracted_text:
20653
21256
  type: string
21257
+ description: Extracted new text content.
20654
21258
  extracted_html:
20655
21259
  type: string
21260
+ description: Extracted new HTML content.
20656
21261
  attachments:
20657
21262
  $ref: '#/components/schemas/type_messages:MessageAttachments'
20658
21263
  in_reply_to:
@@ -20715,6 +21320,7 @@ components:
20715
21320
  type: array
20716
21321
  items:
20717
21322
  $ref: '#/components/schemas/type_messages:Message'
21323
+ description: Messages in thread. Ordered by `timestamp` ascending.
20718
21324
  required:
20719
21325
  - inbox_id
20720
21326
  - thread_id
@@ -21267,6 +21873,7 @@ components:
21267
21873
  type: array
21268
21874
  items:
21269
21875
  $ref: '#/components/schemas/type_drafts:DraftItem'
21876
+ description: Ordered by `updated_at` descending.
21270
21877
  required:
21271
21878
  - count
21272
21879
  - drafts
@@ -21570,6 +22177,7 @@ components:
21570
22177
  type: array
21571
22178
  items:
21572
22179
  type: string
22180
+ description: IDs of previous messages in thread.
21573
22181
  send_status:
21574
22182
  $ref: '#/components/schemas/type_drafts:DraftSendStatus'
21575
22183
  send_at:
@@ -21579,6 +22187,7 @@ components:
21579
22187
  created_at:
21580
22188
  type: string
21581
22189
  format: date-time
22190
+ description: Time at which draft was created.
21582
22191
  required:
21583
22192
  - inbox_id
21584
22193
  - thread_id
@@ -21832,9 +22441,11 @@ components:
21832
22441
  updated_at:
21833
22442
  type: string
21834
22443
  format: date-time
22444
+ description: Time at which the domain was last updated.
21835
22445
  created_at:
21836
22446
  type: string
21837
22447
  format: date-time
22448
+ description: Time at which the domain was created.
21838
22449
  required:
21839
22450
  - domain_id
21840
22451
  - feedback_enabled
@@ -21853,6 +22464,7 @@ components:
21853
22464
  type: array
21854
22465
  items:
21855
22466
  $ref: '#/components/schemas/type_domains:DomainItem'
22467
+ description: Ordered by `created_at` descending.
21856
22468
  required:
21857
22469
  - count
21858
22470
  - domains
@@ -22077,14 +22689,19 @@ components:
22077
22689
  properties:
22078
22690
  type:
22079
22691
  $ref: '#/components/schemas/type_domains:RecordType'
22692
+ description: The type of the DNS record.
22080
22693
  name:
22081
22694
  type: string
22695
+ description: The name or host of the record.
22082
22696
  value:
22083
22697
  type: string
22698
+ description: The value of the record.
22084
22699
  status:
22085
22700
  $ref: '#/components/schemas/type_domains:RecordStatus'
22701
+ description: The verification status of this specific record.
22086
22702
  priority:
22087
22703
  type: integer
22704
+ description: The priority of the MX record.
22088
22705
  required:
22089
22706
  - type
22090
22707
  - name
@@ -22101,20 +22718,24 @@ components:
22101
22718
  $ref: '#/components/schemas/type_domains:DomainId'
22102
22719
  status:
22103
22720
  $ref: '#/components/schemas/type_domains:VerificationStatus'
22721
+ description: The verification status of the domain.
22104
22722
  feedback_enabled:
22105
22723
  $ref: '#/components/schemas/type_domains:FeedbackEnabled'
22106
22724
  records:
22107
22725
  type: array
22108
22726
  items:
22109
22727
  $ref: '#/components/schemas/type_domains:VerificationRecord'
22728
+ description: A list of DNS records required to verify the domain.
22110
22729
  client_id:
22111
22730
  $ref: '#/components/schemas/type_domains:ClientId'
22112
22731
  updated_at:
22113
22732
  type: string
22114
22733
  format: date-time
22734
+ description: Time at which the domain was last updated.
22115
22735
  created_at:
22116
22736
  type: string
22117
22737
  format: date-time
22738
+ description: Time at which the domain was created.
22118
22739
  required:
22119
22740
  - domain_id
22120
22741
  - status