telnyx 7.28.0 → 7.29.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 (534) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/client.d.mts +35 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +35 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js +31 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +31 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/addresses/actions.d.mts +19 -4
  12. package/resources/addresses/actions.d.mts.map +1 -1
  13. package/resources/addresses/actions.d.ts +19 -4
  14. package/resources/addresses/actions.d.ts.map +1 -1
  15. package/resources/ai/ai.d.mts +4 -0
  16. package/resources/ai/ai.d.mts.map +1 -1
  17. package/resources/ai/ai.d.ts +4 -0
  18. package/resources/ai/ai.d.ts.map +1 -1
  19. package/resources/ai/ai.js +4 -0
  20. package/resources/ai/ai.js.map +1 -1
  21. package/resources/ai/ai.mjs +4 -0
  22. package/resources/ai/ai.mjs.map +1 -1
  23. package/resources/ai/assistants/assistants.d.mts +31 -27
  24. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  25. package/resources/ai/assistants/assistants.d.ts +31 -27
  26. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  27. package/resources/ai/assistants/assistants.js.map +1 -1
  28. package/resources/ai/assistants/assistants.mjs.map +1 -1
  29. package/resources/ai/avatars.d.mts +9 -9
  30. package/resources/ai/avatars.d.ts +9 -9
  31. package/resources/ai/avatars.js +9 -9
  32. package/resources/ai/avatars.mjs +9 -9
  33. package/resources/ai/index.d.mts +1 -0
  34. package/resources/ai/index.d.mts.map +1 -1
  35. package/resources/ai/index.d.ts +1 -0
  36. package/resources/ai/index.d.ts.map +1 -1
  37. package/resources/ai/index.js +5 -3
  38. package/resources/ai/index.js.map +1 -1
  39. package/resources/ai/index.mjs +1 -0
  40. package/resources/ai/index.mjs.map +1 -1
  41. package/resources/ai/tests/index.d.mts +4 -0
  42. package/resources/ai/tests/index.d.mts.map +1 -0
  43. package/resources/ai/tests/index.d.ts +4 -0
  44. package/resources/ai/tests/index.d.ts.map +1 -0
  45. package/resources/ai/tests/index.js +11 -0
  46. package/resources/ai/tests/index.js.map +1 -0
  47. package/resources/ai/tests/index.mjs +5 -0
  48. package/resources/ai/tests/index.mjs.map +1 -0
  49. package/resources/ai/tests/schedules/index.d.mts +3 -0
  50. package/resources/ai/tests/schedules/index.d.mts.map +1 -0
  51. package/resources/ai/tests/schedules/index.d.ts +3 -0
  52. package/resources/ai/tests/schedules/index.d.ts.map +1 -0
  53. package/resources/ai/tests/schedules/index.js +9 -0
  54. package/resources/ai/tests/schedules/index.js.map +1 -0
  55. package/resources/ai/tests/schedules/index.mjs +4 -0
  56. package/resources/ai/tests/schedules/index.mjs.map +1 -0
  57. package/resources/ai/tests/schedules/schedules.d.mts +10 -0
  58. package/resources/ai/tests/schedules/schedules.d.mts.map +1 -0
  59. package/resources/ai/tests/schedules/schedules.d.ts +10 -0
  60. package/resources/ai/tests/schedules/schedules.d.ts.map +1 -0
  61. package/resources/ai/tests/schedules/schedules.js +17 -0
  62. package/resources/ai/tests/schedules/schedules.js.map +1 -0
  63. package/resources/ai/tests/schedules/schedules.mjs +12 -0
  64. package/resources/ai/tests/schedules/schedules.mjs.map +1 -0
  65. package/resources/ai/tests/schedules/v1/cron-jobs.d.mts +171 -0
  66. package/resources/ai/tests/schedules/v1/cron-jobs.d.mts.map +1 -0
  67. package/resources/ai/tests/schedules/v1/cron-jobs.d.ts +171 -0
  68. package/resources/ai/tests/schedules/v1/cron-jobs.d.ts.map +1 -0
  69. package/resources/ai/tests/schedules/v1/cron-jobs.js +88 -0
  70. package/resources/ai/tests/schedules/v1/cron-jobs.js.map +1 -0
  71. package/resources/ai/tests/schedules/v1/cron-jobs.mjs +84 -0
  72. package/resources/ai/tests/schedules/v1/cron-jobs.mjs.map +1 -0
  73. package/resources/ai/tests/schedules/v1/index.d.mts +3 -0
  74. package/resources/ai/tests/schedules/v1/index.d.mts.map +1 -0
  75. package/resources/ai/tests/schedules/v1/index.d.ts +3 -0
  76. package/resources/ai/tests/schedules/v1/index.d.ts.map +1 -0
  77. package/resources/ai/tests/schedules/v1/index.js +9 -0
  78. package/resources/ai/tests/schedules/v1/index.js.map +1 -0
  79. package/resources/ai/tests/schedules/v1/index.mjs +4 -0
  80. package/resources/ai/tests/schedules/v1/index.mjs.map +1 -0
  81. package/resources/ai/tests/schedules/v1/v1.d.mts +10 -0
  82. package/resources/ai/tests/schedules/v1/v1.d.mts.map +1 -0
  83. package/resources/ai/tests/schedules/v1/v1.d.ts +10 -0
  84. package/resources/ai/tests/schedules/v1/v1.d.ts.map +1 -0
  85. package/resources/ai/tests/schedules/v1/v1.js +17 -0
  86. package/resources/ai/tests/schedules/v1/v1.js.map +1 -0
  87. package/resources/ai/tests/schedules/v1/v1.mjs +12 -0
  88. package/resources/ai/tests/schedules/v1/v1.mjs.map +1 -0
  89. package/resources/ai/tests/schedules/v1.d.mts +2 -0
  90. package/resources/ai/tests/schedules/v1.d.mts.map +1 -0
  91. package/resources/ai/tests/schedules/v1.d.ts +2 -0
  92. package/resources/ai/tests/schedules/v1.d.ts.map +1 -0
  93. package/resources/ai/tests/schedules/v1.js +6 -0
  94. package/resources/ai/tests/schedules/v1.js.map +1 -0
  95. package/resources/ai/tests/schedules/v1.mjs +3 -0
  96. package/resources/ai/tests/schedules/v1.mjs.map +1 -0
  97. package/resources/ai/tests/schedules.d.mts +2 -0
  98. package/resources/ai/tests/schedules.d.mts.map +1 -0
  99. package/resources/ai/tests/schedules.d.ts +2 -0
  100. package/resources/ai/tests/schedules.d.ts.map +1 -0
  101. package/resources/ai/tests/schedules.js +6 -0
  102. package/resources/ai/tests/schedules.js.map +1 -0
  103. package/resources/ai/tests/schedules.mjs +3 -0
  104. package/resources/ai/tests/schedules.mjs.map +1 -0
  105. package/resources/ai/tests/test-framework/index.d.mts +3 -0
  106. package/resources/ai/tests/test-framework/index.d.mts.map +1 -0
  107. package/resources/ai/tests/test-framework/index.d.ts +3 -0
  108. package/resources/ai/tests/test-framework/index.d.ts.map +1 -0
  109. package/resources/ai/tests/test-framework/index.js +9 -0
  110. package/resources/ai/tests/test-framework/index.js.map +1 -0
  111. package/resources/ai/tests/test-framework/index.mjs +4 -0
  112. package/resources/ai/tests/test-framework/index.mjs.map +1 -0
  113. package/resources/ai/tests/test-framework/test-framework.d.mts +10 -0
  114. package/resources/ai/tests/test-framework/test-framework.d.mts.map +1 -0
  115. package/resources/ai/tests/test-framework/test-framework.d.ts +10 -0
  116. package/resources/ai/tests/test-framework/test-framework.d.ts.map +1 -0
  117. package/resources/ai/tests/test-framework/test-framework.js +17 -0
  118. package/resources/ai/tests/test-framework/test-framework.js.map +1 -0
  119. package/resources/ai/tests/test-framework/test-framework.mjs +12 -0
  120. package/resources/ai/tests/test-framework/test-framework.mjs.map +1 -0
  121. package/resources/ai/tests/test-framework/v1/aiagents.d.mts +216 -0
  122. package/resources/ai/tests/test-framework/v1/aiagents.d.mts.map +1 -0
  123. package/resources/ai/tests/test-framework/v1/aiagents.d.ts +216 -0
  124. package/resources/ai/tests/test-framework/v1/aiagents.d.ts.map +1 -0
  125. package/resources/ai/tests/test-framework/v1/aiagents.js +93 -0
  126. package/resources/ai/tests/test-framework/v1/aiagents.js.map +1 -0
  127. package/resources/ai/tests/test-framework/v1/aiagents.mjs +89 -0
  128. package/resources/ai/tests/test-framework/v1/aiagents.mjs.map +1 -0
  129. package/resources/ai/tests/test-framework/v1/index.d.mts +6 -0
  130. package/resources/ai/tests/test-framework/v1/index.d.mts.map +1 -0
  131. package/resources/ai/tests/test-framework/v1/index.d.ts +6 -0
  132. package/resources/ai/tests/test-framework/v1/index.d.ts.map +1 -0
  133. package/resources/ai/tests/test-framework/v1/index.js +15 -0
  134. package/resources/ai/tests/test-framework/v1/index.js.map +1 -0
  135. package/resources/ai/tests/test-framework/v1/index.mjs +7 -0
  136. package/resources/ai/tests/test-framework/v1/index.mjs.map +1 -0
  137. package/resources/ai/tests/test-framework/v1/metrics.d.mts +339 -0
  138. package/resources/ai/tests/test-framework/v1/metrics.d.mts.map +1 -0
  139. package/resources/ai/tests/test-framework/v1/metrics.d.ts +339 -0
  140. package/resources/ai/tests/test-framework/v1/metrics.d.ts.map +1 -0
  141. package/resources/ai/tests/test-framework/v1/metrics.js +145 -0
  142. package/resources/ai/tests/test-framework/v1/metrics.js.map +1 -0
  143. package/resources/ai/tests/test-framework/v1/metrics.mjs +141 -0
  144. package/resources/ai/tests/test-framework/v1/metrics.mjs.map +1 -0
  145. package/resources/ai/tests/test-framework/v1/results.d.mts +207 -0
  146. package/resources/ai/tests/test-framework/v1/results.d.mts.map +1 -0
  147. package/resources/ai/tests/test-framework/v1/results.d.ts +207 -0
  148. package/resources/ai/tests/test-framework/v1/results.d.ts.map +1 -0
  149. package/resources/ai/tests/test-framework/v1/results.js +65 -0
  150. package/resources/ai/tests/test-framework/v1/results.js.map +1 -0
  151. package/resources/ai/tests/test-framework/v1/results.mjs +61 -0
  152. package/resources/ai/tests/test-framework/v1/results.mjs.map +1 -0
  153. package/resources/ai/tests/test-framework/v1/scenarios.d.mts +528 -0
  154. package/resources/ai/tests/test-framework/v1/scenarios.d.mts.map +1 -0
  155. package/resources/ai/tests/test-framework/v1/scenarios.d.ts +528 -0
  156. package/resources/ai/tests/test-framework/v1/scenarios.d.ts.map +1 -0
  157. package/resources/ai/tests/test-framework/v1/scenarios.js +222 -0
  158. package/resources/ai/tests/test-framework/v1/scenarios.js.map +1 -0
  159. package/resources/ai/tests/test-framework/v1/scenarios.mjs +218 -0
  160. package/resources/ai/tests/test-framework/v1/scenarios.mjs.map +1 -0
  161. package/resources/ai/tests/test-framework/v1/v1.d.mts +83 -0
  162. package/resources/ai/tests/test-framework/v1/v1.d.mts.map +1 -0
  163. package/resources/ai/tests/test-framework/v1/v1.d.ts +83 -0
  164. package/resources/ai/tests/test-framework/v1/v1.d.ts.map +1 -0
  165. package/resources/ai/tests/test-framework/v1/v1.js +46 -0
  166. package/resources/ai/tests/test-framework/v1/v1.js.map +1 -0
  167. package/resources/ai/tests/test-framework/v1/v1.mjs +41 -0
  168. package/resources/ai/tests/test-framework/v1/v1.mjs.map +1 -0
  169. package/resources/ai/tests/test-framework/v1.d.mts +2 -0
  170. package/resources/ai/tests/test-framework/v1.d.mts.map +1 -0
  171. package/resources/ai/tests/test-framework/v1.d.ts +2 -0
  172. package/resources/ai/tests/test-framework/v1.d.ts.map +1 -0
  173. package/resources/ai/tests/test-framework/v1.js +6 -0
  174. package/resources/ai/tests/test-framework/v1.js.map +1 -0
  175. package/resources/ai/tests/test-framework/v1.mjs +3 -0
  176. package/resources/ai/tests/test-framework/v1.mjs.map +1 -0
  177. package/resources/ai/tests/test-framework.d.mts +2 -0
  178. package/resources/ai/tests/test-framework.d.mts.map +1 -0
  179. package/resources/ai/tests/test-framework.d.ts +2 -0
  180. package/resources/ai/tests/test-framework.d.ts.map +1 -0
  181. package/resources/ai/tests/test-framework.js +6 -0
  182. package/resources/ai/tests/test-framework.js.map +1 -0
  183. package/resources/ai/tests/test-framework.mjs +3 -0
  184. package/resources/ai/tests/test-framework.mjs.map +1 -0
  185. package/resources/ai/tests/tests.d.mts +14 -0
  186. package/resources/ai/tests/tests.d.mts.map +1 -0
  187. package/resources/ai/tests/tests.d.ts +14 -0
  188. package/resources/ai/tests/tests.d.ts.map +1 -0
  189. package/resources/ai/tests/tests.js +21 -0
  190. package/resources/ai/tests/tests.js.map +1 -0
  191. package/resources/ai/tests/tests.mjs +16 -0
  192. package/resources/ai/tests/tests.mjs.map +1 -0
  193. package/resources/ai/tests.d.mts +2 -0
  194. package/resources/ai/tests.d.mts.map +1 -0
  195. package/resources/ai/tests.d.ts +2 -0
  196. package/resources/ai/tests.d.ts.map +1 -0
  197. package/resources/ai/tests.js +6 -0
  198. package/resources/ai/tests.js.map +1 -0
  199. package/resources/ai/tests.mjs +3 -0
  200. package/resources/ai/tests.mjs.map +1 -0
  201. package/resources/artifact-downloads.d.mts +21 -0
  202. package/resources/artifact-downloads.d.mts.map +1 -0
  203. package/resources/artifact-downloads.d.ts +21 -0
  204. package/resources/artifact-downloads.d.ts.map +1 -0
  205. package/resources/artifact-downloads.js +26 -0
  206. package/resources/artifact-downloads.js.map +1 -0
  207. package/resources/artifact-downloads.mjs +22 -0
  208. package/resources/artifact-downloads.mjs.map +1 -0
  209. package/resources/bot-challenge.js +1 -1
  210. package/resources/bot-challenge.js.map +1 -1
  211. package/resources/bot-challenge.mjs +1 -1
  212. package/resources/bot-challenge.mjs.map +1 -1
  213. package/resources/bot-sessions.js +1 -1
  214. package/resources/bot-sessions.js.map +1 -1
  215. package/resources/bot-sessions.mjs +1 -1
  216. package/resources/bot-sessions.mjs.map +1 -1
  217. package/resources/bot-signup.js +2 -2
  218. package/resources/bot-signup.js.map +1 -1
  219. package/resources/bot-signup.mjs +2 -2
  220. package/resources/bot-signup.mjs.map +1 -1
  221. package/resources/browser-sessions/actions.d.mts +542 -0
  222. package/resources/browser-sessions/actions.d.mts.map +1 -0
  223. package/resources/browser-sessions/actions.d.ts +542 -0
  224. package/resources/browser-sessions/actions.d.ts.map +1 -0
  225. package/resources/browser-sessions/actions.js +55 -0
  226. package/resources/browser-sessions/actions.js.map +1 -0
  227. package/resources/browser-sessions/actions.mjs +51 -0
  228. package/resources/browser-sessions/actions.mjs.map +1 -0
  229. package/resources/browser-sessions/browser-sessions.d.mts +165 -0
  230. package/resources/browser-sessions/browser-sessions.d.mts.map +1 -0
  231. package/resources/browser-sessions/browser-sessions.d.ts +165 -0
  232. package/resources/browser-sessions/browser-sessions.d.ts.map +1 -0
  233. package/resources/browser-sessions/browser-sessions.js +87 -0
  234. package/resources/browser-sessions/browser-sessions.js.map +1 -0
  235. package/resources/browser-sessions/browser-sessions.mjs +82 -0
  236. package/resources/browser-sessions/browser-sessions.mjs.map +1 -0
  237. package/resources/browser-sessions/index.d.mts +3 -0
  238. package/resources/browser-sessions/index.d.mts.map +1 -0
  239. package/resources/browser-sessions/index.d.ts +3 -0
  240. package/resources/browser-sessions/index.d.ts.map +1 -0
  241. package/resources/browser-sessions/index.js +9 -0
  242. package/resources/browser-sessions/index.js.map +1 -0
  243. package/resources/browser-sessions/index.mjs +4 -0
  244. package/resources/browser-sessions/index.mjs.map +1 -0
  245. package/resources/browser-sessions.d.mts +2 -0
  246. package/resources/browser-sessions.d.mts.map +1 -0
  247. package/resources/browser-sessions.d.ts +2 -0
  248. package/resources/browser-sessions.d.ts.map +1 -0
  249. package/resources/browser-sessions.js +6 -0
  250. package/resources/browser-sessions.js.map +1 -0
  251. package/resources/browser-sessions.mjs +3 -0
  252. package/resources/browser-sessions.mjs.map +1 -0
  253. package/resources/call-control-applications.d.mts +2 -2
  254. package/resources/call-control-applications.d.ts +2 -2
  255. package/resources/calls/actions.d.mts +35 -28
  256. package/resources/calls/actions.d.mts.map +1 -1
  257. package/resources/calls/actions.d.ts +35 -28
  258. package/resources/calls/actions.d.ts.map +1 -1
  259. package/resources/conferences/actions.d.mts +3 -2
  260. package/resources/conferences/actions.d.mts.map +1 -1
  261. package/resources/conferences/actions.d.ts +3 -2
  262. package/resources/conferences/actions.d.ts.map +1 -1
  263. package/resources/email/dedicated-ips/actions.d.mts +73 -0
  264. package/resources/email/dedicated-ips/actions.d.mts.map +1 -0
  265. package/resources/email/dedicated-ips/actions.d.ts +73 -0
  266. package/resources/email/dedicated-ips/actions.d.ts.map +1 -0
  267. package/resources/email/dedicated-ips/actions.js +84 -0
  268. package/resources/email/dedicated-ips/actions.js.map +1 -0
  269. package/resources/email/dedicated-ips/actions.mjs +80 -0
  270. package/resources/email/dedicated-ips/actions.mjs.map +1 -0
  271. package/resources/email/dedicated-ips/dedicated-ips.d.mts +444 -0
  272. package/resources/email/dedicated-ips/dedicated-ips.d.mts.map +1 -0
  273. package/resources/email/dedicated-ips/dedicated-ips.d.ts +444 -0
  274. package/resources/email/dedicated-ips/dedicated-ips.d.ts.map +1 -0
  275. package/resources/email/dedicated-ips/dedicated-ips.js +142 -0
  276. package/resources/email/dedicated-ips/dedicated-ips.js.map +1 -0
  277. package/resources/email/dedicated-ips/dedicated-ips.mjs +137 -0
  278. package/resources/email/dedicated-ips/dedicated-ips.mjs.map +1 -0
  279. package/resources/email/dedicated-ips/index.d.mts +3 -0
  280. package/resources/email/dedicated-ips/index.d.mts.map +1 -0
  281. package/resources/email/dedicated-ips/index.d.ts +3 -0
  282. package/resources/email/dedicated-ips/index.d.ts.map +1 -0
  283. package/resources/email/dedicated-ips/index.js +9 -0
  284. package/resources/email/dedicated-ips/index.js.map +1 -0
  285. package/resources/email/dedicated-ips/index.mjs +4 -0
  286. package/resources/email/dedicated-ips/index.mjs.map +1 -0
  287. package/resources/email/dedicated-ips.d.mts +2 -0
  288. package/resources/email/dedicated-ips.d.mts.map +1 -0
  289. package/resources/email/dedicated-ips.d.ts +2 -0
  290. package/resources/email/dedicated-ips.d.ts.map +1 -0
  291. package/resources/email/dedicated-ips.js +6 -0
  292. package/resources/email/dedicated-ips.js.map +1 -0
  293. package/resources/email/dedicated-ips.mjs +3 -0
  294. package/resources/email/dedicated-ips.mjs.map +1 -0
  295. package/resources/email/email.d.mts +14 -0
  296. package/resources/email/email.d.mts.map +1 -0
  297. package/resources/email/email.d.ts +14 -0
  298. package/resources/email/email.d.ts.map +1 -0
  299. package/resources/email/email.js +21 -0
  300. package/resources/email/email.js.map +1 -0
  301. package/resources/email/email.mjs +16 -0
  302. package/resources/email/email.mjs.map +1 -0
  303. package/resources/email/index.d.mts +4 -0
  304. package/resources/email/index.d.mts.map +1 -0
  305. package/resources/email/index.d.ts +4 -0
  306. package/resources/email/index.d.ts.map +1 -0
  307. package/resources/email/index.js +11 -0
  308. package/resources/email/index.js.map +1 -0
  309. package/resources/email/index.mjs +5 -0
  310. package/resources/email/index.mjs.map +1 -0
  311. package/resources/email/ip-pools/index.d.mts +3 -0
  312. package/resources/email/ip-pools/index.d.mts.map +1 -0
  313. package/resources/email/ip-pools/index.d.ts +3 -0
  314. package/resources/email/ip-pools/index.d.ts.map +1 -0
  315. package/resources/email/ip-pools/index.js +9 -0
  316. package/resources/email/ip-pools/index.js.map +1 -0
  317. package/resources/email/ip-pools/index.mjs +4 -0
  318. package/resources/email/ip-pools/index.mjs.map +1 -0
  319. package/resources/email/ip-pools/ip-pools.d.mts +184 -0
  320. package/resources/email/ip-pools/ip-pools.d.mts.map +1 -0
  321. package/resources/email/ip-pools/ip-pools.d.ts +184 -0
  322. package/resources/email/ip-pools/ip-pools.d.ts.map +1 -0
  323. package/resources/email/ip-pools/ip-pools.js +102 -0
  324. package/resources/email/ip-pools/ip-pools.js.map +1 -0
  325. package/resources/email/ip-pools/ip-pools.mjs +97 -0
  326. package/resources/email/ip-pools/ip-pools.mjs.map +1 -0
  327. package/resources/email/ip-pools/ips.d.mts +83 -0
  328. package/resources/email/ip-pools/ips.d.mts.map +1 -0
  329. package/resources/email/ip-pools/ips.d.ts +83 -0
  330. package/resources/email/ip-pools/ips.d.ts.map +1 -0
  331. package/resources/email/ip-pools/ips.js +54 -0
  332. package/resources/email/ip-pools/ips.js.map +1 -0
  333. package/resources/email/ip-pools/ips.mjs +50 -0
  334. package/resources/email/ip-pools/ips.mjs.map +1 -0
  335. package/resources/email/ip-pools.d.mts +2 -0
  336. package/resources/email/ip-pools.d.mts.map +1 -0
  337. package/resources/email/ip-pools.d.ts +2 -0
  338. package/resources/email/ip-pools.d.ts.map +1 -0
  339. package/resources/email/ip-pools.js +6 -0
  340. package/resources/email/ip-pools.js.map +1 -0
  341. package/resources/email/ip-pools.mjs +3 -0
  342. package/resources/email/ip-pools.mjs.map +1 -0
  343. package/resources/email.d.mts +2 -0
  344. package/resources/email.d.mts.map +1 -0
  345. package/resources/email.d.ts +2 -0
  346. package/resources/email.d.ts.map +1 -0
  347. package/resources/email.js +6 -0
  348. package/resources/email.js.map +1 -0
  349. package/resources/email.mjs +3 -0
  350. package/resources/email.mjs.map +1 -0
  351. package/resources/fax-applications.d.mts +6 -6
  352. package/resources/fax-applications.d.ts +6 -6
  353. package/resources/fqdn-connections/fqdn-connections.d.mts +2 -2
  354. package/resources/fqdn-connections/fqdn-connections.d.ts +2 -2
  355. package/resources/index.d.mts +8 -2
  356. package/resources/index.d.mts.map +1 -1
  357. package/resources/index.d.ts +8 -2
  358. package/resources/index.d.ts.map +1 -1
  359. package/resources/index.js +16 -4
  360. package/resources/index.js.map +1 -1
  361. package/resources/index.mjs +6 -0
  362. package/resources/index.mjs.map +1 -1
  363. package/resources/ip-connections.d.mts +4 -4
  364. package/resources/ip-connections.d.ts +4 -4
  365. package/resources/messaging-profiles/index.d.mts +1 -1
  366. package/resources/messaging-profiles/index.d.mts.map +1 -1
  367. package/resources/messaging-profiles/index.d.ts +1 -1
  368. package/resources/messaging-profiles/index.d.ts.map +1 -1
  369. package/resources/messaging-profiles/index.js.map +1 -1
  370. package/resources/messaging-profiles/index.mjs.map +1 -1
  371. package/resources/messaging-profiles/messaging-profiles.d.mts +26 -1
  372. package/resources/messaging-profiles/messaging-profiles.d.mts.map +1 -1
  373. package/resources/messaging-profiles/messaging-profiles.d.ts +26 -1
  374. package/resources/messaging-profiles/messaging-profiles.d.ts.map +1 -1
  375. package/resources/messaging-profiles/messaging-profiles.js.map +1 -1
  376. package/resources/messaging-profiles/messaging-profiles.mjs.map +1 -1
  377. package/resources/network-routes.d.mts +257 -0
  378. package/resources/network-routes.d.mts.map +1 -0
  379. package/resources/network-routes.d.ts +257 -0
  380. package/resources/network-routes.d.ts.map +1 -0
  381. package/resources/network-routes.js +83 -0
  382. package/resources/network-routes.js.map +1 -0
  383. package/resources/network-routes.mjs +79 -0
  384. package/resources/network-routes.mjs.map +1 -0
  385. package/resources/pay-connectors.d.mts +378 -0
  386. package/resources/pay-connectors.d.mts.map +1 -0
  387. package/resources/pay-connectors.d.ts +378 -0
  388. package/resources/pay-connectors.d.ts.map +1 -0
  389. package/resources/pay-connectors.js +116 -0
  390. package/resources/pay-connectors.js.map +1 -0
  391. package/resources/pay-connectors.mjs +112 -0
  392. package/resources/pay-connectors.mjs.map +1 -0
  393. package/resources/public-internet-gateways.d.mts +0 -8
  394. package/resources/public-internet-gateways.d.mts.map +1 -1
  395. package/resources/public-internet-gateways.d.ts +0 -8
  396. package/resources/public-internet-gateways.d.ts.map +1 -1
  397. package/resources/spend-limits.d.mts +150 -32
  398. package/resources/spend-limits.d.mts.map +1 -1
  399. package/resources/spend-limits.d.ts +150 -32
  400. package/resources/spend-limits.d.ts.map +1 -1
  401. package/resources/spend-limits.js +26 -7
  402. package/resources/spend-limits.js.map +1 -1
  403. package/resources/spend-limits.mjs +26 -7
  404. package/resources/spend-limits.mjs.map +1 -1
  405. package/resources/texml-applications.d.mts +6 -6
  406. package/resources/texml-applications.d.ts +6 -6
  407. package/resources/text-to-speech/text-to-speech.d.mts +1 -6
  408. package/resources/text-to-speech/text-to-speech.d.mts.map +1 -1
  409. package/resources/text-to-speech/text-to-speech.d.ts +1 -6
  410. package/resources/text-to-speech/text-to-speech.d.ts.map +1 -1
  411. package/resources/text-to-speech/text-to-speech.js +1 -2
  412. package/resources/text-to-speech/text-to-speech.js.map +1 -1
  413. package/resources/text-to-speech/text-to-speech.mjs +1 -2
  414. package/resources/text-to-speech/text-to-speech.mjs.map +1 -1
  415. package/resources/tunnels/actions.d.mts +29 -0
  416. package/resources/tunnels/actions.d.mts.map +1 -0
  417. package/resources/tunnels/actions.d.ts +29 -0
  418. package/resources/tunnels/actions.d.ts.map +1 -0
  419. package/resources/tunnels/actions.js +28 -0
  420. package/resources/tunnels/actions.js.map +1 -0
  421. package/resources/tunnels/actions.mjs +24 -0
  422. package/resources/tunnels/actions.mjs.map +1 -0
  423. package/resources/tunnels/index.d.mts +3 -0
  424. package/resources/tunnels/index.d.mts.map +1 -0
  425. package/resources/tunnels/index.d.ts +3 -0
  426. package/resources/tunnels/index.d.ts.map +1 -0
  427. package/resources/tunnels/index.js +9 -0
  428. package/resources/tunnels/index.js.map +1 -0
  429. package/resources/tunnels/index.mjs +4 -0
  430. package/resources/tunnels/index.mjs.map +1 -0
  431. package/resources/tunnels/tunnels.d.mts +194 -0
  432. package/resources/tunnels/tunnels.d.mts.map +1 -0
  433. package/resources/tunnels/tunnels.d.ts +194 -0
  434. package/resources/tunnels/tunnels.d.ts.map +1 -0
  435. package/resources/tunnels/tunnels.js +82 -0
  436. package/resources/tunnels/tunnels.js.map +1 -0
  437. package/resources/tunnels/tunnels.mjs +77 -0
  438. package/resources/tunnels/tunnels.mjs.map +1 -0
  439. package/resources/tunnels.d.mts +2 -0
  440. package/resources/tunnels.d.mts.map +1 -0
  441. package/resources/tunnels.d.ts +2 -0
  442. package/resources/tunnels.d.ts.map +1 -0
  443. package/resources/tunnels.js +6 -0
  444. package/resources/tunnels.js.map +1 -0
  445. package/resources/tunnels.mjs +3 -0
  446. package/resources/tunnels.mjs.map +1 -0
  447. package/resources/voice-clones.d.mts +54 -8
  448. package/resources/voice-clones.d.mts.map +1 -1
  449. package/resources/voice-clones.d.ts +54 -8
  450. package/resources/voice-clones.d.ts.map +1 -1
  451. package/resources/voice-clones.js +6 -5
  452. package/resources/voice-clones.js.map +1 -1
  453. package/resources/voice-clones.mjs +6 -5
  454. package/resources/voice-clones.mjs.map +1 -1
  455. package/resources/whatsapp/hosted-signups.d.mts +2 -1
  456. package/resources/whatsapp/hosted-signups.d.mts.map +1 -1
  457. package/resources/whatsapp/hosted-signups.d.ts +2 -1
  458. package/resources/whatsapp/hosted-signups.d.ts.map +1 -1
  459. package/resources/wireguard-interfaces.d.mts +0 -8
  460. package/resources/wireguard-interfaces.d.mts.map +1 -1
  461. package/resources/wireguard-interfaces.d.ts +0 -8
  462. package/resources/wireguard-interfaces.d.ts.map +1 -1
  463. package/src/client.ts +126 -0
  464. package/src/resources/addresses/actions.ts +23 -4
  465. package/src/resources/ai/ai.ts +6 -0
  466. package/src/resources/ai/assistants/assistants.ts +31 -24
  467. package/src/resources/ai/avatars.ts +9 -9
  468. package/src/resources/ai/index.ts +1 -0
  469. package/src/resources/ai/tests/index.ts +5 -0
  470. package/src/resources/ai/tests/schedules/index.ts +4 -0
  471. package/src/resources/ai/tests/schedules/schedules.ts +15 -0
  472. package/src/resources/ai/tests/schedules/v1/cron-jobs.ts +248 -0
  473. package/src/resources/ai/tests/schedules/v1/index.ts +12 -0
  474. package/src/resources/ai/tests/schedules/v1/v1.ts +31 -0
  475. package/src/resources/ai/tests/schedules/v1.ts +3 -0
  476. package/src/resources/ai/tests/schedules.ts +3 -0
  477. package/src/resources/ai/tests/test-framework/index.ts +4 -0
  478. package/src/resources/ai/tests/test-framework/test-framework.ts +15 -0
  479. package/src/resources/ai/tests/test-framework/v1/aiagents.ts +304 -0
  480. package/src/resources/ai/tests/test-framework/v1/index.ts +54 -0
  481. package/src/resources/ai/tests/test-framework/v1/metrics.ts +491 -0
  482. package/src/resources/ai/tests/test-framework/v1/results.ts +304 -0
  483. package/src/resources/ai/tests/test-framework/v1/scenarios.ts +774 -0
  484. package/src/resources/ai/tests/test-framework/v1/v1.ts +214 -0
  485. package/src/resources/ai/tests/test-framework/v1.ts +3 -0
  486. package/src/resources/ai/tests/test-framework.ts +3 -0
  487. package/src/resources/ai/tests/tests.ts +21 -0
  488. package/src/resources/ai/tests.ts +3 -0
  489. package/src/resources/artifact-downloads.ts +39 -0
  490. package/src/resources/bot-challenge.ts +1 -1
  491. package/src/resources/bot-sessions.ts +1 -1
  492. package/src/resources/bot-signup.ts +2 -2
  493. package/src/resources/browser-sessions/actions.ts +778 -0
  494. package/src/resources/browser-sessions/browser-sessions.ts +278 -0
  495. package/src/resources/browser-sessions/index.ts +31 -0
  496. package/src/resources/browser-sessions.ts +3 -0
  497. package/src/resources/call-control-applications.ts +2 -2
  498. package/src/resources/calls/actions.ts +38 -27
  499. package/src/resources/conferences/actions.ts +3 -2
  500. package/src/resources/email/dedicated-ips/actions.ts +87 -0
  501. package/src/resources/email/dedicated-ips/dedicated-ips.ts +563 -0
  502. package/src/resources/email/dedicated-ips/index.ts +13 -0
  503. package/src/resources/email/dedicated-ips.ts +3 -0
  504. package/src/resources/email/email.ts +55 -0
  505. package/src/resources/email/index.ts +22 -0
  506. package/src/resources/email/ip-pools/index.ts +12 -0
  507. package/src/resources/email/ip-pools/ip-pools.ts +247 -0
  508. package/src/resources/email/ip-pools/ips.ts +112 -0
  509. package/src/resources/email/ip-pools.ts +3 -0
  510. package/src/resources/email.ts +3 -0
  511. package/src/resources/fax-applications.ts +6 -6
  512. package/src/resources/fqdn-connections/fqdn-connections.ts +2 -2
  513. package/src/resources/index.ts +46 -0
  514. package/src/resources/ip-connections.ts +4 -4
  515. package/src/resources/messaging-profiles/index.ts +1 -0
  516. package/src/resources/messaging-profiles/messaging-profiles.ts +31 -0
  517. package/src/resources/network-routes.ts +332 -0
  518. package/src/resources/pay-connectors.ts +482 -0
  519. package/src/resources/public-internet-gateways.ts +0 -10
  520. package/src/resources/spend-limits.ts +179 -36
  521. package/src/resources/texml-applications.ts +6 -6
  522. package/src/resources/text-to-speech/text-to-speech.ts +1 -7
  523. package/src/resources/tunnels/actions.ts +36 -0
  524. package/src/resources/tunnels/index.ts +13 -0
  525. package/src/resources/tunnels/tunnels.ts +260 -0
  526. package/src/resources/tunnels.ts +3 -0
  527. package/src/resources/voice-clones.ts +88 -8
  528. package/src/resources/whatsapp/hosted-signups.ts +2 -1
  529. package/src/resources/wireguard-interfaces.ts +0 -10
  530. package/src/version.ts +1 -1
  531. package/version.d.mts +1 -1
  532. package/version.d.ts +1 -1
  533. package/version.js +1 -1
  534. package/version.mjs +1 -1
