mailchannels-sdk 0.7.5 → 0.7.6

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/README.md CHANGED
@@ -12,10 +12,10 @@ Node.js SDK to integrate [MailChannels API](https://docs.mailchannels.net/) into
12
12
  This library provides a simple way to interact with the [MailChannels API](https://docs.mailchannels.net/). It is written in TypeScript and can be used in both JavaScript and TypeScript projects and in different runtimes.
13
13
  <!-- #endregion overview -->
14
14
 
15
- <!-- #region note -->
15
+ <!-- #region disclaimer -->
16
16
  > [!IMPORTANT]
17
17
  > **Disclaimer**: This library is not associated with [MailChannels Corporation](https://mailchannels.com/).
18
- <!-- #endregion note -->
18
+ <!-- #endregion disclaimer -->
19
19
 
20
20
  - [✨ Release Notes](CHANGELOG.md)
21
21
  - [📖 Documentation](https://mailchannels.yizack.com)
@@ -24,13 +24,19 @@ This library provides a simple way to interact with the [MailChannels API](https
24
24
 
25
25
  - 🚀 [Features](#features)
26
26
  - 📏 [Requirements](#requirements)
27
- - 🏃 [Quick setup](#quick-setup)
28
- - 🚧 [Roadmap](#roadmap)
27
+ - 📦 [Installation](#installation)
28
+ - 📚 [Usage](#usage)
29
+ - 📐 [Naming Conventions](#naming-conventions)
29
30
  - ⚖️ [License](#license)
30
31
  - 💻 [Development](#development)
31
32
 
32
33
  ## <a name="features">🚀 Features</a>
33
34
 
35
+ <!-- #region features -->
36
+ This SDK fully supports all features and operations available in the [MailChannels API](https://docs.mailchannels.net/). It is actively maintained to ensure compatibility and to quickly add support for new API features as they are released.
37
+
38
+ Some of the things you can do with the SDK:
39
+
34
40
  - Send transactional emails
35
41
  - Check DKIM, SPF & Domain Lockdown
36
42
  - Configure DKIM keys
@@ -41,14 +47,18 @@ This library provides a simple way to interact with the [MailChannels API](https
41
47
  - Configure inbound domains
42
48
  - Manage account and recipient lists
43
49
 
50
+ > [!TIP]
51
+ > For a detailed reference mapping each SDK method to its corresponding MailChannels API endpoint reference, see the [SDK-API Mapping](https://mailchannels.yizack.com/sdk-api-mapping)
52
+ <!-- #endregion features -->
53
+
44
54
  ## <a name="requirements">📏 Requirements</a>
45
55
 
46
56
  - [Create a MailChannels account](https://www.mailchannels.com/pricing/#for_devs)
47
57
  - [Create an API key](https://console.mailchannels.net/settings/accountSettings#APIKeys)
48
58
 
49
- ## <a name="quick-setup">🏃 Quick setup</a>
59
+ ## <a name="installation">📦 Installation</a>
50
60
 
51
- 1. Add `mailchannels-sdk` dependency to your project
61
+ Add `mailchannels-sdk` dependency to your project
52
62
 
53
63
  ```sh
54
64
  # npm
@@ -61,92 +71,43 @@ yarn add mailchannels-sdk
61
71
  pnpm add mailchannels-sdk
62
72
  ```
63
73
 
74
+ ## <a name="usage">📚 Usage</a>
75
+
76
+ To authenticate, you'll need an API key. You can create and manage API keys in **Dashboard** > **Account Settings** > **API Keys**.
77
+
78
+ Pass your API key while initializing a new MailChannels client.
79
+
80
+ ```ts
81
+ import { MailChannels } from 'mailchannels-sdk'
82
+
83
+ const mailchannels = new MailChannels('your-api-key')
84
+ ```
85
+
86
+ Send an email:
87
+
88
+ ```ts
89
+ const { data, error } = await mailchannels.emails.send({
90
+ from: 'Name <from@example.com>',
91
+ to: 'to@example.com',
92
+ subject: 'Test email',
93
+ html: '<p>Hello World</p>'
94
+ })
95
+ ```
96
+
97
+ ## <a name="naming-conventions">📐 Naming Conventions</a>
98
+
99
+ <!-- #region naming-conventions -->
100
+ Most properties in the MailChannels API use `snake_case`. To follow JavaScript conventions, the SDK adopts `camelCase` for all properties. This means:
101
+
102
+ - Most options and responses match the API docs, but field names are `camelCase` rather than `snake_case`.
103
+ - Some fields are grouped into nested objects or renamed for simplicity and better developer experience.
104
+ - While most fields match the API docs (just with `camelCase`), a few may be simplified or reorganized to feel more natural for JavaScript developers.
105
+ <!-- #endregion naming-conventions -->
106
+
64
107
  ## <a name="license">⚖️ License</a>
65
108
 
66
109
  [MIT License](LICENSE)
67
110
 
68
- <!-- #region roadmap -->
69
- ## <a name="roadmap">🚧 Roadmap</a>
70
-
71
- Already implemented features are marked with a checkmark. Please open an issue if you find any bugs or missing features.
72
-
73
- > [!NOTE]
74
- > Links below point to the official MailChannels API documentation, options and responses may differ slightly when using this SDK. Please refer to the [documentation](https://mailchannels.yizack.com) for the correct usage of each feature.
75
-
76
- ### [Email API](https://docs.mailchannels.net/email-api/api-reference/email-api)
77
-
78
- - 📧 Emails
79
- - ✅ [Send an Email](https://docs.mailchannels.net/email-api/api-reference/send-an-email)
80
- - ✅ [Send an Email Asynchronously](https://docs.mailchannels.net/email-api/api-reference/send-an-email-asynchronously)
81
- - ✅ [DKIM, SPF & Domain Lockdown Check](https://docs.mailchannels.net/email-api/api-reference/dkim-spf-domain-lockdown-check)
82
- - ✅ [Create DKIM Key Pair](https://docs.mailchannels.net/email-api/api-reference/create-dkim-key-pair)
83
- - ✅ [Retrieve DKIM Keys](https://docs.mailchannels.net/email-api/api-reference/retrieve-dkim-keys)
84
- - ✅ [Update DKIM Key Status](https://docs.mailchannels.net/email-api/api-reference/update-dkim-key-status)
85
- - ✅ [Rotate DKIM Key Pair](https://docs.mailchannels.net/email-api/api-reference/rotate-dkim-key-pair)
86
- - 📢 Webhooks
87
- - ✅ [Enroll for Webhook Notifications](https://docs.mailchannels.net/email-api/api-reference/enroll-for-webhook-notifications)
88
- - ✅ [Retrieve Customer Webhooks](https://docs.mailchannels.net/email-api/api-reference/retrieve-customer-webhooks)
89
- - ✅ [Delete Customer Webhooks](https://docs.mailchannels.net/email-api/api-reference/delete-customer-webhooks)
90
- - ✅ [Retrieve Webhook Signing Key](https://docs.mailchannels.net/email-api/api-reference/retrieve-webhook-signing-key)
91
- - ✅ [Validate Enrolled Webhook](https://docs.mailchannels.net/email-api/api-reference/validate-enrolled-webhook)
92
- - 🪪 Sub-accounts
93
- - ✅ [Create Sub-account](https://docs.mailchannels.net/email-api/api-reference/create-sub-account)
94
- - ✅ [Retrieve Sub-accounts](https://docs.mailchannels.net/email-api/api-reference/retrieve-sub-accounts)
95
- - ✅ [Delete Sub-account](https://docs.mailchannels.net/email-api/api-reference/delete-sub-account)
96
- - ✅ [Suspend Sub-account](https://docs.mailchannels.net/email-api/api-reference/suspend-sub-account)
97
- - ✅ [Activate Sub-account](https://docs.mailchannels.net/email-api/api-reference/activate-sub-account)
98
- - ✅ [Create Sub-account API Key](https://docs.mailchannels.net/email-api/api-reference/create-sub-account-api-key)
99
- - ✅ [Delete Sub-account API Key](https://docs.mailchannels.net/email-api/api-reference/delete-sub-account-api-key)
100
- - ✅ [Retrieve Sub-account API Keys](https://docs.mailchannels.net/email-api/api-reference/retrieve-sub-account-api-keys)
101
- - ✅ [Create Sub-account SMTP Password](https://docs.mailchannels.net/email-api/api-reference/create-sub-account-smtp-password)
102
- - ✅ [Delete Sub-account SMTP Password](https://docs.mailchannels.net/email-api/api-reference/delete-sub-account-smtp-password)
103
- - ✅ [Retrieve Sub-account SMTP Passwords](https://docs.mailchannels.net/email-api/api-reference/retrieve-sub-account-smtp-passwords)
104
- - ✅ [Retrieve Sub-account Limit](https://docs.mailchannels.net/email-api/api-reference/retrieve-sub-account-limit)
105
- - ✅ [Set Sub-account Limit](https://docs.mailchannels.net/email-api/api-reference/set-sub-account-limit)
106
- - ✅ [Delete Sub-account Limit](https://docs.mailchannels.net/email-api/api-reference/delete-sub-account-limit)
107
- - ✅ [Retrieve Sub-account Usage Stats](https://docs.mailchannels.net/email-api/api-reference/retrieve-sub-account-usage-stats)
108
- - 📊 Metrics
109
- - ✅ [Retrieve Engagement Metrics](https://docs.mailchannels.net/email-api/api-reference/retrieve-engagement-metrics)
110
- - ✅ [Retrieve Performance Metrics](https://docs.mailchannels.net/email-api/api-reference/retrieve-performance-metrics)
111
- - ✅ [Retrieve Recipient Behaviour Metrics](https://docs.mailchannels.net/email-api/api-reference/retrieve-recipient-behaviour-metrics)
112
- - ✅ [Retrieve Usage Stats](https://docs.mailchannels.net/email-api/api-reference/retrieve-usage-stats)
113
- - ✅ [Retrieve Volume Metrics](https://docs.mailchannels.net/email-api/api-reference/retrieve-volume-metrics)
114
- - ✅ [Retrieve Sender Metrics](https://docs.mailchannels.net/email-api/api-reference/retrieve-sender-metrics)
115
- - 🚫 Suppressions
116
- - ✅ [Create Suppression Entries](https://docs.mailchannels.net/email-api/api-reference/create-suppression-entries)
117
- - ✅ [Delete Suppression Entry](https://docs.mailchannels.net/email-api/api-reference/delete-suppression-entry)
118
- - ✅ [Retrieve Suppression List](https://docs.mailchannels.net/email-api/api-reference/retrieve-suppression-list)
119
-
120
- ### [Inbound API](https://docs.mailchannels.net/inbound-api/API-reference/inbound-api)
121
-
122
- - 🌐 Domains
123
- - ✅ [Provision domain](https://docs.mailchannels.net/inbound-api/API-reference/provision-domain)
124
- - ✅ [Remove domain](https://docs.mailchannels.net/inbound-api/API-reference/remove-domain)
125
- - ✅ [List domains](https://docs.mailchannels.net/inbound-api/API-reference/list-domains)
126
- - ✅ [Bulk provision domains](https://docs.mailchannels.net/inbound-api/API-reference/bulk-provision-domains)
127
- - ✅ [Add domain list entry](https://docs.mailchannels.net/inbound-api/API-reference/add-domain-list-entry)
128
- - ✅ [Get domain list entries](https://docs.mailchannels.net/inbound-api/API-reference/get-domain-list-entries)
129
- - ✅ [Delete domain list entry](https://docs.mailchannels.net/inbound-api/API-reference/delete-domain-list-entry)
130
- - ✅ [Create login link](https://docs.mailchannels.net/inbound-api/API-reference/create-login-link)
131
- - ✅ [Bulk create login links](https://docs.mailchannels.net/inbound-api/API-reference/bulk-create-login-links)
132
- - ✅ [Set downstream address](https://docs.mailchannels.net/inbound-api/API-reference/set-downstream-address)
133
- - ✅ [Fetch downstream addresses](https://docs.mailchannels.net/inbound-api/API-reference/fetch-downstream-addresses)
134
- - ✅ [Update API key](https://docs.mailchannels.net/inbound-api/API-reference/update-api-key)
135
- - 📋 Lists
136
- - ✅ [Add item to customer list](https://docs.mailchannels.net/inbound-api/API-reference/add-item-to-customer-list)
137
- - ✅ [Delete item from customer list](https://docs.mailchannels.net/inbound-api/API-reference/delete-item-from-customer-list)
138
- - ✅ [Get customer list entries](https://docs.mailchannels.net/inbound-api/API-reference/get-customer-list-entries)
139
- - 📥 Users
140
- - ✅ [Create a recipient](https://docs.mailchannels.net/inbound-api/API-reference/create-a-recipient)
141
- - ✅ [Add item to recipient list](https://docs.mailchannels.net/inbound-api/API-reference/add-item-to-recipient-list)
142
- - ✅ [Get recipient list entries](https://docs.mailchannels.net/inbound-api/API-reference/get-recipient-list-entries)
143
- - ✅ [Delete item from recipient list](https://docs.mailchannels.net/inbound-api/API-reference/delete-item-from-recipient-list)
144
- - ⚙️ Service
145
- - ✅ [Retrieve the condition of the service](https://docs.mailchannels.net/inbound-api/API-reference/retrieve-the-condition-of-the-service)
146
- - ✅ [Submit a false negative or false positive report](https://docs.mailchannels.net/inbound-api/API-reference/submit-a-false-negative-or-false-positive-report)
147
- - ✅ [Get a list of your subscriptions to MailChannels Inbound](https://docs.mailchannels.net/inbound-api/API-reference/get-a-list-of-your-subscriptions-to-mail-channels-inbound)
148
- <!-- #endregion roadmap -->
149
-
150
111
  ## <a name="development">💻 Development</a>
151
112
 
152
113
  <details>
@@ -1,6 +1,4 @@
1
1
  import { FetchOptions } from "ofetch";
2
-
3
- //#region src/client.d.ts
4
2
  declare class MailChannelsClient {
5
3
  #private;
6
4
  private static BASE_URL;
@@ -12,8 +10,6 @@ declare class MailChannelsClient {
12
10
  put<T>(path: string, options?: Omit<FetchOptions<"json">, "method">): Promise<T>;
13
11
  patch<T>(path: string, options?: Omit<FetchOptions<"json">, "method">): Promise<T>;
14
12
  }
15
- //#endregion
16
- //#region src/types/responses.d.ts
17
13
  interface ErrorResponse {
18
14
  message: string;
19
15
  statusCode: number | null;
@@ -47,8 +43,6 @@ type DataResponse<T> = {
47
43
  */
48
44
  error: ErrorResponse;
49
45
  };
50
- //#endregion
51
- //#region src/types/emails/send.d.ts
52
46
  interface EmailsSendRecipient {
53
47
  /**
54
48
  * The email address of the recipient.
@@ -288,8 +282,6 @@ type EmailsSendResponse = SuccessResponse & DataResponse<{
288
282
  status: "sent" | "failed";
289
283
  }[];
290
284
  }>;
291
- //#endregion
292
- //#region src/types/emails/send-async.d.ts
293
285
  type EmailsSendAsyncResponse = DataResponse<{
294
286
  /**
295
287
  * ISO 8601 timestamp when the request was queued for processing.
@@ -300,8 +292,6 @@ type EmailsSendAsyncResponse = DataResponse<{
300
292
  */
301
293
  requestId: string;
302
294
  }>;
303
- //#endregion
304
- //#region src/types/emails/create-dkim-key.d.ts
305
295
  interface EmailsCreateDkimKeyOptions {
306
296
  /**
307
297
  * Algorithm used for the new key pair Currently, only RSA is supported.
@@ -367,8 +357,6 @@ interface EmailsDkimKey {
367
357
  statusModifiedAt?: string;
368
358
  }
369
359
  type EmailsCreateDkimKeyResponse = DataResponse<EmailsDkimKey>;
370
- //#endregion
371
- //#region src/types/emails/check-domain.d.ts
372
360
  interface EmailsCheckDomainDkim {
373
361
  /**
374
362
  * Domain used for DKIM signing.
@@ -457,8 +445,6 @@ type EmailsCheckDomainResponse = DataResponse<{
457
445
  };
458
446
  references?: string[];
459
447
  }>;
460
- //#endregion
461
- //#region src/types/emails/get-dkim-keys.d.ts
462
448
  interface EmailsGetDkimKeysOptions {
463
449
  /**
464
450
  * Selector to filter keys by. Must be a maximum of 63 characters.
@@ -486,8 +472,6 @@ interface EmailsGetDkimKeysOptions {
486
472
  }
487
473
  type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
488
474
  type EmailsGetDkimKeysResponse = DataResponse<Optional<EmailsDkimKey, "dnsRecords">[]>;
489
- //#endregion
490
- //#region src/types/emails/update-dkim-key.d.ts
491
475
  interface EmailsUpdateDkimKeyOptions {
492
476
  /**
493
477
  * Selector of the DKIM key pair to update. Must be a maximum of 63 characters.
@@ -501,8 +485,6 @@ interface EmailsUpdateDkimKeyOptions {
501
485
  */
502
486
  status: Exclude<EmailsDkimKey["status"], "active">;
503
487
  }
504
- //#endregion
505
- //#region src/types/emails/rotate-dkim-key.d.ts
506
488
  interface EmailsRotateDkimKeyOptions {
507
489
  newKey: {
508
490
  /**
@@ -515,8 +497,6 @@ type EmailsRotateDkimKeyResponse = DataResponse<{
515
497
  new: EmailsDkimKey;
516
498
  rotated: EmailsDkimKey;
517
499
  }>;
518
- //#endregion
519
- //#region src/modules/emails.d.ts
520
500
  declare class Emails {
521
501
  protected mailchannels: MailChannelsClient;
522
502
  constructor(mailchannels: MailChannelsClient);
@@ -631,11 +611,7 @@ declare class Emails {
631
611
  */
632
612
  rotateDkimKey(domain: string, selector: string, options: EmailsRotateDkimKeyOptions): Promise<EmailsRotateDkimKeyResponse>;
633
613
  }
634
- //#endregion
635
- //#region src/types/webhooks/list.d.ts
636
614
  type WebhooksListResponse = DataResponse<string[]>;
637
- //#endregion
638
- //#region src/types/webhooks/signing-key.d.ts
639
615
  type WebhooksSigningKeyResponse = DataResponse<{
640
616
  /**
641
617
  * The ID of the key.
@@ -646,8 +622,6 @@ type WebhooksSigningKeyResponse = DataResponse<{
646
622
  */
647
623
  key: string;
648
624
  }>;
649
- //#endregion
650
- //#region src/types/webhooks/validate.d.ts
651
625
  type WebhooksValidateResponse = DataResponse<{
652
626
  /**
653
627
  * Indicates whether all webhook validations passed.
@@ -680,8 +654,6 @@ type WebhooksValidateResponse = DataResponse<{
680
654
  } | null;
681
655
  }[];
682
656
  }>;
683
- //#endregion
684
- //#region src/types/webhooks/verify.d.ts
685
657
  interface WebhooksVerifyOptions {
686
658
  /**
687
659
  * The raw body of the incoming webhook request as a string. This should be the exact payload received from the webhook, without any modifications or parsing, to ensure accurate signature verification.
@@ -700,8 +672,74 @@ interface WebhooksVerifyOptions {
700
672
  */
701
673
  publicKey?: string;
702
674
  }
703
- //#endregion
704
- //#region src/modules/webhooks.d.ts
675
+ type WebhooksBatchStatus = "1xx" | "2xx" | "3xx" | "4xx" | "5xx" | "no_response";
676
+ type WebhooksBatchResponseStatus = "1xx_response" | "2xx_response" | "3xx_response" | "4xx_response" | "5xx_response" | "no_response";
677
+ interface WebhooksBatchesOptions {
678
+ /**
679
+ * Inclusive lower bound (UTC) for filtering webhook batches by creation time. Formats: `YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SSZ`.
680
+ */
681
+ createdAfter?: string;
682
+ /**
683
+ * Exclusive upper bound (UTC) for filtering webhook batches by creation time. Formats: `YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SSZ`.
684
+ */
685
+ createdBefore?: string;
686
+ /**
687
+ * Filters webhook batches by webhook response status category. If not provided, batches with all categories are returned.
688
+ */
689
+ statuses?: WebhooksBatchStatus[];
690
+ /**
691
+ * Filters webhook batches by the webhook endpoint to which events in the batch were posted.
692
+ */
693
+ webhook?: string;
694
+ /**
695
+ * The maximum number of webhook batches to return. Must be between `1` and `500`.
696
+ * @default 500
697
+ */
698
+ limit?: number;
699
+ /**
700
+ * The number of webhook batches to skip before starting to collect the result set.
701
+ * @default 0
702
+ */
703
+ offset?: number;
704
+ }
705
+ interface WebhooksBatch {
706
+ /**
707
+ * Unique identifier for the webhook batch.
708
+ */
709
+ batchId: number;
710
+ /**
711
+ * Timestamp of when the webhook batch was created.
712
+ */
713
+ createdAt: string;
714
+ /**
715
+ * Customer handle associated with the webhook batch.
716
+ */
717
+ customerHandle: string;
718
+ /**
719
+ * Duration of the webhook batch, measured from the time the request was sent to the webhook endpoint until the response was received.
720
+ */
721
+ duration?: {
722
+ unit: "milliseconds";
723
+ value: number;
724
+ };
725
+ /**
726
+ * Number of events in the webhook batch.
727
+ */
728
+ eventCount: number;
729
+ /**
730
+ * Status of the webhook batch.
731
+ */
732
+ status: WebhooksBatchResponseStatus;
733
+ /**
734
+ * HTTP status code returned by the webhook endpoint.
735
+ */
736
+ statusCode: number | null;
737
+ /**
738
+ * Webhook endpoint to which events in the batch were posted.
739
+ */
740
+ webhook: string;
741
+ }
742
+ type WebhooksBatchesResponse = DataResponse<WebhooksBatch[]>;
705
743
  declare class Webhooks {
706
744
  protected mailchannels: MailChannelsClient;
707
745
  constructor(mailchannels: MailChannelsClient);
@@ -772,9 +810,17 @@ declare class Webhooks {
772
810
  * ```
773
811
  */
774
812
  verify(options: WebhooksVerifyOptions): Promise<boolean>;
813
+ /**
814
+ * Retrieves paged webhook batches associated with the customer. The time range specified by `createdAfter` and `createdBefore` must not exceed 31 days. If neither is specified, the default time range is the last 3 days.
815
+ * @param options - The options for listing webhook batches.
816
+ * @example
817
+ * ```ts
818
+ * const mailchannels = new MailChannels('your-api-key')
819
+ * const { data, error } = await mailchannels.webhooks.batches()
820
+ * ```
821
+ */
822
+ batches(options?: WebhooksBatchesOptions): Promise<WebhooksBatchesResponse>;
775
823
  }
776
- //#endregion
777
- //#region src/types/sub-accounts/create.d.ts
778
824
  interface SubAccountsAccount {
779
825
  /**
780
826
  * The name of the company associated with the sub-account.
@@ -790,8 +836,6 @@ interface SubAccountsAccount {
790
836
  handle: string;
791
837
  }
792
838
  type SubAccountsCreateResponse = DataResponse<SubAccountsAccount>;
793
- //#endregion
794
- //#region src/types/sub-accounts/list.d.ts
795
839
  interface SubAccountsListOptions {
796
840
  /**
797
841
  * Possible values are `1` to `1000`.
@@ -805,8 +849,6 @@ interface SubAccountsListOptions {
805
849
  offset?: number;
806
850
  }
807
851
  type SubAccountsListResponse = DataResponse<SubAccountsAccount[]>;
808
- //#endregion
809
- //#region src/types/sub-accounts/api-key.d.ts
810
852
  interface SubAccountsApiKey {
811
853
  /**
812
854
  * The API key ID for the sub-account.
@@ -831,8 +873,6 @@ interface SubAccountsListApiKeyOptions {
831
873
  offset?: number;
832
874
  }
833
875
  type SubAccountsListApiKeyResponse = DataResponse<SubAccountsApiKey[]>;
834
- //#endregion
835
- //#region src/types/sub-accounts/smtp-password.d.ts
836
876
  interface SubAccountsSmtpPassword {
837
877
  /**
838
878
  * Whether the SMTP password is enabled.
@@ -849,14 +889,10 @@ interface SubAccountsSmtpPassword {
849
889
  }
850
890
  type SubAccountsCreateSmtpPasswordResponse = DataResponse<SubAccountsSmtpPassword>;
851
891
  type SubAccountsListSmtpPasswordResponse = DataResponse<SubAccountsSmtpPassword[]>;
852
- //#endregion
853
- //#region src/types/sub-accounts/limit.d.ts
854
892
  interface SubAccountsLimit {
855
893
  sends: number;
856
894
  }
857
895
  type SubAccountsLimitResponse = DataResponse<SubAccountsLimit>;
858
- //#endregion
859
- //#region src/types/sub-accounts/usage.d.ts
860
896
  interface SubAccountsUsage {
861
897
  /**
862
898
  * The end date of the current billing period (ISO 8601 format).
@@ -874,8 +910,6 @@ interface SubAccountsUsage {
874
910
  total: number;
875
911
  }
876
912
  type SubAccountsUsageResponse = DataResponse<SubAccountsUsage>;
877
- //#endregion
878
- //#region src/modules/sub-accounts.d.ts
879
913
  declare class SubAccounts {
880
914
  protected mailchannels: MailChannelsClient;
881
915
  private static readonly COMPANY_PATTERN;
@@ -1037,8 +1071,6 @@ declare class SubAccounts {
1037
1071
  */
1038
1072
  getUsage(handle: string): Promise<SubAccountsUsageResponse>;
1039
1073
  }
1040
- //#endregion
1041
- //#region src/types/metrics/engagement.d.ts
1042
1074
  interface MetricsEngagement {
1043
1075
  /**
1044
1076
  * A series of metrics aggregations bucketed by time interval (e.g. hour, day).
@@ -1057,8 +1089,6 @@ interface MetricsEngagement {
1057
1089
  startTime: string;
1058
1090
  }
1059
1091
  type MetricsEngagementResponse = DataResponse<MetricsEngagement>;
1060
- //#endregion
1061
- //#region src/types/metrics/performance.d.ts
1062
1092
  interface MetricsPerformance {
1063
1093
  /**
1064
1094
  * Count of messages bounced during the specified time range.
@@ -1090,8 +1120,6 @@ interface MetricsPerformance {
1090
1120
  startTime: string;
1091
1121
  }
1092
1122
  type MetricsPerformanceResponse = DataResponse<MetricsPerformance>;
1093
- //#endregion
1094
- //#region src/types/metrics/recipient-behaviour.d.ts
1095
1123
  interface MetricsRecipientBehaviour {
1096
1124
  /**
1097
1125
  * A series of metrics aggregations bucketed by time interval (e.g. hour, day).
@@ -1118,8 +1146,6 @@ interface MetricsRecipientBehaviour {
1118
1146
  unsubscribed: number;
1119
1147
  }
1120
1148
  type MetricsRecipientBehaviourResponse = DataResponse<MetricsRecipientBehaviour>;
1121
- //#endregion
1122
- //#region src/types/metrics/volume.d.ts
1123
1149
  interface MetricsVolume {
1124
1150
  /**
1125
1151
  * A series of metrics aggregations bucketed by time interval (e.g. hour, day).
@@ -1151,8 +1177,6 @@ interface MetricsVolume {
1151
1177
  startTime: string;
1152
1178
  }
1153
1179
  type MetricsVolumeResponse = DataResponse<MetricsVolume>;
1154
- //#endregion
1155
- //#region src/types/metrics/usage.d.ts
1156
1180
  type MetricsUsageResponse = DataResponse<{
1157
1181
  /**
1158
1182
  * The end date of the current billing period (ISO 8601 format).
@@ -1169,8 +1193,6 @@ type MetricsUsageResponse = DataResponse<{
1169
1193
  */
1170
1194
  total: number;
1171
1195
  }>;
1172
- //#endregion
1173
- //#region src/types/metrics/senders.d.ts
1174
1196
  type MetricsSendersType = "sub-accounts" | "campaigns";
1175
1197
  interface MetricsSendersOptions {
1176
1198
  /**
@@ -1220,8 +1242,6 @@ interface MetricsSenders {
1220
1242
  total: number;
1221
1243
  }
1222
1244
  type MetricsSendersResponse = DataResponse<MetricsSenders>;
1223
- //#endregion
1224
- //#region src/types/metrics/index.d.ts
1225
1245
  interface MetricsBucket {
1226
1246
  /**
1227
1247
  * The number of events or occurrences aggregated within this time period.
@@ -1253,8 +1273,6 @@ interface MetricsOptions {
1253
1273
  */
1254
1274
  interval?: "hour" | "day" | "week" | "month";
1255
1275
  }
1256
- //#endregion
1257
- //#region src/modules/metrics.d.ts
1258
1276
  declare class Metrics {
1259
1277
  protected mailchannels: MailChannelsClient;
1260
1278
  constructor(mailchannels: MailChannelsClient);
@@ -1319,8 +1337,6 @@ declare class Metrics {
1319
1337
  */
1320
1338
  senders(type: MetricsSendersType, options?: MetricsSendersOptions): Promise<MetricsSendersResponse>;
1321
1339
  }
1322
- //#endregion
1323
- //#region src/types/suppressions/create.d.ts
1324
1340
  type SuppressionsTypes = "transactional" | "non-transactional";
1325
1341
  interface SuppressionsCreateOptions {
1326
1342
  /**
@@ -1347,8 +1363,6 @@ interface SuppressionsCreateOptions {
1347
1363
  types?: SuppressionsTypes[];
1348
1364
  }[];
1349
1365
  }
1350
- //#endregion
1351
- //#region src/types/suppressions/list.d.ts
1352
1366
  type SuppressionsSource = "api" | "unsubscribe_link" | "list_unsubscribe" | "hard_bounce" | "spam_complaint" | "all";
1353
1367
  interface SuppressionsListOptions {
1354
1368
  /**
@@ -1390,8 +1404,6 @@ interface SuppressionsListEntry {
1390
1404
  types: SuppressionsTypes[];
1391
1405
  }
1392
1406
  type SuppressionsListResponse = DataResponse<SuppressionsListEntry[]>;
1393
- //#endregion
1394
- //#region src/modules/suppressions.d.ts
1395
1407
  declare class Suppressions {
1396
1408
  protected mailchannels: MailChannelsClient;
1397
1409
  constructor(mailchannels: MailChannelsClient);
@@ -1428,8 +1440,6 @@ declare class Suppressions {
1428
1440
  */
1429
1441
  list(options?: SuppressionsListOptions): Promise<SuppressionsListResponse>;
1430
1442
  }
1431
- //#endregion
1432
- //#region src/types/lists/entry.d.ts
1433
1443
  type ListNames = "blocklist" | "safelist" | "blacklist" | "whitelist";
1434
1444
  interface ListEntryOptions {
1435
1445
  /**
@@ -1448,8 +1458,6 @@ interface ListEntry {
1448
1458
  }
1449
1459
  type ListEntryResponse = DataResponse<ListEntry>;
1450
1460
  type ListEntriesResponse = DataResponse<ListEntry[]>;
1451
- //#endregion
1452
- //#region src/types/domains/provision.d.ts
1453
1461
  interface DomainsData {
1454
1462
  /**
1455
1463
  * The domain name.
@@ -1546,8 +1554,6 @@ type DomainsBulkProvisionResponse = DataResponse<{
1546
1554
  comment?: string;
1547
1555
  }[];
1548
1556
  }>;
1549
- //#endregion
1550
- //#region src/types/domains/list.d.ts
1551
1557
  interface DomainsListOptions {
1552
1558
  /**
1553
1559
  * A list of domains to fetch. If this parameter is present, only domains whose name matches an item in this list are returned.
@@ -1574,8 +1580,6 @@ type DomainsListResponse = DataResponse<{
1574
1580
  */
1575
1581
  total: number;
1576
1582
  }>;
1577
- //#endregion
1578
- //#region src/types/domains/create-login-link.d.ts
1579
1583
  interface DomainsCreateLoginLink {
1580
1584
  /**
1581
1585
  * If a user browses to this URL, they will be automatically logged in as a domain admin.
@@ -1583,8 +1587,6 @@ interface DomainsCreateLoginLink {
1583
1587
  link: string;
1584
1588
  }
1585
1589
  type DomainsCreateLoginLinkResponse = DataResponse<DomainsCreateLoginLink>;
1586
- //#endregion
1587
- //#region src/types/domains/downstream-addresses.d.ts
1588
1590
  interface DomainsListDownstreamAddressesOptions {
1589
1591
  /**
1590
1592
  * The number of records to return.
@@ -1616,8 +1618,6 @@ interface DomainsDownstreamAddress {
1616
1618
  weight: number;
1617
1619
  }
1618
1620
  type DomainsListDownstreamAddressesResponse = DataResponse<DomainsDownstreamAddress[]>;
1619
- //#endregion
1620
- //#region src/types/domains/bulk-create-login-links.d.ts
1621
1621
  interface DomainsBulkCreateLoginLinkResult {
1622
1622
  /**
1623
1623
  * The domain the request was for.
@@ -1638,8 +1638,6 @@ interface DomainsBulkCreateLoginLinks {
1638
1638
  errors: Omit<DomainsBulkCreateLoginLinkResult, "loginLink">[];
1639
1639
  }
1640
1640
  type DomainsBulkCreateLoginLinksResponse = DataResponse<DomainsBulkCreateLoginLinks>;
1641
- //#endregion
1642
- //#region src/modules/domains.d.ts
1643
1641
  declare class Domains {
1644
1642
  protected mailchannels: MailChannelsClient;
1645
1643
  constructor(mailchannels: MailChannelsClient);
@@ -1797,8 +1795,6 @@ declare class Domains {
1797
1795
  */
1798
1796
  bulkCreateLoginLinks(domains: string[]): Promise<DomainsBulkCreateLoginLinksResponse>;
1799
1797
  }
1800
- //#endregion
1801
- //#region src/modules/lists.d.ts
1802
1798
  declare class Lists {
1803
1799
  protected mailchannels: MailChannelsClient;
1804
1800
  constructor(mailchannels: MailChannelsClient);
@@ -1839,8 +1835,6 @@ declare class Lists {
1839
1835
  */
1840
1836
  deleteListEntry(options: ListEntryOptions): Promise<SuccessResponse>;
1841
1837
  }
1842
- //#endregion
1843
- //#region src/types/users/create.d.ts
1844
1838
  interface UsersCreateOptions {
1845
1839
  /**
1846
1840
  * Flag to indicate if the user is a domain admin or a regular user.
@@ -1873,8 +1867,6 @@ type UsersCreateResponse = DataResponse<{
1873
1867
  action: "safelist" | "blocklist";
1874
1868
  }[];
1875
1869
  }>;
1876
- //#endregion
1877
- //#region src/modules/users.d.ts
1878
1870
  declare class Users {
1879
1871
  protected mailchannels: MailChannelsClient;
1880
1872
  constructor(mailchannels: MailChannelsClient);
@@ -1931,8 +1923,6 @@ declare class Users {
1931
1923
  */
1932
1924
  deleteListEntry(email: string, options: ListEntryOptions): Promise<SuccessResponse>;
1933
1925
  }
1934
- //#endregion
1935
- //#region src/types/service/subscriptions.d.ts
1936
1926
  type ServiceSubscriptionsResponse = DataResponse<{
1937
1927
  active: boolean;
1938
1928
  activeAccountsCount: number;
@@ -1946,8 +1936,6 @@ type ServiceSubscriptionsResponse = DataResponse<{
1946
1936
  name: string;
1947
1937
  };
1948
1938
  }[]>;
1949
- //#endregion
1950
- //#region src/types/service/report.d.ts
1951
1939
  interface ServiceReportOptions {
1952
1940
  /**
1953
1941
  * The report type. It can be either `false_negative` or `false_positive`.
@@ -1972,8 +1960,6 @@ interface ServiceReportOptions {
1972
1960
  name?: string;
1973
1961
  };
1974
1962
  }
1975
- //#endregion
1976
- //#region src/modules/service.d.ts
1977
1963
  declare class Service {
1978
1964
  protected mailchannels: MailChannelsClient;
1979
1965
  constructor(mailchannels: MailChannelsClient);
@@ -2008,8 +1994,6 @@ declare class Service {
2008
1994
  */
2009
1995
  report(options: ServiceReportOptions): Promise<SuccessResponse>;
2010
1996
  }
2011
- //#endregion
2012
- //#region src/types/webhooks/events.d.ts
2013
1997
  type WebhookEventType = "processed" | "delivered" | "open" | "click" | "hard-bounced" | "soft-bounced" | "dropped" | "complained" | "unsubscribed" | "test";
2014
1998
  interface WebhookEventBase<T extends WebhookEventType> {
2015
1999
  /**
@@ -2083,8 +2067,6 @@ interface WebhookEventUnsubscribed extends WebhookEventBase<"unsubscribed"> {}
2083
2067
  interface WebhookEventTest extends Omit<WebhookEventBase<"test">, "recipients" | "campaign_id"> {}
2084
2068
  type WebhookEvent = WebhookEventProcessed | WebhookEventDelivered | WebhookEventOpen | WebhookEventClick | WebhookEventHardBounced | WebhookEventSoftBounced | WebhookEventDropped | WebhookEventComplained | WebhookEventUnsubscribed | WebhookEventTest;
2085
2069
  type WebhookEvents = WebhookEvent[];
2086
- //#endregion
2087
- //#region src/mailchannels.d.ts
2088
2070
  declare class MailChannels extends MailChannelsClient {
2089
2071
  readonly emails: Emails;
2090
2072
  readonly webhooks: Webhooks;
@@ -2097,5 +2079,4 @@ declare class MailChannels extends MailChannelsClient {
2097
2079
  readonly service: Service;
2098
2080
  constructor(key: string);
2099
2081
  }
2100
- //#endregion
2101
- export { DataResponse, Domains, DomainsBulkCreateLoginLinks, DomainsBulkCreateLoginLinksResponse, DomainsBulkProvisionOptions, DomainsBulkProvisionResponse, DomainsCreateLoginLink, DomainsCreateLoginLinkResponse, DomainsData, DomainsDownstreamAddress, DomainsListDownstreamAddressesOptions, DomainsListDownstreamAddressesResponse, DomainsListOptions, DomainsListResponse, DomainsProvisionOptions, DomainsProvisionResponse, Emails, EmailsCheckDomainOptions, EmailsCheckDomainResponse, EmailsCheckDomainVerdict, EmailsCreateDkimKeyOptions, EmailsCreateDkimKeyResponse, EmailsDkimKey, EmailsDkimKeyStatus, EmailsGetDkimKeysOptions, EmailsGetDkimKeysResponse, EmailsRotateDkimKeyOptions, EmailsRotateDkimKeyResponse, EmailsSendAsyncResponse, EmailsSendAttachment, EmailsSendOptions, EmailsSendRecipient, EmailsSendResponse, EmailsSendTracking, EmailsUpdateDkimKeyOptions, ErrorResponse, ListEntriesResponse, ListEntry, ListEntryOptions, ListEntryResponse, ListNames, Lists, MailChannels, MailChannelsClient, Metrics, MetricsBucket, MetricsEngagement, MetricsEngagementResponse, MetricsOptions, MetricsPerformance, MetricsPerformanceResponse, MetricsRecipientBehaviour, MetricsRecipientBehaviourResponse, MetricsSenders, MetricsSendersOptions, MetricsSendersResponse, MetricsSendersType, MetricsUsageResponse, MetricsVolume, MetricsVolumeResponse, Service, ServiceReportOptions, ServiceSubscriptionsResponse, SubAccounts, SubAccountsAccount, SubAccountsApiKey, SubAccountsCreateApiKeyResponse, SubAccountsCreateResponse, SubAccountsCreateSmtpPasswordResponse, SubAccountsLimit, SubAccountsLimitResponse, SubAccountsListApiKeyOptions, SubAccountsListApiKeyResponse, SubAccountsListOptions, SubAccountsListResponse, SubAccountsListSmtpPasswordResponse, SubAccountsSmtpPassword, SubAccountsUsage, SubAccountsUsageResponse, SuccessResponse, Suppressions, SuppressionsCreateOptions, SuppressionsListEntry, SuppressionsListOptions, SuppressionsListResponse, SuppressionsSource, SuppressionsTypes, Users, UsersCreateOptions, UsersCreateResponse, WebhookEvent, WebhookEventClick, WebhookEventComplained, WebhookEventDelivered, WebhookEventDropped, WebhookEventHardBounced, WebhookEventOpen, WebhookEventProcessed, WebhookEventSoftBounced, WebhookEventTest, WebhookEventType, WebhookEventUnsubscribed, WebhookEvents, Webhooks, WebhooksListResponse, WebhooksSigningKeyResponse, WebhooksValidateResponse, WebhooksVerifyOptions };
2082
+ export { DataResponse, Domains, DomainsBulkCreateLoginLinks, DomainsBulkCreateLoginLinksResponse, DomainsBulkProvisionOptions, DomainsBulkProvisionResponse, DomainsCreateLoginLink, DomainsCreateLoginLinkResponse, DomainsData, DomainsDownstreamAddress, DomainsListDownstreamAddressesOptions, DomainsListDownstreamAddressesResponse, DomainsListOptions, DomainsListResponse, DomainsProvisionOptions, DomainsProvisionResponse, Emails, EmailsCheckDomainOptions, EmailsCheckDomainResponse, EmailsCheckDomainVerdict, EmailsCreateDkimKeyOptions, EmailsCreateDkimKeyResponse, EmailsDkimKey, EmailsDkimKeyStatus, EmailsGetDkimKeysOptions, EmailsGetDkimKeysResponse, EmailsRotateDkimKeyOptions, EmailsRotateDkimKeyResponse, EmailsSendAsyncResponse, EmailsSendAttachment, EmailsSendOptions, EmailsSendRecipient, EmailsSendResponse, EmailsSendTracking, EmailsUpdateDkimKeyOptions, ErrorResponse, ListEntriesResponse, ListEntry, ListEntryOptions, ListEntryResponse, ListNames, Lists, MailChannels, MailChannelsClient, Metrics, MetricsBucket, MetricsEngagement, MetricsEngagementResponse, MetricsOptions, MetricsPerformance, MetricsPerformanceResponse, MetricsRecipientBehaviour, MetricsRecipientBehaviourResponse, MetricsSenders, MetricsSendersOptions, MetricsSendersResponse, MetricsSendersType, MetricsUsageResponse, MetricsVolume, MetricsVolumeResponse, Service, ServiceReportOptions, ServiceSubscriptionsResponse, SubAccounts, SubAccountsAccount, SubAccountsApiKey, SubAccountsCreateApiKeyResponse, SubAccountsCreateResponse, SubAccountsCreateSmtpPasswordResponse, SubAccountsLimit, SubAccountsLimitResponse, SubAccountsListApiKeyOptions, SubAccountsListApiKeyResponse, SubAccountsListOptions, SubAccountsListResponse, SubAccountsListSmtpPasswordResponse, SubAccountsSmtpPassword, SubAccountsUsage, SubAccountsUsageResponse, SuccessResponse, Suppressions, SuppressionsCreateOptions, SuppressionsListEntry, SuppressionsListOptions, SuppressionsListResponse, SuppressionsSource, SuppressionsTypes, Users, UsersCreateOptions, UsersCreateResponse, WebhookEvent, WebhookEventClick, WebhookEventComplained, WebhookEventDelivered, WebhookEventDropped, WebhookEventHardBounced, WebhookEventOpen, WebhookEventProcessed, WebhookEventSoftBounced, WebhookEventTest, WebhookEventType, WebhookEventUnsubscribed, WebhookEvents, Webhooks, WebhooksBatch, WebhooksBatchResponseStatus, WebhooksBatchStatus, WebhooksBatchesOptions, WebhooksBatchesResponse, WebhooksListResponse, WebhooksSigningKeyResponse, WebhooksValidateResponse, WebhooksVerifyOptions };