agentmail 0.5.46 → 0.5.47

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 (163) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/agent/client/Client.d.ts +3 -1
  3. package/dist/cjs/api/resources/agent/client/Client.js +3 -1
  4. package/dist/cjs/api/resources/apiKeys/types/ApiKeyPermissions.d.ts +4 -4
  5. package/dist/cjs/api/resources/calendar/types/IanaTimezone.d.ts +5 -3
  6. package/dist/cjs/api/resources/domains/types/Domain.d.ts +11 -4
  7. package/dist/cjs/api/resources/domains/types/RecordType.d.ts +1 -0
  8. package/dist/cjs/api/resources/domains/types/RecordType.js +1 -0
  9. package/dist/cjs/api/resources/domains/types/TrackingEnabled.d.ts +4 -3
  10. package/dist/cjs/api/resources/domains/types/TrackingStatus.d.ts +10 -0
  11. package/dist/cjs/api/resources/domains/types/TrackingStatus.js +3 -0
  12. package/dist/cjs/api/resources/domains/types/UpdateDomainRequest.d.ts +2 -1
  13. package/dist/cjs/api/resources/domains/types/VerificationRecord.d.ts +1 -1
  14. package/dist/cjs/api/resources/domains/types/index.d.ts +1 -0
  15. package/dist/cjs/api/resources/domains/types/index.js +1 -0
  16. package/dist/cjs/api/resources/events/types/EventId.d.ts +3 -1
  17. package/dist/cjs/api/resources/events/types/InboxIds.d.ts +1 -1
  18. package/dist/cjs/api/resources/events/types/MessageReceivedEvent.d.ts +1 -1
  19. package/dist/cjs/api/resources/events/types/PodIds.d.ts +1 -1
  20. package/dist/cjs/api/resources/events/types/ReceivedMessage.d.ts +18 -0
  21. package/dist/cjs/api/resources/events/types/ReceivedMessage.js +3 -0
  22. package/dist/cjs/api/resources/events/types/index.d.ts +1 -0
  23. package/dist/cjs/api/resources/events/types/index.js +1 -0
  24. package/dist/cjs/api/resources/inboxes/resources/calendar/client/Client.d.ts +20 -21
  25. package/dist/cjs/api/resources/inboxes/resources/calendar/client/Client.js +20 -21
  26. package/dist/cjs/api/resources/messages/types/Message.d.ts +1 -0
  27. package/dist/cjs/api/resources/messages/types/MessageAuthenticationDomain.d.ts +5 -0
  28. package/dist/cjs/api/resources/messages/types/MessageAuthenticationDomain.js +3 -0
  29. package/dist/cjs/api/resources/messages/types/MessageAuthenticationResults.d.ts +56 -0
  30. package/dist/cjs/api/resources/messages/types/MessageAuthenticationResults.js +3 -0
  31. package/dist/cjs/api/resources/messages/types/MessageAuthenticationVerdict.d.ts +16 -0
  32. package/dist/cjs/api/resources/messages/types/MessageAuthenticationVerdict.js +19 -0
  33. package/dist/cjs/api/resources/messages/types/MessageCalendarEventId.d.ts +3 -2
  34. package/dist/cjs/api/resources/messages/types/MessageHeaders.d.ts +4 -1
  35. package/dist/cjs/api/resources/messages/types/MessageItem.d.ts +1 -0
  36. package/dist/cjs/api/resources/messages/types/index.d.ts +3 -0
  37. package/dist/cjs/api/resources/messages/types/index.js +3 -0
  38. package/dist/cjs/api/resources/metrics/client/Client.d.ts +3 -4
  39. package/dist/cjs/api/resources/metrics/client/Client.js +3 -4
  40. package/dist/cjs/api/resources/organizations/client/Client.d.ts +1 -1
  41. package/dist/cjs/api/resources/organizations/client/Client.js +1 -1
  42. package/dist/cjs/api/resources/organizations/types/Organization.d.ts +12 -0
  43. package/dist/cjs/api/resources/webhooks/types/CreatePodWebhookRequest.d.ts +4 -0
  44. package/dist/cjs/api/resources/webhooks/types/CreateWebhookEventTypes.d.ts +3 -2
  45. package/dist/cjs/api/resources/webhooks/types/CreateWebhookRequest.d.ts +3 -2
  46. package/dist/cjs/api/resources/webhooks/types/UpdateInboxWebhookRequest.d.ts +6 -4
  47. package/dist/cjs/api/resources/webhooks/types/UpdatePodWebhookRequest.d.ts +2 -1
  48. package/dist/cjs/api/resources/webhooks/types/UpdateWebhookEventTypes.d.ts +2 -2
  49. package/dist/cjs/api/resources/webhooks/types/UpdateWebhookRequest.d.ts +4 -1
  50. package/dist/cjs/api/resources/webhooks/types/Webhook.d.ts +5 -1
  51. package/dist/cjs/serialization/resources/domains/types/Domain.d.ts +3 -0
  52. package/dist/cjs/serialization/resources/domains/types/Domain.js +3 -0
  53. package/dist/cjs/serialization/resources/domains/types/RecordType.d.ts +1 -1
  54. package/dist/cjs/serialization/resources/domains/types/RecordType.js +1 -1
  55. package/dist/cjs/serialization/resources/domains/types/TrackingStatus.d.ts +8 -0
  56. package/dist/cjs/serialization/resources/domains/types/TrackingStatus.js +6 -0
  57. package/dist/cjs/serialization/resources/domains/types/index.d.ts +1 -0
  58. package/dist/cjs/serialization/resources/domains/types/index.js +1 -0
  59. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.d.ts +2 -2
  60. package/dist/cjs/serialization/resources/events/types/MessageReceivedEvent.js +2 -2
  61. package/dist/cjs/serialization/resources/events/types/ReceivedMessage.d.ts +11 -0
  62. package/dist/cjs/serialization/resources/events/types/ReceivedMessage.js +45 -0
  63. package/dist/cjs/serialization/resources/events/types/index.d.ts +1 -0
  64. package/dist/cjs/serialization/resources/events/types/index.js +1 -0
  65. package/dist/cjs/serialization/resources/messages/types/Message.d.ts +2 -0
  66. package/dist/cjs/serialization/resources/messages/types/Message.js +2 -0
  67. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationDomain.d.ts +7 -0
  68. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationDomain.js +39 -0
  69. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationResults.d.ts +17 -0
  70. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationResults.js +49 -0
  71. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationVerdict.d.ts +7 -0
  72. package/dist/cjs/serialization/resources/messages/types/MessageAuthenticationVerdict.js +39 -0
  73. package/dist/cjs/serialization/resources/messages/types/MessageItem.d.ts +2 -0
  74. package/dist/cjs/serialization/resources/messages/types/MessageItem.js +2 -0
  75. package/dist/cjs/serialization/resources/messages/types/index.d.ts +3 -0
  76. package/dist/cjs/serialization/resources/messages/types/index.js +3 -0
  77. package/dist/cjs/serialization/resources/organizations/types/Organization.d.ts +2 -0
  78. package/dist/cjs/serialization/resources/organizations/types/Organization.js +2 -0
  79. package/dist/cjs/version.d.ts +1 -1
  80. package/dist/cjs/version.js +1 -1
  81. package/dist/esm/BaseClient.mjs +2 -2
  82. package/dist/esm/api/resources/agent/client/Client.d.mts +3 -1
  83. package/dist/esm/api/resources/agent/client/Client.mjs +3 -1
  84. package/dist/esm/api/resources/apiKeys/types/ApiKeyPermissions.d.mts +4 -4
  85. package/dist/esm/api/resources/calendar/types/IanaTimezone.d.mts +5 -3
  86. package/dist/esm/api/resources/domains/types/Domain.d.mts +11 -4
  87. package/dist/esm/api/resources/domains/types/RecordType.d.mts +1 -0
  88. package/dist/esm/api/resources/domains/types/RecordType.mjs +1 -0
  89. package/dist/esm/api/resources/domains/types/TrackingEnabled.d.mts +4 -3
  90. package/dist/esm/api/resources/domains/types/TrackingStatus.d.mts +10 -0
  91. package/dist/esm/api/resources/domains/types/TrackingStatus.mjs +2 -0
  92. package/dist/esm/api/resources/domains/types/UpdateDomainRequest.d.mts +2 -1
  93. package/dist/esm/api/resources/domains/types/VerificationRecord.d.mts +1 -1
  94. package/dist/esm/api/resources/domains/types/index.d.mts +1 -0
  95. package/dist/esm/api/resources/domains/types/index.mjs +1 -0
  96. package/dist/esm/api/resources/events/types/EventId.d.mts +3 -1
  97. package/dist/esm/api/resources/events/types/InboxIds.d.mts +1 -1
  98. package/dist/esm/api/resources/events/types/MessageReceivedEvent.d.mts +1 -1
  99. package/dist/esm/api/resources/events/types/PodIds.d.mts +1 -1
  100. package/dist/esm/api/resources/events/types/ReceivedMessage.d.mts +18 -0
  101. package/dist/esm/api/resources/events/types/ReceivedMessage.mjs +2 -0
  102. package/dist/esm/api/resources/events/types/index.d.mts +1 -0
  103. package/dist/esm/api/resources/events/types/index.mjs +1 -0
  104. package/dist/esm/api/resources/inboxes/resources/calendar/client/Client.d.mts +20 -21
  105. package/dist/esm/api/resources/inboxes/resources/calendar/client/Client.mjs +20 -21
  106. package/dist/esm/api/resources/messages/types/Message.d.mts +1 -0
  107. package/dist/esm/api/resources/messages/types/MessageAuthenticationDomain.d.mts +5 -0
  108. package/dist/esm/api/resources/messages/types/MessageAuthenticationDomain.mjs +2 -0
  109. package/dist/esm/api/resources/messages/types/MessageAuthenticationResults.d.mts +56 -0
  110. package/dist/esm/api/resources/messages/types/MessageAuthenticationResults.mjs +2 -0
  111. package/dist/esm/api/resources/messages/types/MessageAuthenticationVerdict.d.mts +16 -0
  112. package/dist/esm/api/resources/messages/types/MessageAuthenticationVerdict.mjs +16 -0
  113. package/dist/esm/api/resources/messages/types/MessageCalendarEventId.d.mts +3 -2
  114. package/dist/esm/api/resources/messages/types/MessageHeaders.d.mts +4 -1
  115. package/dist/esm/api/resources/messages/types/MessageItem.d.mts +1 -0
  116. package/dist/esm/api/resources/messages/types/index.d.mts +3 -0
  117. package/dist/esm/api/resources/messages/types/index.mjs +3 -0
  118. package/dist/esm/api/resources/metrics/client/Client.d.mts +3 -4
  119. package/dist/esm/api/resources/metrics/client/Client.mjs +3 -4
  120. package/dist/esm/api/resources/organizations/client/Client.d.mts +1 -1
  121. package/dist/esm/api/resources/organizations/client/Client.mjs +1 -1
  122. package/dist/esm/api/resources/organizations/types/Organization.d.mts +12 -0
  123. package/dist/esm/api/resources/webhooks/types/CreatePodWebhookRequest.d.mts +4 -0
  124. package/dist/esm/api/resources/webhooks/types/CreateWebhookEventTypes.d.mts +3 -2
  125. package/dist/esm/api/resources/webhooks/types/CreateWebhookRequest.d.mts +3 -2
  126. package/dist/esm/api/resources/webhooks/types/UpdateInboxWebhookRequest.d.mts +6 -4
  127. package/dist/esm/api/resources/webhooks/types/UpdatePodWebhookRequest.d.mts +2 -1
  128. package/dist/esm/api/resources/webhooks/types/UpdateWebhookEventTypes.d.mts +2 -2
  129. package/dist/esm/api/resources/webhooks/types/UpdateWebhookRequest.d.mts +4 -1
  130. package/dist/esm/api/resources/webhooks/types/Webhook.d.mts +5 -1
  131. package/dist/esm/serialization/resources/domains/types/Domain.d.mts +3 -0
  132. package/dist/esm/serialization/resources/domains/types/Domain.mjs +3 -0
  133. package/dist/esm/serialization/resources/domains/types/RecordType.d.mts +1 -1
  134. package/dist/esm/serialization/resources/domains/types/RecordType.mjs +1 -1
  135. package/dist/esm/serialization/resources/domains/types/TrackingStatus.d.mts +8 -0
  136. package/dist/esm/serialization/resources/domains/types/TrackingStatus.mjs +3 -0
  137. package/dist/esm/serialization/resources/domains/types/index.d.mts +1 -0
  138. package/dist/esm/serialization/resources/domains/types/index.mjs +1 -0
  139. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.d.mts +2 -2
  140. package/dist/esm/serialization/resources/events/types/MessageReceivedEvent.mjs +2 -2
  141. package/dist/esm/serialization/resources/events/types/ReceivedMessage.d.mts +11 -0
  142. package/dist/esm/serialization/resources/events/types/ReceivedMessage.mjs +9 -0
  143. package/dist/esm/serialization/resources/events/types/index.d.mts +1 -0
  144. package/dist/esm/serialization/resources/events/types/index.mjs +1 -0
  145. package/dist/esm/serialization/resources/messages/types/Message.d.mts +2 -0
  146. package/dist/esm/serialization/resources/messages/types/Message.mjs +2 -0
  147. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationDomain.d.mts +7 -0
  148. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationDomain.mjs +3 -0
  149. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationResults.d.mts +17 -0
  150. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationResults.mjs +13 -0
  151. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationVerdict.d.mts +7 -0
  152. package/dist/esm/serialization/resources/messages/types/MessageAuthenticationVerdict.mjs +3 -0
  153. package/dist/esm/serialization/resources/messages/types/MessageItem.d.mts +2 -0
  154. package/dist/esm/serialization/resources/messages/types/MessageItem.mjs +2 -0
  155. package/dist/esm/serialization/resources/messages/types/index.d.mts +3 -0
  156. package/dist/esm/serialization/resources/messages/types/index.mjs +3 -0
  157. package/dist/esm/serialization/resources/organizations/types/Organization.d.mts +2 -0
  158. package/dist/esm/serialization/resources/organizations/types/Organization.mjs +2 -0
  159. package/dist/esm/version.d.mts +1 -1
  160. package/dist/esm/version.mjs +1 -1
  161. package/dist/llms.txt +20 -2
  162. package/package.json +3 -2
  163. package/reference.md +27 -27
