agentmail 0.5.36 → 0.5.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/BaseClient.js +2 -2
- package/dist/cjs/api/resources/agent/client/Client.d.ts +1 -1
- package/dist/cjs/api/resources/agent/client/Client.js +1 -1
- package/dist/cjs/api/resources/apps/client/Client.d.ts +14 -11
- package/dist/cjs/api/resources/apps/client/Client.js +14 -11
- package/dist/cjs/api/resources/apps/types/App.d.ts +2 -0
- package/dist/cjs/api/resources/domains/types/CreateDomainRequest.d.ts +2 -0
- package/dist/cjs/api/resources/domains/types/Domain.d.ts +5 -2
- package/dist/cjs/api/resources/domains/types/DomainItem.d.ts +2 -0
- package/dist/cjs/api/resources/domains/types/InboundEnabled.d.ts +7 -0
- package/dist/cjs/api/resources/domains/types/InboundEnabled.js +3 -0
- package/dist/cjs/api/resources/domains/types/UpdateDomainRequest.d.ts +6 -4
- package/dist/cjs/api/resources/domains/types/index.d.ts +1 -0
- package/dist/cjs/api/resources/domains/types/index.js +1 -0
- package/dist/cjs/serialization/resources/apps/types/App.d.ts +1 -0
- package/dist/cjs/serialization/resources/apps/types/App.js +1 -0
- package/dist/cjs/serialization/resources/domains/types/CreateDomainRequest.d.ts +2 -0
- package/dist/cjs/serialization/resources/domains/types/CreateDomainRequest.js +2 -0
- package/dist/cjs/serialization/resources/domains/types/Domain.d.ts +2 -0
- package/dist/cjs/serialization/resources/domains/types/Domain.js +2 -0
- package/dist/cjs/serialization/resources/domains/types/DomainItem.d.ts +2 -0
- package/dist/cjs/serialization/resources/domains/types/DomainItem.js +2 -0
- package/dist/cjs/serialization/resources/domains/types/InboundEnabled.d.ts +7 -0
- package/dist/cjs/serialization/resources/domains/types/InboundEnabled.js +39 -0
- package/dist/cjs/serialization/resources/domains/types/UpdateDomainRequest.d.ts +2 -0
- package/dist/cjs/serialization/resources/domains/types/UpdateDomainRequest.js +2 -0
- package/dist/cjs/serialization/resources/domains/types/index.d.ts +1 -0
- package/dist/cjs/serialization/resources/domains/types/index.js +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/api/resources/agent/client/Client.d.mts +1 -1
- package/dist/esm/api/resources/agent/client/Client.mjs +1 -1
- package/dist/esm/api/resources/apps/client/Client.d.mts +14 -11
- package/dist/esm/api/resources/apps/client/Client.mjs +14 -11
- package/dist/esm/api/resources/apps/types/App.d.mts +2 -0
- package/dist/esm/api/resources/domains/types/CreateDomainRequest.d.mts +2 -0
- package/dist/esm/api/resources/domains/types/Domain.d.mts +5 -2
- package/dist/esm/api/resources/domains/types/DomainItem.d.mts +2 -0
- package/dist/esm/api/resources/domains/types/InboundEnabled.d.mts +7 -0
- package/dist/esm/api/resources/domains/types/InboundEnabled.mjs +2 -0
- package/dist/esm/api/resources/domains/types/UpdateDomainRequest.d.mts +6 -4
- package/dist/esm/api/resources/domains/types/index.d.mts +1 -0
- package/dist/esm/api/resources/domains/types/index.mjs +1 -0
- package/dist/esm/serialization/resources/apps/types/App.d.mts +1 -0
- package/dist/esm/serialization/resources/apps/types/App.mjs +1 -0
- package/dist/esm/serialization/resources/domains/types/CreateDomainRequest.d.mts +2 -0
- package/dist/esm/serialization/resources/domains/types/CreateDomainRequest.mjs +2 -0
- package/dist/esm/serialization/resources/domains/types/Domain.d.mts +2 -0
- package/dist/esm/serialization/resources/domains/types/Domain.mjs +2 -0
- package/dist/esm/serialization/resources/domains/types/DomainItem.d.mts +2 -0
- package/dist/esm/serialization/resources/domains/types/DomainItem.mjs +2 -0
- package/dist/esm/serialization/resources/domains/types/InboundEnabled.d.mts +7 -0
- package/dist/esm/serialization/resources/domains/types/InboundEnabled.mjs +3 -0
- package/dist/esm/serialization/resources/domains/types/UpdateDomainRequest.d.mts +2 -0
- package/dist/esm/serialization/resources/domains/types/UpdateDomainRequest.mjs +2 -0
- package/dist/esm/serialization/resources/domains/types/index.d.mts +1 -0
- package/dist/esm/serialization/resources/domains/types/index.mjs +1 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/dist/llms.txt +3 -1
- package/package.json +1 -1
- package/reference.md +12 -9
package/dist/cjs/BaseClient.js
CHANGED
|
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
|
|
|
43
43
|
const headers = (0, headers_js_1.mergeHeaders)({
|
|
44
44
|
"X-Fern-Language": "JavaScript",
|
|
45
45
|
"X-Fern-SDK-Name": "agentmail",
|
|
46
|
-
"X-Fern-SDK-Version": "0.5.
|
|
47
|
-
"User-Agent": "agentmail/0.5.
|
|
46
|
+
"X-Fern-SDK-Version": "0.5.38",
|
|
47
|
+
"User-Agent": "agentmail/0.5.38",
|
|
48
48
|
"X-Fern-Runtime": core.RUNTIME.type,
|
|
49
49
|
"X-Fern-Runtime-Version": core.RUNTIME.version,
|
|
50
50
|
}, options === null || options === void 0 ? void 0 : options.headers);
|
|
@@ -15,7 +15,7 @@ export declare class AgentClient {
|
|
|
15
15
|
*
|
|
16
16
|
* A 6-digit OTP is sent to the human's email for verification.
|
|
17
17
|
*
|
|
18
|
-
* `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. 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.
|
|
18
|
+
* `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
19
|
*
|
|
20
20
|
* This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
21
21
|
*
|
|
@@ -61,7 +61,7 @@ class AgentClient {
|
|
|
61
61
|
*
|
|
62
62
|
* A 6-digit OTP is sent to the human's email for verification.
|
|
63
63
|
*
|
|
64
|
-
* `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. 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.
|
|
64
|
+
* `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.
|
|
65
65
|
*
|
|
66
66
|
* This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
67
67
|
*
|
|
@@ -39,44 +39,47 @@ export declare class AppsClient {
|
|
|
39
39
|
search(request: AgentMail.SearchAppsRequest, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.SearchAppsResponse>;
|
|
40
40
|
private __search;
|
|
41
41
|
/**
|
|
42
|
-
* Gets one app by ID
|
|
42
|
+
* Gets one app by ID or slug. A catalog app returns its full entry.
|
|
43
43
|
* A registered app that the catalog does not list returns its ID and
|
|
44
44
|
* name only, without `updated_at`, so anyone holding its ID can still look
|
|
45
|
-
* it up. List Apps and Search Apps show
|
|
45
|
+
* it up; a slug finds catalog apps only. List Apps and Search Apps show
|
|
46
|
+
* catalog entries only.
|
|
46
47
|
*
|
|
47
|
-
* @param {
|
|
48
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
48
49
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
49
50
|
*
|
|
50
51
|
* @throws {@link AgentMail.NotFoundError}
|
|
51
52
|
*
|
|
52
53
|
* @example
|
|
53
|
-
* await client.apps.get("
|
|
54
|
+
* await client.apps.get("app_id")
|
|
54
55
|
*/
|
|
55
|
-
get(app_id:
|
|
56
|
+
get(app_id: string, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.App>;
|
|
56
57
|
private __get;
|
|
57
58
|
/**
|
|
58
59
|
* Lists accounts at one app, most recent sign-in first.
|
|
59
60
|
*
|
|
60
|
-
* @param {
|
|
61
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
61
62
|
* @param {AgentMail.ListAppAccountsRequest} request
|
|
62
63
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
63
64
|
*
|
|
64
65
|
* @throws {@link AgentMail.ValidationError}
|
|
65
66
|
*
|
|
66
67
|
* @example
|
|
67
|
-
* await client.apps.listAccounts("
|
|
68
|
+
* await client.apps.listAccounts("app_id")
|
|
68
69
|
*/
|
|
69
|
-
listAccounts(app_id:
|
|
70
|
+
listAccounts(app_id: string, request?: AgentMail.ListAppAccountsRequest, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListAppAccountsResponse>;
|
|
70
71
|
private __listAccounts;
|
|
71
72
|
/**
|
|
72
73
|
* Starts signing an inbox in to an app. Returns a single-use `magic_url`,
|
|
73
74
|
* valid for five minutes, to open in the client that will hold the sign-in;
|
|
74
75
|
* the client enrolls as the inbox and continues to the app.
|
|
76
|
+
* An app in the catalog can be named by its `slug`, as in
|
|
77
|
+
* `POST /v0/apps/firecrawl/connect`.
|
|
75
78
|
* A `404` names the missing resource: `App` or `Inbox`.
|
|
76
79
|
* A `403` `AppSignupLimitError` means the app accepts no more sign-ups from
|
|
77
80
|
* your organization; sign in with an inbox that already has an account there.
|
|
78
81
|
*
|
|
79
|
-
* @param {
|
|
82
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
80
83
|
* @param {AgentMail.ConnectAppBody} request
|
|
81
84
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
82
85
|
*
|
|
@@ -85,8 +88,8 @@ export declare class AppsClient {
|
|
|
85
88
|
* @throws {@link AgentMail.AppSignupLimitError}
|
|
86
89
|
*
|
|
87
90
|
* @example
|
|
88
|
-
* await client.apps.connect("
|
|
91
|
+
* await client.apps.connect("app_id", undefined)
|
|
89
92
|
*/
|
|
90
|
-
connect(app_id:
|
|
93
|
+
connect(app_id: string, request?: AgentMail.ConnectAppBody, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ConnectAccepted>;
|
|
91
94
|
private __connect;
|
|
92
95
|
}
|
|
@@ -203,18 +203,19 @@ class AppsClient {
|
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
|
-
* Gets one app by ID
|
|
206
|
+
* Gets one app by ID or slug. A catalog app returns its full entry.
|
|
207
207
|
* A registered app that the catalog does not list returns its ID and
|
|
208
208
|
* name only, without `updated_at`, so anyone holding its ID can still look
|
|
209
|
-
* it up. List Apps and Search Apps show
|
|
209
|
+
* it up; a slug finds catalog apps only. List Apps and Search Apps show
|
|
210
|
+
* catalog entries only.
|
|
210
211
|
*
|
|
211
|
-
* @param {
|
|
212
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
212
213
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
213
214
|
*
|
|
214
215
|
* @throws {@link AgentMail.NotFoundError}
|
|
215
216
|
*
|
|
216
217
|
* @example
|
|
217
|
-
* await client.apps.get("
|
|
218
|
+
* await client.apps.get("app_id")
|
|
218
219
|
*/
|
|
219
220
|
get(app_id, requestOptions) {
|
|
220
221
|
return core.HttpResponsePromise.fromPromise(this.__get(app_id, requestOptions));
|
|
@@ -226,7 +227,7 @@ class AppsClient {
|
|
|
226
227
|
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
227
228
|
const _response = yield core.fetcher({
|
|
228
229
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
229
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
230
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}`),
|
|
230
231
|
method: "GET",
|
|
231
232
|
headers: _headers,
|
|
232
233
|
queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
|
|
@@ -272,14 +273,14 @@ class AppsClient {
|
|
|
272
273
|
/**
|
|
273
274
|
* Lists accounts at one app, most recent sign-in first.
|
|
274
275
|
*
|
|
275
|
-
* @param {
|
|
276
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
276
277
|
* @param {AgentMail.ListAppAccountsRequest} request
|
|
277
278
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
278
279
|
*
|
|
279
280
|
* @throws {@link AgentMail.ValidationError}
|
|
280
281
|
*
|
|
281
282
|
* @example
|
|
282
|
-
* await client.apps.listAccounts("
|
|
283
|
+
* await client.apps.listAccounts("app_id")
|
|
283
284
|
*/
|
|
284
285
|
listAccounts(app_id, request = {}, requestOptions) {
|
|
285
286
|
return core.HttpResponsePromise.fromPromise(this.__listAccounts(app_id, request, requestOptions));
|
|
@@ -296,7 +297,7 @@ class AppsClient {
|
|
|
296
297
|
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
297
298
|
const _response = yield core.fetcher({
|
|
298
299
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
299
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
300
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}/accounts`),
|
|
300
301
|
method: "GET",
|
|
301
302
|
headers: _headers,
|
|
302
303
|
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
@@ -343,11 +344,13 @@ class AppsClient {
|
|
|
343
344
|
* Starts signing an inbox in to an app. Returns a single-use `magic_url`,
|
|
344
345
|
* valid for five minutes, to open in the client that will hold the sign-in;
|
|
345
346
|
* the client enrolls as the inbox and continues to the app.
|
|
347
|
+
* An app in the catalog can be named by its `slug`, as in
|
|
348
|
+
* `POST /v0/apps/firecrawl/connect`.
|
|
346
349
|
* A `404` names the missing resource: `App` or `Inbox`.
|
|
347
350
|
* A `403` `AppSignupLimitError` means the app accepts no more sign-ups from
|
|
348
351
|
* your organization; sign in with an inbox that already has an account there.
|
|
349
352
|
*
|
|
350
|
-
* @param {
|
|
353
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
351
354
|
* @param {AgentMail.ConnectAppBody} request
|
|
352
355
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
353
356
|
*
|
|
@@ -356,7 +359,7 @@ class AppsClient {
|
|
|
356
359
|
* @throws {@link AgentMail.AppSignupLimitError}
|
|
357
360
|
*
|
|
358
361
|
* @example
|
|
359
|
-
* await client.apps.connect("
|
|
362
|
+
* await client.apps.connect("app_id", undefined)
|
|
360
363
|
*/
|
|
361
364
|
connect(app_id, request, requestOptions) {
|
|
362
365
|
return core.HttpResponsePromise.fromPromise(this.__connect(app_id, request, requestOptions));
|
|
@@ -368,7 +371,7 @@ class AppsClient {
|
|
|
368
371
|
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
369
372
|
const _response = yield core.fetcher({
|
|
370
373
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
371
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
374
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}/connect`),
|
|
372
375
|
method: "POST",
|
|
373
376
|
headers: _headers,
|
|
374
377
|
contentType: "application/json",
|
|
@@ -4,6 +4,8 @@ import type * as AgentMail from "../../../index.js";
|
|
|
4
4
|
*/
|
|
5
5
|
export interface App {
|
|
6
6
|
appId: AgentMail.AppId;
|
|
7
|
+
/** Short name accepted in place of `app_id` by Get App, List App Accounts and Connect App. Set by AgentMail on apps in the catalog; renaming the app does not change it. Store `app_id`, the app's permanent ID. */
|
|
8
|
+
slug?: string;
|
|
7
9
|
name?: string;
|
|
8
10
|
/** Time at which app was last updated. */
|
|
9
11
|
updatedAt?: Date;
|
|
@@ -7,9 +7,11 @@ export interface CreateDomainRequest {
|
|
|
7
7
|
* provider is detected.
|
|
8
8
|
* This flag does not configure DNS or inbound routing. For shared Google
|
|
9
9
|
* Workspace domains, follow the [Google Workspace guide](/google-workspace).
|
|
10
|
+
* Only checked when `inbound_enabled` is true; a send-only domain skips the check.
|
|
10
11
|
*/
|
|
11
12
|
allowConflictingProvider?: boolean;
|
|
12
13
|
feedbackEnabled?: AgentMail.FeedbackEnabled;
|
|
14
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
13
15
|
subdomainsEnabled?: AgentMail.SubdomainsEnabled;
|
|
14
16
|
trackingEnabled?: AgentMail.TrackingEnabled;
|
|
15
17
|
}
|
|
@@ -7,11 +7,14 @@ export interface Domain {
|
|
|
7
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. */
|
|
8
8
|
reason?: string;
|
|
9
9
|
feedbackEnabled: AgentMail.FeedbackEnabled;
|
|
10
|
+
/** Absent on domains created before this field existed; those receive email. */
|
|
11
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
10
12
|
subdomainsEnabled: AgentMail.SubdomainsEnabled;
|
|
11
13
|
trackingEnabled: AgentMail.TrackingEnabled;
|
|
12
14
|
/**
|
|
13
|
-
* A list of DNS records required to verify the domain. Includes
|
|
14
|
-
*
|
|
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.
|
|
15
18
|
*/
|
|
16
19
|
records: AgentMail.VerificationRecord[];
|
|
17
20
|
clientId?: AgentMail.ClientId;
|
|
@@ -4,6 +4,8 @@ export interface DomainItem {
|
|
|
4
4
|
domainId: AgentMail.DomainId;
|
|
5
5
|
domain: AgentMail.DomainName;
|
|
6
6
|
feedbackEnabled: AgentMail.FeedbackEnabled;
|
|
7
|
+
/** Absent on domains created before this field existed; those receive email. */
|
|
8
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
7
9
|
subdomainsEnabled: AgentMail.SubdomainsEnabled;
|
|
8
10
|
trackingEnabled: AgentMail.TrackingEnabled;
|
|
9
11
|
clientId?: AgentMail.ClientId;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receive email for this domain. Defaults to `true`. Set `false` for a send-only
|
|
3
|
+
* domain: the apex MX record is not required and is omitted from `records`, so the
|
|
4
|
+
* domain's existing email provider keeps receiving its mail. Inboxes on a send-only
|
|
5
|
+
* domain can still send.
|
|
6
|
+
*/
|
|
7
|
+
export type InboundEnabled = boolean;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type * as AgentMail from "../../../index.js";
|
|
2
2
|
/**
|
|
3
|
-
* Provide at least one of `feedback_enabled`, `
|
|
4
|
-
* `tracking_enabled`. Omitted
|
|
5
|
-
*
|
|
3
|
+
* Provide at least one of `feedback_enabled`, `inbound_enabled`,
|
|
4
|
+
* `subdomains_enabled`, or `tracking_enabled`. Omitted fields are left
|
|
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
|
-
* newly
|
|
7
|
+
* newly required MX record (the apex MX, or the wildcard `*.<domain>`) is
|
|
8
|
+
* published and verified.
|
|
8
9
|
*/
|
|
9
10
|
export interface UpdateDomainRequest {
|
|
10
11
|
feedbackEnabled?: AgentMail.FeedbackEnabled;
|
|
12
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
11
13
|
subdomainsEnabled?: AgentMail.SubdomainsEnabled;
|
|
12
14
|
trackingEnabled?: AgentMail.TrackingEnabled;
|
|
13
15
|
}
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.js";
|
|
|
6
6
|
export * from "./DomainName.js";
|
|
7
7
|
export * from "./FeedbackEnabled.js";
|
|
8
8
|
export * from "./GetSetupLinkResponse.js";
|
|
9
|
+
export * from "./InboundEnabled.js";
|
|
9
10
|
export * from "./ListDomainsResponse.js";
|
|
10
11
|
export * from "./RecordStatus.js";
|
|
11
12
|
export * from "./RecordType.js";
|
|
@@ -22,6 +22,7 @@ __exportStar(require("./DomainItem.js"), exports);
|
|
|
22
22
|
__exportStar(require("./DomainName.js"), exports);
|
|
23
23
|
__exportStar(require("./FeedbackEnabled.js"), exports);
|
|
24
24
|
__exportStar(require("./GetSetupLinkResponse.js"), exports);
|
|
25
|
+
__exportStar(require("./InboundEnabled.js"), exports);
|
|
25
26
|
__exportStar(require("./ListDomainsResponse.js"), exports);
|
|
26
27
|
__exportStar(require("./RecordStatus.js"), exports);
|
|
27
28
|
__exportStar(require("./RecordType.js"), exports);
|
|
@@ -40,6 +40,7 @@ const AppCategory_js_1 = require("./AppCategory.js");
|
|
|
40
40
|
const AppId_js_1 = require("./AppId.js");
|
|
41
41
|
exports.App = core.serialization.object({
|
|
42
42
|
appId: core.serialization.property("app_id", AppId_js_1.AppId),
|
|
43
|
+
slug: core.serialization.string().optional(),
|
|
43
44
|
name: core.serialization.string().optional(),
|
|
44
45
|
updatedAt: core.serialization.property("updated_at", core.serialization.date().optional()),
|
|
45
46
|
description: core.serialization.string().optional(),
|
|
@@ -3,6 +3,7 @@ import * as core from "../../../../core/index.js";
|
|
|
3
3
|
import type * as serializers from "../../../index.js";
|
|
4
4
|
import { DomainName } from "./DomainName.js";
|
|
5
5
|
import { FeedbackEnabled } from "./FeedbackEnabled.js";
|
|
6
|
+
import { InboundEnabled } from "./InboundEnabled.js";
|
|
6
7
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.js";
|
|
7
8
|
import { TrackingEnabled } from "./TrackingEnabled.js";
|
|
8
9
|
export declare const CreateDomainRequest: core.serialization.ObjectSchema<serializers.CreateDomainRequest.Raw, AgentMail.CreateDomainRequest>;
|
|
@@ -11,6 +12,7 @@ export declare namespace CreateDomainRequest {
|
|
|
11
12
|
domain: DomainName.Raw;
|
|
12
13
|
allow_conflicting_provider?: boolean | null;
|
|
13
14
|
feedback_enabled?: FeedbackEnabled.Raw | null;
|
|
15
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
14
16
|
subdomains_enabled?: SubdomainsEnabled.Raw | null;
|
|
15
17
|
tracking_enabled?: TrackingEnabled.Raw | null;
|
|
16
18
|
}
|
|
@@ -38,12 +38,14 @@ exports.CreateDomainRequest = void 0;
|
|
|
38
38
|
const core = __importStar(require("../../../../core/index.js"));
|
|
39
39
|
const DomainName_js_1 = require("./DomainName.js");
|
|
40
40
|
const FeedbackEnabled_js_1 = require("./FeedbackEnabled.js");
|
|
41
|
+
const InboundEnabled_js_1 = require("./InboundEnabled.js");
|
|
41
42
|
const SubdomainsEnabled_js_1 = require("./SubdomainsEnabled.js");
|
|
42
43
|
const TrackingEnabled_js_1 = require("./TrackingEnabled.js");
|
|
43
44
|
exports.CreateDomainRequest = core.serialization.object({
|
|
44
45
|
domain: DomainName_js_1.DomainName,
|
|
45
46
|
allowConflictingProvider: core.serialization.property("allow_conflicting_provider", core.serialization.boolean().optional()),
|
|
46
47
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled_js_1.FeedbackEnabled.optional()),
|
|
48
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled_js_1.InboundEnabled.optional()),
|
|
47
49
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled_js_1.SubdomainsEnabled.optional()),
|
|
48
50
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled_js_1.TrackingEnabled.optional()),
|
|
49
51
|
});
|
|
@@ -6,6 +6,7 @@ import { ClientId } from "./ClientId.js";
|
|
|
6
6
|
import { DomainId } from "./DomainId.js";
|
|
7
7
|
import { DomainName } from "./DomainName.js";
|
|
8
8
|
import { FeedbackEnabled } from "./FeedbackEnabled.js";
|
|
9
|
+
import { InboundEnabled } from "./InboundEnabled.js";
|
|
9
10
|
import { Status } from "./Status.js";
|
|
10
11
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.js";
|
|
11
12
|
import { TrackingEnabled } from "./TrackingEnabled.js";
|
|
@@ -19,6 +20,7 @@ export declare namespace Domain {
|
|
|
19
20
|
status: Status.Raw;
|
|
20
21
|
reason?: string | null;
|
|
21
22
|
feedback_enabled: FeedbackEnabled.Raw;
|
|
23
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
22
24
|
subdomains_enabled: SubdomainsEnabled.Raw;
|
|
23
25
|
tracking_enabled: TrackingEnabled.Raw;
|
|
24
26
|
records: VerificationRecord.Raw[];
|
|
@@ -41,6 +41,7 @@ const ClientId_js_1 = require("./ClientId.js");
|
|
|
41
41
|
const DomainId_js_1 = require("./DomainId.js");
|
|
42
42
|
const DomainName_js_1 = require("./DomainName.js");
|
|
43
43
|
const FeedbackEnabled_js_1 = require("./FeedbackEnabled.js");
|
|
44
|
+
const InboundEnabled_js_1 = require("./InboundEnabled.js");
|
|
44
45
|
const Status_js_1 = require("./Status.js");
|
|
45
46
|
const SubdomainsEnabled_js_1 = require("./SubdomainsEnabled.js");
|
|
46
47
|
const TrackingEnabled_js_1 = require("./TrackingEnabled.js");
|
|
@@ -52,6 +53,7 @@ exports.Domain = core.serialization.object({
|
|
|
52
53
|
status: Status_js_1.Status,
|
|
53
54
|
reason: core.serialization.string().optional(),
|
|
54
55
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled_js_1.FeedbackEnabled),
|
|
56
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled_js_1.InboundEnabled.optional()),
|
|
55
57
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled_js_1.SubdomainsEnabled),
|
|
56
58
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled_js_1.TrackingEnabled),
|
|
57
59
|
records: core.serialization.list(VerificationRecord_js_1.VerificationRecord),
|
|
@@ -6,6 +6,7 @@ import { ClientId } from "./ClientId.js";
|
|
|
6
6
|
import { DomainId } from "./DomainId.js";
|
|
7
7
|
import { DomainName } from "./DomainName.js";
|
|
8
8
|
import { FeedbackEnabled } from "./FeedbackEnabled.js";
|
|
9
|
+
import { InboundEnabled } from "./InboundEnabled.js";
|
|
9
10
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.js";
|
|
10
11
|
import { TrackingEnabled } from "./TrackingEnabled.js";
|
|
11
12
|
export declare const DomainItem: core.serialization.ObjectSchema<serializers.DomainItem.Raw, AgentMail.DomainItem>;
|
|
@@ -15,6 +16,7 @@ export declare namespace DomainItem {
|
|
|
15
16
|
domain_id: DomainId.Raw;
|
|
16
17
|
domain: DomainName.Raw;
|
|
17
18
|
feedback_enabled: FeedbackEnabled.Raw;
|
|
19
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
18
20
|
subdomains_enabled: SubdomainsEnabled.Raw;
|
|
19
21
|
tracking_enabled: TrackingEnabled.Raw;
|
|
20
22
|
client_id?: ClientId.Raw | null;
|
|
@@ -41,6 +41,7 @@ const ClientId_js_1 = require("./ClientId.js");
|
|
|
41
41
|
const DomainId_js_1 = require("./DomainId.js");
|
|
42
42
|
const DomainName_js_1 = require("./DomainName.js");
|
|
43
43
|
const FeedbackEnabled_js_1 = require("./FeedbackEnabled.js");
|
|
44
|
+
const InboundEnabled_js_1 = require("./InboundEnabled.js");
|
|
44
45
|
const SubdomainsEnabled_js_1 = require("./SubdomainsEnabled.js");
|
|
45
46
|
const TrackingEnabled_js_1 = require("./TrackingEnabled.js");
|
|
46
47
|
exports.DomainItem = core.serialization.object({
|
|
@@ -48,6 +49,7 @@ exports.DomainItem = core.serialization.object({
|
|
|
48
49
|
domainId: core.serialization.property("domain_id", DomainId_js_1.DomainId),
|
|
49
50
|
domain: DomainName_js_1.DomainName,
|
|
50
51
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled_js_1.FeedbackEnabled),
|
|
52
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled_js_1.InboundEnabled.optional()),
|
|
51
53
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled_js_1.SubdomainsEnabled),
|
|
52
54
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled_js_1.TrackingEnabled),
|
|
53
55
|
clientId: core.serialization.property("client_id", ClientId_js_1.ClientId.optional()),
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../api/index.js";
|
|
2
|
+
import * as core from "../../../../core/index.js";
|
|
3
|
+
import type * as serializers from "../../../index.js";
|
|
4
|
+
export declare const InboundEnabled: core.serialization.Schema<serializers.InboundEnabled.Raw, AgentMail.InboundEnabled>;
|
|
5
|
+
export declare namespace InboundEnabled {
|
|
6
|
+
type Raw = boolean;
|
|
7
|
+
}
|
|
@@ -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.InboundEnabled = void 0;
|
|
38
|
+
const core = __importStar(require("../../../../core/index.js"));
|
|
39
|
+
exports.InboundEnabled = core.serialization.boolean();
|
|
@@ -2,12 +2,14 @@ import type * as AgentMail from "../../../../api/index.js";
|
|
|
2
2
|
import * as core from "../../../../core/index.js";
|
|
3
3
|
import type * as serializers from "../../../index.js";
|
|
4
4
|
import { FeedbackEnabled } from "./FeedbackEnabled.js";
|
|
5
|
+
import { InboundEnabled } from "./InboundEnabled.js";
|
|
5
6
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.js";
|
|
6
7
|
import { TrackingEnabled } from "./TrackingEnabled.js";
|
|
7
8
|
export declare const UpdateDomainRequest: core.serialization.ObjectSchema<serializers.UpdateDomainRequest.Raw, AgentMail.UpdateDomainRequest>;
|
|
8
9
|
export declare namespace UpdateDomainRequest {
|
|
9
10
|
interface Raw {
|
|
10
11
|
feedback_enabled?: FeedbackEnabled.Raw | null;
|
|
12
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
11
13
|
subdomains_enabled?: SubdomainsEnabled.Raw | null;
|
|
12
14
|
tracking_enabled?: TrackingEnabled.Raw | null;
|
|
13
15
|
}
|
|
@@ -37,10 +37,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.UpdateDomainRequest = void 0;
|
|
38
38
|
const core = __importStar(require("../../../../core/index.js"));
|
|
39
39
|
const FeedbackEnabled_js_1 = require("./FeedbackEnabled.js");
|
|
40
|
+
const InboundEnabled_js_1 = require("./InboundEnabled.js");
|
|
40
41
|
const SubdomainsEnabled_js_1 = require("./SubdomainsEnabled.js");
|
|
41
42
|
const TrackingEnabled_js_1 = require("./TrackingEnabled.js");
|
|
42
43
|
exports.UpdateDomainRequest = core.serialization.object({
|
|
43
44
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled_js_1.FeedbackEnabled.optional()),
|
|
45
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled_js_1.InboundEnabled.optional()),
|
|
44
46
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled_js_1.SubdomainsEnabled.optional()),
|
|
45
47
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled_js_1.TrackingEnabled.optional()),
|
|
46
48
|
});
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.js";
|
|
|
6
6
|
export * from "./DomainName.js";
|
|
7
7
|
export * from "./FeedbackEnabled.js";
|
|
8
8
|
export * from "./GetSetupLinkResponse.js";
|
|
9
|
+
export * from "./InboundEnabled.js";
|
|
9
10
|
export * from "./ListDomainsResponse.js";
|
|
10
11
|
export * from "./RecordStatus.js";
|
|
11
12
|
export * from "./RecordType.js";
|
|
@@ -22,6 +22,7 @@ __exportStar(require("./DomainItem.js"), exports);
|
|
|
22
22
|
__exportStar(require("./DomainName.js"), exports);
|
|
23
23
|
__exportStar(require("./FeedbackEnabled.js"), exports);
|
|
24
24
|
__exportStar(require("./GetSetupLinkResponse.js"), exports);
|
|
25
|
+
__exportStar(require("./InboundEnabled.js"), exports);
|
|
25
26
|
__exportStar(require("./ListDomainsResponse.js"), exports);
|
|
26
27
|
__exportStar(require("./RecordStatus.js"), exports);
|
|
27
28
|
__exportStar(require("./RecordType.js"), exports);
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.5.
|
|
1
|
+
export declare const SDK_VERSION = "0.5.38";
|
package/dist/cjs/version.js
CHANGED
package/dist/esm/BaseClient.mjs
CHANGED
|
@@ -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.
|
|
10
|
-
"User-Agent": "agentmail/0.5.
|
|
9
|
+
"X-Fern-SDK-Version": "0.5.38",
|
|
10
|
+
"User-Agent": "agentmail/0.5.38",
|
|
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,7 +15,7 @@ export declare class AgentClient {
|
|
|
15
15
|
*
|
|
16
16
|
* A 6-digit OTP is sent to the human's email for verification.
|
|
17
17
|
*
|
|
18
|
-
* `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. 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.
|
|
18
|
+
* `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
19
|
*
|
|
20
20
|
* This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
21
21
|
*
|
|
@@ -25,7 +25,7 @@ export class AgentClient {
|
|
|
25
25
|
*
|
|
26
26
|
* A 6-digit OTP is sent to the human's email for verification.
|
|
27
27
|
*
|
|
28
|
-
* `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. 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.
|
|
28
|
+
* `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
29
|
*
|
|
30
30
|
* This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
31
31
|
*
|
|
@@ -39,44 +39,47 @@ export declare class AppsClient {
|
|
|
39
39
|
search(request: AgentMail.SearchAppsRequest, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.SearchAppsResponse>;
|
|
40
40
|
private __search;
|
|
41
41
|
/**
|
|
42
|
-
* Gets one app by ID
|
|
42
|
+
* Gets one app by ID or slug. A catalog app returns its full entry.
|
|
43
43
|
* A registered app that the catalog does not list returns its ID and
|
|
44
44
|
* name only, without `updated_at`, so anyone holding its ID can still look
|
|
45
|
-
* it up. List Apps and Search Apps show
|
|
45
|
+
* it up; a slug finds catalog apps only. List Apps and Search Apps show
|
|
46
|
+
* catalog entries only.
|
|
46
47
|
*
|
|
47
|
-
* @param {
|
|
48
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
48
49
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
49
50
|
*
|
|
50
51
|
* @throws {@link AgentMail.NotFoundError}
|
|
51
52
|
*
|
|
52
53
|
* @example
|
|
53
|
-
* await client.apps.get("
|
|
54
|
+
* await client.apps.get("app_id")
|
|
54
55
|
*/
|
|
55
|
-
get(app_id:
|
|
56
|
+
get(app_id: string, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.App>;
|
|
56
57
|
private __get;
|
|
57
58
|
/**
|
|
58
59
|
* Lists accounts at one app, most recent sign-in first.
|
|
59
60
|
*
|
|
60
|
-
* @param {
|
|
61
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
61
62
|
* @param {AgentMail.ListAppAccountsRequest} request
|
|
62
63
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
63
64
|
*
|
|
64
65
|
* @throws {@link AgentMail.ValidationError}
|
|
65
66
|
*
|
|
66
67
|
* @example
|
|
67
|
-
* await client.apps.listAccounts("
|
|
68
|
+
* await client.apps.listAccounts("app_id")
|
|
68
69
|
*/
|
|
69
|
-
listAccounts(app_id:
|
|
70
|
+
listAccounts(app_id: string, request?: AgentMail.ListAppAccountsRequest, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListAppAccountsResponse>;
|
|
70
71
|
private __listAccounts;
|
|
71
72
|
/**
|
|
72
73
|
* Starts signing an inbox in to an app. Returns a single-use `magic_url`,
|
|
73
74
|
* valid for five minutes, to open in the client that will hold the sign-in;
|
|
74
75
|
* the client enrolls as the inbox and continues to the app.
|
|
76
|
+
* An app in the catalog can be named by its `slug`, as in
|
|
77
|
+
* `POST /v0/apps/firecrawl/connect`.
|
|
75
78
|
* A `404` names the missing resource: `App` or `Inbox`.
|
|
76
79
|
* A `403` `AppSignupLimitError` means the app accepts no more sign-ups from
|
|
77
80
|
* your organization; sign in with an inbox that already has an account there.
|
|
78
81
|
*
|
|
79
|
-
* @param {
|
|
82
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
80
83
|
* @param {AgentMail.ConnectAppBody} request
|
|
81
84
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
82
85
|
*
|
|
@@ -85,8 +88,8 @@ export declare class AppsClient {
|
|
|
85
88
|
* @throws {@link AgentMail.AppSignupLimitError}
|
|
86
89
|
*
|
|
87
90
|
* @example
|
|
88
|
-
* await client.apps.connect("
|
|
91
|
+
* await client.apps.connect("app_id", undefined)
|
|
89
92
|
*/
|
|
90
|
-
connect(app_id:
|
|
93
|
+
connect(app_id: string, request?: AgentMail.ConnectAppBody, requestOptions?: AppsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ConnectAccepted>;
|
|
91
94
|
private __connect;
|
|
92
95
|
}
|
|
@@ -167,18 +167,19 @@ export class AppsClient {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
|
-
* Gets one app by ID
|
|
170
|
+
* Gets one app by ID or slug. A catalog app returns its full entry.
|
|
171
171
|
* A registered app that the catalog does not list returns its ID and
|
|
172
172
|
* name only, without `updated_at`, so anyone holding its ID can still look
|
|
173
|
-
* it up. List Apps and Search Apps show
|
|
173
|
+
* it up; a slug finds catalog apps only. List Apps and Search Apps show
|
|
174
|
+
* catalog entries only.
|
|
174
175
|
*
|
|
175
|
-
* @param {
|
|
176
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
176
177
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
177
178
|
*
|
|
178
179
|
* @throws {@link AgentMail.NotFoundError}
|
|
179
180
|
*
|
|
180
181
|
* @example
|
|
181
|
-
* await client.apps.get("
|
|
182
|
+
* await client.apps.get("app_id")
|
|
182
183
|
*/
|
|
183
184
|
get(app_id, requestOptions) {
|
|
184
185
|
return core.HttpResponsePromise.fromPromise(this.__get(app_id, requestOptions));
|
|
@@ -190,7 +191,7 @@ export class AppsClient {
|
|
|
190
191
|
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
191
192
|
const _response = yield core.fetcher({
|
|
192
193
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
193
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
194
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}`),
|
|
194
195
|
method: "GET",
|
|
195
196
|
headers: _headers,
|
|
196
197
|
queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
|
|
@@ -236,14 +237,14 @@ export class AppsClient {
|
|
|
236
237
|
/**
|
|
237
238
|
* Lists accounts at one app, most recent sign-in first.
|
|
238
239
|
*
|
|
239
|
-
* @param {
|
|
240
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
240
241
|
* @param {AgentMail.ListAppAccountsRequest} request
|
|
241
242
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
242
243
|
*
|
|
243
244
|
* @throws {@link AgentMail.ValidationError}
|
|
244
245
|
*
|
|
245
246
|
* @example
|
|
246
|
-
* await client.apps.listAccounts("
|
|
247
|
+
* await client.apps.listAccounts("app_id")
|
|
247
248
|
*/
|
|
248
249
|
listAccounts(app_id, request = {}, requestOptions) {
|
|
249
250
|
return core.HttpResponsePromise.fromPromise(this.__listAccounts(app_id, request, requestOptions));
|
|
@@ -260,7 +261,7 @@ export class AppsClient {
|
|
|
260
261
|
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
261
262
|
const _response = yield core.fetcher({
|
|
262
263
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
263
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
264
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}/accounts`),
|
|
264
265
|
method: "GET",
|
|
265
266
|
headers: _headers,
|
|
266
267
|
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
@@ -307,11 +308,13 @@ export class AppsClient {
|
|
|
307
308
|
* Starts signing an inbox in to an app. Returns a single-use `magic_url`,
|
|
308
309
|
* valid for five minutes, to open in the client that will hold the sign-in;
|
|
309
310
|
* the client enrolls as the inbox and continues to the app.
|
|
311
|
+
* An app in the catalog can be named by its `slug`, as in
|
|
312
|
+
* `POST /v0/apps/firecrawl/connect`.
|
|
310
313
|
* A `404` names the missing resource: `App` or `Inbox`.
|
|
311
314
|
* A `403` `AppSignupLimitError` means the app accepts no more sign-ups from
|
|
312
315
|
* your organization; sign in with an inbox that already has an account there.
|
|
313
316
|
*
|
|
314
|
-
* @param {
|
|
317
|
+
* @param {string} app_id - ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
315
318
|
* @param {AgentMail.ConnectAppBody} request
|
|
316
319
|
* @param {AppsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
317
320
|
*
|
|
@@ -320,7 +323,7 @@ export class AppsClient {
|
|
|
320
323
|
* @throws {@link AgentMail.AppSignupLimitError}
|
|
321
324
|
*
|
|
322
325
|
* @example
|
|
323
|
-
* await client.apps.connect("
|
|
326
|
+
* await client.apps.connect("app_id", undefined)
|
|
324
327
|
*/
|
|
325
328
|
connect(app_id, request, requestOptions) {
|
|
326
329
|
return core.HttpResponsePromise.fromPromise(this.__connect(app_id, request, requestOptions));
|
|
@@ -332,7 +335,7 @@ export class AppsClient {
|
|
|
332
335
|
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
333
336
|
const _response = yield core.fetcher({
|
|
334
337
|
url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Prod)
|
|
335
|
-
.http, `/v0/apps/${core.url.encodePathParam(
|
|
338
|
+
.http, `/v0/apps/${core.url.encodePathParam(app_id)}/connect`),
|
|
336
339
|
method: "POST",
|
|
337
340
|
headers: _headers,
|
|
338
341
|
contentType: "application/json",
|
|
@@ -4,6 +4,8 @@ import type * as AgentMail from "../../../index.mjs";
|
|
|
4
4
|
*/
|
|
5
5
|
export interface App {
|
|
6
6
|
appId: AgentMail.AppId;
|
|
7
|
+
/** Short name accepted in place of `app_id` by Get App, List App Accounts and Connect App. Set by AgentMail on apps in the catalog; renaming the app does not change it. Store `app_id`, the app's permanent ID. */
|
|
8
|
+
slug?: string;
|
|
7
9
|
name?: string;
|
|
8
10
|
/** Time at which app was last updated. */
|
|
9
11
|
updatedAt?: Date;
|
|
@@ -7,9 +7,11 @@ export interface CreateDomainRequest {
|
|
|
7
7
|
* provider is detected.
|
|
8
8
|
* This flag does not configure DNS or inbound routing. For shared Google
|
|
9
9
|
* Workspace domains, follow the [Google Workspace guide](/google-workspace).
|
|
10
|
+
* Only checked when `inbound_enabled` is true; a send-only domain skips the check.
|
|
10
11
|
*/
|
|
11
12
|
allowConflictingProvider?: boolean;
|
|
12
13
|
feedbackEnabled?: AgentMail.FeedbackEnabled;
|
|
14
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
13
15
|
subdomainsEnabled?: AgentMail.SubdomainsEnabled;
|
|
14
16
|
trackingEnabled?: AgentMail.TrackingEnabled;
|
|
15
17
|
}
|
|
@@ -7,11 +7,14 @@ export interface Domain {
|
|
|
7
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. */
|
|
8
8
|
reason?: string;
|
|
9
9
|
feedbackEnabled: AgentMail.FeedbackEnabled;
|
|
10
|
+
/** Absent on domains created before this field existed; those receive email. */
|
|
11
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
10
12
|
subdomainsEnabled: AgentMail.SubdomainsEnabled;
|
|
11
13
|
trackingEnabled: AgentMail.TrackingEnabled;
|
|
12
14
|
/**
|
|
13
|
-
* A list of DNS records required to verify the domain. Includes
|
|
14
|
-
*
|
|
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.
|
|
15
18
|
*/
|
|
16
19
|
records: AgentMail.VerificationRecord[];
|
|
17
20
|
clientId?: AgentMail.ClientId;
|
|
@@ -4,6 +4,8 @@ export interface DomainItem {
|
|
|
4
4
|
domainId: AgentMail.DomainId;
|
|
5
5
|
domain: AgentMail.DomainName;
|
|
6
6
|
feedbackEnabled: AgentMail.FeedbackEnabled;
|
|
7
|
+
/** Absent on domains created before this field existed; those receive email. */
|
|
8
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
7
9
|
subdomainsEnabled: AgentMail.SubdomainsEnabled;
|
|
8
10
|
trackingEnabled: AgentMail.TrackingEnabled;
|
|
9
11
|
clientId?: AgentMail.ClientId;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receive email for this domain. Defaults to `true`. Set `false` for a send-only
|
|
3
|
+
* domain: the apex MX record is not required and is omitted from `records`, so the
|
|
4
|
+
* domain's existing email provider keeps receiving its mail. Inboxes on a send-only
|
|
5
|
+
* domain can still send.
|
|
6
|
+
*/
|
|
7
|
+
export type InboundEnabled = boolean;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type * as AgentMail from "../../../index.mjs";
|
|
2
2
|
/**
|
|
3
|
-
* Provide at least one of `feedback_enabled`, `
|
|
4
|
-
* `tracking_enabled`. Omitted
|
|
5
|
-
*
|
|
3
|
+
* Provide at least one of `feedback_enabled`, `inbound_enabled`,
|
|
4
|
+
* `subdomains_enabled`, or `tracking_enabled`. Omitted fields are left
|
|
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
|
-
* newly
|
|
7
|
+
* newly required MX record (the apex MX, or the wildcard `*.<domain>`) is
|
|
8
|
+
* published and verified.
|
|
8
9
|
*/
|
|
9
10
|
export interface UpdateDomainRequest {
|
|
10
11
|
feedbackEnabled?: AgentMail.FeedbackEnabled;
|
|
12
|
+
inboundEnabled?: AgentMail.InboundEnabled;
|
|
11
13
|
subdomainsEnabled?: AgentMail.SubdomainsEnabled;
|
|
12
14
|
trackingEnabled?: AgentMail.TrackingEnabled;
|
|
13
15
|
}
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.mjs";
|
|
|
6
6
|
export * from "./DomainName.mjs";
|
|
7
7
|
export * from "./FeedbackEnabled.mjs";
|
|
8
8
|
export * from "./GetSetupLinkResponse.mjs";
|
|
9
|
+
export * from "./InboundEnabled.mjs";
|
|
9
10
|
export * from "./ListDomainsResponse.mjs";
|
|
10
11
|
export * from "./RecordStatus.mjs";
|
|
11
12
|
export * from "./RecordType.mjs";
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.mjs";
|
|
|
6
6
|
export * from "./DomainName.mjs";
|
|
7
7
|
export * from "./FeedbackEnabled.mjs";
|
|
8
8
|
export * from "./GetSetupLinkResponse.mjs";
|
|
9
|
+
export * from "./InboundEnabled.mjs";
|
|
9
10
|
export * from "./ListDomainsResponse.mjs";
|
|
10
11
|
export * from "./RecordStatus.mjs";
|
|
11
12
|
export * from "./RecordType.mjs";
|
|
@@ -4,6 +4,7 @@ import { AppCategory } from "./AppCategory.mjs";
|
|
|
4
4
|
import { AppId } from "./AppId.mjs";
|
|
5
5
|
export const App = core.serialization.object({
|
|
6
6
|
appId: core.serialization.property("app_id", AppId),
|
|
7
|
+
slug: core.serialization.string().optional(),
|
|
7
8
|
name: core.serialization.string().optional(),
|
|
8
9
|
updatedAt: core.serialization.property("updated_at", core.serialization.date().optional()),
|
|
9
10
|
description: core.serialization.string().optional(),
|
|
@@ -3,6 +3,7 @@ import * as core from "../../../../core/index.mjs";
|
|
|
3
3
|
import type * as serializers from "../../../index.mjs";
|
|
4
4
|
import { DomainName } from "./DomainName.mjs";
|
|
5
5
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
6
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
6
7
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
7
8
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
8
9
|
export declare const CreateDomainRequest: core.serialization.ObjectSchema<serializers.CreateDomainRequest.Raw, AgentMail.CreateDomainRequest>;
|
|
@@ -11,6 +12,7 @@ export declare namespace CreateDomainRequest {
|
|
|
11
12
|
domain: DomainName.Raw;
|
|
12
13
|
allow_conflicting_provider?: boolean | null;
|
|
13
14
|
feedback_enabled?: FeedbackEnabled.Raw | null;
|
|
15
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
14
16
|
subdomains_enabled?: SubdomainsEnabled.Raw | null;
|
|
15
17
|
tracking_enabled?: TrackingEnabled.Raw | null;
|
|
16
18
|
}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import * as core from "../../../../core/index.mjs";
|
|
3
3
|
import { DomainName } from "./DomainName.mjs";
|
|
4
4
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
5
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
5
6
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
6
7
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
7
8
|
export const CreateDomainRequest = core.serialization.object({
|
|
8
9
|
domain: DomainName,
|
|
9
10
|
allowConflictingProvider: core.serialization.property("allow_conflicting_provider", core.serialization.boolean().optional()),
|
|
10
11
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled.optional()),
|
|
12
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled.optional()),
|
|
11
13
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled.optional()),
|
|
12
14
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled.optional()),
|
|
13
15
|
});
|
|
@@ -6,6 +6,7 @@ import { ClientId } from "./ClientId.mjs";
|
|
|
6
6
|
import { DomainId } from "./DomainId.mjs";
|
|
7
7
|
import { DomainName } from "./DomainName.mjs";
|
|
8
8
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
9
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
9
10
|
import { Status } from "./Status.mjs";
|
|
10
11
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
11
12
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
@@ -19,6 +20,7 @@ export declare namespace Domain {
|
|
|
19
20
|
status: Status.Raw;
|
|
20
21
|
reason?: string | null;
|
|
21
22
|
feedback_enabled: FeedbackEnabled.Raw;
|
|
23
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
22
24
|
subdomains_enabled: SubdomainsEnabled.Raw;
|
|
23
25
|
tracking_enabled: TrackingEnabled.Raw;
|
|
24
26
|
records: VerificationRecord.Raw[];
|
|
@@ -5,6 +5,7 @@ import { ClientId } from "./ClientId.mjs";
|
|
|
5
5
|
import { DomainId } from "./DomainId.mjs";
|
|
6
6
|
import { DomainName } from "./DomainName.mjs";
|
|
7
7
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
8
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
8
9
|
import { Status } from "./Status.mjs";
|
|
9
10
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
10
11
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
@@ -16,6 +17,7 @@ export const Domain = core.serialization.object({
|
|
|
16
17
|
status: Status,
|
|
17
18
|
reason: core.serialization.string().optional(),
|
|
18
19
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled),
|
|
20
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled.optional()),
|
|
19
21
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled),
|
|
20
22
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled),
|
|
21
23
|
records: core.serialization.list(VerificationRecord),
|
|
@@ -6,6 +6,7 @@ import { ClientId } from "./ClientId.mjs";
|
|
|
6
6
|
import { DomainId } from "./DomainId.mjs";
|
|
7
7
|
import { DomainName } from "./DomainName.mjs";
|
|
8
8
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
9
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
9
10
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
10
11
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
11
12
|
export declare const DomainItem: core.serialization.ObjectSchema<serializers.DomainItem.Raw, AgentMail.DomainItem>;
|
|
@@ -15,6 +16,7 @@ export declare namespace DomainItem {
|
|
|
15
16
|
domain_id: DomainId.Raw;
|
|
16
17
|
domain: DomainName.Raw;
|
|
17
18
|
feedback_enabled: FeedbackEnabled.Raw;
|
|
19
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
18
20
|
subdomains_enabled: SubdomainsEnabled.Raw;
|
|
19
21
|
tracking_enabled: TrackingEnabled.Raw;
|
|
20
22
|
client_id?: ClientId.Raw | null;
|
|
@@ -5,6 +5,7 @@ import { ClientId } from "./ClientId.mjs";
|
|
|
5
5
|
import { DomainId } from "./DomainId.mjs";
|
|
6
6
|
import { DomainName } from "./DomainName.mjs";
|
|
7
7
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
8
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
8
9
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
9
10
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
10
11
|
export const DomainItem = core.serialization.object({
|
|
@@ -12,6 +13,7 @@ export const DomainItem = core.serialization.object({
|
|
|
12
13
|
domainId: core.serialization.property("domain_id", DomainId),
|
|
13
14
|
domain: DomainName,
|
|
14
15
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled),
|
|
16
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled.optional()),
|
|
15
17
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled),
|
|
16
18
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled),
|
|
17
19
|
clientId: core.serialization.property("client_id", ClientId.optional()),
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
export declare const InboundEnabled: core.serialization.Schema<serializers.InboundEnabled.Raw, AgentMail.InboundEnabled>;
|
|
5
|
+
export declare namespace InboundEnabled {
|
|
6
|
+
type Raw = boolean;
|
|
7
|
+
}
|
|
@@ -2,12 +2,14 @@ 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
4
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
5
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
5
6
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
6
7
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
7
8
|
export declare const UpdateDomainRequest: core.serialization.ObjectSchema<serializers.UpdateDomainRequest.Raw, AgentMail.UpdateDomainRequest>;
|
|
8
9
|
export declare namespace UpdateDomainRequest {
|
|
9
10
|
interface Raw {
|
|
10
11
|
feedback_enabled?: FeedbackEnabled.Raw | null;
|
|
12
|
+
inbound_enabled?: InboundEnabled.Raw | null;
|
|
11
13
|
subdomains_enabled?: SubdomainsEnabled.Raw | null;
|
|
12
14
|
tracking_enabled?: TrackingEnabled.Raw | null;
|
|
13
15
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
// This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
import * as core from "../../../../core/index.mjs";
|
|
3
3
|
import { FeedbackEnabled } from "./FeedbackEnabled.mjs";
|
|
4
|
+
import { InboundEnabled } from "./InboundEnabled.mjs";
|
|
4
5
|
import { SubdomainsEnabled } from "./SubdomainsEnabled.mjs";
|
|
5
6
|
import { TrackingEnabled } from "./TrackingEnabled.mjs";
|
|
6
7
|
export const UpdateDomainRequest = core.serialization.object({
|
|
7
8
|
feedbackEnabled: core.serialization.property("feedback_enabled", FeedbackEnabled.optional()),
|
|
9
|
+
inboundEnabled: core.serialization.property("inbound_enabled", InboundEnabled.optional()),
|
|
8
10
|
subdomainsEnabled: core.serialization.property("subdomains_enabled", SubdomainsEnabled.optional()),
|
|
9
11
|
trackingEnabled: core.serialization.property("tracking_enabled", TrackingEnabled.optional()),
|
|
10
12
|
});
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.mjs";
|
|
|
6
6
|
export * from "./DomainName.mjs";
|
|
7
7
|
export * from "./FeedbackEnabled.mjs";
|
|
8
8
|
export * from "./GetSetupLinkResponse.mjs";
|
|
9
|
+
export * from "./InboundEnabled.mjs";
|
|
9
10
|
export * from "./ListDomainsResponse.mjs";
|
|
10
11
|
export * from "./RecordStatus.mjs";
|
|
11
12
|
export * from "./RecordType.mjs";
|
|
@@ -6,6 +6,7 @@ export * from "./DomainItem.mjs";
|
|
|
6
6
|
export * from "./DomainName.mjs";
|
|
7
7
|
export * from "./FeedbackEnabled.mjs";
|
|
8
8
|
export * from "./GetSetupLinkResponse.mjs";
|
|
9
|
+
export * from "./InboundEnabled.mjs";
|
|
9
10
|
export * from "./ListDomainsResponse.mjs";
|
|
10
11
|
export * from "./RecordStatus.mjs";
|
|
11
12
|
export * from "./RecordType.mjs";
|
package/dist/esm/version.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.5.
|
|
1
|
+
export declare const SDK_VERSION = "0.5.38";
|
package/dist/esm/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "0.5.
|
|
1
|
+
export const SDK_VERSION = "0.5.38";
|
package/dist/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AgentMail | Documentation
|
|
2
2
|
|
|
3
|
-
> AgentMail is
|
|
3
|
+
> AgentMail is the first email provider built for AI agents. Create inboxes, send and receive messages, manage threads, and handle webhooks programmatically. Free tier, no credit card required.
|
|
4
4
|
|
|
5
5
|
## Instructions for AI Agents
|
|
6
6
|
|
|
@@ -71,8 +71,10 @@
|
|
|
71
71
|
- [Knowledge Base](https://docs.agentmail.to/knowledge-base.md): A collection of answers to frequently asked questions.
|
|
72
72
|
- [What is AgentMail and how is it different?](https://docs.agentmail.to/knowledge-base/what-is-agentmail.md): Understand how AgentMail compares to traditional email providers.
|
|
73
73
|
- [What can I do with an AgentMail inbox?](https://docs.agentmail.to/knowledge-base/inbox-capabilities.md): A complete overview of inbox capabilities for AI agents.
|
|
74
|
+
- [Can I set a profile picture for my inbox?](https://docs.agentmail.to/knowledge-base/inbox-profile-pictures.md): Learn how to associate a Google profile picture with an AgentMail address, how BIMI logos differ, and when Gmail requires a VMC or CMC certificate.
|
|
74
75
|
- [How do I create my first inbox?](https://docs.agentmail.to/knowledge-base/creating-first-inbox.md): Get up and running with your first AgentMail inbox.
|
|
75
76
|
- [How do I get my API key?](https://docs.agentmail.to/knowledge-base/getting-api-key.md): Create and manage your AgentMail API keys.
|
|
77
|
+
- [How do I claim my agent's inbox?](https://docs.agentmail.to/knowledge-base/claiming-agent-inbox.md): Take ownership of an inbox your agent created without your email.
|
|
76
78
|
- [How do I handle inbound emails with my agent?](https://docs.agentmail.to/knowledge-base/handling-inbound-emails.md): Compare Webhooks and WebSockets for processing incoming emails.
|
|
77
79
|
- [How do I set up allowlists and blocklists?](https://docs.agentmail.to/knowledge-base/allowlists-blocklists.md): Control who your AI agent can send to and receive from.
|
|
78
80
|
- [How do I manage threaded conversations?](https://docs.agentmail.to/knowledge-base/threaded-conversations.md): Maintain context across multi-turn email conversations with your agent.
|
package/package.json
CHANGED
package/reference.md
CHANGED
|
@@ -1468,7 +1468,7 @@ Create a new agent organization with an inbox and API key. This endpoint is for
|
|
|
1468
1468
|
|
|
1469
1469
|
A 6-digit OTP is sent to the human's email for verification.
|
|
1470
1470
|
|
|
1471
|
-
`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. 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.
|
|
1471
|
+
`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.
|
|
1472
1472
|
|
|
1473
1473
|
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
1474
1474
|
|
|
@@ -2169,10 +2169,11 @@ await client.apps.search({
|
|
|
2169
2169
|
<dl>
|
|
2170
2170
|
<dd>
|
|
2171
2171
|
|
|
2172
|
-
Gets one app by ID
|
|
2172
|
+
Gets one app by ID or slug. A catalog app returns its full entry.
|
|
2173
2173
|
A registered app that the catalog does not list returns its ID and
|
|
2174
2174
|
name only, without `updated_at`, so anyone holding its ID can still look
|
|
2175
|
-
it up. List Apps and Search Apps show
|
|
2175
|
+
it up; a slug finds catalog apps only. List Apps and Search Apps show
|
|
2176
|
+
catalog entries only.
|
|
2176
2177
|
</dd>
|
|
2177
2178
|
</dl>
|
|
2178
2179
|
</dd>
|
|
@@ -2187,7 +2188,7 @@ it up. List Apps and Search Apps show catalog entries only.
|
|
|
2187
2188
|
<dd>
|
|
2188
2189
|
|
|
2189
2190
|
```typescript
|
|
2190
|
-
await client.apps.get("
|
|
2191
|
+
await client.apps.get("app_id");
|
|
2191
2192
|
|
|
2192
2193
|
```
|
|
2193
2194
|
</dd>
|
|
@@ -2203,7 +2204,7 @@ await client.apps.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32");
|
|
|
2203
2204
|
<dl>
|
|
2204
2205
|
<dd>
|
|
2205
2206
|
|
|
2206
|
-
**app_id:** `
|
|
2207
|
+
**app_id:** `string` — ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
2207
2208
|
|
|
2208
2209
|
</dd>
|
|
2209
2210
|
</dl>
|
|
@@ -2250,7 +2251,7 @@ Lists accounts at one app, most recent sign-in first.
|
|
|
2250
2251
|
<dd>
|
|
2251
2252
|
|
|
2252
2253
|
```typescript
|
|
2253
|
-
await client.apps.listAccounts("
|
|
2254
|
+
await client.apps.listAccounts("app_id");
|
|
2254
2255
|
|
|
2255
2256
|
```
|
|
2256
2257
|
</dd>
|
|
@@ -2266,7 +2267,7 @@ await client.apps.listAccounts("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32");
|
|
|
2266
2267
|
<dl>
|
|
2267
2268
|
<dd>
|
|
2268
2269
|
|
|
2269
|
-
**app_id:** `
|
|
2270
|
+
**app_id:** `string` — ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
2270
2271
|
|
|
2271
2272
|
</dd>
|
|
2272
2273
|
</dl>
|
|
@@ -2309,6 +2310,8 @@ await client.apps.listAccounts("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32");
|
|
|
2309
2310
|
Starts signing an inbox in to an app. Returns a single-use `magic_url`,
|
|
2310
2311
|
valid for five minutes, to open in the client that will hold the sign-in;
|
|
2311
2312
|
the client enrolls as the inbox and continues to the app.
|
|
2313
|
+
An app in the catalog can be named by its `slug`, as in
|
|
2314
|
+
`POST /v0/apps/firecrawl/connect`.
|
|
2312
2315
|
A `404` names the missing resource: `App` or `Inbox`.
|
|
2313
2316
|
A `403` `AppSignupLimitError` means the app accepts no more sign-ups from
|
|
2314
2317
|
your organization; sign in with an inbox that already has an account there.
|
|
@@ -2326,7 +2329,7 @@ your organization; sign in with an inbox that already has an account there.
|
|
|
2326
2329
|
<dd>
|
|
2327
2330
|
|
|
2328
2331
|
```typescript
|
|
2329
|
-
await client.apps.connect("
|
|
2332
|
+
await client.apps.connect("app_id", undefined);
|
|
2330
2333
|
|
|
2331
2334
|
```
|
|
2332
2335
|
</dd>
|
|
@@ -2342,7 +2345,7 @@ await client.apps.connect("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", undefined);
|
|
|
2342
2345
|
<dl>
|
|
2343
2346
|
<dd>
|
|
2344
2347
|
|
|
2345
|
-
**app_id:** `
|
|
2348
|
+
**app_id:** `string` — ID of app, or the `slug` of an app in the catalog. A slug ignores case, spaces and punctuation.
|
|
2346
2349
|
|
|
2347
2350
|
</dd>
|
|
2348
2351
|
</dl>
|