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
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.MessageAuthenticationVerdict = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ exports.MessageAuthenticationVerdict = core.serialization.enum_(["pass", "fail", "none", "neutral", "softfail", "temperror", "permerror"]);
@@ -5,6 +5,7 @@ import { AgentArmorResult } from "../../agentArmor/types/AgentArmorResult.js";
5
5
  import { InboxId } from "../../inboxes/types/InboxId.js";
6
6
  import { ThreadId } from "../../threads/types/ThreadId.js";
7
7
  import { MessageAttachments } from "./MessageAttachments.js";
8
+ import { MessageAuthenticationResults } from "./MessageAuthenticationResults.js";
8
9
  import { MessageBcc } from "./MessageBcc.js";
9
10
  import { MessageCalendarEventId } from "./MessageCalendarEventId.js";
10
11
  import { MessageCc } from "./MessageCc.js";
@@ -40,6 +41,7 @@ export declare namespace MessageItem {
40
41
  calendar_event_id?: MessageCalendarEventId.Raw | null;
41
42
  references?: MessageReferences.Raw | null;
42
43
  headers?: MessageHeaders.Raw | null;
44
+ authentication_results?: MessageAuthenticationResults.Raw | null;
43
45
  agent_armor?: AgentArmorResult.Raw | null;
44
46
  size: MessageSize.Raw;
45
47
  updated_at: MessageUpdatedAt.Raw;
@@ -40,6 +40,7 @@ const AgentArmorResult_js_1 = require("../../agentArmor/types/AgentArmorResult.j
40
40
  const InboxId_js_1 = require("../../inboxes/types/InboxId.js");
41
41
  const ThreadId_js_1 = require("../../threads/types/ThreadId.js");
42
42
  const MessageAttachments_js_1 = require("./MessageAttachments.js");
43
+ const MessageAuthenticationResults_js_1 = require("./MessageAuthenticationResults.js");
43
44
  const MessageBcc_js_1 = require("./MessageBcc.js");
44
45
  const MessageCalendarEventId_js_1 = require("./MessageCalendarEventId.js");
45
46
  const MessageCc_js_1 = require("./MessageCc.js");
@@ -73,6 +74,7 @@ exports.MessageItem = core.serialization.object({
73
74
  calendarEventId: core.serialization.property("calendar_event_id", MessageCalendarEventId_js_1.MessageCalendarEventId.optional()),
74
75
  references: MessageReferences_js_1.MessageReferences.optional(),
75
76
  headers: MessageHeaders_js_1.MessageHeaders.optional(),
77
+ authenticationResults: core.serialization.property("authentication_results", MessageAuthenticationResults_js_1.MessageAuthenticationResults.optional()),
76
78
  agentArmor: core.serialization.property("agent_armor", AgentArmorResult_js_1.AgentArmorResult.optional()),
77
79
  size: MessageSize_js_1.MessageSize,
78
80
  updatedAt: core.serialization.property("updated_at", MessageUpdatedAt_js_1.MessageUpdatedAt),
@@ -8,6 +8,9 @@ export * from "./BatchUpdateMessagesResponse.js";
8
8
  export * from "./ListMessagesResponse.js";
9
9
  export * from "./Message.js";
10
10
  export * from "./MessageAttachments.js";
11
+ export * from "./MessageAuthenticationDomain.js";
12
+ export * from "./MessageAuthenticationResults.js";
13
+ export * from "./MessageAuthenticationVerdict.js";
11
14
  export * from "./MessageBcc.js";
12
15
  export * from "./MessageCalendarEventId.js";
13
16
  export * from "./MessageCc.js";
@@ -24,6 +24,9 @@ __exportStar(require("./BatchUpdateMessagesResponse.js"), exports);
24
24
  __exportStar(require("./ListMessagesResponse.js"), exports);
25
25
  __exportStar(require("./Message.js"), exports);
26
26
  __exportStar(require("./MessageAttachments.js"), exports);
27
+ __exportStar(require("./MessageAuthenticationDomain.js"), exports);
28
+ __exportStar(require("./MessageAuthenticationResults.js"), exports);
29
+ __exportStar(require("./MessageAuthenticationVerdict.js"), exports);
27
30
  __exportStar(require("./MessageBcc.js"), exports);
28
31
  __exportStar(require("./MessageCalendarEventId.js"), exports);
29
32
  __exportStar(require("./MessageCc.js"), exports);
@@ -15,6 +15,8 @@ export declare namespace Organization {
15
15
  billing_subscription_id?: string | null;
16
16
  authentication_id?: string | null;
17
17
  authentication_type?: string | null;
18
+ suspended_at?: string | null;
19
+ suspended_reason?: string | null;
18
20
  updated_at: string;
19
21
  created_at: string;
20
22
  }
@@ -48,6 +48,8 @@ exports.Organization = core.serialization.object({
48
48
  billingSubscriptionId: core.serialization.property("billing_subscription_id", core.serialization.string().optional()),
49
49
  authenticationId: core.serialization.property("authentication_id", core.serialization.string().optional()),
50
50
  authenticationType: core.serialization.property("authentication_type", core.serialization.string().optional()),
51
+ suspendedAt: core.serialization.property("suspended_at", core.serialization.date().optional()),
52
+ suspendedReason: core.serialization.property("suspended_reason", core.serialization.string().optional()),
51
53
  updatedAt: core.serialization.property("updated_at", core.serialization.date()),
52
54
  createdAt: core.serialization.property("created_at", core.serialization.date()),
53
55
  });
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.5.46";
1
+ export declare const SDK_VERSION = "0.5.47";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.5.46";
4
+ exports.SDK_VERSION = "0.5.47";
@@ -6,8 +6,8 @@ export function normalizeClientOptions(options) {
6
6
  const headers = mergeHeaders({
7
7
  "X-Fern-Language": "JavaScript",
8
8
  "X-Fern-SDK-Name": "agentmail",
9
- "X-Fern-SDK-Version": "0.5.46",
10
- "User-Agent": "agentmail/0.5.46",
9
+ "X-Fern-SDK-Version": "0.5.47",
10
+ "User-Agent": "agentmail/0.5.47",
11
11
  "X-Fern-Runtime": core.RUNTIME.type,
12
12
  "X-Fern-Runtime-Version": core.RUNTIME.version,
13
13
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -15,6 +15,8 @@ export declare class AgentClient {
15
15
  *
16
16
  * A 6-digit OTP is sent to the human's email for verification.
17
17
  *
18
+ * The new organization starts with 1 inbox, no custom domains, and 10 emails per day, which can be sent only to `human_email` until the organization is verified.
19
+ *
18
20
  * `human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint or, for a US-region inbox, claims it in the AgentMail Console with the API key (see [How do I claim my agent's inbox?](https://docs.agentmail.to/knowledge-base/claiming-agent-inbox)). There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
19
21
  *
20
22
  * This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
@@ -70,7 +72,7 @@ export declare class AgentClient {
70
72
  /**
71
73
  * Verify an agent organization using the 6-digit OTP sent to the human's email during sign-up.
72
74
  *
73
- * On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
75
+ * On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and the Free plan's entitlements are applied: 3 inboxes and 100 emails per day, at first to at most 3 distinct recipients in the first hour, 5 in the first day, and 10 in the first week.
74
76
  *
75
77
  * The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
76
78
  *
@@ -25,6 +25,8 @@ export class AgentClient {
25
25
  *
26
26
  * A 6-digit OTP is sent to the human's email for verification.
27
27
  *
28
+ * The new organization starts with 1 inbox, no custom domains, and 10 emails per day, which can be sent only to `human_email` until the organization is verified.
29
+ *
28
30
  * `human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint or, for a US-region inbox, claims it in the AgentMail Console with the API key (see [How do I claim my agent's inbox?](https://docs.agentmail.to/knowledge-base/claiming-agent-inbox)). There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
29
31
  *
30
32
  * This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
@@ -201,7 +203,7 @@ export class AgentClient {
201
203
  /**
202
204
  * Verify an agent organization using the 6-digit OTP sent to the human's email during sign-up.
203
205
  *
204
- * On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
206
+ * On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and the Free plan's entitlements are applied: 3 inboxes and 100 emails per day, at first to at most 3 distinct recipients in the first hour, 5 in the first day, and 10 in the first week.
205
207
  *
206
208
  * The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
207
209
  *
@@ -110,12 +110,12 @@ export interface ApiKeyPermissions {
110
110
  calendarEventUpdate?: boolean;
111
111
  /** Delete calendar events. */
112
112
  calendarEventDelete?: boolean;
113
- /** List and get Agent Drive files, with their download URLs. */
113
+ /** Reserved; not released yet. */
114
114
  fileRead?: boolean;
115
- /** Upload Agent Drive files (Create File and Complete File). */
115
+ /** Reserved; not released yet. */
116
116
  fileCreate?: boolean;
117
- /** Update Agent Drive files. Reserved; no endpoint uses it yet. */
117
+ /** Reserved; not released yet. */
118
118
  fileUpdate?: boolean;
119
- /** Delete Agent Drive files. */
119
+ /** Reserved; not released yet. */
120
120
  fileDelete?: boolean;
121
121
  }
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Canonical IANA time zone name, for example `America/New_York`, `Europe/London` or `UTC`.
3
- * Abbreviations such as `PST`, Windows names such as `Pacific Standard Time`, and spellings that
4
- * differ from the canonical name are rejected.
2
+ * IANA time zone name, for example `America/New_York`, `Europe/London` or `UTC`. Requests accept
3
+ * any capitalization and IANA aliases such as `US/Eastern`. The calendar stores and returns the
4
+ * canonical name, which for some zones is an older spelling: `Asia/Kolkata` is returned as
5
+ * `Asia/Calcutta`. Abbreviations such as `PST` and Windows names such as `Pacific Standard Time`
6
+ * are rejected.
5
7
  */
6
8
  export type IanaTimezone = string;
@@ -4,17 +4,24 @@ export interface Domain {
4
4
  domainId: AgentMail.DomainId;
5
5
  domain: AgentMail.DomainName;
6
6
  status: AgentMail.Status;
7
- /** Why the domain is not (yet) VERIFIED, when known. `dns_records_missing` / `dns_records_invalid` point at the DNS records. The `ses_*` values mean the records look right and sending-infrastructure validation has not converged: `ses_dkim_pending` / `ses_mail_from_pending` (still checking), `ses_dkim_temporary_failure` / `ses_mail_from_temporary_failure` (a transient error the infrastructure keeps retrying on its own — usually resolves without changes), `ses_dkim_failed` / `ses_mail_from_failed` (a terminal verdict; re-verify after fixing), `ses_dkim_not_started` / `ses_mail_from_not_started` (the attribute was never configured on the identity — re-verify to push it), and `ses_not_verified_for_sending`. Absent when VERIFIED. */
7
+ /** Why the domain is not (yet) VERIFIED, when known. `dns_records_missing` / `dns_records_invalid` point at the DNS records. The `ses_*` values mean the records look right and sending-infrastructure validation has not converged: `ses_dkim_pending` / `ses_mail_from_pending` (still checking), `ses_dkim_temporary_failure` / `ses_mail_from_temporary_failure` (a transient error the infrastructure keeps retrying on its own — usually resolves without changes), `ses_dkim_failed` / `ses_mail_from_failed` (a terminal verdict; re-verify after fixing), `ses_dkim_not_started` / `ses_mail_from_not_started` (the attribute was never configured on the identity — re-verify to push it), `ses_not_verified_for_sending`, and `tracking_certificate_failed` (the certificate for the open tracking `link.` subdomain was refused; fix CAA or DNS, then turn tracking off and back on). Absent when VERIFIED. */
8
8
  reason?: string;
9
9
  feedbackEnabled: AgentMail.FeedbackEnabled;
10
10
  /** Absent on domains created before this field existed; those receive email. */
11
11
  inboundEnabled?: AgentMail.InboundEnabled;
12
12
  subdomainsEnabled: AgentMail.SubdomainsEnabled;
13
13
  trackingEnabled: AgentMail.TrackingEnabled;
14
+ /** Present when `tracking_enabled` is true. */
15
+ trackingStatus?: AgentMail.TrackingStatus;
16
+ /** Why open tracking is not (yet) VERIFIED, when known. `dns_records_missing` / `dns_records_invalid` point at the `link.<domain>` CNAME. `caa_blocked` means the domain's CAA records leave Amazon out: add the `CAA` record listed in `records`, and AgentMail retries the certificate on its own within a few minutes. `certificate_failed` means the certificate was refused; fix the DNS, then turn tracking off and back on. Absent when `tracking_status` is VERIFIED. */
17
+ trackingReason?: string;
14
18
  /**
15
- * A list of DNS records required to verify the domain. Includes the apex
16
- * MX record unless `inbound_enabled` is false, and a wildcard MX record
17
- * (`*.<domain>`) when `subdomains_enabled` is true.
19
+ * A list of DNS records for the domain. Includes the apex MX record unless
20
+ * `inbound_enabled` is false, and a wildcard MX record (`*.<domain>`) when
21
+ * `subdomains_enabled` is true. When `tracking_enabled` is true it also lists
22
+ * the `link.<domain>` CNAME and, if the domain's CAA records restrict
23
+ * issuance, a `CAA` record. Those two are for open tracking only: they
24
+ * feed `tracking_status` and do not affect `status`.
18
25
  */
19
26
  records: AgentMail.VerificationRecord[];
20
27
  clientId?: AgentMail.ClientId;
@@ -2,5 +2,6 @@ export declare const RecordType: {
2
2
  readonly Txt: "TXT";
3
3
  readonly Cname: "CNAME";
4
4
  readonly Mx: "MX";
5
+ readonly Caa: "CAA";
5
6
  };
6
7
  export type RecordType = (typeof RecordType)[keyof typeof RecordType];
@@ -3,4 +3,5 @@ export const RecordType = {
3
3
  Txt: "TXT",
4
4
  Cname: "CNAME",
5
5
  Mx: "MX",
6
+ Caa: "CAA",
6
7
  };
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Serve open tracking pixels from this domain. Adds a required `link.<domain>`
3
- * CNAME record to `records`, which must be published and verified before
4
- * `track_opens` can be used on a send.
2
+ * Serve open tracking pixels from this domain. Adds a `link.<domain>` CNAME
3
+ * record to `records`. Open tracking reports its readiness in `tracking_status`
4
+ * and never changes the domain's `status`. Sends with `track_opens` are accepted
5
+ * once `tracking_status` is `VERIFIED`.
5
6
  */
6
7
  export type TrackingEnabled = boolean;
@@ -0,0 +1,10 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * Whether open tracking is ready on this domain, independent of the domain's
4
+ * `status`. `PENDING`: the `link.<domain>` CNAME is not published yet.
5
+ * `INVALID`: the CNAME is wrong, or the domain's CAA records do not allow
6
+ * Amazon to issue its certificate. `VERIFYING`: the certificate is being
7
+ * issued. `VERIFIED`: `track_opens` can be used. `FAILED`: the certificate was
8
+ * refused; turn tracking off and back on to request a new one.
9
+ */
10
+ export type TrackingStatus = AgentMail.VerificationStatus;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -5,7 +5,8 @@ import type * as AgentMail from "../../../index.mjs";
5
5
  * unchanged; an empty body is rejected. Enabling `inbound_enabled` or
6
6
  * `subdomains_enabled` on a verified domain returns it to `PENDING` until the
7
7
  * newly required MX record (the apex MX, or the wildcard `*.<domain>`) is
8
- * published and verified.
8
+ * published and verified. Enabling `tracking_enabled` leaves `status` as it is
9
+ * and starts `tracking_status` at `PENDING`.
9
10
  */
10
11
  export interface UpdateDomainRequest {
11
12
  feedbackEnabled?: AgentMail.FeedbackEnabled;
@@ -1,6 +1,6 @@
1
1
  import type * as AgentMail from "../../../index.mjs";
2
2
  export interface VerificationRecord {
3
- /** The type of the DNS record. */
3
+ /** The type of the DNS record. A `CAA` record is listed only when open tracking is on and the domain's CAA records restrict which certificate authorities may issue for it: add it next to the existing CAA records, not in place of them. */
4
4
  type: AgentMail.RecordType;
5
5
  /** The name or host of the record. */
6
6
  name: string;
@@ -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,4 +1,6 @@
1
1
  /**
2
- * ID of event.
2
+ * ID of the event. It is the same on every retry and redelivery of the event and on every webhook
3
+ * or WebSocket subscription that receives it, so use it to deduplicate. The format varies by event
4
+ * type; treat it as an opaque string.
3
5
  */
4
6
  export type EventId = string;
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Inboxes for which to send events. Maximum 10 per webhook.
2
+ * Inboxes for which to send events.
3
3
  */
4
4
  export type InboxIds = string[];
@@ -6,6 +6,6 @@ export interface MessageReceivedEvent {
6
6
  type: "event";
7
7
  eventType: AgentMail.MessageReceivedEventType;
8
8
  eventId: AgentMail.EventId;
9
- message: AgentMail.Message;
9
+ message: AgentMail.ReceivedMessage;
10
10
  thread: AgentMail.ThreadItem;
11
11
  }
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Pods for which to send events. Maximum 10 per webhook.
2
+ * Pods for which to send events.
3
3
  */
4
4
  export type PodIds = string[];
@@ -0,0 +1,18 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * The received message. The body (`text`, `html`, `extracted_text`, and `extracted_html`) is included
4
+ * inline only when it is small enough. Webhooks omit it when the stored body is larger than 64 KiB;
5
+ * WebSocket events also omit it when the serialized event would be larger than 30 KiB. When the body
6
+ * is omitted, `body_url` and `body_expires_at` are set instead.
7
+ */
8
+ export interface ReceivedMessage extends AgentMail.Message {
9
+ /**
10
+ * Pre-signed URL that downloads the stored body as a JSON object including `text`, `html`,
11
+ * `extracted_text`, and `extracted_html`. Present only when the body is omitted from the event.
12
+ * Valid until `body_expires_at`, one hour after the event was built. The body stays available
13
+ * through the get message endpoint after the URL expires.
14
+ */
15
+ bodyUrl?: string;
16
+ /** Time at which `body_url` expires. Present only with `body_url`. */
17
+ bodyExpiresAt?: Date;
18
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -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";
@@ -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";
@@ -17,9 +17,8 @@ export declare class CalendarClient {
17
17
  * created. Its `etag` (also the `ETag` response header) is the value to send in `If-Match` to
18
18
  * make an update conditional.
19
19
  *
20
- * Requires the `calendar_read` permission. Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`)
21
- * but not yet in EU production (`api.agentmail.eu`). Organizations that have not joined
22
- * Labs receive a `403`.
20
+ * Requires the `calendar_read` permission. Calendar is available in US production
21
+ * (`api.agentmail.to`) but not yet in EU production (`api.agentmail.eu`), which returns `403`.
23
22
  *
24
23
  * @param {AgentMail.inboxes.InboxId} inbox_id
25
24
  * @param {AgentMail.inboxes.GetCalendarRequest} request
@@ -44,8 +43,8 @@ export declare class CalendarClient {
44
43
  * calendar's current `etag` in `If-Match`: a stale value returns `412`. Without `If-Match` the
45
44
  * update applies to the calendar as it is.
46
45
  *
47
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
48
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
46
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
47
+ * (`api.agentmail.eu`), which returns `403`.
49
48
  *
50
49
  * @param {AgentMail.inboxes.InboxId} inbox_id
51
50
  * @param {AgentMail.inboxes.UpdateCalendarRequestWrapper} request
@@ -77,8 +76,8 @@ export declare class CalendarClient {
77
76
  * The list is always read in the region that serves the request, so it can trail a change made
78
77
  * moments earlier by a few seconds. Requires the `calendar_event_read` permission.
79
78
  *
80
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
81
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
79
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
80
+ * (`api.agentmail.eu`), which returns `403`.
82
81
  *
83
82
  * @param {AgentMail.inboxes.InboxId} inbox_id
84
83
  * @param {AgentMail.inboxes.ListCalendarEventsRequest} request
@@ -115,8 +114,8 @@ export declare class CalendarClient {
115
114
  * moments earlier by a few seconds. Pass `consistency=primary` to read your own change right
116
115
  * away. Requires the `calendar_event_read` permission.
117
116
  *
118
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
119
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
117
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
118
+ * (`api.agentmail.eu`), which returns `403`.
120
119
  *
121
120
  * @param {AgentMail.inboxes.InboxId} inbox_id
122
121
  * @param {AgentMail.inboxes.GetCalendarAgendaRequest} request
@@ -158,8 +157,8 @@ export declare class CalendarClient {
158
157
  * The event's `etag` is the value to send in `If-Match` to make a later update or delete
159
158
  * conditional. Requires the `calendar_event_create` permission.
160
159
  *
161
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
162
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
160
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
161
+ * (`api.agentmail.eu`), which returns `403`.
163
162
  *
164
163
  * @param {AgentMail.inboxes.InboxId} inbox_id
165
164
  * @param {AgentMail.CreateCalendarEventRequest} request
@@ -220,8 +219,8 @@ export declare class CalendarClient {
220
219
  * reads back as it ran, even if a later change to the series no longer produces it. Requires
221
220
  * the `calendar_event_read` permission.
222
221
  *
223
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
224
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
222
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
223
+ * (`api.agentmail.eu`), which returns `403`.
225
224
  *
226
225
  * @param {AgentMail.inboxes.InboxId} inbox_id
227
226
  * @param {AgentMail.CalendarEventId} event_id
@@ -269,8 +268,8 @@ export declare class CalendarClient {
269
268
  * send limits, charged before the change is saved; an over-limit request returns `429`
270
269
  * `rate_limit_exceeded` and changes nothing.
271
270
  *
272
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
273
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
271
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
272
+ * (`api.agentmail.eu`), which returns `403`.
274
273
  *
275
274
  * @param {AgentMail.inboxes.InboxId} inbox_id
276
275
  * @param {AgentMail.CalendarEventId} event_id
@@ -327,8 +326,8 @@ export declare class CalendarClient {
327
326
  * send limits, charged before the delete; an over-limit request returns `429`
328
327
  * `rate_limit_exceeded` and deletes nothing.
329
328
  *
330
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
331
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
329
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
330
+ * (`api.agentmail.eu`), which returns `403`.
332
331
  *
333
332
  * @param {AgentMail.inboxes.InboxId} inbox_id
334
333
  * @param {AgentMail.CalendarEventId} event_id
@@ -368,8 +367,8 @@ export declare class CalendarClient {
368
367
  * trail a change made moments earlier by a few seconds; pass `consistency=primary` to read
369
368
  * your own change right away. Requires the `calendar_event_read` permission.
370
369
  *
371
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
372
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
370
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
371
+ * (`api.agentmail.eu`), which returns `403`.
373
372
  *
374
373
  * @param {AgentMail.inboxes.InboxId} inbox_id
375
374
  * @param {string} event_id - UUID of the recurring event.
@@ -407,8 +406,8 @@ export declare class CalendarClient {
407
406
  * charged before the response is saved; an over-limit request returns `429`
408
407
  * `rate_limit_exceeded` and changes nothing.
409
408
  *
410
- * Calendar is in AgentMail Labs, available in US production (`api.agentmail.to`) but not yet
411
- * in EU production (`api.agentmail.eu`). Organizations that have not joined Labs receive a `403`.
409
+ * Calendar is available in US production (`api.agentmail.to`) but not yet in EU production
410
+ * (`api.agentmail.eu`), which returns `403`.
412
411
  *
413
412
  * @param {AgentMail.inboxes.InboxId} inbox_id
414
413
  * @param {AgentMail.CalendarEventId} event_id