@@ -38,9 +38,8 @@ export class CalendarClient {
38
38
  * created. Its `etag` (also the `ETag` response header) is the value to send in `If-Match` to
39
39
  * make an update conditional.
40
40
  *
41
- * Requires the `calendar_read` permission. Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`)
42
- * but not yet in EU production (`api.agentmail.eu`). Organizations that have not joined
43
- * Labs receive a `403`.
41
+ * Requires the `calendar_read` permission. Calendar is available in US production
42
+ * (`api.agentmail.to`) but not yet in EU production (`api.agentmail.eu`), which returns `403`.
44
43
  *
45
44
  * @param {AgentMail.inboxes.InboxId} inbox_id
46
45
  * @param {AgentMail.inboxes.GetCalendarRequest} request
@@ -141,8 +140,8 @@ export class CalendarClient {
141
140
  * calendar's current `etag` in `If-Match`: a stale value returns `412`. Without `If-Match` the
142
141
  * update applies to the calendar as it is.
143
142
  *
144
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
145
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
143
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
144
+ * (`api.agentmail.eu`), which returns `403`.
146
145
  *
147
146
  * @param {AgentMail.inboxes.InboxId} inbox_id
148
147
  * @param {AgentMail.inboxes.UpdateCalendarRequestWrapper} request
@@ -272,8 +271,8 @@ export class CalendarClient {
272
271
  * The list is always read in the region that serves the request, so it can trail a change made
273
272
  * moments earlier by a few seconds. Requires the `calendar_event_read` permission.
274
273
  *
275
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
276
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
274
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
275
+ * (`api.agentmail.eu`), which returns `403`.
277
276
  *
278
277
  * @param {AgentMail.inboxes.InboxId} inbox_id
279
278
  * @param {AgentMail.inboxes.ListCalendarEventsRequest} request
@@ -382,8 +381,8 @@ export class CalendarClient {
382
381
  * moments earlier by a few seconds. Pass `consistency=primary` to read your own change right
383
382
  * away. Requires the `calendar_event_read` permission.
384
383
  *
385
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
386
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
384
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
385
+ * (`api.agentmail.eu`), which returns `403`.
387
386
  *
388
387
  * @param {AgentMail.inboxes.InboxId} inbox_id
389
388
  * @param {AgentMail.inboxes.GetCalendarAgendaRequest} request
@@ -516,8 +515,8 @@ export class CalendarClient {
516
515
  * The event's `etag` is the value to send in `If-Match` to make a later update or delete
517
516
  * conditional. Requires the `calendar_event_create` permission.
518
517
  *
519
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
520
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
518
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
519
+ * (`api.agentmail.eu`), which returns `403`.
521
520
  *
522
521
  * @param {AgentMail.inboxes.InboxId} inbox_id
523
522
  * @param {AgentMail.CreateCalendarEventRequest} request
@@ -675,8 +674,8 @@ export class CalendarClient {
675
674
  * reads back as it ran, even if a later change to the series no longer produces it. Requires
676
675
  * the `calendar_event_read` permission.
677
676
  *
678
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
679
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
677
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
678
+ * (`api.agentmail.eu`), which returns `403`.
680
679
  *
681
680
  * @param {AgentMail.inboxes.InboxId} inbox_id
682
681
  * @param {AgentMail.CalendarEventId} event_id
@@ -808,8 +807,8 @@ export class CalendarClient {
808
807
  * send limits, charged before the change is saved; an over-limit request returns `429`
809
808
  * `rate_limit_exceeded` and changes nothing.
810
809
  *
811
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
812
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
810
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
811
+ * (`api.agentmail.eu`), which returns `403`.
813
812
  *
814
813
  * @param {AgentMail.inboxes.InboxId} inbox_id
815
814
  * @param {AgentMail.CalendarEventId} event_id
@@ -988,8 +987,8 @@ export class CalendarClient {
988
987
  * send limits, charged before the delete; an over-limit request returns `429`
989
988
  * `rate_limit_exceeded` and deletes nothing.
990
989
  *
991
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
992
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
990
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
991
+ * (`api.agentmail.eu`), which returns `403`.
993
992
  *
994
993
  * @param {AgentMail.inboxes.InboxId} inbox_id
995
994
  * @param {AgentMail.CalendarEventId} event_id
@@ -1138,8 +1137,8 @@ export class CalendarClient {
1138
1137
  * trail a change made moments earlier by a few seconds; pass `consistency=primary` to read
1139
1138
  * your own change right away. Requires the `calendar_event_read` permission.
1140
1139
  *
1141
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
1142
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
1140
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
1141
+ * (`api.agentmail.eu`), which returns `403`.
1143
1142
  *
1144
1143
  * @param {AgentMail.inboxes.InboxId} inbox_id
1145
1144
  * @param {string} event_id - UUID of the recurring event.
@@ -1276,8 +1275,8 @@ export class CalendarClient {
1276
1275
  * charged before the response is saved; an over-limit request returns `429`
1277
1276
  * `rate_limit_exceeded` and changes nothing.
1278
1277
  *
1279
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
1280
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
1278
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
1279
+ * (`api.agentmail.eu`), which returns `403`.
1281
1280
  *
1282
1281
  * @param {AgentMail.inboxes.InboxId} inbox_id
1283
1282
  * @param {AgentMail.CalendarEventId} event_id
@@ -24,6 +24,7 @@ export interface Message {
24
24
  calendarEventId?: AgentMail.MessageCalendarEventId;
25
25
  references?: AgentMail.MessageReferences;
26
26
  headers?: AgentMail.MessageHeaders;
27
+ authenticationResults?: AgentMail.MessageAuthenticationResults;
27
28
  agentArmor?: AgentMail.AgentArmorResult;
28
29
  size: AgentMail.MessageSize;
29
30
  updatedAt: AgentMail.MessageUpdatedAt;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The domain an authentication verdict is about, lowercase. Present only beside its verdict:
3
+ * when the verdict is withheld, so is the domain.
4
+ */
5
+ export type MessageAuthenticationDomain = string;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,56 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * Per-mechanism SPF, DKIM, and DMARC verdicts for a received message, each with the domain it
4
+ * is about, kept only where they speak for the sender's From identity. A verdict that could
5
+ * not be computed is absent, so the field can be `{}`. The field is absent on sent messages
6
+ * and on messages received before 2026-09-09; the `*_domain` and `arc_sealer` keys appear on
7
+ * messages received after they were introduced.
8
+ *
9
+ * The verdicts are the ones Amazon SES computed when the message reached AgentMail, with one
10
+ * exception. Forwarded mail fails DMARC at the receiving hop by construction. When AgentMail
11
+ * delivers a forwarded message as authenticated because a trusted forwarder (such as Google or
12
+ * Microsoft) sealed a valid ARC chain vouching for the original, the field reports the
13
+ * verdicts that forwarder recorded for the original message, and `arc_sealer` names it.
14
+ *
15
+ * - `spf` is about the envelope MAIL FROM (Return-Path) domain, named in `spf_domain`. It is
16
+ * present only when that domain is aligned with the sender's domain (the From mailbox, or
17
+ * the Sender header when From spans domains), meaning the two share an organizational
18
+ * domain: `mail.example.com` is aligned with `example.com`. An unaligned SPF result is
19
+ * withheld whatever its value.
20
+ * - `dkim` is the DKIM verdict, and `dkim_domain` the signing domain (the `d=` tag). On
21
+ * directly received mail the domain is named only when every DKIM signature on the message
22
+ * is from the same domain; a message signed by more than one domain (a sender and its email
23
+ * provider, for instance) keeps the verdict and omits the domain. `dkim_domain` is the
24
+ * signing domain as written, so compare it with the From domain before relying on it.
25
+ * - `dmarc` is the DMARC verdict for the From domain, named in `dmarc_domain`.
26
+ * - `dkim` and `dmarc` are withheld when the From list spans more than one domain or could not
27
+ * be fully parsed.
28
+ * - On forwarded mail each sealed verdict is reported only when the domain the forwarder
29
+ * recorded it for matches the message's current From domain. If the forwarder rewrote From,
30
+ * or vouched for nothing, the field is `{}`.
31
+ *
32
+ * The `unauthenticated` label, not this field, is AgentMail's acceptance decision, and it uses
33
+ * a looser rule, so the two can disagree: a single-From message whose only pass is an
34
+ * unaligned envelope SPF is delivered without the label while this field shows no pass. Use
35
+ * the label to tell whether AgentMail accepted the message as legitimate, and this field to
36
+ * see which domain each mechanism authenticated. Do not reject mail on `dmarc: fail` alone.
37
+ */
38
+ export interface MessageAuthenticationResults {
39
+ spf?: AgentMail.MessageAuthenticationVerdict;
40
+ dkim?: AgentMail.MessageAuthenticationVerdict;
41
+ dmarc?: AgentMail.MessageAuthenticationVerdict;
42
+ /** Envelope MAIL FROM domain the `spf` verdict is about (`smtp.mailfrom`). */
43
+ spfDomain?: AgentMail.MessageAuthenticationDomain;
44
+ /**
45
+ * Signing domain the `dkim` verdict is about (`header.d`). Present only when `dkim` is
46
+ * `pass` or `fail`.
47
+ */
48
+ dkimDomain?: AgentMail.MessageAuthenticationDomain;
49
+ /** From domain the `dmarc` verdict is about (`header.from`). */
50
+ dmarcDomain?: AgentMail.MessageAuthenticationDomain;
51
+ /**
52
+ * Domain of the trusted forwarder whose ARC seal the verdicts were taken from, such as
53
+ * `google.com`. Present only on forwarded mail, and only beside at least one verdict.
54
+ */
55
+ arcSealer?: AgentMail.MessageAuthenticationDomain;
56
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Result of one email authentication mechanism, in the vocabulary of the
3
+ * `Authentication-Results` header (RFC 8601). `none` means there was nothing to evaluate
4
+ * (Amazon SES calls this GRAY): no SPF record for the envelope MAIL FROM domain, no DKIM
5
+ * signature to check, or no DMARC record for the From domain.
6
+ */
7
+ export declare const MessageAuthenticationVerdict: {
8
+ readonly Pass: "pass";
9
+ readonly Fail: "fail";
10
+ readonly None: "none";
11
+ readonly Neutral: "neutral";
12
+ readonly Softfail: "softfail";
13
+ readonly Temperror: "temperror";
14
+ readonly Permerror: "permerror";
15
+ };
16
+ export type MessageAuthenticationVerdict = (typeof MessageAuthenticationVerdict)[keyof typeof MessageAuthenticationVerdict];
@@ -0,0 +1,16 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ /**
3
+ * Result of one email authentication mechanism, in the vocabulary of the
4
+ * `Authentication-Results` header (RFC 8601). `none` means there was nothing to evaluate
5
+ * (Amazon SES calls this GRAY): no SPF record for the envelope MAIL FROM domain, no DKIM
6
+ * signature to check, or no DMARC record for the From domain.
7
+ */
8
+ export const MessageAuthenticationVerdict = {
9
+ Pass: "pass",
10
+ Fail: "fail",
11
+ None: "none",
12
+ Neutral: "neutral",
13
+ Softfail: "softfail",
14
+ Temperror: "temperror",
15
+ Permerror: "permerror",
16
+ };
@@ -2,7 +2,8 @@
2
2
  * The calendar event this email's invitation was applied to: set when the email's calendar
3
3
  * invitation, update, cancellation or attendee reply changed the inbox's calendar, a few seconds
4
4
  * after the email arrives. For an email about one date of a recurring event, it is that date's
5
- * event ID. Absent on other emails, and on invitations that were not imported. Calendar is in
6
- * AgentMail Labs.
5
+ * event ID. Absent on other emails, and on invitations that were not imported. The
6
+ * `message.received` event for an email with a calendar attachment waits until this is set, at
7
+ * most 20 seconds, so it usually arrives with it. Calendar is available in US production.
7
8
  */
8
9
  export type MessageCalendarEventId = string;
@@ -1,4 +1,7 @@
1
1
  /**
2
- * Headers in message.
2
+ * Headers in message. `Authentication-Results` is never included, on received or sent
3
+ * messages: the header is unsigned, so a sender can plant a forged copy. Read
4
+ * `authentication_results` for the verdicts instead. Get Raw Message still returns every copy
5
+ * of the header.
3
6
  */
4
7
  export type MessageHeaders = Record<string, string>;
@@ -16,6 +16,7 @@ export interface MessageItem {
16
16
  calendarEventId?: AgentMail.MessageCalendarEventId;
17
17
  references?: AgentMail.MessageReferences;
18
18
  headers?: AgentMail.MessageHeaders;
19
+ authenticationResults?: AgentMail.MessageAuthenticationResults;
19
20
  agentArmor?: AgentMail.AgentArmorResult;
20
21
  size: AgentMail.MessageSize;
21
22
  updatedAt: AgentMail.MessageUpdatedAt;
@@ -8,6 +8,9 @@ export * from "./BatchUpdateMessagesResponse.mjs";
8
8
  export * from "./ListMessagesResponse.mjs";
9
9
  export * from "./Message.mjs";
10
10
  export * from "./MessageAttachments.mjs";
11
+ export * from "./MessageAuthenticationDomain.mjs";
12
+ export * from "./MessageAuthenticationResults.mjs";
13
+ export * from "./MessageAuthenticationVerdict.mjs";
11
14
  export * from "./MessageBcc.mjs";
12
15
  export * from "./MessageCalendarEventId.mjs";
13
16
  export * from "./MessageCc.mjs";
@@ -8,6 +8,9 @@ export * from "./BatchUpdateMessagesResponse.mjs";
8
8
  export * from "./ListMessagesResponse.mjs";
9
9
  export * from "./Message.mjs";
10
10
  export * from "./MessageAttachments.mjs";
11
+ export * from "./MessageAuthenticationDomain.mjs";
12
+ export * from "./MessageAuthenticationResults.mjs";
13
+ export * from "./MessageAuthenticationVerdict.mjs";
11
14
  export * from "./MessageBcc.mjs";
12
15
  export * from "./MessageCalendarEventId.mjs";
13
16
  export * from "./MessageCc.mjs";
@@ -54,10 +54,9 @@ export declare class MetricsClient {
54
54
  * `period` grid point, the bounced (or complained) messages over the
55
55
  * preceding `window` divided by the messages sent over the same window,
56
56
  * with the send count alongside so you can see the volume behind
57
- * it. This is the number AgentMail's account moderation acts on: a
58
- * warning at a 5% bounce rate and suspension at 10%, evaluated over a
59
- * rolling 24 hours once at least 1,000 messages were sent in that
60
- * window. Defaults to the rolling 24-hour rate sampled hourly over the
57
+ * it. AgentMail weighs bounce and complaint signals when deciding
58
+ * whether to suspend an account's sending, so keep both rates low.
59
+ * Defaults to the rolling 24-hour rate sampled hourly over the
61
60
  * last day; `start` must be within the last 90 days, `window` must be a
62
61
  * whole multiple of `period`, and the range plus window divided by
63
62
  * `period` must not exceed 1000 buckets.
@@ -203,10 +203,9 @@ export class MetricsClient {
203
203
  * `period` grid point, the bounced (or complained) messages over the
204
204
  * preceding `window` divided by the messages sent over the same window,
205
205
  * with the send count alongside so you can see the volume behind
206
- * it. This is the number AgentMail's account moderation acts on: a
207
- * warning at a 5% bounce rate and suspension at 10%, evaluated over a
208
- * rolling 24 hours once at least 1,000 messages were sent in that
209
- * window. Defaults to the rolling 24-hour rate sampled hourly over the
206
+ * it. AgentMail weighs bounce and complaint signals when deciding
207
+ * whether to suspend an account's sending, so keep both rates low.
208
+ * Defaults to the rolling 24-hour rate sampled hourly over the
210
209
  * last day; `start` must be within the last 90 days, `window` must be a
211
210
  * whole multiple of `period`, and the range plus window divided by
212
211
  * `period` must not exceed 1000 buckets.
@@ -26,7 +26,7 @@ export declare class OrganizationsClient {
26
26
  get(requestOptions?: OrganizationsClient.RequestOptions): core.HttpResponsePromise<AgentMail.Organization>;
27
27
  private __get;
28
28
  /**
29
- * Returns whether the organization is in [AgentMail Labs](https://docs.agentmail.to/calendar), which turns on features that are still in preview, such as calendar. Requires an organization-scoped API key.
29
+ * Returns whether the organization is in AgentMail Labs, which turns on features that are still in preview, such as [Agent Armor](https://docs.agentmail.to/agent-armor). Requires an organization-scoped API key.
30
30
  *
31
31
  * **CLI:**
32
32
  * ```bash
@@ -76,7 +76,7 @@ export class OrganizationsClient {
76
76
  });
