telnyx 7.11.0 → 7.13.0

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 (502) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/client.d.mts +56 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +56 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js +54 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +54 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/ai/ai.d.mts +6 -0
  12. package/resources/ai/ai.d.mts.map +1 -1
  13. package/resources/ai/ai.d.ts +6 -0
  14. package/resources/ai/ai.d.ts.map +1 -1
  15. package/resources/ai/ai.js.map +1 -1
  16. package/resources/ai/ai.mjs.map +1 -1
  17. package/resources/ai/anthropic/v1.d.mts +3 -1
  18. package/resources/ai/anthropic/v1.d.mts.map +1 -1
  19. package/resources/ai/anthropic/v1.d.ts +3 -1
  20. package/resources/ai/anthropic/v1.d.ts.map +1 -1
  21. package/resources/ai/assistants/assistants.d.mts +6 -2
  22. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  23. package/resources/ai/assistants/assistants.d.ts +6 -2
  24. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  25. package/resources/ai/assistants/assistants.js.map +1 -1
  26. package/resources/ai/assistants/assistants.mjs.map +1 -1
  27. package/resources/ai/chat.d.mts +6 -0
  28. package/resources/ai/chat.d.mts.map +1 -1
  29. package/resources/ai/chat.d.ts +6 -0
  30. package/resources/ai/chat.d.ts.map +1 -1
  31. package/resources/ai/openai/chat.d.mts +6 -0
  32. package/resources/ai/openai/chat.d.mts.map +1 -1
  33. package/resources/ai/openai/chat.d.ts +6 -0
  34. package/resources/ai/openai/chat.d.ts.map +1 -1
  35. package/resources/ai/openai/openai.d.mts +6 -0
  36. package/resources/ai/openai/openai.d.mts.map +1 -1
  37. package/resources/ai/openai/openai.d.ts +6 -0
  38. package/resources/ai/openai/openai.d.ts.map +1 -1
  39. package/resources/ai/openai/openai.js.map +1 -1
  40. package/resources/ai/openai/openai.mjs.map +1 -1
  41. package/resources/calls/actions.d.mts +223 -48
  42. package/resources/calls/actions.d.mts.map +1 -1
  43. package/resources/calls/actions.d.ts +223 -48
  44. package/resources/calls/actions.d.ts.map +1 -1
  45. package/resources/calls/actions.js +31 -0
  46. package/resources/calls/actions.js.map +1 -1
  47. package/resources/calls/actions.mjs +31 -0
  48. package/resources/calls/actions.mjs.map +1 -1
  49. package/resources/calls/calls.d.mts +3 -2
  50. package/resources/calls/calls.d.mts.map +1 -1
  51. package/resources/calls/calls.d.ts +3 -2
  52. package/resources/calls/calls.d.ts.map +1 -1
  53. package/resources/calls/calls.js.map +1 -1
  54. package/resources/calls/calls.mjs.map +1 -1
  55. package/resources/calls/index.d.mts +1 -1
  56. package/resources/calls/index.d.mts.map +1 -1
  57. package/resources/calls/index.d.ts +1 -1
  58. package/resources/calls/index.d.ts.map +1 -1
  59. package/resources/calls/index.js.map +1 -1
  60. package/resources/calls/index.mjs.map +1 -1
  61. package/resources/custom-storage-credentials.d.mts +110 -14
  62. package/resources/custom-storage-credentials.d.mts.map +1 -1
  63. package/resources/custom-storage-credentials.d.ts +110 -14
  64. package/resources/custom-storage-credentials.d.ts.map +1 -1
  65. package/resources/dir/dir.d.mts +3 -2
  66. package/resources/dir/dir.d.mts.map +1 -1
  67. package/resources/dir/dir.d.ts +3 -2
  68. package/resources/dir/dir.d.ts.map +1 -1
  69. package/resources/dir/dir.js +3 -2
  70. package/resources/dir/dir.js.map +1 -1
  71. package/resources/dir/dir.mjs +3 -2
  72. package/resources/dir/dir.mjs.map +1 -1
  73. package/resources/dir/references.d.mts +41 -11
  74. package/resources/dir/references.d.mts.map +1 -1
  75. package/resources/dir/references.d.ts +41 -11
  76. package/resources/dir/references.d.ts.map +1 -1
  77. package/resources/dir/references.js +30 -8
  78. package/resources/dir/references.js.map +1 -1
  79. package/resources/dir/references.mjs +30 -8
  80. package/resources/dir/references.mjs.map +1 -1
  81. package/resources/dir/verify-email.d.mts +10 -0
  82. package/resources/dir/verify-email.d.mts.map +1 -1
  83. package/resources/dir/verify-email.d.ts +10 -0
  84. package/resources/dir/verify-email.d.ts.map +1 -1
  85. package/resources/email-blocks/email-blocks.d.mts +255 -0
  86. package/resources/email-blocks/email-blocks.d.mts.map +1 -0
  87. package/resources/email-blocks/email-blocks.d.ts +255 -0
  88. package/resources/email-blocks/email-blocks.d.ts.map +1 -0
  89. package/resources/email-blocks/email-blocks.js +99 -0
  90. package/resources/email-blocks/email-blocks.js.map +1 -0
  91. package/resources/email-blocks/email-blocks.mjs +94 -0
  92. package/resources/email-blocks/email-blocks.mjs.map +1 -0
  93. package/resources/email-blocks/import.d.mts +111 -0
  94. package/resources/email-blocks/import.d.mts.map +1 -0
  95. package/resources/email-blocks/import.d.ts +111 -0
  96. package/resources/email-blocks/import.d.ts.map +1 -0
  97. package/resources/email-blocks/import.js +40 -0
  98. package/resources/email-blocks/import.js.map +1 -0
  99. package/resources/email-blocks/import.mjs +36 -0
  100. package/resources/email-blocks/import.mjs.map +1 -0
  101. package/resources/email-blocks/index.d.mts +3 -0
  102. package/resources/email-blocks/index.d.mts.map +1 -0
  103. package/resources/email-blocks/index.d.ts +3 -0
  104. package/resources/email-blocks/index.d.ts.map +1 -0
  105. package/resources/email-blocks/index.js +9 -0
  106. package/resources/email-blocks/index.js.map +1 -0
  107. package/resources/email-blocks/index.mjs +4 -0
  108. package/resources/email-blocks/index.mjs.map +1 -0
  109. package/resources/email-blocks.d.mts +2 -0
  110. package/resources/email-blocks.d.mts.map +1 -0
  111. package/resources/email-blocks.d.ts +2 -0
  112. package/resources/email-blocks.d.ts.map +1 -0
  113. package/resources/email-blocks.js +6 -0
  114. package/resources/email-blocks.js.map +1 -0
  115. package/resources/email-blocks.mjs +3 -0
  116. package/resources/email-blocks.mjs.map +1 -0
  117. package/resources/email-domains/email-domains.d.mts +344 -0
  118. package/resources/email-domains/email-domains.d.mts.map +1 -0
  119. package/resources/email-domains/email-domains.d.ts +344 -0
  120. package/resources/email-domains/email-domains.d.ts.map +1 -0
  121. package/resources/email-domains/email-domains.js +146 -0
  122. package/resources/email-domains/email-domains.js.map +1 -0
  123. package/resources/email-domains/email-domains.mjs +141 -0
  124. package/resources/email-domains/email-domains.mjs.map +1 -0
  125. package/resources/email-domains/index.d.mts +3 -0
  126. package/resources/email-domains/index.d.mts.map +1 -0
  127. package/resources/email-domains/index.d.ts +3 -0
  128. package/resources/email-domains/index.d.ts.map +1 -0
  129. package/resources/email-domains/index.js +9 -0
  130. package/resources/email-domains/index.js.map +1 -0
  131. package/resources/email-domains/index.mjs +4 -0
  132. package/resources/email-domains/index.mjs.map +1 -0
  133. package/resources/email-domains/webhooks.d.mts +170 -0
  134. package/resources/email-domains/webhooks.d.mts.map +1 -0
  135. package/resources/email-domains/webhooks.d.ts +170 -0
  136. package/resources/email-domains/webhooks.d.ts.map +1 -0
  137. package/resources/email-domains/webhooks.js +110 -0
  138. package/resources/email-domains/webhooks.js.map +1 -0
  139. package/resources/email-domains/webhooks.mjs +106 -0
  140. package/resources/email-domains/webhooks.mjs.map +1 -0
  141. package/resources/email-domains.d.mts +2 -0
  142. package/resources/email-domains.d.mts.map +1 -0
  143. package/resources/email-domains.d.ts +2 -0
  144. package/resources/email-domains.d.ts.map +1 -0
  145. package/resources/email-domains.js +6 -0
  146. package/resources/email-domains.js.map +1 -0
  147. package/resources/email-domains.mjs +3 -0
  148. package/resources/email-domains.mjs.map +1 -0
  149. package/resources/email-events.d.mts +186 -0
  150. package/resources/email-events.d.mts.map +1 -0
  151. package/resources/email-events.d.ts +186 -0
  152. package/resources/email-events.d.ts.map +1 -0
  153. package/resources/email-events.js +26 -0
  154. package/resources/email-events.js.map +1 -0
  155. package/resources/email-events.mjs +22 -0
  156. package/resources/email-events.mjs.map +1 -0
  157. package/resources/email-inboxes/drafts.d.mts +549 -0
  158. package/resources/email-inboxes/drafts.d.mts.map +1 -0
  159. package/resources/email-inboxes/drafts.d.ts +549 -0
  160. package/resources/email-inboxes/drafts.d.ts.map +1 -0
  161. package/resources/email-inboxes/drafts.js +161 -0
  162. package/resources/email-inboxes/drafts.js.map +1 -0
  163. package/resources/email-inboxes/drafts.mjs +157 -0
  164. package/resources/email-inboxes/drafts.mjs.map +1 -0
  165. package/resources/email-inboxes/email-inboxes.d.mts +131 -0
  166. package/resources/email-inboxes/email-inboxes.d.mts.map +1 -0
  167. package/resources/email-inboxes/email-inboxes.d.ts +131 -0
  168. package/resources/email-inboxes/email-inboxes.d.ts.map +1 -0
  169. package/resources/email-inboxes/email-inboxes.js +93 -0
  170. package/resources/email-inboxes/email-inboxes.js.map +1 -0
  171. package/resources/email-inboxes/email-inboxes.mjs +88 -0
  172. package/resources/email-inboxes/email-inboxes.mjs.map +1 -0
  173. package/resources/email-inboxes/filters.d.mts +137 -0
  174. package/resources/email-inboxes/filters.d.mts.map +1 -0
  175. package/resources/email-inboxes/filters.d.ts +137 -0
  176. package/resources/email-inboxes/filters.d.ts.map +1 -0
  177. package/resources/email-inboxes/filters.js +81 -0
  178. package/resources/email-inboxes/filters.js.map +1 -0
  179. package/resources/email-inboxes/filters.mjs +77 -0
  180. package/resources/email-inboxes/filters.mjs.map +1 -0
  181. package/resources/email-inboxes/index.d.mts +6 -0
  182. package/resources/email-inboxes/index.d.mts.map +1 -0
  183. package/resources/email-inboxes/index.d.ts +6 -0
  184. package/resources/email-inboxes/index.d.ts.map +1 -0
  185. package/resources/email-inboxes/index.js +15 -0
  186. package/resources/email-inboxes/index.js.map +1 -0
  187. package/resources/email-inboxes/index.mjs +7 -0
  188. package/resources/email-inboxes/index.mjs.map +1 -0
  189. package/resources/email-inboxes/messages/actions.d.mts +190 -0
  190. package/resources/email-inboxes/messages/actions.d.mts.map +1 -0
  191. package/resources/email-inboxes/messages/actions.d.ts +190 -0
  192. package/resources/email-inboxes/messages/actions.d.ts.map +1 -0
  193. package/resources/email-inboxes/messages/actions.js +106 -0
  194. package/resources/email-inboxes/messages/actions.js.map +1 -0
  195. package/resources/email-inboxes/messages/actions.mjs +102 -0
  196. package/resources/email-inboxes/messages/actions.mjs.map +1 -0
  197. package/resources/email-inboxes/messages/index.d.mts +4 -0
  198. package/resources/email-inboxes/messages/index.d.mts.map +1 -0
  199. package/resources/email-inboxes/messages/index.d.ts +4 -0
  200. package/resources/email-inboxes/messages/index.d.ts.map +1 -0
  201. package/resources/email-inboxes/messages/index.js +11 -0
  202. package/resources/email-inboxes/messages/index.js.map +1 -0
  203. package/resources/email-inboxes/messages/index.mjs +5 -0
  204. package/resources/email-inboxes/messages/index.mjs.map +1 -0
  205. package/resources/email-inboxes/messages/labels.d.mts +101 -0
  206. package/resources/email-inboxes/messages/labels.d.mts.map +1 -0
  207. package/resources/email-inboxes/messages/labels.d.ts +101 -0
  208. package/resources/email-inboxes/messages/labels.d.ts.map +1 -0
  209. package/resources/email-inboxes/messages/labels.js +69 -0
  210. package/resources/email-inboxes/messages/labels.js.map +1 -0
  211. package/resources/email-inboxes/messages/labels.mjs +65 -0
  212. package/resources/email-inboxes/messages/labels.mjs.map +1 -0
  213. package/resources/email-inboxes/messages/messages.d.mts +212 -0
  214. package/resources/email-inboxes/messages/messages.d.mts.map +1 -0
  215. package/resources/email-inboxes/messages/messages.d.ts +212 -0
  216. package/resources/email-inboxes/messages/messages.d.ts.map +1 -0
  217. package/resources/email-inboxes/messages/messages.js +89 -0
  218. package/resources/email-inboxes/messages/messages.js.map +1 -0
  219. package/resources/email-inboxes/messages/messages.mjs +84 -0
  220. package/resources/email-inboxes/messages/messages.mjs.map +1 -0
  221. package/resources/email-inboxes/messages.d.mts +2 -0
  222. package/resources/email-inboxes/messages.d.mts.map +1 -0
  223. package/resources/email-inboxes/messages.d.ts +2 -0
  224. package/resources/email-inboxes/messages.d.ts.map +1 -0
  225. package/resources/email-inboxes/messages.js +6 -0
  226. package/resources/email-inboxes/messages.js.map +1 -0
  227. package/resources/email-inboxes/messages.mjs +3 -0
  228. package/resources/email-inboxes/messages.mjs.map +1 -0
  229. package/resources/email-inboxes/threads/index.d.mts +3 -0
  230. package/resources/email-inboxes/threads/index.d.mts.map +1 -0
  231. package/resources/email-inboxes/threads/index.d.ts +3 -0
  232. package/resources/email-inboxes/threads/index.d.ts.map +1 -0
  233. package/resources/email-inboxes/threads/index.js +9 -0
  234. package/resources/email-inboxes/threads/index.js.map +1 -0
  235. package/resources/email-inboxes/threads/index.mjs +4 -0
  236. package/resources/email-inboxes/threads/index.mjs.map +1 -0
  237. package/resources/email-inboxes/threads/labels.d.mts +99 -0
  238. package/resources/email-inboxes/threads/labels.d.mts.map +1 -0
  239. package/resources/email-inboxes/threads/labels.d.ts +99 -0
  240. package/resources/email-inboxes/threads/labels.d.ts.map +1 -0
  241. package/resources/email-inboxes/threads/labels.js +64 -0
  242. package/resources/email-inboxes/threads/labels.js.map +1 -0
  243. package/resources/email-inboxes/threads/labels.mjs +60 -0
  244. package/resources/email-inboxes/threads/labels.mjs.map +1 -0
  245. package/resources/email-inboxes/threads/threads.d.mts +199 -0
  246. package/resources/email-inboxes/threads/threads.d.mts.map +1 -0
  247. package/resources/email-inboxes/threads/threads.d.ts +199 -0
  248. package/resources/email-inboxes/threads/threads.d.ts.map +1 -0
  249. package/resources/email-inboxes/threads/threads.js +51 -0
  250. package/resources/email-inboxes/threads/threads.js.map +1 -0
  251. package/resources/email-inboxes/threads/threads.mjs +46 -0
  252. package/resources/email-inboxes/threads/threads.mjs.map +1 -0
  253. package/resources/email-inboxes/threads.d.mts +2 -0
  254. package/resources/email-inboxes/threads.d.mts.map +1 -0
  255. package/resources/email-inboxes/threads.d.ts +2 -0
  256. package/resources/email-inboxes/threads.d.ts.map +1 -0
  257. package/resources/email-inboxes/threads.js +6 -0
  258. package/resources/email-inboxes/threads.js.map +1 -0
  259. package/resources/email-inboxes/threads.mjs +3 -0
  260. package/resources/email-inboxes/threads.mjs.map +1 -0
  261. package/resources/email-inboxes.d.mts +2 -0
  262. package/resources/email-inboxes.d.mts.map +1 -0
  263. package/resources/email-inboxes.d.ts +2 -0
  264. package/resources/email-inboxes.d.ts.map +1 -0
  265. package/resources/email-inboxes.js +6 -0
  266. package/resources/email-inboxes.js.map +1 -0
  267. package/resources/email-inboxes.mjs +3 -0
  268. package/resources/email-inboxes.mjs.map +1 -0
  269. package/resources/email-messages/email-messages.d.mts +543 -0
  270. package/resources/email-messages/email-messages.d.mts.map +1 -0
  271. package/resources/email-messages/email-messages.d.ts +543 -0
  272. package/resources/email-messages/email-messages.d.ts.map +1 -0
  273. package/resources/email-messages/email-messages.js +186 -0
  274. package/resources/email-messages/email-messages.js.map +1 -0
  275. package/resources/email-messages/email-messages.mjs +181 -0
  276. package/resources/email-messages/email-messages.mjs.map +1 -0
  277. package/resources/email-messages/index.d.mts +3 -0
  278. package/resources/email-messages/index.d.mts.map +1 -0
  279. package/resources/email-messages/index.d.ts +3 -0
  280. package/resources/email-messages/index.d.ts.map +1 -0
  281. package/resources/email-messages/index.js +9 -0
  282. package/resources/email-messages/index.js.map +1 -0
  283. package/resources/email-messages/index.mjs +4 -0
  284. package/resources/email-messages/index.mjs.map +1 -0
  285. package/resources/email-messages/recipients.d.mts +118 -0
  286. package/resources/email-messages/recipients.d.mts.map +1 -0
  287. package/resources/email-messages/recipients.d.ts +118 -0
  288. package/resources/email-messages/recipients.d.ts.map +1 -0
  289. package/resources/email-messages/recipients.js +48 -0
  290. package/resources/email-messages/recipients.js.map +1 -0
  291. package/resources/email-messages/recipients.mjs +44 -0
  292. package/resources/email-messages/recipients.mjs.map +1 -0
  293. package/resources/email-messages.d.mts +2 -0
  294. package/resources/email-messages.d.mts.map +1 -0
  295. package/resources/email-messages.d.ts +2 -0
  296. package/resources/email-messages.d.ts.map +1 -0
  297. package/resources/email-messages.js +6 -0
  298. package/resources/email-messages.js.map +1 -0
  299. package/resources/email-messages.mjs +3 -0
  300. package/resources/email-messages.mjs.map +1 -0
  301. package/resources/email-templates.d.mts +236 -0
  302. package/resources/email-templates.d.mts.map +1 -0
  303. package/resources/email-templates.d.ts +236 -0
  304. package/resources/email-templates.d.ts.map +1 -0
  305. package/resources/email-templates.js +124 -0
  306. package/resources/email-templates.js.map +1 -0
  307. package/resources/email-templates.mjs +120 -0
  308. package/resources/email-templates.mjs.map +1 -0
  309. package/resources/email-threads.d.mts +71 -0
  310. package/resources/email-threads.d.mts.map +1 -0
  311. package/resources/email-threads.d.ts +71 -0
  312. package/resources/email-threads.d.ts.map +1 -0
  313. package/resources/email-threads.js +34 -0
  314. package/resources/email-threads.js.map +1 -0
  315. package/resources/email-threads.mjs +30 -0
  316. package/resources/email-threads.mjs.map +1 -0
  317. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.d.mts +90 -0
  318. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.d.mts.map +1 -0
  319. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.d.ts +90 -0
  320. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.d.ts.map +1 -0
  321. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.js +70 -0
  322. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.js.map +1 -0
  323. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.mjs +65 -0
  324. package/resources/email-unsubscribe-groups/email-unsubscribe-groups.mjs.map +1 -0
  325. package/resources/email-unsubscribe-groups/index.d.mts +3 -0
  326. package/resources/email-unsubscribe-groups/index.d.mts.map +1 -0
  327. package/resources/email-unsubscribe-groups/index.d.ts +3 -0
  328. package/resources/email-unsubscribe-groups/index.d.ts.map +1 -0
  329. package/resources/email-unsubscribe-groups/index.js +9 -0
  330. package/resources/email-unsubscribe-groups/index.js.map +1 -0
  331. package/resources/email-unsubscribe-groups/index.mjs +4 -0
  332. package/resources/email-unsubscribe-groups/index.mjs.map +1 -0
  333. package/resources/email-unsubscribe-groups/suppressions.d.mts +54 -0
  334. package/resources/email-unsubscribe-groups/suppressions.d.mts.map +1 -0
  335. package/resources/email-unsubscribe-groups/suppressions.d.ts +54 -0
  336. package/resources/email-unsubscribe-groups/suppressions.d.ts.map +1 -0
  337. package/resources/email-unsubscribe-groups/suppressions.js +52 -0
  338. package/resources/email-unsubscribe-groups/suppressions.js.map +1 -0
  339. package/resources/email-unsubscribe-groups/suppressions.mjs +48 -0
  340. package/resources/email-unsubscribe-groups/suppressions.mjs.map +1 -0
  341. package/resources/email-unsubscribe-groups.d.mts +2 -0
  342. package/resources/email-unsubscribe-groups.d.mts.map +1 -0
  343. package/resources/email-unsubscribe-groups.d.ts +2 -0
  344. package/resources/email-unsubscribe-groups.d.ts.map +1 -0
  345. package/resources/email-unsubscribe-groups.js +6 -0
  346. package/resources/email-unsubscribe-groups.js.map +1 -0
  347. package/resources/email-unsubscribe-groups.mjs +3 -0
  348. package/resources/email-unsubscribe-groups.mjs.map +1 -0
  349. package/resources/email-validations/batch.d.mts +136 -0
  350. package/resources/email-validations/batch.d.mts.map +1 -0
  351. package/resources/email-validations/batch.d.ts +136 -0
  352. package/resources/email-validations/batch.d.ts.map +1 -0
  353. package/resources/email-validations/batch.js +51 -0
  354. package/resources/email-validations/batch.js.map +1 -0
  355. package/resources/email-validations/batch.mjs +47 -0
  356. package/resources/email-validations/batch.mjs.map +1 -0
  357. package/resources/email-validations/email-validations.d.mts +87 -0
  358. package/resources/email-validations/email-validations.d.mts.map +1 -0
  359. package/resources/email-validations/email-validations.d.ts +87 -0
  360. package/resources/email-validations/email-validations.d.ts.map +1 -0
  361. package/resources/email-validations/email-validations.js +43 -0
  362. package/resources/email-validations/email-validations.js.map +1 -0
  363. package/resources/email-validations/email-validations.mjs +38 -0
  364. package/resources/email-validations/email-validations.mjs.map +1 -0
  365. package/resources/email-validations/index.d.mts +3 -0
  366. package/resources/email-validations/index.d.mts.map +1 -0
  367. package/resources/email-validations/index.d.ts +3 -0
  368. package/resources/email-validations/index.d.ts.map +1 -0
  369. package/resources/email-validations/index.js +9 -0
  370. package/resources/email-validations/index.js.map +1 -0
  371. package/resources/email-validations/index.mjs +4 -0
  372. package/resources/email-validations/index.mjs.map +1 -0
  373. package/resources/email-validations.d.mts +2 -0
  374. package/resources/email-validations.d.mts.map +1 -0
  375. package/resources/email-validations.d.ts +2 -0
  376. package/resources/email-validations.d.ts.map +1 -0
  377. package/resources/email-validations.js +6 -0
  378. package/resources/email-validations.js.map +1 -0
  379. package/resources/email-validations.mjs +3 -0
  380. package/resources/email-validations.mjs.map +1 -0
  381. package/resources/index.d.mts +11 -1
  382. package/resources/index.d.mts.map +1 -1
  383. package/resources/index.d.ts +11 -1
  384. package/resources/index.d.ts.map +1 -1
  385. package/resources/index.js +24 -4
  386. package/resources/index.js.map +1 -1
  387. package/resources/index.mjs +10 -0
  388. package/resources/index.mjs.map +1 -1
  389. package/resources/pricing/index.d.mts +3 -0
  390. package/resources/pricing/index.d.mts.map +1 -0
  391. package/resources/pricing/index.d.ts +3 -0
  392. package/resources/pricing/index.d.ts.map +1 -0
  393. package/resources/pricing/index.js +9 -0
  394. package/resources/pricing/index.js.map +1 -0
  395. package/resources/pricing/index.mjs +4 -0
  396. package/resources/pricing/index.mjs.map +1 -0
  397. package/resources/pricing/pricing.d.mts +10 -0
  398. package/resources/pricing/pricing.d.mts.map +1 -0
  399. package/resources/pricing/pricing.d.ts +10 -0
  400. package/resources/pricing/pricing.d.ts.map +1 -0
  401. package/resources/pricing/pricing.js +17 -0
  402. package/resources/pricing/pricing.js.map +1 -0
  403. package/resources/pricing/pricing.mjs +12 -0
  404. package/resources/pricing/pricing.mjs.map +1 -0
  405. package/resources/pricing/products.d.mts +161 -0
  406. package/resources/pricing/products.d.mts.map +1 -0
  407. package/resources/pricing/products.d.ts +161 -0
  408. package/resources/pricing/products.d.ts.map +1 -0
  409. package/resources/pricing/products.js +32 -0
  410. package/resources/pricing/products.js.map +1 -0
  411. package/resources/pricing/products.mjs +28 -0
  412. package/resources/pricing/products.mjs.map +1 -0
  413. package/resources/pricing.d.mts +2 -0
  414. package/resources/pricing.d.mts.map +1 -0
  415. package/resources/pricing.d.ts +2 -0
  416. package/resources/pricing.d.ts.map +1 -0
  417. package/resources/pricing.js +6 -0
  418. package/resources/pricing.js.map +1 -0
  419. package/resources/pricing.mjs +3 -0
  420. package/resources/pricing.mjs.map +1 -0
  421. package/resources/speech-to-text/speech-to-text.d.mts +4 -4
  422. package/resources/speech-to-text/speech-to-text.d.mts.map +1 -1
  423. package/resources/speech-to-text/speech-to-text.d.ts +4 -4
  424. package/resources/speech-to-text/speech-to-text.d.ts.map +1 -1
  425. package/resources/speech-to-text/speech-to-text.js +1 -1
  426. package/resources/speech-to-text/speech-to-text.mjs +1 -1
  427. package/resources/uac-connections/uac-connections.d.mts +5 -0
  428. package/resources/uac-connections/uac-connections.d.mts.map +1 -1
  429. package/resources/uac-connections/uac-connections.d.ts +5 -0
  430. package/resources/uac-connections/uac-connections.d.ts.map +1 -1
  431. package/resources/uac-connections/uac-connections.js.map +1 -1
  432. package/resources/uac-connections/uac-connections.mjs.map +1 -1
  433. package/resources/webhooks.d.mts +483 -85
  434. package/resources/webhooks.d.mts.map +1 -1
  435. package/resources/webhooks.d.ts +483 -85
  436. package/resources/webhooks.d.ts.map +1 -1
  437. package/resources/webhooks.js.map +1 -1
  438. package/resources/webhooks.mjs.map +1 -1
  439. package/src/client.ts +260 -0
  440. package/src/resources/ai/ai.ts +7 -0
  441. package/src/resources/ai/anthropic/v1.ts +3 -1
  442. package/src/resources/ai/assistants/assistants.ts +6 -1
  443. package/src/resources/ai/chat.ts +7 -0
  444. package/src/resources/ai/openai/chat.ts +7 -0
  445. package/src/resources/ai/openai/openai.ts +7 -0
  446. package/src/resources/calls/actions.ts +269 -51
  447. package/src/resources/calls/calls.ts +8 -0
  448. package/src/resources/calls/index.ts +3 -0
  449. package/src/resources/custom-storage-credentials.ts +140 -14
  450. package/src/resources/dir/dir.ts +3 -2
  451. package/src/resources/dir/references.ts +41 -11
  452. package/src/resources/dir/verify-email.ts +12 -0
  453. package/src/resources/email-blocks/email-blocks.ts +358 -0
  454. package/src/resources/email-blocks/import.ts +143 -0
  455. package/src/resources/email-blocks/index.ts +16 -0
  456. package/src/resources/email-blocks.ts +3 -0
  457. package/src/resources/email-domains/email-domains.ts +510 -0
  458. package/src/resources/email-domains/index.ts +33 -0
  459. package/src/resources/email-domains/webhooks.ts +267 -0
  460. package/src/resources/email-domains.ts +3 -0
  461. package/src/resources/email-events.ts +269 -0
  462. package/src/resources/email-inboxes/drafts.ts +746 -0
  463. package/src/resources/email-inboxes/email-inboxes.ts +276 -0
  464. package/src/resources/email-inboxes/filters.ts +193 -0
  465. package/src/resources/email-inboxes/index.ts +58 -0
  466. package/src/resources/email-inboxes/messages/actions.ts +258 -0
  467. package/src/resources/email-inboxes/messages/index.ts +27 -0
  468. package/src/resources/email-inboxes/messages/labels.ts +139 -0
  469. package/src/resources/email-inboxes/messages/messages.ts +313 -0
  470. package/src/resources/email-inboxes/messages.ts +3 -0
  471. package/src/resources/email-inboxes/threads/index.ts +21 -0
  472. package/src/resources/email-inboxes/threads/labels.ts +143 -0
  473. package/src/resources/email-inboxes/threads/threads.ts +292 -0
  474. package/src/resources/email-inboxes/threads.ts +3 -0
  475. package/src/resources/email-inboxes.ts +3 -0
  476. package/src/resources/email-messages/email-messages.ts +713 -0
  477. package/src/resources/email-messages/index.ts +26 -0
  478. package/src/resources/email-messages/recipients.ts +182 -0
  479. package/src/resources/email-messages.ts +3 -0
  480. package/src/resources/email-templates.ts +333 -0
  481. package/src/resources/email-threads.ts +100 -0
  482. package/src/resources/email-unsubscribe-groups/email-unsubscribe-groups.ts +171 -0
  483. package/src/resources/email-unsubscribe-groups/index.ts +19 -0
  484. package/src/resources/email-unsubscribe-groups/suppressions.ts +90 -0
  485. package/src/resources/email-unsubscribe-groups.ts +3 -0
  486. package/src/resources/email-validations/batch.ts +187 -0
  487. package/src/resources/email-validations/email-validations.ts +141 -0
  488. package/src/resources/email-validations/index.ts +15 -0
  489. package/src/resources/email-validations.ts +3 -0
  490. package/src/resources/index.ts +103 -0
  491. package/src/resources/pricing/index.ts +13 -0
  492. package/src/resources/pricing/pricing.ts +33 -0
  493. package/src/resources/pricing/products.ts +226 -0
  494. package/src/resources/pricing.ts +3 -0
  495. package/src/resources/speech-to-text/speech-to-text.ts +6 -3
  496. package/src/resources/uac-connections/uac-connections.ts +6 -0
  497. package/src/resources/webhooks.ts +636 -110
  498. package/src/version.ts +1 -1
  499. package/version.d.mts +1 -1
  500. package/version.d.ts +1 -1
  501. package/version.js +1 -1
  502. package/version.mjs +1 -1
