@epilot/sdk 2.18.5 → 2.18.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.
Files changed (126) hide show
  1. package/definitions/email-settings-runtime.json +1 -1
  2. package/definitions/email-settings.json +50 -10
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.js +1 -1
  13. package/dist/apis/audit-logs.cjs +6 -6
  14. package/dist/apis/audit-logs.js +1 -1
  15. package/dist/apis/automation.cjs +6 -6
  16. package/dist/apis/automation.js +1 -1
  17. package/dist/apis/billing.cjs +6 -6
  18. package/dist/apis/billing.js +1 -1
  19. package/dist/apis/blueprint-manifest.cjs +6 -6
  20. package/dist/apis/blueprint-manifest.js +1 -1
  21. package/dist/apis/calendar.cjs +6 -6
  22. package/dist/apis/calendar.js +1 -1
  23. package/dist/apis/configuration-hub.cjs +6 -6
  24. package/dist/apis/configuration-hub.js +1 -1
  25. package/dist/apis/consent.cjs +6 -6
  26. package/dist/apis/consent.js +1 -1
  27. package/dist/apis/customer-portal.cjs +6 -6
  28. package/dist/apis/customer-portal.js +1 -1
  29. package/dist/apis/dashboard.cjs +6 -6
  30. package/dist/apis/dashboard.js +1 -1
  31. package/dist/apis/data-governance.cjs +6 -6
  32. package/dist/apis/data-governance.js +1 -1
  33. package/dist/apis/deduplication.cjs +6 -6
  34. package/dist/apis/deduplication.js +1 -1
  35. package/dist/apis/design.cjs +6 -6
  36. package/dist/apis/design.js +1 -1
  37. package/dist/apis/document.cjs +6 -6
  38. package/dist/apis/document.js +1 -1
  39. package/dist/apis/email-settings.cjs +8 -8
  40. package/dist/apis/email-settings.d.cts +2 -2
  41. package/dist/apis/email-settings.d.ts +2 -2
  42. package/dist/apis/email-settings.js +2 -2
  43. package/dist/apis/email-template.cjs +6 -6
  44. package/dist/apis/email-template.js +1 -1
  45. package/dist/apis/entity-mapping.cjs +6 -6
  46. package/dist/apis/entity-mapping.js +1 -1
  47. package/dist/apis/entity.cjs +6 -6
  48. package/dist/apis/entity.js +1 -1
  49. package/dist/apis/environments.cjs +6 -6
  50. package/dist/apis/environments.js +1 -1
  51. package/dist/apis/event-catalog.cjs +6 -6
  52. package/dist/apis/event-catalog.js +1 -1
  53. package/dist/apis/file.cjs +6 -6
  54. package/dist/apis/file.js +1 -1
  55. package/dist/apis/iban.cjs +6 -6
  56. package/dist/apis/iban.js +1 -1
  57. package/dist/apis/integration-toolkit.cjs +6 -6
  58. package/dist/apis/integration-toolkit.js +1 -1
  59. package/dist/apis/journey.cjs +6 -6
  60. package/dist/apis/journey.js +1 -1
  61. package/dist/apis/kanban.cjs +6 -6
  62. package/dist/apis/kanban.js +1 -1
  63. package/dist/apis/message.cjs +6 -6
  64. package/dist/apis/message.js +1 -1
  65. package/dist/apis/metering.cjs +6 -6
  66. package/dist/apis/metering.js +1 -1
  67. package/dist/apis/notes.cjs +6 -6
  68. package/dist/apis/notes.js +1 -1
  69. package/dist/apis/notification.cjs +6 -6
  70. package/dist/apis/notification.js +1 -1
  71. package/dist/apis/organization.cjs +6 -6
  72. package/dist/apis/organization.js +1 -1
  73. package/dist/apis/partner-directory.cjs +6 -6
  74. package/dist/apis/partner-directory.js +1 -1
  75. package/dist/apis/permissions.cjs +6 -6
  76. package/dist/apis/permissions.js +1 -1
  77. package/dist/apis/pricing-tier.cjs +6 -6
  78. package/dist/apis/pricing-tier.js +1 -1
  79. package/dist/apis/pricing.cjs +6 -6
  80. package/dist/apis/pricing.js +1 -1
  81. package/dist/apis/purpose.cjs +6 -6
  82. package/dist/apis/purpose.js +1 -1
  83. package/dist/apis/query.cjs +6 -6
  84. package/dist/apis/query.js +1 -1
  85. package/dist/apis/sandbox.cjs +6 -6
  86. package/dist/apis/sandbox.js +1 -1
  87. package/dist/apis/sharing.cjs +6 -6
  88. package/dist/apis/sharing.js +1 -1
  89. package/dist/apis/snapshot.cjs +6 -6
  90. package/dist/apis/snapshot.js +1 -1
  91. package/dist/apis/submission.cjs +6 -6
  92. package/dist/apis/submission.js +1 -1
  93. package/dist/apis/target.cjs +6 -6
  94. package/dist/apis/target.js +1 -1
  95. package/dist/apis/targeting.cjs +6 -6
  96. package/dist/apis/targeting.js +1 -1
  97. package/dist/apis/template-variables.cjs +6 -6
  98. package/dist/apis/template-variables.js +1 -1
  99. package/dist/apis/user.cjs +6 -6
  100. package/dist/apis/user.js +1 -1
  101. package/dist/apis/validation-rules.cjs +6 -6
  102. package/dist/apis/validation-rules.js +1 -1
  103. package/dist/apis/webhooks.cjs +6 -6
  104. package/dist/apis/webhooks.js +1 -1
  105. package/dist/apis/workflow-definition.cjs +6 -6
  106. package/dist/apis/workflow-definition.js +1 -1
  107. package/dist/apis/workflow.cjs +6 -6
  108. package/dist/apis/workflow.js +1 -1
  109. package/dist/{chunk-KHKNOPEX.js → chunk-7HQ3GMYQ.js} +1 -1
  110. package/dist/{chunk-YNJPE3SS.cjs → chunk-AWJHA3GG.cjs} +1 -1
  111. package/dist/{chunk-EWY5NKI7.cjs → chunk-MIKSJIFK.cjs} +2 -2
  112. package/dist/{chunk-5MIH4RZR.js → chunk-TAQOJW6T.js} +2 -2
  113. package/dist/email-settings-U753HXGA.js +7 -0
  114. package/dist/email-settings-Z5EBAELW.cjs +7 -0
  115. package/dist/{email-settings-runtime-J7JLYDMU.cjs → email-settings-runtime-IW2AT2RB.cjs} +2 -2
  116. package/dist/{email-settings-runtime-4BT72ADN.js → email-settings-runtime-YJYEC5AH.js} +1 -1
  117. package/dist/{email-settings.d-CR4lORuR.d.cts → email-settings.d-DViLYaOl.d.cts} +56 -14
  118. package/dist/{email-settings.d-CR4lORuR.d.ts → email-settings.d-DViLYaOl.d.ts} +56 -14
  119. package/dist/index.cjs +10 -10
  120. package/dist/index.d.cts +1 -1
  121. package/dist/index.d.ts +1 -1
  122. package/dist/index.js +2 -2
  123. package/docs/email-settings.md +17 -13
  124. package/package.json +1 -1
  125. package/dist/email-settings-ECSU7KWC.js +0 -7
  126. package/dist/email-settings-RHMYC2KT.cjs +0 -7