@@ -0,0 +1,563 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as ActionsAPI from './actions';
5
+ import { Actions } from './actions';
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
+ * Purchase and manage dedicated sending IP addresses for your Telnyx email traffic.
13
+ */
14
+ export class DedicatedIPs extends APIResource {
15
+ actions: ActionsAPI.Actions = new ActionsAPI.Actions(this._client);
16
+
17
+ /**
18
+ * List the dedicated sending IPs owned by the account, newest first. Narrow the
19
+ * list with `filter[status]`, `filter[pool_id]`, and `filter[region]`; supplied
20
+ * filters combine, so an IP must match every one. An empty value, or a nested or
21
+ * array value such as `filter[status][]=active`, applies no filter, and other
22
+ * `filter[...]` keys are ignored. A value that no IP can match (an unknown status,
23
+ * a `pool_id` that is not a UUID, or a value containing a NUL byte) returns an
24
+ * empty list, not an error.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const dedicatedIPs = await client.email.dedicatedIPs.list();
29
+ * ```
30
+ */
31
+ list(
32
+ query: DedicatedIPListParams | null | undefined = {},
33
+ options?: RequestOptions,
34
+ ): APIPromise<DedicatedIPListResponse> {
35
+ return this._client.get('/email/dedicated_ips', { query, ...options });
36
+ }
37
+
38
+ /**
39
+ * Purchase a dedicated sending IP. Requires a verified, enterprise, or legacy
40
+ * account, and an `Idempotency-Key` header: a request without the header returns
41
+ * `400` (code `10015`) and allocates nothing. Telnyx allocates the next available
42
+ * IP from stock. The optional `region` and `ip_version` fields each restrict which
43
+ * stock IP is allocated; they never change the allocated IP's metadata. An omitted
44
+ * field applies no restriction for that field, and omitting the body applies
45
+ * neither restriction. An unsupported selector value returns `422`; a supported
46
+ * value that matches no available IP returns `429` and records the request on the
47
+ * waitlist. Billing: $14/month/IP, charged as a monthly recurring charge (MRC)
48
+ * from purchase. The IP is returned in `provisioning` status with a Telnyx-managed
49
+ * PTR hostname and carries no mail until you call `start_warmup` and add it to a
50
+ * pool that routes mail.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const dedicatedIPShowResponse =
55
+ * await client.email.dedicatedIPs.create({
56
+ * 'Idempotency-Key':
57
+ * '8e03978e-40d5-43e8-bc93-6894a57f9326',
58
+ * ip_version: 'ipv4',
59
+ * region: 'ewr-nj1',
60
+ * });
61
+ * ```
62
+ */
63
+ create(params: DedicatedIPCreateParams, options?: RequestOptions): APIPromise<DedicatedIPShowResponse> {
64
+ const { 'Idempotency-Key': idempotencyKey, ...body } = params;
65
+ return this._client.post('/email/dedicated_ips', {
66
+ body,
67
+ ...options,
68
+ headers: buildHeaders([{ 'Idempotency-Key': idempotencyKey }, options?.headers]),
69
+ });
70
+ }
71
+
72
+ /**
73
+ * Release the dedicated IP to Telnyx. The IP stops carrying mail immediately,
74
+ * leaves its pool, and moves to `released`. Telnyx sets `quarantine_until` to 30
75
+ * days after release. Release requests that the MRC stop asynchronously. Check
76
+ * `billing`: `stopping` means the stop is pending, `stopped` means it completed,
77
+ * and `stop_failed` means the charge remains. If the charge was never created or
78
+ * its creation has not completed, `billing` keeps showing the creation status
79
+ * (`not_started`, `pending`, `in_progress`, or `failed`). Any status except
80
+ * `released` can be released. Releasing the last IP in a pool requires
81
+ * `force=true` and `drain=true`.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const dedicatedIPShowResponse =
86
+ * await client.email.dedicatedIPs.delete(
87
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
88
+ * {
89
+ * query_reason: 'No longer needed',
90
+ * body_reason: 'No longer needed',
91
+ * },
92
+ * );
93
+ * ```
94
+ */
95
+ delete(
96
+ id: string,
97
+ params: DedicatedIPDeleteParams | null | undefined = {},
98
+ options?: RequestOptions,
99
+ ): APIPromise<DedicatedIPShowResponse> {
100
+ const { query_drain, query_force, query_reason, ...body } = params ?? {};
101
+ return this._client.delete(path`/email/dedicated_ips/${id}`, {
102
+ query: { drain: query_drain, force: query_force, reason: query_reason },
103
+ body,
104
+ ...options,
105
+ });
106
+ }
107
+
108
+ /**
109
+ * Retrieve a single dedicated IP by its identifier, including warm-up state,
110
+ * billing state, and the DNS/PTR provisioning checklist.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * const dedicatedIPShowResponse =
115
+ * await client.email.dedicatedIPs.retrieve(
116
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
117
+ * );
118
+ * ```
119
+ */
120
+ retrieve(id: string, options?: RequestOptions): APIPromise<DedicatedIPShowResponse> {
121
+ return this._client.get(path`/email/dedicated_ips/${id}`, options);
122
+ }
123
+
124
+ /**
125
+ * Move the IP to another pool, or pause/resume its warm-up ramp. One change
126
+ * applies per request. `pool_id` takes precedence over warm-up changes. Otherwise,
127
+ * use `warmup_paused` or `warmup.paused`; a Boolean `warmup_paused` takes
128
+ * precedence. Moving the last IP out of a pool requires `force: true` and
129
+ * `drain: true`. The PTR hostname is managed by Telnyx: a request that includes
130
+ * `ptr_hostname` returns `422` unless `pool_id` or a warm-up field is present, in
131
+ * which case `ptr_hostname` is ignored.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const dedicatedIPShowResponse =
136
+ * await client.email.dedicatedIPs.update(
137
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
138
+ * {
139
+ * pool_id: '9b1c4d70-abcd-4e5f-8a9b-0c1d2e3f4a5b',
140
+ * weight: 100,
141
+ * },
142
+ * );
143
+ * ```
144
+ */
145
+ update(
146
+ id: string,
147
+ body: DedicatedIPUpdateParams,
148
+ options?: RequestOptions,
149
+ ): APIPromise<DedicatedIPShowResponse> {
150
+ return this._client.patch(path`/email/dedicated_ips/${id}`, { body, ...options });
151
+ }
152
+ }
153
+
154
+ /**
155
+ * A dedicated sending IP address owned by the account.
156
+ */
157
+ export interface DedicatedIP {
158
+ id?: string;
159
+
160
+ /**
161
+ * Monthly recurring charge (MRC) state for the IP's current allocation.
162
+ */
163
+ billing?: DedicatedIP.Billing;
164
+
165
+ created_at?: string;
166
+
167
+ /**
168
+ * When the PTR hostname was forward-confirmed (PTR → hostname → A record → this
169
+ * IP). The IP carries mail only while this is set.
170
+ */
171
+ dns_confirmed_at?: string | null;
172
+
173
+ /**
174
+ * The allocated IPv4/IPv6 address.
175
+ */
176
+ ip_address?: string;
177
+
178
+ ip_version?: 'ipv4' | 'ipv6';
179
+
180
+ pool_id?: string | null;
181
+
182
+ /**
183
+ * Read-only status of the Telnyx-managed PTR record. No customer action is
184
+ * required to complete it.
185
+ */
186
+ provisioning?: DedicatedIP.Provisioning;
187
+
188
+ /**
189
+ * Same value as `provisioning.dns_status`.
190
+ */
191
+ provisioning_status?: 'not_applicable' | 'pending_ptr' | 'pending_dns' | 'dns_confirmed' | 'dns_lost';
192
+
193
+ /**
194
+ * Telnyx-managed reverse DNS (PTR) hostname of the IP, in the form
195
+ * `mta-<a-b-c-d>.msgtelnyx.com`. Also used as the EHLO hostname when sending from
196
+ * the IP. Managed by Telnyx and cannot be changed through the API.
197
+ */
198
+ ptr_hostname?: string | null;
199
+
200
+ /**
201
+ * Set on release to 30 days after `released_at`. The address is not returned to
202
+ * stock before this time.
203
+ */
204
+ quarantine_until?: string | null;
205
+
206
+ record_type?: 'dedicated_ip';
207
+
208
+ /**
209
+ * Region label of the allocated IP (for example, `ewr-nj1`).
210
+ */
211
+ region?: string;
212
+
213
+ /**
214
+ * When the IP was released. Null until release.
215
+ */
216
+ released_at?: string | null;
217
+
218
+ /**
219
+ * Lifecycle status. `provisioning`: purchased and billed, carries no mail until
220
+ * `start_warmup`. `warming_up`: warm-up ramp in progress. `active`: ramp complete.
221
+ * `suspended`: suspended by Telnyx; carries no mail and is still billed.
222
+ * `released`: returned to Telnyx; carries no mail.
223
+ */
224
+ status?: 'provisioning' | 'warming_up' | 'active' | 'suspended' | 'released';
225
+
226
+ /**
227
+ * Reason Telnyx recorded when suspending the IP. Null unless `status` is
228
+ * `suspended`.
229
+ */
230
+ suspension_reason?: string | null;
231
+
232
+ updated_at?: string;
233
+
234
+ /**
235
+ * Warmup ramp state for a dedicated IP.
236
+ */
237
+ warmup?: DedicatedIP.Warmup;
238
+ }
239
+
240
+ export namespace DedicatedIP {
241
+ /**
242
+ * Monthly recurring charge (MRC) state for the IP's current allocation.
243
+ */
244
+ export interface Billing {
245
+ /**
246
+ * True when `status` is `active`, `stopping`, or `stop_failed`. An IP carries mail
247
+ * only after its charge has been created.
248
+ */
249
+ charged?: boolean;
250
+
251
+ /**
252
+ * `not_started`: no charge recorded for the current allocation. `pending`: the
253
+ * charge is queued. `in_progress`: the charge is being created. `active`: the MRC
254
+ * is active. `stopping`: release requested; the MRC stop is being processed.
255
+ * `stopped`: the MRC has stopped. `stop_failed`: the MRC stop failed and the
256
+ * charge remains. `failed`: the charge could not be created.
257
+ */
258
+ status?:
259
+ | 'not_started'
260
+ | 'pending'
261
+ | 'in_progress'
262
+ | 'active'
263
+ | 'stopping'
264
+ | 'stopped'
265
+ | 'stop_failed'
266
+ | 'failed';
267
+ }
268
+
269
+ /**
270
+ * Read-only status of the Telnyx-managed PTR record. No customer action is
271
+ * required to complete it.
272
+ */
273
+ export interface Provisioning {
274
+ /**
275
+ * Informational progress flags for the Telnyx-managed PTR. They do not gate
276
+ * `start_warmup`; use `dns_status` to check whether the IP can carry mail.
277
+ */
278
+ checklist?: Provisioning.Checklist;
279
+
280
+ /**
281
+ * `dns_confirmed`: the PTR is forward-confirmed and `dns_confirmed_at` is set.
282
+ * `pending_ptr`: the PTR record is not yet in place. `pending_dns`: the PTR record
283
+ * is waiting for forward confirmation. `dns_lost`: a previously confirmed PTR no
284
+ * longer confirms, or the PTR request was abandoned before it ever confirmed
285
+ * (`ptr_request_state` is `abandoned`); the IP carries no mail until DNS is
286
+ * confirmed. `not_applicable`: the IP is released or has no PTR record on file.
287
+ */
288
+ dns_status?: 'not_applicable' | 'pending_ptr' | 'pending_dns' | 'dns_confirmed' | 'dns_lost';
289
+
290
+ /**
291
+ * Reference to the Telnyx PTR change request, when one exists. Informational.
292
+ */
293
+ ptr_request_pr_url?: string | null;
294
+
295
+ /**
296
+ * State of the Telnyx PTR change: `pending`, `pr_open`, `merged`, `confirmed`,
297
+ * `failed`, or `abandoned`. Informational.
298
+ */
299
+ ptr_request_state?: 'pending' | 'pr_open' | 'merged' | 'confirmed' | 'failed' | 'abandoned' | null;
300
+ }
301
+
302
+ export namespace Provisioning {
303
+ /**
304
+ * Informational progress flags for the Telnyx-managed PTR. They do not gate
305
+ * `start_warmup`; use `dns_status` to check whether the IP can carry mail.
306
+ */
307
+ export interface Checklist {
308
+ forward_confirmed?: boolean;
309
+
310
+ ptr_authored?: boolean;
311
+
312
+ ptr_merged?: boolean;
313
+
314
+ ptr_requested?: boolean;
315
+ }
316
+ }
317
+
318
+ /**
319
+ * Warmup ramp state for a dedicated IP.
320
+ */
321
+ export interface Warmup {
322
+ /**
323
+ * Daily cap of the current ramp stage. Null until the scheduler arms the first
324
+ * stage, and cleared when the ramp completes, automatically or through
325
+ * `complete_warmup`. On an `active` IP this value is informational and can keep an
326
+ * earlier stage cap after a suspension is lifted; it does not limit sending.
327
+ */
328
+ daily_cap?: number | null;
329
+
330
+ /**
331
+ * True while the ramp is paused.
332
+ */
333
+ paused?: boolean;
334
+
335
+ /**
336
+ * When the ramp was paused. Null when not paused.
337
+ */
338
+ paused_at?: string | null;
339
+
340
+ /**
341
+ * Ramp progress (0-100): the share of the 28 send-day schedule completed. Only UTC
342
+ * days on which the IP sent mail count. Set to 100 when the ramp completes,
343
+ * automatically or through `complete_warmup`. On an `active` IP this value is
344
+ * informational and can keep an earlier value after a suspension is lifted.
345
+ */
346
+ progress?: number;
347
+
348
+ /**
349
+ * When `start_warmup` was called. Null before warm-up starts and after release.
350
+ */
351
+ started_at?: string | null;
352
+
353
+ /**
354
+ * Today's warmup allowance report card (current UTC day). Null outside the warmup
355
+ * window (before start_warmup, after release/suspension). `active` IPs report the
356
+ * ramp-complete allowance, except as described for `cap`.
357
+ */
358
+ today?: Warmup.Today | null;
359
+ }
360
+
361
+ export namespace Warmup {
362
+ /**
363
+ * Today's warmup allowance report card (current UTC day). Null outside the warmup
364
+ * window (before start_warmup, after release/suspension). `active` IPs report the
365
+ * ramp-complete allowance, except as described for `cap`.
366
+ */
367
+ export interface Today {
368
+ /**
369
+ * The day's allowance cap. Null when the ramp has not opened yet (day 0: the
370
+ * scheduler has not armed a stage cap) — distinct from a spent day, which reports
371
+ * the cap with remaining 0. `active` IPs report `100000000`, the ramp-complete
372
+ * cap; `complete_warmup` applies it to the current day immediately. A day's
373
+ * allowance created before the IP became `active` can keep its stored `cap` and
374
+ * `remaining` until the next first-attempt send refreshes them.
375
+ */
376
+ cap?: number | null;
377
+
378
+ /**
379
+ * The UTC day this snapshot describes (warmup caps reset at UTC midnight).
380
+ */
381
+ day?: string;
382
+
383
+ /**
384
+ * First-attempt sends released from warmup hold so far today. Delivery retries
385
+ * never lease allowance and are not counted.
386
+ */
387
+ granted?: number;
388
+
389
+ /**
390
+ * Headroom left today. A queued send held by the daily cap is explained by
391
+ * remaining == 0; null mirrors cap (ramp not open yet). On an `active` IP whose
392
+ * `cap` is below `100000000`, remaining == 0 is a stored allowance and does not
393
+ * block the next eligible first-attempt send.
394
+ */
395
+ remaining?: number | null;
396
+ }
397
+ }
398
+ }
399
+
400
+ export interface DedicatedIPShowResponse {
401
+ /**
402
+ * A dedicated sending IP address owned by the account.
403
+ */
404
+ data: DedicatedIP;
405
+ }
406
+
407
+ export interface DedicatedIPListResponse {
408
+ data: Array<DedicatedIP>;
409
+ }
410
+
411
+ export interface DedicatedIPListParams {
412
+ /**
413
+ * Return only IPs in this pool (exact match on `pool_id`). A value that is not a
414
+ * UUID returns an empty list. An empty value applies no filter.
415
+ */
416
+ 'filter[pool_id]'?: string;
417
+
418
+ /**
419
+ * Return only IPs in this region (exact, case-sensitive match on `region`). An
420
+ * empty value applies no filter.
421
+ */
422
+ 'filter[region]'?: string;
423
+
424
+ /**
425
+ * Return only IPs in this lifecycle status (exact match). Any other value returns
426
+ * an empty list. An empty value applies no filter.
427
+ */
428
+ 'filter[status]'?: 'provisioning' | 'warming_up' | 'active' | 'suspended' | 'released';
429
+ }
430
+
431
+ export interface DedicatedIPCreateParams {
432
+ /**
433
+ * Header param: Required. Opaque, unquoted key for safely retrying the same
434
+ * purchase. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
435
+ * Generate a unique UUID v4 for each purchase and reuse it only when retrying that
436
+ * purchase with the same request. A missing header, or an invalid one —including
437
+ * duplicate, empty, malformed, or overlong values—returns 400 with error
438
+ * code 10015. A request already in progress with the same key returns 409; reusing
439
+ * the key with a different request returns 422. Only successful responses are
440
+ * replayed, for up to 24 hours. Do not include sensitive data in the key.
441
+ */
442
+ 'Idempotency-Key': string;
443
+
444
+ /**
445
+ * Body param: Allocate an IP of this address family. Supported value: `ipv4`. Any
446
+ * other value, including `ipv6` or `null`, returns `422`.
447
+ */
448
+ ip_version?: 'ipv4';
449
+
450
+ /**
451
+ * Body param: Allocate an IP in this region. Supported value: `ewr-nj1`. Any other
452
+ * value, including an empty string or `null`, returns `422`.
453
+ */
454
+ region?: 'ewr-nj1';
455
+ }
456
+
457
+ export interface DedicatedIPDeleteParams {
458
+ /**
459
+ * Query param: Set together with `force=true` to release the last IP in a pool.
460
+ * Acknowledges that mail routed to the emptied pool is held until the pool has a
461
+ * sendable IP again. Also accepted in the JSON body.
462
+ */
463
+ query_drain?: boolean;
464
+
465
+ /**
466
+ * Query param: Set together with `drain=true` to release the last IP in a pool.
467
+ * Either flag alone has no effect. Also accepted in the JSON body.
468
+ */
469
+ query_force?: boolean;
470
+
471
+ /**
472
+ * Query param: Free-text reason recorded with the release. Also accepted in the
473
+ * JSON body.
474
+ */
475
+ query_reason?: string;
476
+
477
+ /**
478
+ * Body param: Set together with `force: true` to release the last IP in a pool.
479
+ * Acknowledges that mail routed to the emptied pool is held until the pool has a
480
+ * sendable IP again.
481
+ */
482
+ body_drain?: boolean;
483
+
484
+ /**
485
+ * Body param: Set together with `drain: true` to release the last IP in a pool.
486
+ * Either flag alone has no effect.
487
+ */
488
+ body_force?: boolean;
489
+
490
+ /**
491
+ * Body param: Free-text reason recorded with the release.
492
+ */
493
+ body_reason?: string;
494
+ }
495
+
496
+ export interface DedicatedIPUpdateParams {
497
+ /**
498
+ * Set together with `force: true` to move the last IP out of its current pool.
499
+ * Acknowledges that mail routed to the emptied pool is held. Used only with
500
+ * `pool_id`.
501
+ */
502
+ drain?: boolean;
503
+
504
+ /**
505
+ * Set together with `drain: true` to move the last IP out of its current pool.
506
+ * Used only with `pool_id`.
507
+ */
508
+ force?: boolean;
509
+
510
+ /**
511
+ * Move the IP to this pool, replacing its current membership. Use the IP's current
512
+ * pool to change only its weight. To take an IP out of a pool, use
513
+ * `DELETE /email/ip_pools/{id}/ips/{ip_id}`.
514
+ */
515
+ pool_id?: string;
516
+
517
+ /**
518
+ * Alias for `warmup_paused`.
519
+ */
520
+ warmup?: DedicatedIPUpdateParams.Warmup;
521
+
522
+ /**
523
+ * Pause (`true`) or resume (`false`) the warm-up ramp; equivalent to the
524
+ * `pause_warmup` and `resume_warmup` actions. A Boolean value takes precedence
525
+ * over `warmup.paused`. When a pause field is present and `pool_id` is absent,
526
+ * supplying neither pause field as a Boolean invokes resume.
527
+ */
528
+ warmup_paused?: boolean;
529
+
530
+ /**
531
+ * Routing weight in the target pool. Used only with `pool_id`.
532
+ */
533
+ weight?: number;
534
+ }
535
+
536
+ export namespace DedicatedIPUpdateParams {
537
+ /**
538
+ * Alias for `warmup_paused`.
539
+ */
540
+ export interface Warmup {
541
+ /**
542
+ * Pause (`true`) or resume (`false`) the warm-up ramp. Used only when
543
+ * `warmup_paused` is not a Boolean.
544
+ */
545
+ paused?: boolean;
546
+ }
547
+ }
548
+
549
+ DedicatedIPs.Actions = Actions;
550
+
551
+ export declare namespace DedicatedIPs {
552
+ export {
553
+ type DedicatedIP as DedicatedIP,
554
+ type DedicatedIPShowResponse as DedicatedIPShowResponse,
555
+ type DedicatedIPListResponse as DedicatedIPListResponse,
556
+ type DedicatedIPListParams as DedicatedIPListParams,
557
+ type DedicatedIPCreateParams as DedicatedIPCreateParams,
558
+ type DedicatedIPDeleteParams as DedicatedIPDeleteParams,
559
+ type DedicatedIPUpdateParams as DedicatedIPUpdateParams,
560
+ };
561
+
562
+ export { Actions as Actions };
563
+ }
@@ -0,0 +1,13 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Actions } from './actions';
4
+ export {
5
+ DedicatedIPs,
6
+ type DedicatedIP,
7
+ type DedicatedIPShowResponse,
8
+ type DedicatedIPListResponse,
9
+ type DedicatedIPListParams,
10
+ type DedicatedIPCreateParams,
11
+ type DedicatedIPDeleteParams,
12
+ type DedicatedIPUpdateParams,
13
+ } from './dedicated-ips';
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './dedicated-ips/index';
@@ -0,0 +1,55 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as DedicatedIPsAPI from './dedicated-ips/dedicated-ips';
5
+ import {
6
+ DedicatedIP,
7
+ DedicatedIPCreateParams,
8
+ DedicatedIPDeleteParams,
9
+ DedicatedIPListParams,
10
+ DedicatedIPListResponse,
11
+ DedicatedIPShowResponse,
12
+ DedicatedIPUpdateParams,
13
+ DedicatedIPs,
14
+ } from './dedicated-ips/dedicated-ips';
15
+ import * as IPPoolsAPI from './ip-pools/ip-pools';
16
+ import {
17
+ IPPool,
18
+ IPPoolCreateParams,
19
+ IPPoolDeleteParams,
20
+ IPPoolListResponse,
21
+ IPPoolShowResponse,
22
+ IPPoolUpdateParams,
23
+ IPPools,
24
+ } from './ip-pools/ip-pools';
25
+
26
+ export class Email extends APIResource {
27
+ dedicatedIPs: DedicatedIPsAPI.DedicatedIPs = new DedicatedIPsAPI.DedicatedIPs(this._client);
28
+ ipPools: IPPoolsAPI.IPPools = new IPPoolsAPI.IPPools(this._client);
29
+ }
30
+
31
+ Email.DedicatedIPs = DedicatedIPs;
32
+ Email.IPPools = IPPools;
33
+
34
+ export declare namespace Email {
35
+ export {
36
+ DedicatedIPs as DedicatedIPs,
37
+ type DedicatedIP as DedicatedIP,
38
+ type DedicatedIPShowResponse as DedicatedIPShowResponse,
39
+ type DedicatedIPListResponse as DedicatedIPListResponse,
40
+ type DedicatedIPListParams as DedicatedIPListParams,
41
+ type DedicatedIPCreateParams as DedicatedIPCreateParams,
42
+ type DedicatedIPDeleteParams as DedicatedIPDeleteParams,
43
+ type DedicatedIPUpdateParams as DedicatedIPUpdateParams,
44
+ };
45
+
46
+ export {
47
+ IPPools as IPPools,
48
+ type IPPool as IPPool,
49
+ type IPPoolShowResponse as IPPoolShowResponse,
50
+ type IPPoolListResponse as IPPoolListResponse,
51
+ type IPPoolCreateParams as IPPoolCreateParams,
52
+ type IPPoolDeleteParams as IPPoolDeleteParams,
53
+ type IPPoolUpdateParams as IPPoolUpdateParams,
54
+ };
55
+ }
@@ -0,0 +1,22 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ DedicatedIPs,
5
+ type DedicatedIP,
6
+ type DedicatedIPShowResponse,
7
+ type DedicatedIPListResponse,
8
+ type DedicatedIPListParams,
9
+ type DedicatedIPCreateParams,
10
+ type DedicatedIPDeleteParams,
11
+ type DedicatedIPUpdateParams,
12
+ } from './dedicated-ips/index';
13
+ export { Email } from './email';
14
+ export {
15
+ IPPools,
16
+ type IPPool,
17
+ type IPPoolShowResponse,
18
+ type IPPoolListResponse,
19
+ type IPPoolCreateParams,
20
+ type IPPoolDeleteParams,
21
+ type IPPoolUpdateParams,
22
+ } from './ip-pools/index';
@@ -0,0 +1,12 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ IPPools,
5
+ type IPPool,
6
+ type IPPoolShowResponse,
7
+ type IPPoolListResponse,
8
+ type IPPoolCreateParams,
9
+ type IPPoolDeleteParams,
10
+ type IPPoolUpdateParams,
11
+ } from './ip-pools';
12
+ export { IPs, type IPCreateResponse, type IPCreateParams, type IPDeleteParams } from './ips';