77
77
  }
78
78
  /**
79
- * Returns whether the organization is in [AgentMail Labs](https://docs.agentmail.to/calendar), which turns on features that are still in preview, such as calendar. Requires an organization-scoped API key.
79
+ * Returns whether the organization is in AgentMail Labs, which turns on features that are still in preview, such as [Agent Armor](https://docs.agentmail.to/agent-armor). Requires an organization-scoped API key.
80
80
  *
81
81
  * **CLI:**
82
82
  * ```bash
@@ -22,6 +22,18 @@ export interface Organization {
22
22
  authenticationId?: string;
23
23
  /** Authentication provider type. */
24
24
  authenticationType?: string;
25
+ /**
26
+ * Time at which the organization was suspended. Absent when it is not suspended. A suspended
27
+ * organization cannot send, but it still receives mail, its webhooks and WebSocket events still
28
+ * fire, and API reads keep working. See [account_suspended](https://docs.agentmail.to/errors#account_suspended).
29
+ */
30
+ suspendedAt?: Date;
31
+ /**
32
+ * Why the organization is suspended, in a short machine-readable form such as `message.bounced`
33
+ * or `message.complained`. Absent when it is not suspended. Email support@agentmail.cc to resolve
34
+ * a suspension.
35
+ */
36
+ suspendedReason?: string;
25
37
  /** Time at which organization was last updated. */