@@ -1045,7 +1045,7 @@ const { data } = await client.listSmtpConnections()
1045
1045
  {
1046
1046
  "connection_id": "string",
1047
1047
  "smtp_host": "string",
1048
- "smtp_port": 0,
1048
+ "smtp_port": "string",
1049
1049
  "smtp_secure": "tls",
1050
1050
  "smtp_username": "string",
1051
1051
  "smtp_password": "string",
@@ -1070,17 +1070,19 @@ const { data } = await client.listSmtpConnections()
1070
1070
  ### `createSmtpConnection`
1071
1071
 
1072
1072
  Creates a new custom SMTP connection. Runs a live verify against the SMTP server
1073
- before persisting; on failure the request is rejected and nothing is saved.
1074
- The password is encrypted via KMS before be
1073
+ before persisting; on failure the request is rejected and nothing is saved. Pass
1074
+ `skip_test=true` to store the configur
1075
1075
 
1076
1076
  `POST /v2/smtp/connections`
1077
1077
 
1078
1078
  ```ts
1079
1079
  const { data } = await client.createSmtpConnection(
1080
- null,
1080
+ {
1081
+ skip_test: true,
1082
+ },
1081
1083
  {
1082
1084
  smtp_host: 'string',
1083
- smtp_port: 1,
1085
+ smtp_port: 'string',
1084
1086
  smtp_secure: 'tls',
1085
1087
  smtp_username: 'string',
1086
1088
  smtp_password: '{{ env.smtp_password }}'
@@ -1095,7 +1097,7 @@ const { data } = await client.createSmtpConnection(
1095
1097
  {
1096
1098
  "connection_id": "string",
1097
1099
  "smtp_host": "string",
1098
- "smtp_port": 0,
1100
+ "smtp_port": "string",
1099
1101
  "smtp_secure": "tls",
1100
1102
  "smtp_username": "string",
1101
1103
  "smtp_password": "string",
@@ -1133,7 +1135,7 @@ const { data } = await client.getSmtpConnection({
1133
1135
  {
1134
1136
  "connection_id": "string",
1135
1137
  "smtp_host": "string",
1136
- "smtp_port": 0,
1138
+ "smtp_port": "string",
1137
1139
  "smtp_secure": "tls",
1138
1140
  "smtp_username": "string",
1139
1141
  "smtp_password": "string",
@@ -1155,7 +1157,8 @@ const { data } = await client.getSmtpConnection({
1155
1157
  ### `updateSmtpConnection`
1156
1158
 
1157
1159
  Partial update; omitted fields keep their existing values. The merged
1158
- configuration is verified against the SMTP server before persisting.
1160
+ configuration is verified against the SMTP server before persisting. Pass
1161
+ `skip_test=true` to store it untested instead, which als
1159
1162
 
1160
1163
  `PUT /v2/smtp/connections/{connectionId}`
1161
1164
 
@@ -1163,10 +1166,11 @@ configuration is verified against the SMTP server before persisting.
1163
1166
  const { data } = await client.updateSmtpConnection(
1164
1167
  {
1165
1168
  connectionId: 'example',
1169
+ skip_test: true,
1166
1170
  },
1167
1171
  {
1168
1172
  smtp_host: 'string',
1169
- smtp_port: 1,
1173
+ smtp_port: 'string',
1170
1174
  smtp_secure: 'tls',
1171
1175
  smtp_username: 'string',
1172
1176
  smtp_password: 'string'
@@ -1181,7 +1185,7 @@ const { data } = await client.updateSmtpConnection(
1181
1185
  {
1182
1186
  "connection_id": "string",
1183
1187
  "smtp_host": "string",
1184
- "smtp_port": 0,
1188
+ "smtp_port": "string",
1185
1189
  "smtp_secure": "tls",
1186
1190
  "smtp_username": "string",
1187
1191
  "smtp_password": "string",
@@ -2118,7 +2122,7 @@ type OutlookConnectionStatus = {
2118
2122
  type SmtpConnection = {
2119
2123
  connection_id: string
2120
2124
  smtp_host: string
2121
- smtp_port: number
2125
+ smtp_port: string
2122
2126
  smtp_secure: "tls" | "starttls"
2123
2127
  smtp_username: string
2124
2128
  smtp_password?: string
@@ -2138,7 +2142,7 @@ type SmtpConnection = {
2138
2142
  ```ts
2139
2143
  type CreateSmtpConnectionRequest = {
2140
2144
  smtp_host: string
2141
- smtp_port: number
2145
+ smtp_port: string | number
2142
2146
  smtp_secure: "tls" | "starttls"
2143
2147
  smtp_username: string
2144
2148
  smtp_password: string
@@ -2152,7 +2156,7 @@ Partial update; omitted fields keep their existing values.
2152
2156
  ```ts
2153
2157
  type UpdateSmtpConnectionRequest = {
2154
2158
  smtp_host?: string
2155
- smtp_port?: number
2159
+ smtp_port?: string | number
2156
2160
  smtp_secure?: "tls" | "starttls"
2157
2161
  smtp_username?: string
2158
2162
  smtp_password?: string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.18.5",
3
+ "version": "2.18.6",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/email-settings.json
4
- var email_settings_default = '# Messaging Settings API\n\n- **Base URL:** `https://email-settings.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/email-settings](https://docs.epilot.io/api/email-settings)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.emailSettings.provisionEpilotEmailAddress(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/email-settings\'\n\nconst emailSettingsClient = getClient()\nauthorize(emailSettingsClient, () => \'<token>\')\nconst { data } = await emailSettingsClient.provisionEpilotEmailAddress(...)\n```\n\n## Operations\n\n**Email addresses**\n- [`provisionEpilotEmailAddress`](#provisionepilotemailaddress)\n- [`setEmailAddressPrimary`](#setemailaddressprimary)\n- [`getEmailAddress`](#getemailaddress)\n- [`deleteEmailAddress`](#deleteemailaddress)\n- [`updateEmailAddress`](#updateemailaddress)\n- [`listEmailAddresses`](#listemailaddresses)\n- [`addEmailAddress`](#addemailaddress)\n\n**Shared inboxes**\n- [`getSharedInbox`](#getsharedinbox)\n- [`deleteSharedInbox`](#deletesharedinbox)\n- [`updateSharedInbox`](#updatesharedinbox)\n- [`listSharedInboxes`](#listsharedinboxes)\n- [`addSharedInbox`](#addsharedinbox)\n\n**Inbox buckets**\n- [`listInboxBuckets`](#listinboxbuckets)\n\n**O365 Outlook Connection**\n- [`connectOutlook`](#connectoutlook)\n- [`getOutlookConnectionStatus`](#getoutlookconnectionstatus)\n- [`getCalendarAdminConsentStatus`](#getcalendaradminconsentstatus)\n- [`getMyCalendarConnection`](#getmycalendarconnection)\n- [`disconnectMyCalendar`](#disconnectmycalendar)\n- [`disconnectOutlook`](#disconnectoutlook)\n- [`connectOutlookMailbox`](#connectoutlookmailbox)\n- [`disconnectOutlookMailbox`](#disconnectoutlookmailbox)\n- [`startMailboxSync`](#startmailboxsync)\n- [`getMailboxSyncStatus`](#getmailboxsyncstatus)\n- [`retryMailboxSync`](#retrymailboxsync)\n- [`getConnectedOutlookEmails`](#getconnectedoutlookemails)\n- [`outlookOAuthCallback`](#outlookoauthcallback)\n\n**Channels**\n- [`connectMsTeams`](#connectmsteams)\n- [`disconnectMsTeams`](#disconnectmsteams)\n- [`getMsTeamsStatus`](#getmsteamsstatus)\n\n**Custom SMTP**\n- [`listSmtpConnections`](#listsmtpconnections)\n- [`createSmtpConnection`](#createsmtpconnection)\n- [`getSmtpConnection`](#getsmtpconnection)\n- [`updateSmtpConnection`](#updatesmtpconnection)\n- [`deleteSmtpConnection`](#deletesmtpconnection)\n- [`testSmtpConnection`](#testsmtpconnection)\n- [`listSmtpSenders`](#listsmtpsenders)\n- [`connectSmtpSender`](#connectsmtpsender)\n- [`disconnectSmtpSender`](#disconnectsmtpsender)\n\n**Settings**\n- [`getSettings`](#getsettings)\n- [`addSetting`](#addsetting)\n- [`deleteSetting`](#deletesetting)\n- [`updateSetting`](#updatesetting)\n\n**Domains**\n- [`addDomain`](#adddomain)\n- [`deleteDomain`](#deletedomain)\n- [`getDomains`](#getdomains)\n- [`verifyNameServers`](#verifynameservers)\n- [`verifyDnsRecords`](#verifydnsrecords)\n- [`verifyDomain`](#verifydomain)\n\n**Schemas**\n- [`ConnectOutlookRequest`](#connectoutlookrequest)\n- [`MailboxSyncStatus`](#mailboxsyncstatus)\n- [`MailboxSyncStatuses`](#mailboxsyncstatuses)\n- [`MailboxSyncFolderStatuses`](#mailboxsyncfolderstatuses)\n- [`MailboxSyncTimeframePeriods`](#mailboxsynctimeframeperiods)\n- [`InboxBucketResponse`](#inboxbucketresponse)\n- [`ProvisionEpilotEmailAddressPayload`](#provisionepilotemailaddresspayload)\n- [`SetEmailAddressPrimaryPayload`](#setemailaddressprimarypayload)\n- [`UpdateEmailAddressPayload`](#updateemailaddresspayload)\n- [`CreateEmailAddressPayload`](#createemailaddresspayload)\n- [`EmailAddressResponse`](#emailaddressresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`SettingMeta`](#settingmeta)\n- [`UpdateSharedInboxPayload`](#updatesharedinboxpayload)\n- [`CreateSharedInboxPayload`](#createsharedinboxpayload)\n- [`SharedInboxResponse`](#sharedinboxresponse)\n- [`SettingsResponse`](#settingsresponse)\n- [`ConnectedOutlookEmail`](#connectedoutlookemail)\n- [`OutlookConnectionError`](#outlookconnectionerror)\n- [`CalendarAdminConsentStatus`](#calendaradminconsentstatus)\n- [`MyCalendarConnectionResponse`](#mycalendarconnectionresponse)\n- [`CalendarConnectionInfo`](#calendarconnectioninfo)\n- [`OutlookConnectionStatus`](#outlookconnectionstatus)\n- [`SmtpConnection`](#smtpconnection)\n- [`CreateSmtpConnectionRequest`](#createsmtpconnectionrequest)\n- [`UpdateSmtpConnectionRequest`](#updatesmtpconnectionrequest)\n- [`SmtpSender`](#smtpsender)\n- [`ConnectSmtpSenderRequest`](#connectsmtpsenderrequest)\n- [`SmtpTestResult`](#smtptestresult)\n- [`SignatureSetting`](#signaturesetting)\n- [`EmailDomainSetting`](#emaildomainsetting)\n- [`EmailAddressSetting`](#emailaddresssetting)\n- [`WhitelistEmailAddressSetting`](#whitelistemailaddresssetting)\n- [`RestrictDuplicatesWithinSetting`](#restrictduplicateswithinsetting)\n- [`SettingType`](#settingtype)\n- [`Setting`](#setting)\n- [`Domain`](#domain)\n\n### `provisionEpilotEmailAddress`\n\nProvisions or reactivates an epilot-managed email address for the organization.\n\n`PUT /v2/email-settings/email-addresses/epilot:provision`\n\n```ts\nconst { data } = await client.provisionEpilotEmailAddress(\n null,\n {\n address: \'mycompany@epilot.cloud\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `setEmailAddressPrimary`\n\nSets the specified email address as the primary address for the organization.\n\n`POST /v2/email-settings/email-addresses/primary`\n\n```ts\nconst { data } = await client.setEmailAddressPrimary(\n null,\n {\n address: \'sales@yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getEmailAddress`\n\nRetrieves the details of a specific email address by its ID.\n\n`GET /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.getEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `deleteEmailAddress`\n\nPermanently deletes an email address from the organization.\n\n`DELETE /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.deleteEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `updateEmailAddress`\n\nUpdates the configuration of an existing email address.\n\n`PUT /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.updateEmailAddress(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n name: \'Sales Team\',\n user_ids: [\'user-123\', \'user-456\'],\n group_ids: [\'group-789\'],\n default_signature_id: \'sig-abc\',\n shared_inbox_id: \'inbox-xyz\',\n is_active: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `listEmailAddresses`\n\nRetrieves all email addresses configured for the organization.\n\n`GET /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.listEmailAddresses()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n }\n]\n```\n\n</details>\n\n---\n\n### `addEmailAddress`\n\nAdds a new email address to the organization.\n\n`POST /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.addEmailAddress(\n null,\n {\n address: \'support@yourcompany.com\',\n name: \'Customer Support\',\n user_ids: [\'user-123\'],\n group_ids: [\'group-456\'],\n default_signature_id: \'sig-789\',\n shared_inbox_id: \'inbox-abc\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getSharedInbox`\n\nRetrieves the details of a specific shared inbox by its ID.\n\n`GET /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.getSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `deleteSharedInbox`\n\nDeletes a shared inbox and reroutes all associated emails to a successor inbox.\n\n`DELETE /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.deleteSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n successorInboxId: \'example\',\n})\n```\n\n---\n\n### `updateSharedInbox`\n\nUpdates the configuration of an existing shared inbox.\n\n`PUT /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.updateSharedInbox(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n color: \'#4CAF50\',\n name: \'Customer Support\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Incoming customer support requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listSharedInboxes`\n\nRetrieves all shared inboxes configured for the organization.\n\n`GET /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.listSharedInboxes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSharedInbox`\n\nCreates a new shared inbox for the organization.\n\n`POST /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.addSharedInbox(\n null,\n {\n id: \'support-inbox\',\n color: \'#2196F3\',\n name: \'Sales Inquiries\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Inbound sales and pricing requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listInboxBuckets`\n\nRetrieves all inbox buckets for the organization.\n\n`GET /v2/email-settings/inbox-buckets`\n\n```ts\nconst { data } = await client.listInboxBuckets()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "bucket-abc",\n "inbox_id": "inbox-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `connectOutlook`\n\nReturns the Microsoft authorization URL for Outlook OAuth.\n\n`POST /v2/outlook/connect`\n\n```ts\nconst { data } = await client.connectOutlook(\n null,\n {\n mail: true,\n calendar: true,\n return_to: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "authorization_url": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOutlookConnectionStatus`\n\nReturns all Microsoft 365 / Outlook connections for the organization.\nSupports multiple connections (one per Azure AD tenant).\n\n`GET /v2/outlook/connection/status`\n\n```ts\nconst { data } = await client.getOutlookConnectionStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "status": "connected",\n "action": "connect",\n "action_reason": "expired",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "tenant_id": "string",\n "scopes": ["string"],\n "expires_at": "1970-01-01T00:00:00.000Z",\n "is_token_valid": true\n }\n ],\n "has_connections": true,\n "teams_enabled": true\n}\n```\n\n</details>\n\n---\n\n### `getCalendarAdminConsentStatus`\n\nReports whether the caller\'s organization can connect personal Outlook\ncalendars.\n\n`GET /v2/outlook/calendar/admin-consent-status`\n\n```ts\nconst { data } = await client.getCalendarAdminConsentStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "admin_consented": true,\n "admin_consent_url": "https://example.com/path"\n}\n```\n\n</details>\n\n---\n\n### `getMyCalendarConnection`\n\nReturns the calling user\'s personal Outlook calendar connection,\nor null when the user hasn\'t connected yet.\n\n`GET /v2/outlook/calendar/me`\n\n```ts\nconst { data } = await client.getMyCalendarConnection()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection": {\n "user_id": "string",\n "tenant_id": "string",\n "status": "connected",\n "scopes": ["string"],\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "expires_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `disconnectMyCalendar`\n\nRemoves the calling user\'s personal calendar connection.\n\n`DELETE /v2/outlook/calendar/me`\n\n```ts\nconst { data } = await client.disconnectMyCalendar()\n```\n\n---\n\n### `disconnectOutlook`\n\nRemoves the Microsoft 365 / Outlook connection for a specific tenant.\nThis deletes the stored tokens and disconnects the integration.\n\n`POST /v2/outlook/connection/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlook(\n null,\n {\n tenant_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "tenant_id": "string",\n "affected_shared_inboxes": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `connectMsTeams`\n\nConnects Microsoft Teams channel (click-to-call deep links, meetings) for the organization.\nRequires an active Microsoft 365 / Outlook connection.\n\n`POST /v2/channels/msteams/connect`\n\n```ts\nconst { data } = await client.connectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `disconnectMsTeams`\n\nDisconnects Microsoft Teams channel for the organization.\n\n`POST /v2/channels/msteams/disconnect`\n\n```ts\nconst { data } = await client.disconnectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true\n}\n```\n\n</details>\n\n---\n\n### `getMsTeamsStatus`\n\nReturns the connection status of the Microsoft Teams channel for the organization.\n\n`GET /v2/channels/msteams/status`\n\n```ts\nconst { data } = await client.getMsTeamsStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `connectOutlookMailbox`\n\nConnects an Outlook mailbox:\n 1. Validates the user has access to the mailbox via Microsoft Graph API\n 2. Creates a mapping between the email address of the mailbox and the outlook connection\n 3. E\n\n`POST /v2/outlook/mailbox/connect`\n\n```ts\nconst { data } = await client.connectOutlookMailbox(\n null,\n {\n email: \'user@example.com\',\n shared_inbox_id: \'default\',\n name: \'string\',\n user_ids: [\'string\'],\n group_ids: [\'string\'],\n default_signature_id: \'string\',\n mailboxSyncTimeframe: \'5m\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook"\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlookMailbox`\n\nDisconnect Outlook Mailbox\n\n`POST /v2/outlook/mailbox/{email}/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlookMailbox({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `startMailboxSync`\n\nStart Mailbox Sync\n\n`POST /v2/outlook/mailbox/{email}/sync`\n\n```ts\nconst { data } = await client.startMailboxSync(\n {\n email: \'example\',\n },\n {\n timeframe: \'5m\'\n },\n)\n```\n\n---\n\n### `getMailboxSyncStatus`\n\nGet Mailbox Sync Status\n\n`GET /v2/outlook/mailbox/{email}/sync/status`\n\n```ts\nconst { data } = await client.getMailboxSyncStatus({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "string",\n "status": "RUNNING",\n "timeframe": "5m",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "inbox": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n },\n "sent_items": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `retryMailboxSync`\n\nRetry Failed Messages\n\n`POST /v2/outlook/mailbox/{email}/sync/retry`\n\n```ts\nconst { data } = await client.retryMailboxSync(\n {\n email: \'example\',\n },\n {\n sync_id: \'string\',\n scope: \'all_failed\',\n message_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `getConnectedOutlookEmails`\n\nReturns all Outlook email addresses connected to the organization.\n\n`GET /v2/outlook/mailbox/mappings`\n\n```ts\nconst { data } = await client.getConnectedOutlookEmails()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "outlook_emails": [\n {\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ],\n "count": 0\n}\n```\n\n</details>\n\n---\n\n### `listSmtpConnections`\n\nReturns all custom SMTP connections configured for the organization.\nPasswords are never returned.\n\n`GET /v2/smtp/connections`\n\n```ts\nconst { data } = await client.listSmtpConnections()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n }\n ],\n "has_connections": true\n}\n```\n\n</details>\n\n---\n\n### `createSmtpConnection`\n\nCreates a new custom SMTP connection. Runs a live verify against the SMTP server\nbefore persisting; on failure the request is rejected and nothing is saved.\nThe password is encrypted via KMS before be\n\n`POST /v2/smtp/connections`\n\n```ts\nconst { data } = await client.createSmtpConnection(\n null,\n {\n smtp_host: \'string\',\n smtp_port: 1,\n smtp_secure: \'tls\',\n smtp_username: \'string\',\n smtp_password: \'{{ env.smtp_password }}\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSmtpConnection`\n\nReturns a single custom SMTP connection by id. The password is never returned.\n\n`GET /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.getSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateSmtpConnection`\n\nPartial update; omitted fields keep their existing values. The merged\nconfiguration is verified against the SMTP server before persisting.\n\n`PUT /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.updateSmtpConnection(\n {\n connectionId: \'example\',\n },\n {\n smtp_host: \'string\',\n smtp_port: 1,\n smtp_secure: \'tls\',\n smtp_username: \'string\',\n smtp_password: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `deleteSmtpConnection`\n\nDeletes a custom SMTP connection. Messages already sent are unaffected.\n\n`DELETE /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.deleteSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "connection_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `testSmtpConnection`\n\nRe-runs a live SMTP verify against the saved configuration (EHLO + AUTH + NOOP + QUIT)\nand updates `last_test_status` / `last_tested_at` on the connection.\n\n`POST /v2/smtp/connections/{connectionId}/test`\n\n```ts\nconst { data } = await client.testSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ok",\n "error": "string",\n "tested_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listSmtpSenders`\n\nReturns every address registered to send through a custom SMTP connection.\n\n`GET /v2/smtp/senders`\n\n```ts\nconst { data } = await client.listSmtpSenders()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "senders": [\n {\n "email": "user@example.com",\n "connection_id": "string",\n "reply_to_email": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `connectSmtpSender`\n\nRegisters an address as a sender on a custom SMTP connection:\n 1. Creates the email address so it can be picked in the composer\n 2. Binds it to the connection, so outgoing mail from it is routed the\n\n`POST /v2/smtp/senders`\n\n```ts\nconst { data } = await client.connectSmtpSender(\n null,\n {\n email: \'user@example.com\',\n connection_id: \'string\',\n name: \'string\',\n reply_to_email: \'string\',\n shared_inbox_id: \'default\',\n user_ids: [\'string\'],\n group_ids: [\'string\'],\n default_signature_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "sender": {\n "email": "user@example.com",\n "connection_id": "string",\n "reply_to_email": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `disconnectSmtpSender`\n\nRemoves a sender address: deletes the email address and its binding to the SMTP\nconnection. The connection itself and messages already sent are unaffected.\n\n`DELETE /v2/smtp/senders/{email}`\n\n```ts\nconst { data } = await client.disconnectSmtpSender({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `outlookOAuthCallback`\n\nExchanges authorization code for tokens and stores them.\n\n`GET /v2/outlook/oauth/callback`\n\n```ts\nconst { data } = await client.outlookOAuthCallback({\n code: \'example\',\n state: \'example\',\n session_state: \'example\',\n error: \'example\',\n error_description: \'example\',\n error_subcode: \'example\',\n client_info: \'example\',\n error_uri: \'example\',\n admin_consent: \'example\',\n tenant: \'example\',\n clientdata: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "expires_at": "1970-01-01T00:00:00.000Z",\n "scope": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSettings`\n\nRetrieves settings of a specific type for the organization.\n\n`GET /v1/email-settings`\n\n```ts\nconst { data } = await client.getSettings({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSetting`\n\nCreates a new setting of the specified type.\n\n`POST /v1/email-settings`\n\n```ts\nconst { data } = await client.addSetting(\n null,\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteSetting`\n\nDeletes a setting by its ID and type.\n\n`DELETE /v1/email-settings`\n\n```ts\nconst { data } = await client.deleteSetting(\n null,\n {\n type: \'signature\',\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `updateSetting`\n\nUpdates an existing setting identified by its ID.\n\n`POST /v1/email-settings/{id}`\n\n```ts\nconst { data } = await client.updateSetting(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `addDomain`\n\nAdds a custom email domain to the organization.\n\n`POST /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.addDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteDomain`\n\nRemoves a custom email domain from the organization.\n\n`DELETE /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.deleteDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n---\n\n### `getDomains`\n\nRetrieves all custom email domains for the organization.\n\n`GET /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.getDomains()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n["string"]\n```\n\n</details>\n\n---\n\n### `verifyNameServers`\n\nVerifies that the domain\'s name server (NS) records are correctly configured.\n\n`POST /v1/email-settings/domain/name-servers:verify`\n\n```ts\nconst { data } = await client.verifyNameServers(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDnsRecords`\n\nVerifies that the domain\'s DNS records (MX, TXT, CNAME) are correctly configured\nin the customer\'s DNS provider.\n\n`POST /v1/email-settings/domain/dns-records:verify`\n\n```ts\nconst { data } = await client.verifyDnsRecords(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDomain`\n\nVerifies ownership and configuration of a custom email domain.\n\n`POST /v1/email-settings/domain:verify`\n\n```ts\nconst { data } = await client.verifyDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ConnectOutlookRequest`\n\nFeature flags selecting which Microsoft Graph scopes to request.\nAt least one flag must be true. Passing a superset of previously\ngranted features triggers incremental consent for the delta only.\n\n\n```ts\ntype ConnectOutlookRequest = {\n mail?: boolean\n calendar?: boolean\n return_to?: string\n}\n```\n\n### `MailboxSyncStatus`\n\n```ts\ntype MailboxSyncStatus = {\n execution_id: string\n status: "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n timeframe: "5m" | "1w" | "2w" | "1m"\n started_at: string // date-time\n completed_at?: string // date-time\n inbox?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n sent_items?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n}\n```\n\n### `MailboxSyncStatuses`\n\n```ts\ntype MailboxSyncStatuses = "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n```\n\n### `MailboxSyncFolderStatuses`\n\n```ts\ntype MailboxSyncFolderStatuses = "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n```\n\n### `MailboxSyncTimeframePeriods`\n\n```ts\ntype MailboxSyncTimeframePeriods = "5m" | "1w" | "2w" | "1m"\n```\n\n### `InboxBucketResponse`\n\nInbox bucket representing the storage container for a shared inbox.\n\n```ts\ntype InboxBucketResponse = {\n id: string\n inbox_id: string\n}\n```\n\n### `ProvisionEpilotEmailAddressPayload`\n\nRequest payload for provisioning an epilot-managed email address.\n\n```ts\ntype ProvisionEpilotEmailAddressPayload = {\n address: string\n}\n```\n\n### `SetEmailAddressPrimaryPayload`\n\nRequest payload for setting an email address as the organization\'s primary address.\n\n```ts\ntype SetEmailAddressPrimaryPayload = {\n address: string\n}\n```\n\n### `UpdateEmailAddressPayload`\n\nRequest payload for updating an email address configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateEmailAddressPayload = {\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n}\n```\n\n### `CreateEmailAddressPayload`\n\nRequest payload for creating a new email address.\n\n```ts\ntype CreateEmailAddressPayload = {\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n}\n```\n\n### `EmailAddressResponse`\n\nEmail address configuration with all associated metadata.\n\n```ts\ntype EmailAddressResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n is_primary?: boolean\n is_epilot_email_address?: boolean\n}\n```\n\n### `ErrorResponse`\n\nStandard error response format for all API errors.\n\n```ts\ntype ErrorResponse = {\n error: string\n status: number\n}\n```\n\n### `SettingMeta`\n\nCommon metadata fields for all settings and resources.\n\n```ts\ntype SettingMeta = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `UpdateSharedInboxPayload`\n\nRequest payload for updating a shared inbox configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateSharedInboxPayload = {\n color?: string\n name?: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `CreateSharedInboxPayload`\n\nRequest payload for creating a new shared inbox.\n\n```ts\ntype CreateSharedInboxPayload = {\n id?: string\n color: string\n name: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `SharedInboxResponse`\n\nShared inbox configuration with all associated metadata.\n\n```ts\ntype SharedInboxResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n name: string\n color: string\n assignees: string[]\n description?: string\n bucket_id: string\n}\n```\n\n### `SettingsResponse`\n\n```ts\ntype SettingsResponse = Array<{\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}> | {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `ConnectedOutlookEmail`\n\nMapping between an Outlook email and its Outlook Connection.\nThis tracks which provider/tenant provisions each Outlook email.\n\n\n```ts\ntype ConnectedOutlookEmail = {\n outlook_email: string // email\n tenant_id?: string\n provider?: "outlook"\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `OutlookConnectionError`\n\n```ts\ntype OutlookConnectionError = {\n error: string\n error_description?: string\n admin_consent_url?: string // uri\n}\n```\n\n### `CalendarAdminConsentStatus`\n\n```ts\ntype CalendarAdminConsentStatus = {\n admin_consented: boolean\n admin_consent_url?: string // uri\n}\n```\n\n### `MyCalendarConnectionResponse`\n\nPer-user calendar connection metadata, or null when the caller has\nnot connected their personal calendar yet.\n\n\n```ts\ntype MyCalendarConnectionResponse = {\n connection?: {\n user_id: string\n tenant_id: string\n status: "connected" | "expired"\n scopes?: string[]\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_at?: string // date-time\n updated_at?: string // date-time\n expires_at?: string // date-time\n }\n}\n```\n\n### `CalendarConnectionInfo`\n\n```ts\ntype CalendarConnectionInfo = {\n user_id: string\n tenant_id: string\n status: "connected" | "expired"\n scopes?: string[]\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_at?: string // date-time\n updated_at?: string // date-time\n expires_at?: string // date-time\n}\n```\n\n### `OutlookConnectionStatus`\n\n```ts\ntype OutlookConnectionStatus = {\n status: "connected" | "expired" | "pending_auth" | "not_connected"\n action: "connect" | "authorize" | "reconnect" | "none"\n action_reason?: "expired" | "permission_update"\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n tenant_id: string\n scopes?: string[]\n expires_at?: string // date-time\n is_token_valid?: boolean\n}\n```\n\n### `SmtpConnection`\n\n```ts\ntype SmtpConnection = {\n connection_id: string\n smtp_host: string\n smtp_port: number\n smtp_secure: "tls" | "starttls"\n smtp_username: string\n smtp_password?: string\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n last_tested_at?: string // date-time\n last_test_status?: "ok" | "auth_failed" | "tls_failed" | "host_unreachable" | "timeout" | "secret_missing" | "unknown"\n last_test_error?: string\n}\n```\n\n### `CreateSmtpConnectionRequest`\n\n```ts\ntype CreateSmtpConnectionRequest = {\n smtp_host: string\n smtp_port: number\n smtp_secure: "tls" | "starttls"\n smtp_username: string\n smtp_password: string\n}\n```\n\n### `UpdateSmtpConnectionRequest`\n\nPartial update; omitted fields keep their existing values.\n\n```ts\ntype UpdateSmtpConnectionRequest = {\n smtp_host?: string\n smtp_port?: number\n smtp_secure?: "tls" | "starttls"\n smtp_username?: string\n smtp_password?: string\n}\n```\n\n### `SmtpSender`\n\nAn address allowed to send through a custom SMTP connection. Mirrors an Outlook\nmailbox: the address, its display name and its assignees live on the shared\nemail-address record, while this row binds it to a set of SMTP credentials.\n\n\n```ts\ntype SmtpSender = {\n email: string // email\n connection_id: string\n reply_to_email?: string\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `ConnectSmtpSenderRequest`\n\n```ts\ntype ConnectSmtpSenderRequest = {\n email: string // email\n connection_id: string\n name?: string\n reply_to_email?: string\n shared_inbox_id?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n}\n```\n\n### `SmtpTestResult`\n\n```ts\ntype SmtpTestResult = {\n status: "ok" | "auth_failed" | "tls_failed" | "host_unreachable" | "timeout" | "secret_missing" | "unknown"\n error?: string\n tested_at: string // date-time\n}\n```\n\n### `SignatureSetting`\n\nSetting that allows to add a signature.\n\n```ts\ntype SignatureSetting = "signature"\n```\n\n### `EmailDomainSetting`\n\nSetting that allows to add a custom domain. For e.g; doe.com\n\n```ts\ntype EmailDomainSetting = "email_domain"\n```\n\n### `EmailAddressSetting`\n\nSetting that allows to add an email address on the custom domain. For e.g; john@doe.com\n\n```ts\ntype EmailAddressSetting = "email_address"\n```\n\n### `WhitelistEmailAddressSetting`\n\n- Setting that specifies a list of addresses exempt from being flagged as duplicate emails.\n- An email will be flagged as a duplicate if it has the same content and is sent to the same recipient within the time frame specified in the RestrictDuplicatesWithinSetting.\n\n\n```ts\ntype WhitelistEmailAddressSetting = "whitelist_email_address"\n```\n\n### `RestrictDuplicatesWithinSetting`\n\n- Restrict duplicates within:\n * 10s\n * 5m\n * 1d\n * 5000 // It converts to 5 seconds.When expressed as a numerical value, it will be interpreted as being in milliseconds.\n- Defaults to 3 minutes\n- Negative values will be treated same as positive values\n- If not set, defaults to 3 min\n- If set as\n\n```ts\ntype RestrictDuplicatesWithinSetting = "restrict_duplicates_within"\n```\n\n### `SettingType`\n\n```ts\ntype SettingType = "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n```\n\n### `Setting`\n\nGeneric setting object used for various email configuration types.\nThe applicable fields depend on the setting type:\n- **signature**: Uses `name`, `value` (plain text), and `html` (rich text)\n- **email_domain**: Uses `value` (domain name)\n- **whitelist_email_address**: Uses `value` (email address)\n-\n\n```ts\ntype Setting = {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `Domain`\n\nCustom email domain configuration.\n\n```ts\ntype Domain = {\n domain?: string\n}\n```\n';
5
- export {
6
- email_settings_default as default
7
- };
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/email-settings.json
4
- var email_settings_default = '# Messaging Settings API\n\n- **Base URL:** `https://email-settings.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/email-settings](https://docs.epilot.io/api/email-settings)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.emailSettings.provisionEpilotEmailAddress(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/email-settings\'\n\nconst emailSettingsClient = getClient()\nauthorize(emailSettingsClient, () => \'<token>\')\nconst { data } = await emailSettingsClient.provisionEpilotEmailAddress(...)\n```\n\n## Operations\n\n**Email addresses**\n- [`provisionEpilotEmailAddress`](#provisionepilotemailaddress)\n- [`setEmailAddressPrimary`](#setemailaddressprimary)\n- [`getEmailAddress`](#getemailaddress)\n- [`deleteEmailAddress`](#deleteemailaddress)\n- [`updateEmailAddress`](#updateemailaddress)\n- [`listEmailAddresses`](#listemailaddresses)\n- [`addEmailAddress`](#addemailaddress)\n\n**Shared inboxes**\n- [`getSharedInbox`](#getsharedinbox)\n- [`deleteSharedInbox`](#deletesharedinbox)\n- [`updateSharedInbox`](#updatesharedinbox)\n- [`listSharedInboxes`](#listsharedinboxes)\n- [`addSharedInbox`](#addsharedinbox)\n\n**Inbox buckets**\n- [`listInboxBuckets`](#listinboxbuckets)\n\n**O365 Outlook Connection**\n- [`connectOutlook`](#connectoutlook)\n- [`getOutlookConnectionStatus`](#getoutlookconnectionstatus)\n- [`getCalendarAdminConsentStatus`](#getcalendaradminconsentstatus)\n- [`getMyCalendarConnection`](#getmycalendarconnection)\n- [`disconnectMyCalendar`](#disconnectmycalendar)\n- [`disconnectOutlook`](#disconnectoutlook)\n- [`connectOutlookMailbox`](#connectoutlookmailbox)\n- [`disconnectOutlookMailbox`](#disconnectoutlookmailbox)\n- [`startMailboxSync`](#startmailboxsync)\n- [`getMailboxSyncStatus`](#getmailboxsyncstatus)\n- [`retryMailboxSync`](#retrymailboxsync)\n- [`getConnectedOutlookEmails`](#getconnectedoutlookemails)\n- [`outlookOAuthCallback`](#outlookoauthcallback)\n\n**Channels**\n- [`connectMsTeams`](#connectmsteams)\n- [`disconnectMsTeams`](#disconnectmsteams)\n- [`getMsTeamsStatus`](#getmsteamsstatus)\n\n**Custom SMTP**\n- [`listSmtpConnections`](#listsmtpconnections)\n- [`createSmtpConnection`](#createsmtpconnection)\n- [`getSmtpConnection`](#getsmtpconnection)\n- [`updateSmtpConnection`](#updatesmtpconnection)\n- [`deleteSmtpConnection`](#deletesmtpconnection)\n- [`testSmtpConnection`](#testsmtpconnection)\n- [`listSmtpSenders`](#listsmtpsenders)\n- [`connectSmtpSender`](#connectsmtpsender)\n- [`disconnectSmtpSender`](#disconnectsmtpsender)\n\n**Settings**\n- [`getSettings`](#getsettings)\n- [`addSetting`](#addsetting)\n- [`deleteSetting`](#deletesetting)\n- [`updateSetting`](#updatesetting)\n\n**Domains**\n- [`addDomain`](#adddomain)\n- [`deleteDomain`](#deletedomain)\n- [`getDomains`](#getdomains)\n- [`verifyNameServers`](#verifynameservers)\n- [`verifyDnsRecords`](#verifydnsrecords)\n- [`verifyDomain`](#verifydomain)\n\n**Schemas**\n- [`ConnectOutlookRequest`](#connectoutlookrequest)\n- [`MailboxSyncStatus`](#mailboxsyncstatus)\n- [`MailboxSyncStatuses`](#mailboxsyncstatuses)\n- [`MailboxSyncFolderStatuses`](#mailboxsyncfolderstatuses)\n- [`MailboxSyncTimeframePeriods`](#mailboxsynctimeframeperiods)\n- [`InboxBucketResponse`](#inboxbucketresponse)\n- [`ProvisionEpilotEmailAddressPayload`](#provisionepilotemailaddresspayload)\n- [`SetEmailAddressPrimaryPayload`](#setemailaddressprimarypayload)\n- [`UpdateEmailAddressPayload`](#updateemailaddresspayload)\n- [`CreateEmailAddressPayload`](#createemailaddresspayload)\n- [`EmailAddressResponse`](#emailaddressresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`SettingMeta`](#settingmeta)\n- [`UpdateSharedInboxPayload`](#updatesharedinboxpayload)\n- [`CreateSharedInboxPayload`](#createsharedinboxpayload)\n- [`SharedInboxResponse`](#sharedinboxresponse)\n- [`SettingsResponse`](#settingsresponse)\n- [`ConnectedOutlookEmail`](#connectedoutlookemail)\n- [`OutlookConnectionError`](#outlookconnectionerror)\n- [`CalendarAdminConsentStatus`](#calendaradminconsentstatus)\n- [`MyCalendarConnectionResponse`](#mycalendarconnectionresponse)\n- [`CalendarConnectionInfo`](#calendarconnectioninfo)\n- [`OutlookConnectionStatus`](#outlookconnectionstatus)\n- [`SmtpConnection`](#smtpconnection)\n- [`CreateSmtpConnectionRequest`](#createsmtpconnectionrequest)\n- [`UpdateSmtpConnectionRequest`](#updatesmtpconnectionrequest)\n- [`SmtpSender`](#smtpsender)\n- [`ConnectSmtpSenderRequest`](#connectsmtpsenderrequest)\n- [`SmtpTestResult`](#smtptestresult)\n- [`SignatureSetting`](#signaturesetting)\n- [`EmailDomainSetting`](#emaildomainsetting)\n- [`EmailAddressSetting`](#emailaddresssetting)\n- [`WhitelistEmailAddressSetting`](#whitelistemailaddresssetting)\n- [`RestrictDuplicatesWithinSetting`](#restrictduplicateswithinsetting)\n- [`SettingType`](#settingtype)\n- [`Setting`](#setting)\n- [`Domain`](#domain)\n\n### `provisionEpilotEmailAddress`\n\nProvisions or reactivates an epilot-managed email address for the organization.\n\n`PUT /v2/email-settings/email-addresses/epilot:provision`\n\n```ts\nconst { data } = await client.provisionEpilotEmailAddress(\n null,\n {\n address: \'mycompany@epilot.cloud\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `setEmailAddressPrimary`\n\nSets the specified email address as the primary address for the organization.\n\n`POST /v2/email-settings/email-addresses/primary`\n\n```ts\nconst { data } = await client.setEmailAddressPrimary(\n null,\n {\n address: \'sales@yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getEmailAddress`\n\nRetrieves the details of a specific email address by its ID.\n\n`GET /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.getEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `deleteEmailAddress`\n\nPermanently deletes an email address from the organization.\n\n`DELETE /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.deleteEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `updateEmailAddress`\n\nUpdates the configuration of an existing email address.\n\n`PUT /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.updateEmailAddress(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n name: \'Sales Team\',\n user_ids: [\'user-123\', \'user-456\'],\n group_ids: [\'group-789\'],\n default_signature_id: \'sig-abc\',\n shared_inbox_id: \'inbox-xyz\',\n is_active: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `listEmailAddresses`\n\nRetrieves all email addresses configured for the organization.\n\n`GET /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.listEmailAddresses()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n }\n]\n```\n\n</details>\n\n---\n\n### `addEmailAddress`\n\nAdds a new email address to the organization.\n\n`POST /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.addEmailAddress(\n null,\n {\n address: \'support@yourcompany.com\',\n name: \'Customer Support\',\n user_ids: [\'user-123\'],\n group_ids: [\'group-456\'],\n default_signature_id: \'sig-789\',\n shared_inbox_id: \'inbox-abc\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getSharedInbox`\n\nRetrieves the details of a specific shared inbox by its ID.\n\n`GET /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.getSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `deleteSharedInbox`\n\nDeletes a shared inbox and reroutes all associated emails to a successor inbox.\n\n`DELETE /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.deleteSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n successorInboxId: \'example\',\n})\n```\n\n---\n\n### `updateSharedInbox`\n\nUpdates the configuration of an existing shared inbox.\n\n`PUT /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.updateSharedInbox(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n color: \'#4CAF50\',\n name: \'Customer Support\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Incoming customer support requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listSharedInboxes`\n\nRetrieves all shared inboxes configured for the organization.\n\n`GET /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.listSharedInboxes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSharedInbox`\n\nCreates a new shared inbox for the organization.\n\n`POST /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.addSharedInbox(\n null,\n {\n id: \'support-inbox\',\n color: \'#2196F3\',\n name: \'Sales Inquiries\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Inbound sales and pricing requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listInboxBuckets`\n\nRetrieves all inbox buckets for the organization.\n\n`GET /v2/email-settings/inbox-buckets`\n\n```ts\nconst { data } = await client.listInboxBuckets()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "bucket-abc",\n "inbox_id": "inbox-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `connectOutlook`\n\nReturns the Microsoft authorization URL for Outlook OAuth.\n\n`POST /v2/outlook/connect`\n\n```ts\nconst { data } = await client.connectOutlook(\n null,\n {\n mail: true,\n calendar: true,\n return_to: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "authorization_url": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOutlookConnectionStatus`\n\nReturns all Microsoft 365 / Outlook connections for the organization.\nSupports multiple connections (one per Azure AD tenant).\n\n`GET /v2/outlook/connection/status`\n\n```ts\nconst { data } = await client.getOutlookConnectionStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "status": "connected",\n "action": "connect",\n "action_reason": "expired",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "tenant_id": "string",\n "scopes": ["string"],\n "expires_at": "1970-01-01T00:00:00.000Z",\n "is_token_valid": true\n }\n ],\n "has_connections": true,\n "teams_enabled": true\n}\n```\n\n</details>\n\n---\n\n### `getCalendarAdminConsentStatus`\n\nReports whether the caller\'s organization can connect personal Outlook\ncalendars.\n\n`GET /v2/outlook/calendar/admin-consent-status`\n\n```ts\nconst { data } = await client.getCalendarAdminConsentStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "admin_consented": true,\n "admin_consent_url": "https://example.com/path"\n}\n```\n\n</details>\n\n---\n\n### `getMyCalendarConnection`\n\nReturns the calling user\'s personal Outlook calendar connection,\nor null when the user hasn\'t connected yet.\n\n`GET /v2/outlook/calendar/me`\n\n```ts\nconst { data } = await client.getMyCalendarConnection()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection": {\n "user_id": "string",\n "tenant_id": "string",\n "status": "connected",\n "scopes": ["string"],\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "expires_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `disconnectMyCalendar`\n\nRemoves the calling user\'s personal calendar connection.\n\n`DELETE /v2/outlook/calendar/me`\n\n```ts\nconst { data } = await client.disconnectMyCalendar()\n```\n\n---\n\n### `disconnectOutlook`\n\nRemoves the Microsoft 365 / Outlook connection for a specific tenant.\nThis deletes the stored tokens and disconnects the integration.\n\n`POST /v2/outlook/connection/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlook(\n null,\n {\n tenant_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "tenant_id": "string",\n "affected_shared_inboxes": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `connectMsTeams`\n\nConnects Microsoft Teams channel (click-to-call deep links, meetings) for the organization.\nRequires an active Microsoft 365 / Outlook connection.\n\n`POST /v2/channels/msteams/connect`\n\n```ts\nconst { data } = await client.connectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `disconnectMsTeams`\n\nDisconnects Microsoft Teams channel for the organization.\n\n`POST /v2/channels/msteams/disconnect`\n\n```ts\nconst { data } = await client.disconnectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true\n}\n```\n\n</details>\n\n---\n\n### `getMsTeamsStatus`\n\nReturns the connection status of the Microsoft Teams channel for the organization.\n\n`GET /v2/channels/msteams/status`\n\n```ts\nconst { data } = await client.getMsTeamsStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `connectOutlookMailbox`\n\nConnects an Outlook mailbox:\n 1. Validates the user has access to the mailbox via Microsoft Graph API\n 2. Creates a mapping between the email address of the mailbox and the outlook connection\n 3. E\n\n`POST /v2/outlook/mailbox/connect`\n\n```ts\nconst { data } = await client.connectOutlookMailbox(\n null,\n {\n email: \'user@example.com\',\n shared_inbox_id: \'default\',\n name: \'string\',\n user_ids: [\'string\'],\n group_ids: [\'string\'],\n default_signature_id: \'string\',\n mailboxSyncTimeframe: \'5m\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook"\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlookMailbox`\n\nDisconnect Outlook Mailbox\n\n`POST /v2/outlook/mailbox/{email}/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlookMailbox({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `startMailboxSync`\n\nStart Mailbox Sync\n\n`POST /v2/outlook/mailbox/{email}/sync`\n\n```ts\nconst { data } = await client.startMailboxSync(\n {\n email: \'example\',\n },\n {\n timeframe: \'5m\'\n },\n)\n```\n\n---\n\n### `getMailboxSyncStatus`\n\nGet Mailbox Sync Status\n\n`GET /v2/outlook/mailbox/{email}/sync/status`\n\n```ts\nconst { data } = await client.getMailboxSyncStatus({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "string",\n "status": "RUNNING",\n "timeframe": "5m",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "inbox": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n },\n "sent_items": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `retryMailboxSync`\n\nRetry Failed Messages\n\n`POST /v2/outlook/mailbox/{email}/sync/retry`\n\n```ts\nconst { data } = await client.retryMailboxSync(\n {\n email: \'example\',\n },\n {\n sync_id: \'string\',\n scope: \'all_failed\',\n message_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `getConnectedOutlookEmails`\n\nReturns all Outlook email addresses connected to the organization.\n\n`GET /v2/outlook/mailbox/mappings`\n\n```ts\nconst { data } = await client.getConnectedOutlookEmails()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "outlook_emails": [\n {\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ],\n "count": 0\n}\n```\n\n</details>\n\n---\n\n### `listSmtpConnections`\n\nReturns all custom SMTP connections configured for the organization.\nPasswords are never returned.\n\n`GET /v2/smtp/connections`\n\n```ts\nconst { data } = await client.listSmtpConnections()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n }\n ],\n "has_connections": true\n}\n```\n\n</details>\n\n---\n\n### `createSmtpConnection`\n\nCreates a new custom SMTP connection. Runs a live verify against the SMTP server\nbefore persisting; on failure the request is rejected and nothing is saved.\nThe password is encrypted via KMS before be\n\n`POST /v2/smtp/connections`\n\n```ts\nconst { data } = await client.createSmtpConnection(\n null,\n {\n smtp_host: \'string\',\n smtp_port: 1,\n smtp_secure: \'tls\',\n smtp_username: \'string\',\n smtp_password: \'{{ env.smtp_password }}\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSmtpConnection`\n\nReturns a single custom SMTP connection by id. The password is never returned.\n\n`GET /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.getSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateSmtpConnection`\n\nPartial update; omitted fields keep their existing values. The merged\nconfiguration is verified against the SMTP server before persisting.\n\n`PUT /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.updateSmtpConnection(\n {\n connectionId: \'example\',\n },\n {\n smtp_host: \'string\',\n smtp_port: 1,\n smtp_secure: \'tls\',\n smtp_username: \'string\',\n smtp_password: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connection_id": "string",\n "smtp_host": "string",\n "smtp_port": 0,\n "smtp_secure": "tls",\n "smtp_username": "string",\n "smtp_password": "string",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "last_tested_at": "1970-01-01T00:00:00.000Z",\n "last_test_status": "ok",\n "last_test_error": "string"\n}\n```\n\n</details>\n\n---\n\n### `deleteSmtpConnection`\n\nDeletes a custom SMTP connection. Messages already sent are unaffected.\n\n`DELETE /v2/smtp/connections/{connectionId}`\n\n```ts\nconst { data } = await client.deleteSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "connection_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `testSmtpConnection`\n\nRe-runs a live SMTP verify against the saved configuration (EHLO + AUTH + NOOP + QUIT)\nand updates `last_test_status` / `last_tested_at` on the connection.\n\n`POST /v2/smtp/connections/{connectionId}/test`\n\n```ts\nconst { data } = await client.testSmtpConnection({\n connectionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ok",\n "error": "string",\n "tested_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listSmtpSenders`\n\nReturns every address registered to send through a custom SMTP connection.\n\n`GET /v2/smtp/senders`\n\n```ts\nconst { data } = await client.listSmtpSenders()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "senders": [\n {\n "email": "user@example.com",\n "connection_id": "string",\n "reply_to_email": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `connectSmtpSender`\n\nRegisters an address as a sender on a custom SMTP connection:\n 1. Creates the email address so it can be picked in the composer\n 2. Binds it to the connection, so outgoing mail from it is routed the\n\n`POST /v2/smtp/senders`\n\n```ts\nconst { data } = await client.connectSmtpSender(\n null,\n {\n email: \'user@example.com\',\n connection_id: \'string\',\n name: \'string\',\n reply_to_email: \'string\',\n shared_inbox_id: \'default\',\n user_ids: [\'string\'],\n group_ids: [\'string\'],\n default_signature_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "sender": {\n "email": "user@example.com",\n "connection_id": "string",\n "reply_to_email": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `disconnectSmtpSender`\n\nRemoves a sender address: deletes the email address and its binding to the SMTP\nconnection. The connection itself and messages already sent are unaffected.\n\n`DELETE /v2/smtp/senders/{email}`\n\n```ts\nconst { data } = await client.disconnectSmtpSender({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `outlookOAuthCallback`\n\nExchanges authorization code for tokens and stores them.\n\n`GET /v2/outlook/oauth/callback`\n\n```ts\nconst { data } = await client.outlookOAuthCallback({\n code: \'example\',\n state: \'example\',\n session_state: \'example\',\n error: \'example\',\n error_description: \'example\',\n error_subcode: \'example\',\n client_info: \'example\',\n error_uri: \'example\',\n admin_consent: \'example\',\n tenant: \'example\',\n clientdata: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "expires_at": "1970-01-01T00:00:00.000Z",\n "scope": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSettings`\n\nRetrieves settings of a specific type for the organization.\n\n`GET /v1/email-settings`\n\n```ts\nconst { data } = await client.getSettings({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSetting`\n\nCreates a new setting of the specified type.\n\n`POST /v1/email-settings`\n\n```ts\nconst { data } = await client.addSetting(\n null,\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteSetting`\n\nDeletes a setting by its ID and type.\n\n`DELETE /v1/email-settings`\n\n```ts\nconst { data } = await client.deleteSetting(\n null,\n {\n type: \'signature\',\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `updateSetting`\n\nUpdates an existing setting identified by its ID.\n\n`POST /v1/email-settings/{id}`\n\n```ts\nconst { data } = await client.updateSetting(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `addDomain`\n\nAdds a custom email domain to the organization.\n\n`POST /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.addDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteDomain`\n\nRemoves a custom email domain from the organization.\n\n`DELETE /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.deleteDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n---\n\n### `getDomains`\n\nRetrieves all custom email domains for the organization.\n\n`GET /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.getDomains()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n["string"]\n```\n\n</details>\n\n---\n\n### `verifyNameServers`\n\nVerifies that the domain\'s name server (NS) records are correctly configured.\n\n`POST /v1/email-settings/domain/name-servers:verify`\n\n```ts\nconst { data } = await client.verifyNameServers(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDnsRecords`\n\nVerifies that the domain\'s DNS records (MX, TXT, CNAME) are correctly configured\nin the customer\'s DNS provider.\n\n`POST /v1/email-settings/domain/dns-records:verify`\n\n```ts\nconst { data } = await client.verifyDnsRecords(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDomain`\n\nVerifies ownership and configuration of a custom email domain.\n\n`POST /v1/email-settings/domain:verify`\n\n```ts\nconst { data } = await client.verifyDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ConnectOutlookRequest`\n\nFeature flags selecting which Microsoft Graph scopes to request.\nAt least one flag must be true. Passing a superset of previously\ngranted features triggers incremental consent for the delta only.\n\n\n```ts\ntype ConnectOutlookRequest = {\n mail?: boolean\n calendar?: boolean\n return_to?: string\n}\n```\n\n### `MailboxSyncStatus`\n\n```ts\ntype MailboxSyncStatus = {\n execution_id: string\n status: "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n timeframe: "5m" | "1w" | "2w" | "1m"\n started_at: string // date-time\n completed_at?: string // date-time\n inbox?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n sent_items?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n}\n```\n\n### `MailboxSyncStatuses`\n\n```ts\ntype MailboxSyncStatuses = "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n```\n\n### `MailboxSyncFolderStatuses`\n\n```ts\ntype MailboxSyncFolderStatuses = "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n```\n\n### `MailboxSyncTimeframePeriods`\n\n```ts\ntype MailboxSyncTimeframePeriods = "5m" | "1w" | "2w" | "1m"\n```\n\n### `InboxBucketResponse`\n\nInbox bucket representing the storage container for a shared inbox.\n\n```ts\ntype InboxBucketResponse = {\n id: string\n inbox_id: string\n}\n```\n\n### `ProvisionEpilotEmailAddressPayload`\n\nRequest payload for provisioning an epilot-managed email address.\n\n```ts\ntype ProvisionEpilotEmailAddressPayload = {\n address: string\n}\n```\n\n### `SetEmailAddressPrimaryPayload`\n\nRequest payload for setting an email address as the organization\'s primary address.\n\n```ts\ntype SetEmailAddressPrimaryPayload = {\n address: string\n}\n```\n\n### `UpdateEmailAddressPayload`\n\nRequest payload for updating an email address configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateEmailAddressPayload = {\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n}\n```\n\n### `CreateEmailAddressPayload`\n\nRequest payload for creating a new email address.\n\n```ts\ntype CreateEmailAddressPayload = {\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n}\n```\n\n### `EmailAddressResponse`\n\nEmail address configuration with all associated metadata.\n\n```ts\ntype EmailAddressResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n is_primary?: boolean\n is_epilot_email_address?: boolean\n}\n```\n\n### `ErrorResponse`\n\nStandard error response format for all API errors.\n\n```ts\ntype ErrorResponse = {\n error: string\n status: number\n}\n```\n\n### `SettingMeta`\n\nCommon metadata fields for all settings and resources.\n\n```ts\ntype SettingMeta = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `UpdateSharedInboxPayload`\n\nRequest payload for updating a shared inbox configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateSharedInboxPayload = {\n color?: string\n name?: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `CreateSharedInboxPayload`\n\nRequest payload for creating a new shared inbox.\n\n```ts\ntype CreateSharedInboxPayload = {\n id?: string\n color: string\n name: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `SharedInboxResponse`\n\nShared inbox configuration with all associated metadata.\n\n```ts\ntype SharedInboxResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n name: string\n color: string\n assignees: string[]\n description?: string\n bucket_id: string\n}\n```\n\n### `SettingsResponse`\n\n```ts\ntype SettingsResponse = Array<{\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}> | {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `ConnectedOutlookEmail`\n\nMapping between an Outlook email and its Outlook Connection.\nThis tracks which provider/tenant provisions each Outlook email.\n\n\n```ts\ntype ConnectedOutlookEmail = {\n outlook_email: string // email\n tenant_id?: string\n provider?: "outlook"\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `OutlookConnectionError`\n\n```ts\ntype OutlookConnectionError = {\n error: string\n error_description?: string\n admin_consent_url?: string // uri\n}\n```\n\n### `CalendarAdminConsentStatus`\n\n```ts\ntype CalendarAdminConsentStatus = {\n admin_consented: boolean\n admin_consent_url?: string // uri\n}\n```\n\n### `MyCalendarConnectionResponse`\n\nPer-user calendar connection metadata, or null when the caller has\nnot connected their personal calendar yet.\n\n\n```ts\ntype MyCalendarConnectionResponse = {\n connection?: {\n user_id: string\n tenant_id: string\n status: "connected" | "expired"\n scopes?: string[]\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_at?: string // date-time\n updated_at?: string // date-time\n expires_at?: string // date-time\n }\n}\n```\n\n### `CalendarConnectionInfo`\n\n```ts\ntype CalendarConnectionInfo = {\n user_id: string\n tenant_id: string\n status: "connected" | "expired"\n scopes?: string[]\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_at?: string // date-time\n updated_at?: string // date-time\n expires_at?: string // date-time\n}\n```\n\n### `OutlookConnectionStatus`\n\n```ts\ntype OutlookConnectionStatus = {\n status: "connected" | "expired" | "pending_auth" | "not_connected"\n action: "connect" | "authorize" | "reconnect" | "none"\n action_reason?: "expired" | "permission_update"\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n tenant_id: string\n scopes?: string[]\n expires_at?: string // date-time\n is_token_valid?: boolean\n}\n```\n\n### `SmtpConnection`\n\n```ts\ntype SmtpConnection = {\n connection_id: string\n smtp_host: string\n smtp_port: number\n smtp_secure: "tls" | "starttls"\n smtp_username: string\n smtp_password?: string\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n last_tested_at?: string // date-time\n last_test_status?: "ok" | "auth_failed" | "tls_failed" | "host_unreachable" | "timeout" | "secret_missing" | "unknown"\n last_test_error?: string\n}\n```\n\n### `CreateSmtpConnectionRequest`\n\n```ts\ntype CreateSmtpConnectionRequest = {\n smtp_host: string\n smtp_port: number\n smtp_secure: "tls" | "starttls"\n smtp_username: string\n smtp_password: string\n}\n```\n\n### `UpdateSmtpConnectionRequest`\n\nPartial update; omitted fields keep their existing values.\n\n```ts\ntype UpdateSmtpConnectionRequest = {\n smtp_host?: string\n smtp_port?: number\n smtp_secure?: "tls" | "starttls"\n smtp_username?: string\n smtp_password?: string\n}\n```\n\n### `SmtpSender`\n\nAn address allowed to send through a custom SMTP connection. Mirrors an Outlook\nmailbox: the address, its display name and its assignees live on the shared\nemail-address record, while this row binds it to a set of SMTP credentials.\n\n\n```ts\ntype SmtpSender = {\n email: string // email\n connection_id: string\n reply_to_email?: string\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `ConnectSmtpSenderRequest`\n\n```ts\ntype ConnectSmtpSenderRequest = {\n email: string // email\n connection_id: string\n name?: string\n reply_to_email?: string\n shared_inbox_id?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n}\n```\n\n### `SmtpTestResult`\n\n```ts\ntype SmtpTestResult = {\n status: "ok" | "auth_failed" | "tls_failed" | "host_unreachable" | "timeout" | "secret_missing" | "unknown"\n error?: string\n tested_at: string // date-time\n}\n```\n\n### `SignatureSetting`\n\nSetting that allows to add a signature.\n\n```ts\ntype SignatureSetting = "signature"\n```\n\n### `EmailDomainSetting`\n\nSetting that allows to add a custom domain. For e.g; doe.com\n\n```ts\ntype EmailDomainSetting = "email_domain"\n```\n\n### `EmailAddressSetting`\n\nSetting that allows to add an email address on the custom domain. For e.g; john@doe.com\n\n```ts\ntype EmailAddressSetting = "email_address"\n```\n\n### `WhitelistEmailAddressSetting`\n\n- Setting that specifies a list of addresses exempt from being flagged as duplicate emails.\n- An email will be flagged as a duplicate if it has the same content and is sent to the same recipient within the time frame specified in the RestrictDuplicatesWithinSetting.\n\n\n```ts\ntype WhitelistEmailAddressSetting = "whitelist_email_address"\n```\n\n### `RestrictDuplicatesWithinSetting`\n\n- Restrict duplicates within:\n * 10s\n * 5m\n * 1d\n * 5000 // It converts to 5 seconds.When expressed as a numerical value, it will be interpreted as being in milliseconds.\n- Defaults to 3 minutes\n- Negative values will be treated same as positive values\n- If not set, defaults to 3 min\n- If set as\n\n```ts\ntype RestrictDuplicatesWithinSetting = "restrict_duplicates_within"\n```\n\n### `SettingType`\n\n```ts\ntype SettingType = "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n```\n\n### `Setting`\n\nGeneric setting object used for various email configuration types.\nThe applicable fields depend on the setting type:\n- **signature**: Uses `name`, `value` (plain text), and `html` (rich text)\n- **email_domain**: Uses `value` (domain name)\n- **whitelist_email_address**: Uses `value` (email address)\n-\n\n```ts\ntype Setting = {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `Domain`\n\nCustom email domain configuration.\n\n```ts\ntype Domain = {\n domain?: string\n}\n```\n';
5
-
6
-
7
- exports.default = email_settings_default;