mailchannels-sdk 0.6.1 → 0.7.1

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
@@ -77,6 +77,7 @@ Already implemented features are marked with a checkmark. Please open an issue i
77
77
 
78
78
  - 📧 Emails
79
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)
80
81
  - ✅ [DKIM, SPF & Domain Lockdown Check](https://docs.mailchannels.net/email-api/api-reference/dkim-spf-domain-lockdown-check)
81
82
  - ✅ [Create DKIM Key Pair](https://docs.mailchannels.net/email-api/api-reference/create-dkim-key-pair)
82
83
  - ✅ [Retrieve DKIM Keys](https://docs.mailchannels.net/email-api/api-reference/retrieve-dkim-keys)
@@ -12,27 +12,41 @@ declare class MailChannelsClient {
12
12
  patch<T>(path: string, options?: Omit<FetchOptions<"json">, "method">): Promise<T>;
13
13
  }
14
14
 
15
+ interface ErrorResponse {
16
+ message: string;
17
+ statusCode: number | null;
18
+ }
19
+
15
20
  interface SuccessResponse {
16
21
  /**
17
22
  * Whether the operation was successful.
18
23
  */
19
24
  success: boolean;
20
25
  /**
21
- * Error message if the operation failed.
26
+ * Error information if the operation failed.
22
27
  */
23
- error: string | null;
28
+ error: ErrorResponse | null;
24
29
  }
25
30
 
26
- interface DataResponse<T> {
31
+ type DataResponse$1<T> = {
27
32
  /**
28
33
  * The response data.
29
34
  */
30
- data: T | null;
35
+ data: T;
31
36
  /**
32
- * Error message if the operation failed.
37
+ * Error information if the operation failed.
33
38
  */
34
- error: string | null;
35
- }
39
+ error: null;
40
+ } | {
41
+ /**
42
+ * The response data.
43
+ */
44
+ data: null;
45
+ /**
46
+ * Error information if the operation failed.
47
+ */
48
+ error: ErrorResponse;
49
+ };
36
50
 
37
51
  interface EmailsSendRecipient {
38
52
  /**
@@ -238,41 +252,45 @@ type EmailsSendOptions = EmailsSendOptionsBase & (
238
252
  }
239
253
  );
240
254
 
241
- interface EmailsSendResponse {
255
+ type EmailsSendResponse = SuccessResponse & DataResponse$1<{
242
256
  /**
243
- * Indicates if the email was successfully sent.
257
+ * Fully rendered message if `dryRun` was set to `true`. A string representation of a rendered message, one per personalization in the request.
244
258
  */
245
- success: boolean;
246
- data: {
259
+ rendered?: string[];
260
+ /**
261
+ * The Request ID is a unique identifier generated by the service to track the HTTP request. It will also be included in all webhooks for reference.
262
+ */
263
+ requestId?: string;
264
+ results?: {
247
265
  /**
248
- * Fully rendered message if `dryRun` was set to `true`. A string representation of a rendered message, one per personalization in the request.
266
+ * The index of the personalization in the request. Starts at 0.
249
267
  */
250
- rendered?: string[];
268
+ index?: number;
251
269
  /**
252
- * The Request ID is a unique identifier generated by the service to track the HTTP request. It will also be included in all webhooks for reference.
270
+ * The Message ID is a unique identifier generated by the service. Each personalization has a distinct Message ID, which is also used in the `Message-Id` header and included in webhooks.
253
271
  */
254
- requestId?: string;
255
- results?: {
256
- /**
257
- * The index of the personalization in the request. Starts at 0.
258
- */
259
- index?: number;
260
- /**
261
- * The Message ID is a unique identifier generated by the service. Each personalization has a distinct Message ID, which is also used in the `Message-Id` header and included in webhooks.
262
- */
263
- messageId: string;
264
- /**
265
- * A human-readable explanation of the status.
266
- */
267
- reason?: string;
268
- /**
269
- * The status of the message. Note that 'sent' is a temporary status; the final status will be provided through webhooks, if configured.
270
- */
271
- status: "sent" | "failed";
272
- }[];
273
- } | null;
274
- error: string | null;
275
- }
272
+ messageId: string;
273
+ /**
274
+ * A human-readable explanation of the status.
275
+ */
276
+ reason?: string;
277
+ /**
278
+ * The status of the message. Note that 'sent' is a temporary status; the final status will be provided through webhooks, if configured.
279
+ */
280
+ status: "sent" | "failed";
281
+ }[];
282
+ }>;
283
+
284
+ type EmailsSendAsyncResponse = DataResponse<{
285
+ /**
286
+ * ISO 8601 timestamp when the request was queued for processing.
287
+ */
288
+ queuedAt: string[];
289
+ /**
290
+ * Unique identifier for tracking this async request. Will be included in all webhook events for this request.
291
+ */
292
+ requestId: string;
293
+ }>;
276
294
 
277
295
  interface EmailsCreateDkimKeyOptions {
278
296
  /**
@@ -341,7 +359,7 @@ interface EmailsDkimKey {
341
359
  statusModifiedAt?: string;
342
360
  }
343
361
 
344
- type EmailsCreateDkimKeyResponse = DataResponse<EmailsDkimKey>;
362
+ type EmailsCreateDkimKeyResponse = DataResponse$1<EmailsDkimKey>;
345
363
 
346
364
  interface EmailsCheckDomainDkim {
347
365
  /**
@@ -381,7 +399,7 @@ interface EmailsCheckDomainOptions {
381
399
 
382
400
  type EmailsCheckDomainVerdict = "passed" | "failed" | "soft failed" | "temporary error" | "permanent error" | "neutral" | "none" | "unknown";
383
401
 
384
- type EmailsCheckDomainResponse = DataResponse<{
402
+ type EmailsCheckDomainResponse = DataResponse$1<{
385
403
  dkim: {
386
404
  domain: string;
387
405
  /**
@@ -463,7 +481,7 @@ interface EmailsGetDkimKeysOptions {
463
481
 
464
482
  type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
465
483
 
466
- type EmailsGetDkimKeysResponse = DataResponse<Optional<EmailsDkimKey, "dnsRecords">[]>;
484
+ type EmailsGetDkimKeysResponse = DataResponse$1<Optional<EmailsDkimKey, "dnsRecords">[]>;
467
485
 
468
486
  interface EmailsUpdateDkimKeyOptions {
469
487
  /**
@@ -488,7 +506,7 @@ interface EmailsRotateDkimKeyOptions {
488
506
  };
489
507
  }
490
508
 
491
- type EmailsRotateDkimKeyResponse = DataResponse<{
509
+ type EmailsRotateDkimKeyResponse = DataResponse$1<{
492
510
  new: EmailsDkimKey;
493
511
  rotated: EmailsDkimKey;
494
512
  }>;
@@ -496,14 +514,15 @@ type EmailsRotateDkimKeyResponse = DataResponse<{
496
514
  declare class Emails {
497
515
  protected mailchannels: MailChannelsClient;
498
516
  constructor(mailchannels: MailChannelsClient);
517
+ private _sendEmail;
499
518
  /**
500
- * Send an email using MailChannels Email API.
519
+ * Sends an email message to one or more recipients.
501
520
  * @param options - The email options to send.
502
521
  * @param dryRun - When set to `true`, the message will not be sent. Instead, the fully rendered message will be returned in the `data` property of the response. The default value is `false`.
503
522
  * @example
504
523
  * ```ts
505
524
  * const mailchannels = new MailChannels('your-api-key')
506
- * const { success, data } = await mailchannels.emails.send({
525
+ * const { success, data, error } = await mailchannels.emails.send({
507
526
  * to: 'to@example.com',
508
527
  * from: 'from@example.com',
509
528
  * subject: 'Test',
@@ -512,13 +531,32 @@ declare class Emails {
512
531
  * ```
513
532
  */
514
533
  send(options: EmailsSendOptions, dryRun?: boolean): Promise<EmailsSendResponse>;
534
+ /**
535
+ * Queues an email message for asynchronous processing and returns immediately with a request ID.
536
+ *
537
+ * The email will be processed in the background, and you'll receive webhook events for all delivery status updates (e.g. `dropped`, `processed`, `delivered`, `hard-bounced`). These webhook events are identical to those sent for the synchronous /send endpoint.
538
+ *
539
+ * Use this endpoint when you need to send emails without waiting for processing to complete. This can improve your application's response time, especially when sending to multiple recipients.
540
+ * @param options - The email options to send.
541
+ * @example
542
+ * ```ts
543
+ * const mailchannels = new MailChannels('your-api-key')
544
+ * const { data, error } = await mailchannels.emails.sendAsync({
545
+ * to: 'to@example.com',
546
+ * from: 'from@example.com',
547
+ * subject: 'Test',
548
+ * html: 'Test'
549
+ * })
550
+ * ```
551
+ */
552
+ sendAsync(options: EmailsSendOptions): Promise<EmailsSendAsyncResponse>;
515
553
  /**
516
554
  * Validates a domain's email authentication setup by retrieving its DKIM, SPF, and Domain Lockdown status. This endpoint checks whether the domain is properly configured for secure email delivery.
517
555
  * @param options - The domain options to check.
518
556
  * @example
519
557
  * ```ts
520
558
  * const mailchannels = new MailChannels('your-api-key')
521
- * const { results } = await mailchannels.emails.checkDomain({
559
+ * const { data, error } = await mailchannels.emails.checkDomain({
522
560
  * dkim: [{
523
561
  * domain: 'example.com',
524
562
  * privateKey: 'your-private-key',
@@ -588,13 +626,13 @@ declare class Emails {
588
626
  rotateDkimKey(domain: string, selector: string, options: EmailsRotateDkimKeyOptions): Promise<EmailsRotateDkimKeyResponse>;
589
627
  }
590
628
 
591
- type WebhooksListResponse = DataResponse<string[]>;
629
+ type WebhooksListResponse = DataResponse$1<string[]>;
592
630
 
593
- type WebhooksSigningKeyResponse = DataResponse<{
631
+ type WebhooksSigningKeyResponse = DataResponse$1<{
594
632
  key: string;
595
633
  }>;
596
634
 
597
- type WebhooksValidateResponse = DataResponse<{
635
+ type WebhooksValidateResponse = DataResponse$1<{
598
636
  /**
599
637
  * Indicates whether all webhook validations passed.
600
638
  */
@@ -695,7 +733,7 @@ interface SubAccountsAccount {
695
733
  handle: string;
696
734
  }
697
735
 
698
- type SubAccountsCreateResponse = DataResponse<SubAccountsAccount>;
736
+ type SubAccountsCreateResponse = DataResponse$1<SubAccountsAccount>;
699
737
 
700
738
  interface SubAccountsListOptions {
701
739
  /**
@@ -710,7 +748,7 @@ interface SubAccountsListOptions {
710
748
  offset?: number;
711
749
  }
712
750
 
713
- type SubAccountsListResponse = DataResponse<SubAccountsAccount[]>;
751
+ type SubAccountsListResponse = DataResponse$1<SubAccountsAccount[]>;
714
752
 
715
753
  interface SubAccountsApiKey {
716
754
  /**
@@ -723,7 +761,7 @@ interface SubAccountsApiKey {
723
761
  value: string;
724
762
  }
725
763
 
726
- type SubAccountsCreateApiKeyResponse = DataResponse<SubAccountsApiKey>;
764
+ type SubAccountsCreateApiKeyResponse = DataResponse$1<SubAccountsApiKey>;
727
765
 
728
766
  interface SubAccountsListApiKeyOptions {
729
767
  /**
@@ -738,7 +776,7 @@ interface SubAccountsListApiKeyOptions {
738
776
  offset?: number;
739
777
  }
740
778
 
741
- type SubAccountsListApiKeyResponse = DataResponse<SubAccountsApiKey[]>;
779
+ type SubAccountsListApiKeyResponse = DataResponse$1<SubAccountsApiKey[]>;
742
780
 
743
781
  interface SubAccountsSmtpPassword {
744
782
  /**
@@ -755,15 +793,15 @@ interface SubAccountsSmtpPassword {
755
793
  value: string;
756
794
  }
757
795
 
758
- type SubAccountsCreateSmtpPasswordResponse = DataResponse<SubAccountsSmtpPassword>;
796
+ type SubAccountsCreateSmtpPasswordResponse = DataResponse$1<SubAccountsSmtpPassword>;
759
797
 
760
- type SubAccountsListSmtpPasswordResponse = DataResponse<SubAccountsSmtpPassword[]>;
798
+ type SubAccountsListSmtpPasswordResponse = DataResponse$1<SubAccountsSmtpPassword[]>;
761
799
 
762
800
  interface SubAccountsLimit {
763
801
  sends: number;
764
802
  }
765
803
 
766
- type SubAccountsLimitResponse = DataResponse<SubAccountsLimit>;
804
+ type SubAccountsLimitResponse = DataResponse$1<SubAccountsLimit>;
767
805
 
768
806
  interface SubAccountsUsage {
769
807
  /**
@@ -782,7 +820,7 @@ interface SubAccountsUsage {
782
820
  total: number;
783
821
  }
784
822
 
785
- type SubAccountsUsageResponse = DataResponse<SubAccountsUsage>;
823
+ type SubAccountsUsageResponse = DataResponse$1<SubAccountsUsage>;
786
824
 
787
825
  declare class SubAccounts {
788
826
  protected mailchannels: MailChannelsClient;
@@ -963,7 +1001,7 @@ interface MetricsEngagement {
963
1001
  startTime: string;
964
1002
  }
965
1003
 
966
- type MetricsEngagementResponse = DataResponse<MetricsEngagement>;
1004
+ type MetricsEngagementResponse = DataResponse$1<MetricsEngagement>;
967
1005
 
968
1006
  interface MetricsPerformance {
969
1007
  /**
@@ -996,7 +1034,7 @@ interface MetricsPerformance {
996
1034
  startTime: string;
997
1035
  }
998
1036
 
999
- type MetricsPerformanceResponse = DataResponse<MetricsPerformance>;
1037
+ type MetricsPerformanceResponse = DataResponse$1<MetricsPerformance>;
1000
1038
 
1001
1039
  interface MetricsRecipientBehaviour {
1002
1040
  /**
@@ -1024,7 +1062,7 @@ interface MetricsRecipientBehaviour {
1024
1062
  unsubscribed: number;
1025
1063
  }
1026
1064
 
1027
- type MetricsRecipientBehaviourResponse = DataResponse<MetricsRecipientBehaviour>;
1065
+ type MetricsRecipientBehaviourResponse = DataResponse$1<MetricsRecipientBehaviour>;
1028
1066
 
1029
1067
  interface MetricsVolume {
1030
1068
  /**
@@ -1057,9 +1095,9 @@ interface MetricsVolume {
1057
1095
  startTime: string;
1058
1096
  }
1059
1097
 
1060
- type MetricsVolumeResponse = DataResponse<MetricsVolume>;
1098
+ type MetricsVolumeResponse = DataResponse$1<MetricsVolume>;
1061
1099
 
1062
- type MetricsUsageResponse = DataResponse<{
1100
+ type MetricsUsageResponse = DataResponse$1<{
1063
1101
  /**
1064
1102
  * The end date of the current billing period (ISO 8601 format).
1065
1103
  * @example "2025-04-11"
@@ -1127,7 +1165,7 @@ interface MetricsSenders {
1127
1165
  total: number;
1128
1166
  }
1129
1167
 
1130
- type MetricsSendersResponse = DataResponse<MetricsSenders>;
1168
+ type MetricsSendersResponse = DataResponse$1<MetricsSenders>;
1131
1169
 
1132
1170
  interface MetricsBucket {
1133
1171
  /**
@@ -1298,7 +1336,7 @@ interface SuppressionsListEntry {
1298
1336
  types: SuppressionsTypes[];
1299
1337
  }
1300
1338
 
1301
- type SuppressionsListResponse = DataResponse<SuppressionsListEntry[]>;
1339
+ type SuppressionsListResponse = DataResponse$1<SuppressionsListEntry[]>;
1302
1340
 
1303
1341
  declare class Suppressions {
1304
1342
  protected mailchannels: MailChannelsClient;
@@ -1356,9 +1394,9 @@ interface ListEntry {
1356
1394
  type: "domain" | "email_address" | "ip_address";
1357
1395
  }
1358
1396
 
1359
- type ListEntryResponse = DataResponse<ListEntry>;
1397
+ type ListEntryResponse = DataResponse$1<ListEntry>;
1360
1398
 
1361
- type ListEntriesResponse = DataResponse<ListEntry[]>;
1399
+ type ListEntriesResponse = DataResponse$1<ListEntry[]>;
1362
1400
 
1363
1401
  interface DomainsData {
1364
1402
  /**
@@ -1434,9 +1472,9 @@ interface DomainsProvisionOptions {
1434
1472
 
1435
1473
  type DomainsBulkProvisionOptions = DomainsProvisionOptions & Pick<DomainsData, "subscriptionHandle">;
1436
1474
 
1437
- type DomainsProvisionResponse = DataResponse<DomainsData>;
1475
+ type DomainsProvisionResponse = DataResponse$1<DomainsData>;
1438
1476
 
1439
- type DomainsBulkProvisionResponse = DataResponse<{
1477
+ type DomainsBulkProvisionResponse = DataResponse$1<{
1440
1478
  /**
1441
1479
  * Domains that were successfully provisioned or updated.
1442
1480
  */
@@ -1478,7 +1516,7 @@ interface DomainsListOptions {
1478
1516
  offset?: number;
1479
1517
  }
1480
1518
 
1481
- type DomainsListResponse = DataResponse<{
1519
+ type DomainsListResponse = DataResponse$1<{
1482
1520
  /**
1483
1521
  * A list of domains.
1484
1522
  */
@@ -1496,7 +1534,7 @@ interface DomainsCreateLoginLink {
1496
1534
  link: string;
1497
1535
  }
1498
1536
 
1499
- type DomainsCreateLoginLinkResponse = DataResponse<DomainsCreateLoginLink>;
1537
+ type DomainsCreateLoginLinkResponse = DataResponse$1<DomainsCreateLoginLink>;
1500
1538
 
1501
1539
  interface DomainsListDownstreamAddressesOptions {
1502
1540
  /**
@@ -1530,7 +1568,7 @@ interface DomainsDownstreamAddress {
1530
1568
  weight: number;
1531
1569
  }
1532
1570
 
1533
- type DomainsListDownstreamAddressesResponse = DataResponse<DomainsDownstreamAddress[]>;
1571
+ type DomainsListDownstreamAddressesResponse = DataResponse$1<DomainsDownstreamAddress[]>;
1534
1572
 
1535
1573
  interface DomainsBulkCreateLoginLinkResult {
1536
1574
  /**
@@ -1553,7 +1591,7 @@ interface DomainsBulkCreateLoginLinks {
1553
1591
  errors: Omit<DomainsBulkCreateLoginLinkResult, "loginLink">[];
1554
1592
  }
1555
1593
 
1556
- type DomainsBulkCreateLoginLinksResponse = DataResponse<DomainsBulkCreateLoginLinks>;
1594
+ type DomainsBulkCreateLoginLinksResponse = DataResponse$1<DomainsBulkCreateLoginLinks>;
1557
1595
 
1558
1596
  declare class Domains {
1559
1597
  protected mailchannels: MailChannelsClient;
@@ -1777,7 +1815,7 @@ interface UsersCreateOptions {
1777
1815
  };
1778
1816
  }
1779
1817
 
1780
- type UsersCreateResponse = DataResponse<{
1818
+ type UsersCreateResponse = DataResponse$1<{
1781
1819
  email: string;
1782
1820
  roles: string[];
1783
1821
  filter?: boolean;
@@ -1845,7 +1883,7 @@ declare class Users {
1845
1883
  deleteListEntry(email: string, options: ListEntryOptions): Promise<SuccessResponse>;
1846
1884
  }
1847
1885
 
1848
- type ServiceSubscriptionsResponse = DataResponse<{
1886
+ type ServiceSubscriptionsResponse = DataResponse$1<{
1849
1887
  active: boolean;
1850
1888
  activeAccountsCount: number;
1851
1889
  handle: string;
@@ -1933,4 +1971,4 @@ declare class MailChannels extends MailChannelsClient {
1933
1971
  }
1934
1972
 
1935
1973
  export { Domains, Emails, Lists, MailChannels, MailChannelsClient, Metrics, Service, SubAccounts, Suppressions, Users, Webhooks };
1936
- export type { DataResponse, DomainsBulkCreateLoginLinkResult, DomainsBulkCreateLoginLinks, DomainsBulkCreateLoginLinksResponse, DomainsBulkProvisionOptions, DomainsBulkProvisionResponse, DomainsCreateLoginLink, DomainsCreateLoginLinkResponse, DomainsData, DomainsDownstreamAddress, DomainsListDownstreamAddressesOptions, DomainsListDownstreamAddressesResponse, DomainsListOptions, DomainsListResponse, DomainsProvisionOptions, DomainsProvisionResponse, EmailsCheckDomainDkim, EmailsCheckDomainOptions, EmailsCheckDomainResponse, EmailsCheckDomainVerdict, EmailsCreateDkimKeyOptions, EmailsCreateDkimKeyResponse, EmailsDkimKey, EmailsDkimKeyStatus, EmailsGetDkimKeysOptions, EmailsGetDkimKeysResponse, EmailsRotateDkimKeyOptions, EmailsRotateDkimKeyResponse, EmailsSendAttachment, EmailsSendOptions, EmailsSendOptionsBase, EmailsSendRecipient, EmailsSendResponse, EmailsSendTracking, EmailsUpdateDkimKeyOptions, ListEntriesResponse, ListEntry, ListEntryOptions, ListEntryResponse, ListNames, MetricsBucket, MetricsEngagement, MetricsEngagementResponse, MetricsOptions, MetricsPerformance, MetricsPerformanceResponse, MetricsRecipientBehaviour, MetricsRecipientBehaviourResponse, MetricsSenders, MetricsSendersOptions, MetricsSendersResponse, MetricsSendersType, MetricsUsageResponse, MetricsVolume, MetricsVolumeResponse, Optional, ServiceReportOptions, ServiceSubscriptionsResponse, SubAccountsAccount, SubAccountsApiKey, SubAccountsCreateApiKeyResponse, SubAccountsCreateResponse, SubAccountsCreateSmtpPasswordResponse, SubAccountsLimit, SubAccountsLimitResponse, SubAccountsListApiKeyOptions, SubAccountsListApiKeyResponse, SubAccountsListOptions, SubAccountsListResponse, SubAccountsListSmtpPasswordResponse, SubAccountsSmtpPassword, SubAccountsUsage, SubAccountsUsageResponse, SuccessResponse, SuppressionsCreateOptions, SuppressionsListEntry, SuppressionsListOptions, SuppressionsListResponse, SuppressionsSource, SuppressionsTypes, UsersCreateOptions, UsersCreateResponse, WebhooksListResponse, WebhooksSigningKeyResponse, WebhooksValidateResponse };
1974
+ export type { DataResponse$1 as DataResponse, DomainsBulkCreateLoginLinkResult, DomainsBulkCreateLoginLinks, DomainsBulkCreateLoginLinksResponse, DomainsBulkProvisionOptions, DomainsBulkProvisionResponse, DomainsCreateLoginLink, DomainsCreateLoginLinkResponse, DomainsData, DomainsDownstreamAddress, DomainsListDownstreamAddressesOptions, DomainsListDownstreamAddressesResponse, DomainsListOptions, DomainsListResponse, DomainsProvisionOptions, DomainsProvisionResponse, EmailsCheckDomainDkim, EmailsCheckDomainOptions, EmailsCheckDomainResponse, EmailsCheckDomainVerdict, EmailsCreateDkimKeyOptions, EmailsCreateDkimKeyResponse, EmailsDkimKey, EmailsDkimKeyStatus, EmailsGetDkimKeysOptions, EmailsGetDkimKeysResponse, EmailsRotateDkimKeyOptions, EmailsRotateDkimKeyResponse, EmailsSendAsyncResponse, EmailsSendAttachment, EmailsSendOptions, EmailsSendOptionsBase, EmailsSendRecipient, EmailsSendResponse, EmailsSendTracking, EmailsUpdateDkimKeyOptions, ErrorResponse, ListEntriesResponse, ListEntry, ListEntryOptions, ListEntryResponse, ListNames, MetricsBucket, MetricsEngagement, MetricsEngagementResponse, MetricsOptions, MetricsPerformance, MetricsPerformanceResponse, MetricsRecipientBehaviour, MetricsRecipientBehaviourResponse, MetricsSenders, MetricsSendersOptions, MetricsSendersResponse, MetricsSendersType, MetricsUsageResponse, MetricsVolume, MetricsVolumeResponse, Optional, ServiceReportOptions, ServiceSubscriptionsResponse, SubAccountsAccount, SubAccountsApiKey, SubAccountsCreateApiKeyResponse, SubAccountsCreateResponse, SubAccountsCreateSmtpPasswordResponse, SubAccountsLimit, SubAccountsLimitResponse, SubAccountsListApiKeyOptions, SubAccountsListApiKeyResponse, SubAccountsListOptions, SubAccountsListResponse, SubAccountsListSmtpPasswordResponse, SubAccountsSmtpPassword, SubAccountsUsage, SubAccountsUsageResponse, SuccessResponse, SuppressionsCreateOptions, SuppressionsListEntry, SuppressionsListOptions, SuppressionsListResponse, SuppressionsSource, SuppressionsTypes, UsersCreateOptions, UsersCreateResponse, WebhooksListResponse, WebhooksSigningKeyResponse, WebhooksValidateResponse };