26
38
  updatedAt: Date;
27
39
  /** Time at which organization was created. */
@@ -5,5 +5,9 @@ import type * as AgentMail from "../../../index.mjs";
5
5
  * receive events for the whole pod.
6
6
  */
7
7
  export interface CreatePodWebhookRequest extends AgentMail.webhooks.CreateInboxWebhookRequest {
8
+ /**
9
+ * Inboxes for which to send events. A webhook can list at most 10 inboxes and pods combined;
10
+ * more returns `403` with `limit_exceeded`.
11
+ */
8
12
  inboxIds?: AgentMail.InboxIds;
9
13
  }
@@ -1,7 +1,8 @@
1
1
  import type * as AgentMail from "../../../index.mjs";
2
2
  /**
3
- * Full list of event types this webhook should receive. At least one type is required. Send every type you
4
- * want in this array (not incremental). See [Webhooks overview](https://docs.agentmail.to/webhooks-overview)
3
+ * Full list of event types this webhook should receive. Required: omitting it or sending an empty array
4
+ * returns a `400`, and there is no "all events" default. Send every type you want in this array (not
5
+ * incremental). See [Webhooks overview](https://docs.agentmail.to/webhooks-overview)
5
6
  * for spam, blocked, and unauthenticated events and required permissions.
6
7
  */