@@ -0,0 +1,171 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as SuppressionsAPI from './suppressions';
5
+ import {
6
+ SuppressionCreateParams,
7
+ SuppressionDeleteParams,
8
+ SuppressionListParams,
9
+ Suppressions,
10
+ } from './suppressions';
11
+ import { APIPromise } from '../../core/api-promise';
12
+ import { DefaultFlatPagination, type DefaultFlatPaginationParams, PagePromise } from '../../core/pagination';
13
+ import { buildHeaders } from '../../internal/headers';
14
+ import { RequestOptions } from '../../internal/request-options';
15
+ import { path } from '../../internal/utils/path';
16
+
17
+ /**
18
+ * Named groups and group-scoped suppressions.
19
+ */
20
+ export class EmailUnsubscribeGroups extends APIResource {
21
+ suppressions: SuppressionsAPI.Suppressions = new SuppressionsAPI.Suppressions(this._client);
22
+
23
+ /**
24
+ * Offset pagination only (`page[number]` default 1, `page[size]` default 25, max
25
+ * 100). No `sort`/`filter`/cursor — ordering fixed `desc created_at, desc id`.
26
+ * Uses the shared `QueryParser.parse_offset/1` — a malformed `page` (e.g. flat
27
+ * `?page=1` instead of `?page[number]=1`) returns `400` (code `10015`), consistent
28
+ * with `GET /v2/email_blocks`. `meta` includes `total_pages`.
29
+ */
30
+ list(
31
+ query: EmailUnsubscribeGroupListParams | null | undefined = {},
32
+ options?: RequestOptions,
33
+ ): PagePromise<UnsubscribeGroupsDefaultFlatPagination, UnsubscribeGroup> {
34
+ return this._client.getAPIList('/email_unsubscribe_groups', DefaultFlatPagination<UnsubscribeGroup>, {
35
+ query,
36
+ ...options,
37
+ });
38
+ }
39
+
40
+ /**
41
+ * Create an unsubscribe group
42
+ */
43
+ create(
44
+ body: EmailUnsubscribeGroupCreateParams,
45
+ options?: RequestOptions,
46
+ ): APIPromise<UnsubscribeGroupResponse> {
47
+ return this._client.post('/email_unsubscribe_groups', { body, ...options });
48
+ }
49
+
50
+ /**
51
+ * If the group has 0 active suppressions, hard-deletes the row. With `force=true`,
52
+ * soft-deletes all active suppressions first (status → `removed`, `group_id`
53
+ * cleared, `removed` audit event per block) in a single transaction, then
54
+ * hard-deletes the group. Without `force` and active suppressions present → `409`.
55
+ * Audit trail is preserved. `force` only accepts the string `"true"` or boolean
56
+ * `true`; all other values are false.
57
+ */
58
+ delete(
59
+ id: string,
60
+ params: EmailUnsubscribeGroupDeleteParams | null | undefined = {},
61
+ options?: RequestOptions,
62
+ ): APIPromise<void> {
63
+ const { force } = params ?? {};
64
+ return this._client.delete(path`/email_unsubscribe_groups/${id}`, {
65
+ query: { force },
66
+ ...options,
67
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
68
+ });
69
+ }
70
+
71
+ /**
72
+ * Retrieve an unsubscribe group
73
+ */
74
+ retrieve(id: string, options?: RequestOptions): APIPromise<UnsubscribeGroupResponse> {
75
+ return this._client.get(path`/email_unsubscribe_groups/${id}`, options);
76
+ }
77
+
78
+ /**
79
+ * Partial update (only `name` / `description`). `PUT` is not routed.
80
+ */
81
+ update(
82
+ id: string,
83
+ body: EmailUnsubscribeGroupUpdateParams,
84
+ options?: RequestOptions,
85
+ ): APIPromise<UnsubscribeGroupResponse> {
86
+ return this._client.patch(path`/email_unsubscribe_groups/${id}`, { body, ...options });
87
+ }
88
+ }
89
+
90
+ export type UnsubscribeGroupsDefaultFlatPagination = DefaultFlatPagination<UnsubscribeGroup>;
91
+
92
+ /**
93
+ * Group list `meta` (consistent with `GET /v2/email_blocks`).
94
+ */
95
+ export interface GroupListMeta {
96
+ page_number: number;
97
+
98
+ page_size: number;
99
+
100
+ total_pages: number;
101
+
102
+ total_results: number;
103
+ }
104
+
105
+ export interface UnsubscribeGroup {
106
+ id: string;
107
+
108
+ created_at: string;
109
+
110
+ /**
111
+ * Always present (not omit-nullable); `null` when unset.
112
+ */
113
+ description: string | null;
114
+
115
+ name: string;
116
+
117
+ /**
118
+ * View-only.
119
+ */
120
+ record_type: 'email_unsubscribe_group';
121
+
122
+ updated_at: string;
123
+ }
124
+
125
+ export interface UnsubscribeGroupResponse {
126
+ data: UnsubscribeGroup;
127
+ }
128
+
129
+ export interface EmailUnsubscribeGroupListParams extends DefaultFlatPaginationParams {}
130
+
131
+ export interface EmailUnsubscribeGroupCreateParams {
132
+ name: string;
133
+
134
+ description?: string | null;
135
+ }
136
+
137
+ export interface EmailUnsubscribeGroupDeleteParams {
138
+ /**
139
+ * Force-delete a group with active suppressions. Only `"true"` (string) or `true`
140
+ * (bool) are truthy; all other values are false.
141
+ */
142
+ force?: 'true' | 'false' | boolean;
143
+ }
144
+
145
+ export interface EmailUnsubscribeGroupUpdateParams {
146
+ description?: string | null;
147
+
148
+ name?: string;
149
+ }
150
+
151
+ EmailUnsubscribeGroups.Suppressions = Suppressions;
152
+
153
+ export declare namespace EmailUnsubscribeGroups {
154
+ export {
155
+ type GroupListMeta as GroupListMeta,
156
+ type UnsubscribeGroup as UnsubscribeGroup,
157
+ type UnsubscribeGroupResponse as UnsubscribeGroupResponse,
158
+ type UnsubscribeGroupsDefaultFlatPagination as UnsubscribeGroupsDefaultFlatPagination,
159
+ type EmailUnsubscribeGroupListParams as EmailUnsubscribeGroupListParams,
160
+ type EmailUnsubscribeGroupCreateParams as EmailUnsubscribeGroupCreateParams,
161
+ type EmailUnsubscribeGroupDeleteParams as EmailUnsubscribeGroupDeleteParams,
162
+ type EmailUnsubscribeGroupUpdateParams as EmailUnsubscribeGroupUpdateParams,
163
+ };
164
+
165
+ export {
166
+ Suppressions as Suppressions,
167
+ type SuppressionListParams as SuppressionListParams,
168
+ type SuppressionCreateParams as SuppressionCreateParams,
169
+ type SuppressionDeleteParams as SuppressionDeleteParams,
170
+ };
171
+ }
@@ -0,0 +1,19 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ EmailUnsubscribeGroups,
5
+ type GroupListMeta,
6
+ type UnsubscribeGroup,
7
+ type UnsubscribeGroupResponse,
8
+ type EmailUnsubscribeGroupListParams,
9
+ type EmailUnsubscribeGroupCreateParams,
10
+ type EmailUnsubscribeGroupDeleteParams,
11
+ type EmailUnsubscribeGroupUpdateParams,
12
+ type UnsubscribeGroupsDefaultFlatPagination,
13
+ } from './email-unsubscribe-groups';
14
+ export {
15
+ Suppressions,
16
+ type SuppressionListParams,
17
+ type SuppressionCreateParams,
18
+ type SuppressionDeleteParams,
19
+ } from './suppressions';
@@ -0,0 +1,90 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as EmailBlocksAPI from '../email-blocks/email-blocks';
5
+ import { EmailBlocksDefaultFlatPagination } from '../email-blocks/email-blocks';
6
+ import { APIPromise } from '../../core/api-promise';
7
+ import { DefaultFlatPagination, type DefaultFlatPaginationParams, PagePromise } from '../../core/pagination';
8
+ import { buildHeaders } from '../../internal/headers';
9
+ import { RequestOptions } from '../../internal/request-options';
10
+ import { path } from '../../internal/utils/path';
11
+
12
+ /**
13
+ * Named groups and group-scoped suppressions.
14
+ */
15
+ export class Suppressions extends APIResource {
16
+ /**
17
+ * Account + group scoped. Offset pagination only (`page[number]` default 1,
18
+ * `page[size]` default 25, max 100). No `sort`/`filter`/ cursor — ordering fixed
19
+ * `desc created_at, desc id`. Uses the shared `QueryParser.parse_offset/1` — a
20
+ * malformed `page` returns `400` (code `10015`), consistent with
21
+ * `GET /v2/email_blocks`. `meta` includes `total_pages`. Rows reuse the standard
22
+ * suppression shape (`group_id` set to this group).
23
+ */
24
+ list(
25
+ id: string,
26
+ query: SuppressionListParams | null | undefined = {},
27
+ options?: RequestOptions,
28
+ ): PagePromise<EmailBlocksDefaultFlatPagination, EmailBlocksAPI.EmailBlock> {
29
+ return this._client.getAPIList(
30
+ path`/email_unsubscribe_groups/${id}/suppressions`,
31
+ DefaultFlatPagination<EmailBlocksAPI.EmailBlock>,
32
+ { query, ...options },
33
+ );
34
+ }
35
+
36
+ /**
37
+ * Creates a suppression with `reason: unsubscribe`, `source: manual`,
38
+ * `group_id: <this group>`. All other body fields are ignored; only `to` is read.
39
+ * Idempotent (same dedupe key → `200`, no new event).
40
+ */
41
+ create(
42
+ id: string,
43
+ body: SuppressionCreateParams,
44
+ options?: RequestOptions,
45
+ ): APIPromise<EmailBlocksAPI.EmailBlockResponse> {
46
+ return this._client.post(path`/email_unsubscribe_groups/${id}/suppressions`, { body, ...options });
47
+ }
48
+
49
+ /**
50
+ * Soft-deletes all active blocks for (account, group, normalized email) — one
51
+ * `removed` audit event per block (`actor: manual`). The `email` path segment is
52
+ * normalized (trim + lower-case) before matching. Idempotent on already-removed
53
+ * rows (returns `404` since they're no longer `active`).
54
+ *
55
+ * Two distinct `404` cases: a missing/cross-account **group** returns
56
+ * `10001 "The requested unsubscribe group was not found"`; a group that exists but
57
+ * has **no active suppression** for that email returns
58
+ * `10001 "The requested group suppression was not found"`.
59
+ */
60
+ delete(email: string, params: SuppressionDeleteParams, options?: RequestOptions): APIPromise<void> {
61
+ const { id } = params;
62
+ return this._client.delete(path`/email_unsubscribe_groups/${id}/suppressions/${email}`, {
63
+ ...options,
64
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
65
+ });
66
+ }
67
+ }
68
+
69
+ export interface SuppressionListParams extends DefaultFlatPaginationParams {}
70
+
71
+ export interface SuppressionCreateParams {
72
+ to: string;
73
+ }
74
+
75
+ export interface SuppressionDeleteParams {
76
+ /**
77
+ * Resource UUID. Malformed UUIDs are treated as not-found (not 400).
78
+ */
79
+ id: string;
80
+ }
81
+
82
+ export declare namespace Suppressions {
83
+ export {
84
+ type SuppressionListParams as SuppressionListParams,
85
+ type SuppressionCreateParams as SuppressionCreateParams,
86
+ type SuppressionDeleteParams as SuppressionDeleteParams,
87
+ };
88
+ }
89
+
90
+ export { type EmailBlocksDefaultFlatPagination };
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './email-unsubscribe-groups/index';
@@ -0,0 +1,187 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as BatchAPI from './batch';
5
+ import * as EmailValidationsAPI from './email-validations';
6
+ import { APIPromise } from '../../core/api-promise';
7
+ import { buildHeaders } from '../../internal/headers';
8
+ import { RequestOptions } from '../../internal/request-options';
9
+ import { path } from '../../internal/utils/path';
10
+
11
+ /**
12
+ * Validate email addresses synchronously or in asynchronous batches.
13
+ */
14
+ export class Batch extends APIResource {
15
+ /**
16
+ * Creates an asynchronous batch validation job for up to 1,000 email addresses.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const batch = await client.emailValidations.batch.create({
21
+ * emails: ['user@example.com', 'admin@example.org'],
22
+ * webhook_url:
23
+ * 'https://example.com/webhooks/email-validation',
24
+ * });
25
+ * ```
26
+ */
27
+ create(params: BatchCreateParams, options?: RequestOptions): APIPromise<BatchCreateResponse> {
28
+ const { 'Idempotency-Key': idempotencyKey, ...body } = params;
29
+ return this._client.post('/email_validations/batch', {
30
+ body,
31
+ ...options,
32
+ headers: buildHeaders([
33
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
34
+ options?.headers,
35
+ ]),
36
+ });
37
+ }
38
+
39
+ /**
40
+ * Retrieves the current status and, once completed, validation results for a batch
41
+ * job.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const batch = await client.emailValidations.batch.retrieve(
46
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
47
+ * );
48
+ * ```
49
+ */
50
+ retrieve(id: string, options?: RequestOptions): APIPromise<BatchRetrieveResponse> {
51
+ return this._client.get(path`/email_validations/batch/${id}`, options);
52
+ }
53
+ }
54
+
55
+ export type EmailValidationBatchStatus = 'pending' | 'processing' | 'completed' | 'failed';
56
+
57
+ export interface BatchCreateResponse {
58
+ /**
59
+ * Shape returned by the create endpoint. Includes duplicates_removed.
60
+ */
61
+ data: BatchCreateResponse.Data;
62
+ }
63
+
64
+ export namespace BatchCreateResponse {
65
+ /**
66
+ * Shape returned by the create endpoint. Includes duplicates_removed.
67
+ */
68
+ export interface Data {
69
+ id: string;
70
+
71
+ duplicates_removed: number;
72
+
73
+ record_type: 'email_validation_batch';
74
+
75
+ status: BatchAPI.EmailValidationBatchStatus;
76
+
77
+ total: number;
78
+
79
+ webhook_url?: string;
80
+ }
81
+ }
82
+
83
+ export interface BatchRetrieveResponse {
84
+ /**
85
+ * Shape returned by the GET endpoint. Does not include duplicates_removed.
86
+ */
87
+ data: BatchRetrieveResponse.Data;
88
+ }
89
+
90
+ export namespace BatchRetrieveResponse {
91
+ /**
92
+ * Shape returned by the GET endpoint. Does not include duplicates_removed.
93
+ */
94
+ export interface Data {
95
+ id: string;
96
+
97
+ record_type: 'email_validation_batch';
98
+
99
+ status: BatchAPI.EmailValidationBatchStatus;
100
+
101
+ total: number;
102
+
103
+ completed_at?: string;
104
+
105
+ /**
106
+ * Map keyed by original email address. Present only when the batch is completed.
107
+ */
108
+ results?: { [key: string]: Data.Results };
109
+
110
+ webhook_url?: string;
111
+ }
112
+
113
+ export namespace Data {
114
+ export interface Results {
115
+ checks: Results.Checks;
116
+
117
+ email: string;
118
+
119
+ risk_score: number;
120
+
121
+ valid: boolean;
122
+
123
+ /**
124
+ * Suggested correction for typo. Omitted when nil.
125
+ */
126
+ did_you_mean?: string;
127
+ }
128
+
129
+ export namespace Results {
130
+ export interface Checks {
131
+ disposable: EmailValidationsAPI.EmailValidationCheck;
132
+
133
+ mx: EmailValidationsAPI.EmailValidationCheck;
134
+
135
+ role_based: EmailValidationsAPI.EmailValidationCheck;
136
+
137
+ syntax: EmailValidationsAPI.EmailValidationCheck;
138
+
139
+ typo: Checks.Typo;
140
+ }
141
+
142
+ export namespace Checks {
143
+ export interface Typo extends EmailValidationsAPI.EmailValidationCheck {
144
+ /**
145
+ * Suggested correction for common typos. Omitted when nil.
146
+ */
147
+ suggestion?: string;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ export interface BatchCreateParams {
155
+ /**
156
+ * Body param
157
+ */
158
+ emails: Array<string>;
159
+
160
+ /**
161
+ * Body param: URL for batch completion webhook. Empty string is treated as
162
+ * omitted. SSRF-protected; private/reserved IPs and internal hostnames are
163
+ * rejected.
164
+ */
165
+ webhook_url?: string;
166
+
167
+ /**
168
+ * Header param: Optional opaque, unquoted key for safely retrying the same logical
169
+ * request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
170
+ * Generate a unique UUID v4 for each operation and reuse it only when retrying
171
+ * that operation with the same request. Invalid headers—including duplicate,
172
+ * empty, malformed, or overlong values—return 400 with error code 10015. A request
173
+ * already in progress with the same key returns 409; reusing the key with a
174
+ * different request returns 422. Only successful responses are replayed, for up to
175
+ * 24 hours. Do not include sensitive data in the key.
176
+ */
177
+ 'Idempotency-Key'?: string;
178
+ }
179
+
180
+ export declare namespace Batch {
181
+ export {
182
+ type EmailValidationBatchStatus as EmailValidationBatchStatus,
183
+ type BatchCreateResponse as BatchCreateResponse,
184
+ type BatchRetrieveResponse as BatchRetrieveResponse,
185
+ type BatchCreateParams as BatchCreateParams,
186
+ };
187
+ }
@@ -0,0 +1,141 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as EmailValidationsAPI from './email-validations';
5
+ import * as BatchAPI from './batch';
6
+ import {
7
+ Batch,
8
+ BatchCreateParams,
9
+ BatchCreateResponse,
10
+ BatchRetrieveResponse,
11
+ EmailValidationBatchStatus,
12
+ } from './batch';
13
+ import { APIPromise } from '../../core/api-promise';
14
+ import { buildHeaders } from '../../internal/headers';
15
+ import { RequestOptions } from '../../internal/request-options';
16
+
17
+ /**
18
+ * Validate email addresses synchronously or in asynchronous batches.
19
+ */
20
+ export class EmailValidations extends APIResource {
21
+ batch: BatchAPI.Batch = new BatchAPI.Batch(this._client);
22
+
23
+ /**
24
+ * Validates a single email address and returns deliverability checks.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const emailValidation =
29
+ * await client.emailValidations.create({
30
+ * email: 'user@example.com',
31
+ * });
32
+ * ```
33
+ */
34
+ create(
35
+ params: EmailValidationCreateParams,
36
+ options?: RequestOptions,
37
+ ): APIPromise<EmailValidationCreateResponse> {
38
+ const { 'Idempotency-Key': idempotencyKey, ...body } = params;
39
+ return this._client.post('/email_validations', {
40
+ body,
41
+ ...options,
42
+ headers: buildHeaders([
43
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
44
+ options?.headers,
45
+ ]),
46
+ });
47
+ }
48
+ }
49
+
50
+ export interface EmailValidationCheck {
51
+ pass: boolean;
52
+
53
+ /**
54
+ * Human-readable check detail. Omitted when nil.
55
+ */
56
+ details?: string;
57
+ }
58
+
59
+ export interface EmailValidationCreateResponse {
60
+ data: EmailValidationCreateResponse.Data;
61
+ }
62
+
63
+ export namespace EmailValidationCreateResponse {
64
+ export interface Data {
65
+ checks: Data.Checks;
66
+
67
+ email: string;
68
+
69
+ record_type: 'email_validation';
70
+
71
+ risk_score: number;
72
+
73
+ valid: boolean;
74
+
75
+ /**
76
+ * Suggested correction for typo. Omitted when nil.
77
+ */
78
+ did_you_mean?: string;
79
+ }
80
+
81
+ export namespace Data {
82
+ export interface Checks {
83
+ disposable: EmailValidationsAPI.EmailValidationCheck;
84
+
85
+ mx: EmailValidationsAPI.EmailValidationCheck;
86
+
87
+ role_based: EmailValidationsAPI.EmailValidationCheck;
88
+
89
+ syntax: EmailValidationsAPI.EmailValidationCheck;
90
+
91
+ typo: Checks.Typo;
92
+ }
93
+
94
+ export namespace Checks {
95
+ export interface Typo extends EmailValidationsAPI.EmailValidationCheck {
96
+ /**
97
+ * Suggested correction for common typos. Omitted when nil.
98
+ */
99
+ suggestion?: string;
100
+ }
101
+ }
102
+ }
103
+ }
104
+
105
+ export interface EmailValidationCreateParams {
106
+ /**
107
+ * Body param: Email address to validate. Any non-empty string is accepted; invalid
108
+ * syntax returns valid=false rather than a request error.
109
+ */
110
+ email: string;
111
+
112
+ /**
113
+ * Header param: Optional opaque, unquoted key for safely retrying the same logical
114
+ * request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
115
+ * Generate a unique UUID v4 for each operation and reuse it only when retrying
116
+ * that operation with the same request. Invalid headers—including duplicate,
117
+ * empty, malformed, or overlong values—return 400 with error code 10015. A request
118
+ * already in progress with the same key returns 409; reusing the key with a
119
+ * different request returns 422. Only successful responses are replayed, for up to
120
+ * 24 hours. Do not include sensitive data in the key.
121
+ */
122
+ 'Idempotency-Key'?: string;
123
+ }
124
+
125
+ EmailValidations.Batch = Batch;
126
+
127
+ export declare namespace EmailValidations {
128
+ export {
129
+ type EmailValidationCheck as EmailValidationCheck,
130
+ type EmailValidationCreateResponse as EmailValidationCreateResponse,
131
+ type EmailValidationCreateParams as EmailValidationCreateParams,
132
+ };
133
+
134
+ export {
135
+ Batch as Batch,
136
+ type EmailValidationBatchStatus as EmailValidationBatchStatus,
137
+ type BatchCreateResponse as BatchCreateResponse,
138
+ type BatchRetrieveResponse as BatchRetrieveResponse,
139
+ type BatchCreateParams as BatchCreateParams,
140
+ };
141
+ }
@@ -0,0 +1,15 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Batch,
5
+ type EmailValidationBatchStatus,
6
+ type BatchCreateResponse,
7
+ type BatchRetrieveResponse,
8
+ type BatchCreateParams,
9
+ } from './batch';
10
+ export {
11
+ EmailValidations,
12
+ type EmailValidationCheck,
13
+ type EmailValidationCreateResponse,
14
+ type EmailValidationCreateParams,
15
+ } from './email-validations';
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './email-validations/index';