7
8
  export type CreateWebhookEventTypes = AgentMail.EventTypes;
@@ -1,8 +1,9 @@
1
1
  import type * as AgentMail from "../../../index.mjs";
2
2
  export interface CreateWebhookRequest extends AgentMail.webhooks.CreatePodWebhookRequest {
3
3
  /**
4
- * Pods for which to send events. Maximum 10 per webhook. The webhook receives an event that matches
5
- * any listed pod or inbox, so a listed pod already covers every inbox in it.
4
+ * Pods for which to send events. A webhook can list at most 10 pods and inboxes combined; more returns
5
+ * `403` with `limit_exceeded`. The webhook receives an event that matches any listed pod or inbox, so a
6
+ * listed pod already covers every inbox in it.
6
7
  */
7
8
  podIds?: AgentMail.PodIds;
8
9
  }
@@ -7,10 +7,12 @@ export interface UpdateInboxWebhookRequest {
7
7
  eventTypes?: AgentMail.webhooks.UpdateWebhookEventTypes;
8
8
  /**
9
9
  * Set to true to re-enable a webhook that was disabled after repeated failed deliveries, or false
10
- * to disable it. Events that occurred while the webhook was disabled are not redelivered.
11
- * Re-enabling a webhook subscribed to `message.received.spam`, `message.received.blocked`, or
12
- * `message.received.unauthenticated` (or to every event type, with no filter) requires the
13
- * matching label permissions on the API key.
10
+ * to disable it. AgentMail does not notify you when a webhook is disabled automatically; check this
11
+ * field when you get or list webhooks. Events that occurred while the webhook was disabled are not
12
+ * redelivered. Re-enabling requires the read permission for every restricted event type the webhook
13
+ * subscribes to: `label_spam_read`, `label_blocked_read`, or `label_unauthenticated_read` for the
14
+ * received variants, `message_read` for `message.security.*`, and `calendar_event_read` for
15
+ * `calendar.event.*`. A webhook with no event type filter is checked against all of them.
14
16
  */
15
17
  enabled?: boolean;
16
18
  }
@@ -7,7 +7,8 @@ export interface UpdatePodWebhookRequest extends AgentMail.webhooks.UpdateInboxW
7
7
  /**
8
8
  * Inbox IDs to subscribe to the webhook. This only adds to what the webhook receives: on a webhook
9
9
  * that covers its whole pod, it changes nothing. To receive only specific inboxes, create a webhook
10
- * with `inbox_ids` instead.
10
+ * with `inbox_ids` instead. The webhook can list at most 10 inboxes and pods combined after the
11
+ * update.
11
12
  */
12
13
  addInboxIds?: AgentMail.InboxIds;
13
14
  /** Inbox IDs to unsubscribe from the webhook. */
@@ -3,8 +3,8 @@ import type * as AgentMail from "../../../index.mjs";
3
3
  * When you send a non-empty list, it replaces the webhook's subscribed event types in full (the same
4
4
  * "set the list" behavior as create). It is not a merge or diff: include every event type you want after
5
5
  * the update. Sending a one-element array means the webhook will only receive that one type afterward.
6
- * Omit this field or send an empty array to leave event types unchanged. Clearing all types with an empty
7
- * list is not supported. Subscribing to `message.received.spam`, `message.received.blocked`, or
6
+ * Omit this field to leave event types unchanged. An empty array is rejected with a `400`: a webhook
7
+ * always has at least one event type. Subscribing to `message.received.spam`, `message.received.blocked`, or
8
8
  * `message.received.unauthenticated` requires the matching label permission on the API key.
9
9
  */
10
10
  export type UpdateWebhookEventTypes = AgentMail.EventTypes;
@@ -1,6 +1,9 @@
1
1
  import type * as AgentMail from "../../../index.mjs";
2
2
  export interface UpdateWebhookRequest extends AgentMail.webhooks.UpdatePodWebhookRequest {
3
- /** Pod IDs to subscribe to the webhook. */
3
+ /**
4
+ * Pod IDs to subscribe to the webhook. The webhook can list at most 10 pods and inboxes combined
5
+ * after the update.
6
+ */
4
7
  addPodIds?: AgentMail.PodIds;
5
8
  /** Pod IDs to unsubscribe from the webhook. */
6
9
  removePodIds?: AgentMail.PodIds;
@@ -18,7 +18,11 @@ export interface Webhook {
18
18
  inboxId?: string;
19
19
  /** Secret for webhook signature verification. */
20
20
  secret: string;
21
- /** Webhook is enabled. */
21
+ /**
22
+ * Whether the webhook is enabled. It becomes false when you disable it, and also when deliveries to
23
+ * the URL have failed for 5 days, in which case AgentMail sends no notification. Re-enable it with
24
+ * update and `enabled` set to true.
25
+ */
22
26
  enabled: boolean;
23
27
  /** Time at which webhook was last updated. */
24
28
  updatedAt: Date;
@@ -10,6 +10,7 @@ import { InboundEnabled } from "./InboundEnabled.mjs";
10
10
  import { Status } from "./Status.mjs";
11
11
  import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
12
12
  import { TrackingEnabled } from "./TrackingEnabled.mjs";
13
+ import { TrackingStatus } from "./TrackingStatus.mjs";
13
14
  import { VerificationRecord } from "./VerificationRecord.mjs";
14
15
  export declare const Domain: core.serialization.ObjectSchema<serializers.Domain.Raw, AgentMail.Domain>;
15
16
  export declare namespace Domain {
@@ -23,6 +24,8 @@ export declare namespace Domain {
23
24
  inbound_enabled?: InboundEnabled.Raw | null;
24
25
  subdomains_enabled: SubdomainsEnabled.Raw;
25
26
  tracking_enabled: TrackingEnabled.Raw;
27
+ tracking_status?: TrackingStatus.Raw | null;
28
+ tracking_reason?: string | null;
26
29
  records: VerificationRecord.Raw[];
27
30
  client_id?: ClientId.Raw | null;
28
31
  updated_at: string;
@@ -9,6 +9,7 @@ import { InboundEnabled } from "./InboundEnabled.mjs";
9
9
  import { Status } from "./Status.mjs";
10
10
  import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
11
11
  import { TrackingEnabled } from "./TrackingEnabled.mjs";
12
+ import { TrackingStatus } from "./TrackingStatus.mjs";
12
13
  import { VerificationRecord } from "./VerificationRecord.mjs";
13
14
  export const Domain = core.serialization.object({
14
15
  podId: core.serialization.property("pod_id", PodId.optional()),
@@ -20,6 +21,8 @@ export const Domain = core.serialization.object({
20
21
  inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled.optional()),
21
22
  subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled),
22
23
  trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled),
24
+ trackingStatus: core.serialization.property("tracking_status", TrackingStatus.optional()),
25
+ trackingReason: core.serialization.property("tracking_reason", core.serialization.string().optional()),
23
26
  records: core.serialization.list(VerificationRecord),
24
27
  clientId: core.serialization.property("client_id", ClientId.optional()),
25
28
  updatedAt: core.serialization.property("updated_at", core.serialization.date()),
@@ -3,5 +3,5 @@ import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
4
  export declare const RecordType: core.serialization.Schema<serializers.RecordType.Raw, AgentMail.RecordType>;
5
5
  export declare namespace RecordType {
6
- type Raw = "TXT" | "CNAME" | "MX";
6
+ type Raw = "TXT" | "CNAME" | "MX" | "CAA";
7
7
  }
@@ -1,3 +1,3 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../../../core/index.mjs";
3
- export const RecordType = core.serialization.enum_(["TXT", "CNAME", "MX"]);
3
+ export const RecordType = core.serialization.enum_(["TXT", "CNAME", "MX", "CAA"]);
@@ -0,0 +1,8 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import type * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ import { VerificationStatus } from "./VerificationStatus.mjs";
5
+ export declare const TrackingStatus: core.serialization.Schema<serializers.TrackingStatus.Raw, AgentMail.TrackingStatus>;
6
+ export declare namespace TrackingStatus {
7
+ type Raw = VerificationStatus.Raw;
8
+ }
@@ -0,0 +1,3 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import { VerificationStatus } from "./VerificationStatus.mjs";
3
+ export const TrackingStatus = VerificationStatus;
@@ -13,6 +13,7 @@ export * from "./RecordType.mjs";
13
13
  export * from "./Status.mjs";
14
14
  export * from "./SubdomainsEnabled.mjs";
15
15
  export * from "./TrackingEnabled.mjs";
16
+ export * from "./TrackingStatus.mjs";
16
17
  export * from "./UpdateDomainRequest.mjs";
17
18
  export * from "./VerificationRecord.mjs";
18
19
  export * from "./VerificationStatus.mjs";
@@ -13,6 +13,7 @@ export * from "./RecordType.mjs";
13
13
  export * from "./Status.mjs";
14
14
  export * from "./SubdomainsEnabled.mjs";
15
15
  export * from "./TrackingEnabled.mjs";
16
+ export * from "./TrackingStatus.mjs";
16
17
  export * from "./UpdateDomainRequest.mjs";
17
18
  export * from "./VerificationRecord.mjs";
18
19
  export * from "./VerificationStatus.mjs";
@@ -1,17 +1,17 @@
1
1
  import type * as AgentMail from "../../../../api/index.mjs";
2
2
  import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
- import { Message } from "../../messages/types/Message.mjs";
5
4
  import { ThreadItem } from "../../threads/types/ThreadItem.mjs";
6
5
  import { EventId } from "./EventId.mjs";
7
6
  import { MessageReceivedEventType } from "./MessageReceivedEventType.mjs";
7
+ import { ReceivedMessage } from "./ReceivedMessage.mjs";
8
8
  export declare const MessageReceivedEvent: core.serialization.ObjectSchema<serializers.MessageReceivedEvent.Raw, AgentMail.MessageReceivedEvent>;
9
9
  export declare namespace MessageReceivedEvent {
10
10
  interface Raw {
11
11
  type: "event";
12
12
  event_type: MessageReceivedEventType.Raw;
13
13
  event_id: EventId.Raw;
14
- message: Message.Raw;
14
+ message: ReceivedMessage.Raw;
15
15
  thread: ThreadItem.Raw;
16
16
  }
17
17
  }
@@ -1,13 +1,13 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../../../core/index.mjs";
3
- import { Message } from "../../messages/types/Message.mjs";
4
3
  import { ThreadItem } from "../../threads/types/ThreadItem.mjs";
5
4
  import { EventId } from "./EventId.mjs";
6
5
  import { MessageReceivedEventType } from "./MessageReceivedEventType.mjs";
6
+ import { ReceivedMessage } from "./ReceivedMessage.mjs";
7
7
  export const MessageReceivedEvent = core.serialization.object({
8
8
  type: core.serialization.stringLiteral("event"),
9
9
  eventType: core.serialization.property("event_type", MessageReceivedEventType),
10
10
  eventId: core.serialization.property("event_id", EventId),
11
- message: Message,
11
+ message: ReceivedMessage,
12
12
  thread: ThreadItem,
13
13
  });
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ import { Message } from "../../messages/types/Message.mjs";
5
+ export declare const ReceivedMessage: core.serialization.ObjectSchema<serializers.ReceivedMessage.Raw, AgentMail.ReceivedMessage>;
6
+ export declare namespace ReceivedMessage {
7
+ interface Raw extends Message.Raw {
8
+ body_url?: string | null;
9
+ body_expires_at?: string | null;
10
+ }
11
+ }
@@ -0,0 +1,9 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../../../core/index.mjs";
3
+ import { Message } from "../../messages/types/Message.mjs";
4
+ export const ReceivedMessage = core.serialization
5
+ .object({
6
+ bodyUrl: core.serialization.property("body_url", core.serialization.string().optional()),
7
+ bodyExpiresAt: core.serialization.property("body_expires_at", core.serialization.date().optional()),
8
+ })
9
+ .extend(Message);
@@ -28,6 +28,7 @@ export * from "./MessageSecurityReviewEvent.mjs";
28
28
  export * from "./MessageSentEvent.mjs";
29
29
  export * from "./Open.mjs";
30
30
  export * from "./PodIds.mjs";
31
+ export * from "./ReceivedMessage.mjs";
31
32
  export * from "./Recipient.mjs";
32
33
  export * from "./Reject.mjs";
33
34
  export * from "./Send.mjs";