telnyx 7.25.0 → 7.26.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 (377) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/client.d.mts +10 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +10 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/ai/ai.d.mts +14 -5
  12. package/resources/ai/ai.d.mts.map +1 -1
  13. package/resources/ai/ai.d.ts +14 -5
  14. package/resources/ai/ai.d.ts.map +1 -1
  15. package/resources/ai/ai.js +4 -0
  16. package/resources/ai/ai.js.map +1 -1
  17. package/resources/ai/ai.mjs +4 -0
  18. package/resources/ai/ai.mjs.map +1 -1
  19. package/resources/ai/assistants/assistants.d.mts +232 -6
  20. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  21. package/resources/ai/assistants/assistants.d.ts +232 -6
  22. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  23. package/resources/ai/assistants/assistants.js.map +1 -1
  24. package/resources/ai/assistants/assistants.mjs.map +1 -1
  25. package/resources/ai/assistants/index.d.mts +1 -1
  26. package/resources/ai/assistants/index.d.mts.map +1 -1
  27. package/resources/ai/assistants/index.d.ts +1 -1
  28. package/resources/ai/assistants/index.d.ts.map +1 -1
  29. package/resources/ai/assistants/index.js.map +1 -1
  30. package/resources/ai/assistants/index.mjs.map +1 -1
  31. package/resources/ai/assistants/versions.d.mts +12 -0
  32. package/resources/ai/assistants/versions.d.mts.map +1 -1
  33. package/resources/ai/assistants/versions.d.ts +12 -0
  34. package/resources/ai/assistants/versions.d.ts.map +1 -1
  35. package/resources/ai/avatars.d.mts +187 -0
  36. package/resources/ai/avatars.d.mts.map +1 -0
  37. package/resources/ai/avatars.d.ts +187 -0
  38. package/resources/ai/avatars.d.ts.map +1 -0
  39. package/resources/ai/avatars.js +93 -0
  40. package/resources/ai/avatars.js.map +1 -0
  41. package/resources/ai/avatars.mjs +89 -0
  42. package/resources/ai/avatars.mjs.map +1 -0
  43. package/resources/ai/chat.d.mts +20 -6
  44. package/resources/ai/chat.d.mts.map +1 -1
  45. package/resources/ai/chat.d.ts +20 -6
  46. package/resources/ai/chat.d.ts.map +1 -1
  47. package/resources/ai/conversations/conversations.d.mts +8 -0
  48. package/resources/ai/conversations/conversations.d.mts.map +1 -1
  49. package/resources/ai/conversations/conversations.d.ts +8 -0
  50. package/resources/ai/conversations/conversations.d.ts.map +1 -1
  51. package/resources/ai/conversations/conversations.js.map +1 -1
  52. package/resources/ai/conversations/conversations.mjs.map +1 -1
  53. package/resources/ai/index.d.mts +2 -1
  54. package/resources/ai/index.d.mts.map +1 -1
  55. package/resources/ai/index.d.ts +2 -1
  56. package/resources/ai/index.d.ts.map +1 -1
  57. package/resources/ai/index.js +3 -1
  58. package/resources/ai/index.js.map +1 -1
  59. package/resources/ai/index.mjs +1 -0
  60. package/resources/ai/index.mjs.map +1 -1
  61. package/resources/ai/memory/namespaces/index.d.mts +1 -1
  62. package/resources/ai/memory/namespaces/index.d.mts.map +1 -1
  63. package/resources/ai/memory/namespaces/index.d.ts +1 -1
  64. package/resources/ai/memory/namespaces/index.d.ts.map +1 -1
  65. package/resources/ai/memory/namespaces/index.js.map +1 -1
  66. package/resources/ai/memory/namespaces/index.mjs.map +1 -1
  67. package/resources/ai/memory/namespaces/namespaces.d.mts +2 -2
  68. package/resources/ai/memory/namespaces/namespaces.d.mts.map +1 -1
  69. package/resources/ai/memory/namespaces/namespaces.d.ts +2 -2
  70. package/resources/ai/memory/namespaces/namespaces.d.ts.map +1 -1
  71. package/resources/ai/memory/namespaces/namespaces.js.map +1 -1
  72. package/resources/ai/memory/namespaces/namespaces.mjs.map +1 -1
  73. package/resources/ai/memory/namespaces/profiles/index.d.mts +1 -1
  74. package/resources/ai/memory/namespaces/profiles/index.d.mts.map +1 -1
  75. package/resources/ai/memory/namespaces/profiles/index.d.ts +1 -1
  76. package/resources/ai/memory/namespaces/profiles/index.d.ts.map +1 -1
  77. package/resources/ai/memory/namespaces/profiles/index.js.map +1 -1
  78. package/resources/ai/memory/namespaces/profiles/index.mjs.map +1 -1
  79. package/resources/ai/memory/namespaces/profiles/profiles.d.mts +54 -1
  80. package/resources/ai/memory/namespaces/profiles/profiles.d.mts.map +1 -1
  81. package/resources/ai/memory/namespaces/profiles/profiles.d.ts +54 -1
  82. package/resources/ai/memory/namespaces/profiles/profiles.d.ts.map +1 -1
  83. package/resources/ai/memory/namespaces/profiles/profiles.js +31 -0
  84. package/resources/ai/memory/namespaces/profiles/profiles.js.map +1 -1
  85. package/resources/ai/memory/namespaces/profiles/profiles.mjs +31 -0
  86. package/resources/ai/memory/namespaces/profiles/profiles.mjs.map +1 -1
  87. package/resources/ai/openai/chat.d.mts +20 -6
  88. package/resources/ai/openai/chat.d.mts.map +1 -1
  89. package/resources/ai/openai/chat.d.ts +20 -6
  90. package/resources/ai/openai/chat.d.ts.map +1 -1
  91. package/resources/ai/tools.d.mts +17 -1
  92. package/resources/ai/tools.d.mts.map +1 -1
  93. package/resources/ai/tools.d.ts +17 -1
  94. package/resources/ai/tools.d.ts.map +1 -1
  95. package/resources/calls/actions.d.mts +59 -13
  96. package/resources/calls/actions.d.mts.map +1 -1
  97. package/resources/calls/actions.d.ts +59 -13
  98. package/resources/calls/actions.d.ts.map +1 -1
  99. package/resources/calls/calls.d.mts +24 -14
  100. package/resources/calls/calls.d.mts.map +1 -1
  101. package/resources/calls/calls.d.ts +24 -14
  102. package/resources/calls/calls.d.ts.map +1 -1
  103. package/resources/calls/calls.js +8 -0
  104. package/resources/calls/calls.js.map +1 -1
  105. package/resources/calls/calls.mjs +8 -0
  106. package/resources/calls/calls.mjs.map +1 -1
  107. package/resources/calls/index.d.mts +1 -1
  108. package/resources/calls/index.d.mts.map +1 -1
  109. package/resources/calls/index.d.ts +1 -1
  110. package/resources/calls/index.d.ts.map +1 -1
  111. package/resources/calls/index.js.map +1 -1
  112. package/resources/calls/index.mjs.map +1 -1
  113. package/resources/dir/dir.d.mts +10 -7
  114. package/resources/dir/dir.d.mts.map +1 -1
  115. package/resources/dir/dir.d.ts +10 -7
  116. package/resources/dir/dir.d.ts.map +1 -1
  117. package/resources/dir/dir.js +1 -1
  118. package/resources/dir/dir.js.map +1 -1
  119. package/resources/dir/dir.mjs +1 -1
  120. package/resources/dir/dir.mjs.map +1 -1
  121. package/resources/dir/phone-numbers.d.mts +0 -4
  122. package/resources/dir/phone-numbers.d.mts.map +1 -1
  123. package/resources/dir/phone-numbers.d.ts +0 -4
  124. package/resources/dir/phone-numbers.d.ts.map +1 -1
  125. package/resources/email-templates.d.mts +109 -18
  126. package/resources/email-templates.d.mts.map +1 -1
  127. package/resources/email-templates.d.ts +109 -18
  128. package/resources/email-templates.d.ts.map +1 -1
  129. package/resources/email-templates.js +5 -1
  130. package/resources/email-templates.js.map +1 -1
  131. package/resources/email-templates.mjs +5 -1
  132. package/resources/email-templates.mjs.map +1 -1
  133. package/resources/enterprises/dir.d.mts +8 -2
  134. package/resources/enterprises/dir.d.mts.map +1 -1
  135. package/resources/enterprises/dir.d.ts +8 -2
  136. package/resources/enterprises/dir.d.ts.map +1 -1
  137. package/resources/enterprises/dir.js +8 -2
  138. package/resources/enterprises/dir.js.map +1 -1
  139. package/resources/enterprises/dir.mjs +8 -2
  140. package/resources/enterprises/dir.mjs.map +1 -1
  141. package/resources/enterprises/enterprises.d.mts +7 -5
  142. package/resources/enterprises/enterprises.d.mts.map +1 -1
  143. package/resources/enterprises/enterprises.d.ts +7 -5
  144. package/resources/enterprises/enterprises.d.ts.map +1 -1
  145. package/resources/enterprises/enterprises.js +5 -3
  146. package/resources/enterprises/enterprises.js.map +1 -1
  147. package/resources/enterprises/enterprises.mjs +5 -3
  148. package/resources/enterprises/enterprises.mjs.map +1 -1
  149. package/resources/enterprises/index.d.mts +1 -1
  150. package/resources/enterprises/index.d.mts.map +1 -1
  151. package/resources/enterprises/index.d.ts +1 -1
  152. package/resources/enterprises/index.d.ts.map +1 -1
  153. package/resources/enterprises/index.js.map +1 -1
  154. package/resources/enterprises/index.mjs.map +1 -1
  155. package/resources/enterprises/reputation/external-verification.d.mts +94 -0
  156. package/resources/enterprises/reputation/external-verification.d.mts.map +1 -0
  157. package/resources/enterprises/reputation/external-verification.d.ts +94 -0
  158. package/resources/enterprises/reputation/external-verification.d.ts.map +1 -0
  159. package/resources/enterprises/reputation/external-verification.js +54 -0
  160. package/resources/enterprises/reputation/external-verification.js.map +1 -0
  161. package/resources/enterprises/reputation/external-verification.mjs +50 -0
  162. package/resources/enterprises/reputation/external-verification.mjs.map +1 -0
  163. package/resources/enterprises/reputation/index.d.mts +3 -2
  164. package/resources/enterprises/reputation/index.d.mts.map +1 -1
  165. package/resources/enterprises/reputation/index.d.ts +3 -2
  166. package/resources/enterprises/reputation/index.d.ts.map +1 -1
  167. package/resources/enterprises/reputation/index.js +3 -1
  168. package/resources/enterprises/reputation/index.js.map +1 -1
  169. package/resources/enterprises/reputation/index.mjs +1 -0
  170. package/resources/enterprises/reputation/index.mjs.map +1 -1
  171. package/resources/enterprises/reputation/loa.d.mts +3 -2
  172. package/resources/enterprises/reputation/loa.d.mts.map +1 -1
  173. package/resources/enterprises/reputation/loa.d.ts +3 -2
  174. package/resources/enterprises/reputation/loa.d.ts.map +1 -1
  175. package/resources/enterprises/reputation/numbers.d.mts +197 -4
  176. package/resources/enterprises/reputation/numbers.d.mts.map +1 -1
  177. package/resources/enterprises/reputation/numbers.d.ts +197 -4
  178. package/resources/enterprises/reputation/numbers.d.ts.map +1 -1
  179. package/resources/enterprises/reputation/numbers.js +58 -2
  180. package/resources/enterprises/reputation/numbers.js.map +1 -1
  181. package/resources/enterprises/reputation/numbers.mjs +58 -2
  182. package/resources/enterprises/reputation/numbers.mjs.map +1 -1
  183. package/resources/enterprises/reputation/remediation.d.mts +3 -2
  184. package/resources/enterprises/reputation/remediation.d.mts.map +1 -1
  185. package/resources/enterprises/reputation/remediation.d.ts +3 -2
  186. package/resources/enterprises/reputation/remediation.d.ts.map +1 -1
  187. package/resources/enterprises/reputation/reputation.d.mts +39 -3
  188. package/resources/enterprises/reputation/reputation.d.mts.map +1 -1
  189. package/resources/enterprises/reputation/reputation.d.ts +39 -3
  190. package/resources/enterprises/reputation/reputation.d.ts.map +1 -1
  191. package/resources/enterprises/reputation/reputation.js +22 -0
  192. package/resources/enterprises/reputation/reputation.js.map +1 -1
  193. package/resources/enterprises/reputation/reputation.mjs +22 -0
  194. package/resources/enterprises/reputation/reputation.mjs.map +1 -1
  195. package/resources/global-ip-assignment-health.d.mts +4 -4
  196. package/resources/global-ip-assignment-health.d.mts.map +1 -1
  197. package/resources/global-ip-assignment-health.d.ts +4 -4
  198. package/resources/global-ip-assignment-health.d.ts.map +1 -1
  199. package/resources/global-ip-assignments-usage.d.mts +4 -4
  200. package/resources/global-ip-assignments-usage.d.mts.map +1 -1
  201. package/resources/global-ip-assignments-usage.d.ts +4 -4
  202. package/resources/global-ip-assignments-usage.d.ts.map +1 -1
  203. package/resources/index.d.mts +3 -2
  204. package/resources/index.d.mts.map +1 -1
  205. package/resources/index.d.ts +3 -2
  206. package/resources/index.d.ts.map +1 -1
  207. package/resources/index.js +3 -1
  208. package/resources/index.js.map +1 -1
  209. package/resources/index.mjs +1 -0
  210. package/resources/index.mjs.map +1 -1
  211. package/resources/llm-token-gateway/index.d.mts +4 -1
  212. package/resources/llm-token-gateway/index.d.mts.map +1 -1
  213. package/resources/llm-token-gateway/index.d.ts +4 -1
  214. package/resources/llm-token-gateway/index.d.ts.map +1 -1
  215. package/resources/llm-token-gateway/index.js +7 -1
  216. package/resources/llm-token-gateway/index.js.map +1 -1
  217. package/resources/llm-token-gateway/index.mjs +4 -1
  218. package/resources/llm-token-gateway/index.mjs.map +1 -1
  219. package/resources/llm-token-gateway/llm-token-gateway.d.mts +14 -2
  220. package/resources/llm-token-gateway/llm-token-gateway.d.mts.map +1 -1
  221. package/resources/llm-token-gateway/llm-token-gateway.d.ts +14 -2
  222. package/resources/llm-token-gateway/llm-token-gateway.d.ts.map +1 -1
  223. package/resources/llm-token-gateway/llm-token-gateway.js +12 -0
  224. package/resources/llm-token-gateway/llm-token-gateway.js.map +1 -1
  225. package/resources/llm-token-gateway/llm-token-gateway.mjs +13 -1
  226. package/resources/llm-token-gateway/llm-token-gateway.mjs.map +1 -1
  227. package/resources/llm-token-gateway/spend.d.mts +223 -0
  228. package/resources/llm-token-gateway/spend.d.mts.map +1 -0
  229. package/resources/llm-token-gateway/spend.d.ts +223 -0
  230. package/resources/llm-token-gateway/spend.d.ts.map +1 -0
  231. package/resources/llm-token-gateway/spend.js +56 -0
  232. package/resources/llm-token-gateway/spend.js.map +1 -0
  233. package/resources/llm-token-gateway/spend.mjs +52 -0
  234. package/resources/llm-token-gateway/spend.mjs.map +1 -0
  235. package/resources/llm-token-gateway/token-groups.d.mts +577 -0
  236. package/resources/llm-token-gateway/token-groups.d.mts.map +1 -0
  237. package/resources/llm-token-gateway/token-groups.d.ts +577 -0
  238. package/resources/llm-token-gateway/token-groups.d.ts.map +1 -0
  239. package/resources/llm-token-gateway/token-groups.js +139 -0
  240. package/resources/llm-token-gateway/token-groups.js.map +1 -0
  241. package/resources/llm-token-gateway/token-groups.mjs +135 -0
  242. package/resources/llm-token-gateway/token-groups.mjs.map +1 -0
  243. package/resources/llm-token-gateway/token-keys.d.mts +318 -0
  244. package/resources/llm-token-gateway/token-keys.d.mts.map +1 -0
  245. package/resources/llm-token-gateway/token-keys.d.ts +318 -0
  246. package/resources/llm-token-gateway/token-keys.d.ts.map +1 -0
  247. package/resources/llm-token-gateway/token-keys.js +127 -0
  248. package/resources/llm-token-gateway/token-keys.js.map +1 -0
  249. package/resources/llm-token-gateway/token-keys.mjs +123 -0
  250. package/resources/llm-token-gateway/token-keys.mjs.map +1 -0
  251. package/resources/llm-token-gateway/usage.d.mts +205 -146
  252. package/resources/llm-token-gateway/usage.d.mts.map +1 -1
  253. package/resources/llm-token-gateway/usage.d.ts +205 -146
  254. package/resources/llm-token-gateway/usage.d.ts.map +1 -1
  255. package/resources/llm-token-gateway/usage.js +47 -15
  256. package/resources/llm-token-gateway/usage.js.map +1 -1
  257. package/resources/llm-token-gateway/usage.mjs +47 -15
  258. package/resources/llm-token-gateway/usage.mjs.map +1 -1
  259. package/resources/phone-numbers/jobs.d.mts +17 -5
  260. package/resources/phone-numbers/jobs.d.mts.map +1 -1
  261. package/resources/phone-numbers/jobs.d.ts +17 -5
  262. package/resources/phone-numbers/jobs.d.ts.map +1 -1
  263. package/resources/phone-numbers/jobs.js +4 -3
  264. package/resources/phone-numbers/jobs.js.map +1 -1
  265. package/resources/phone-numbers/jobs.mjs +4 -3
  266. package/resources/phone-numbers/jobs.mjs.map +1 -1
  267. package/resources/reputation/numbers.d.mts +10 -0
  268. package/resources/reputation/numbers.d.mts.map +1 -1
  269. package/resources/reputation/numbers.d.ts +10 -0
  270. package/resources/reputation/numbers.d.ts.map +1 -1
  271. package/resources/sip-registration-status.d.mts +149 -0
  272. package/resources/sip-registration-status.d.mts.map +1 -0
  273. package/resources/sip-registration-status.d.ts +149 -0
  274. package/resources/sip-registration-status.d.ts.map +1 -0
  275. package/resources/sip-registration-status.js +32 -0
  276. package/resources/sip-registration-status.js.map +1 -0
  277. package/resources/sip-registration-status.mjs +28 -0
  278. package/resources/sip-registration-status.mjs.map +1 -0
  279. package/resources/texml/texml.d.mts +7 -3
  280. package/resources/texml/texml.d.mts.map +1 -1
  281. package/resources/texml/texml.d.ts +7 -3
  282. package/resources/texml/texml.d.ts.map +1 -1
  283. package/resources/texml/texml.js +4 -2
  284. package/resources/texml/texml.js.map +1 -1
  285. package/resources/texml/texml.mjs +4 -2
  286. package/resources/texml/texml.mjs.map +1 -1
  287. package/resources/webhooks.d.mts +566 -3
  288. package/resources/webhooks.d.mts.map +1 -1
  289. package/resources/webhooks.d.ts +566 -3
  290. package/resources/webhooks.d.ts.map +1 -1
  291. package/resources/webhooks.js.map +1 -1
  292. package/resources/webhooks.mjs.map +1 -1
  293. package/resources/whatsapp/index.d.mts +1 -0
  294. package/resources/whatsapp/index.d.mts.map +1 -1
  295. package/resources/whatsapp/index.d.ts +1 -0
  296. package/resources/whatsapp/index.d.ts.map +1 -1
  297. package/resources/whatsapp/index.js +3 -1
  298. package/resources/whatsapp/index.js.map +1 -1
  299. package/resources/whatsapp/index.mjs +1 -0
  300. package/resources/whatsapp/index.mjs.map +1 -1
  301. package/resources/whatsapp/phone-numbers/calling-routing.d.mts +6 -5
  302. package/resources/whatsapp/phone-numbers/calling-routing.d.mts.map +1 -1
  303. package/resources/whatsapp/phone-numbers/calling-routing.d.ts +6 -5
  304. package/resources/whatsapp/phone-numbers/calling-routing.d.ts.map +1 -1
  305. package/resources/whatsapp/phone-numbers/calling-routing.js +6 -5
  306. package/resources/whatsapp/phone-numbers/calling-routing.js.map +1 -1
  307. package/resources/whatsapp/phone-numbers/calling-routing.mjs +6 -5
  308. package/resources/whatsapp/phone-numbers/calling-routing.mjs.map +1 -1
  309. package/resources/whatsapp/signup.d.mts +128 -0
  310. package/resources/whatsapp/signup.d.mts.map +1 -0
  311. package/resources/whatsapp/signup.d.ts +128 -0
  312. package/resources/whatsapp/signup.d.ts.map +1 -0
  313. package/resources/whatsapp/signup.js +42 -0
  314. package/resources/whatsapp/signup.js.map +1 -0
  315. package/resources/whatsapp/signup.mjs +38 -0
  316. package/resources/whatsapp/signup.mjs.map +1 -0
  317. package/resources/whatsapp/whatsapp.d.mts +4 -0
  318. package/resources/whatsapp/whatsapp.d.mts.map +1 -1
  319. package/resources/whatsapp/whatsapp.d.ts +4 -0
  320. package/resources/whatsapp/whatsapp.d.ts.map +1 -1
  321. package/resources/whatsapp/whatsapp.js +4 -0
  322. package/resources/whatsapp/whatsapp.js.map +1 -1
  323. package/resources/whatsapp/whatsapp.mjs +4 -0
  324. package/resources/whatsapp/whatsapp.mjs.map +1 -1
  325. package/src/client.ts +28 -0
  326. package/src/resources/ai/ai.ts +38 -3
  327. package/src/resources/ai/assistants/assistants.ts +292 -5
  328. package/src/resources/ai/assistants/index.ts +2 -0
  329. package/src/resources/ai/assistants/versions.ts +14 -0
  330. package/src/resources/ai/avatars.ts +238 -0
  331. package/src/resources/ai/chat.ts +20 -6
  332. package/src/resources/ai/conversations/conversations.ts +9 -0
  333. package/src/resources/ai/index.ts +13 -0
  334. package/src/resources/ai/memory/namespaces/index.ts +2 -0
  335. package/src/resources/ai/memory/namespaces/namespaces.ts +4 -0
  336. package/src/resources/ai/memory/namespaces/profiles/index.ts +2 -0
  337. package/src/resources/ai/memory/namespaces/profiles/profiles.ts +71 -0
  338. package/src/resources/ai/openai/chat.ts +20 -6
  339. package/src/resources/ai/tools.ts +19 -1
  340. package/src/resources/calls/actions.ts +65 -10
  341. package/src/resources/calls/calls.ts +24 -8
  342. package/src/resources/calls/index.ts +1 -0
  343. package/src/resources/dir/dir.ts +10 -7
  344. package/src/resources/dir/phone-numbers.ts +1 -6
  345. package/src/resources/email-templates.ts +121 -19
  346. package/src/resources/enterprises/dir.ts +8 -2
  347. package/src/resources/enterprises/enterprises.ts +7 -3
  348. package/src/resources/enterprises/index.ts +1 -0
  349. package/src/resources/enterprises/reputation/external-verification.ts +125 -0
  350. package/src/resources/enterprises/reputation/index.ts +12 -0
  351. package/src/resources/enterprises/reputation/loa.ts +3 -2
  352. package/src/resources/enterprises/reputation/numbers.ts +256 -3
  353. package/src/resources/enterprises/reputation/remediation.ts +3 -2
  354. package/src/resources/enterprises/reputation/reputation.ts +70 -0
  355. package/src/resources/global-ip-assignment-health.ts +4 -4
  356. package/src/resources/global-ip-assignments-usage.ts +4 -4
  357. package/src/resources/index.ts +11 -0
  358. package/src/resources/llm-token-gateway/index.ts +38 -1
  359. package/src/resources/llm-token-gateway/llm-token-gateway.ts +83 -1
  360. package/src/resources/llm-token-gateway/spend.ts +309 -0
  361. package/src/resources/llm-token-gateway/token-groups.ts +724 -0
  362. package/src/resources/llm-token-gateway/token-keys.ts +422 -0
  363. package/src/resources/llm-token-gateway/usage.ts +273 -149
  364. package/src/resources/phone-numbers/jobs.ts +18 -5
  365. package/src/resources/reputation/numbers.ts +12 -0
  366. package/src/resources/sip-registration-status.ts +188 -0
  367. package/src/resources/texml/texml.ts +7 -3
  368. package/src/resources/webhooks.ts +754 -15
  369. package/src/resources/whatsapp/index.ts +7 -0
  370. package/src/resources/whatsapp/phone-numbers/calling-routing.ts +6 -5
  371. package/src/resources/whatsapp/signup.ts +188 -0
  372. package/src/resources/whatsapp/whatsapp.ts +18 -0
  373. package/src/version.ts +1 -1
  374. package/version.d.mts +1 -1
  375. package/version.d.ts +1 -1
  376. package/version.js +1 -1
  377. package/version.mjs +1 -1
@@ -1180,6 +1180,36 @@ export interface CallControlCommandResultWithConversationID {
1180
1180
  */
1181
1181
  export type ConversationRelayInterruptible = 'none' | 'any' | 'speech' | 'dtmf';
1182
1182
 
1183
+ /**
1184
+ * Engine-specific transcription settings for Conversation Relay. This accepts the
1185
+ * same provider-specific options used by the Call Transcription Start command,
1186
+ * such as `transcription_model`, without requiring the engine discriminator to be
1187
+ * repeated inside this object. With Deepgram Flux (`deepgram/flux`),
1188
+ * `interim_results`, `eot_threshold` and `eager_eot_threshold` control the interim
1189
+ * prompts and the `eagerEndOfTurn` and `turnResumed` frames sent to your WebSocket
1190
+ * server.
1191
+ */
1192
+ export interface ConversationRelayTranscriptionEngineConfig {
1193
+ /**
1194
+ * Deepgram Flux: confidence at which an `eagerEndOfTurn` frame is sent before the
1195
+ * final prompt, followed by `turnResumed` if the caller keeps talking. When
1196
+ * omitted, these frames are not sent.
1197
+ */
1198
+ eager_eot_threshold?: number;
1199
+
1200
+ /**
1201
+ * Deepgram Flux: confidence required to end the caller's turn.
1202
+ */
1203
+ eot_threshold?: number;
1204
+
1205
+ /**
1206
+ * Deepgram Flux: send interim transcripts as `prompt` frames with `last: false`.
1207
+ */
1208
+ interim_results?: boolean;
1209
+
1210
+ [k: string]: unknown;
1211
+ }
1212
+
1183
1213
  export interface DeepgramNova2Config {
1184
1214
  transcription_engine: 'deepgram/nova-2';
1185
1215
 
@@ -3313,10 +3343,10 @@ export interface ActionGatherUsingAIParams {
3313
3343
  * the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
3314
3344
  * [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
3315
3345
  * for compatibility.
3316
- * - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
3317
- * Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
3318
- * Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
3319
- * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
3346
+ * - **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`,
3347
+ * `Azure.en-CA-LiamNeural`, `Azure.en-US-BrianMultilingualNeural`,
3348
+ * `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to
3349
+ * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).
3320
3350
  * - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
3321
3351
  * `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
3322
3352
  * ElevenLabs, you must provide your ElevenLabs API key as an integration secret
@@ -5429,9 +5459,12 @@ export interface ActionStartConversationRelayParams {
5429
5459
  * Engine-specific transcription settings for Conversation Relay. This accepts the
5430
5460
  * same provider-specific options used by the Call Transcription Start command,
5431
5461
  * such as `transcription_model`, without requiring the engine discriminator to be
5432
- * repeated inside this object.
5462
+ * repeated inside this object. With Deepgram Flux (`deepgram/flux`),
5463
+ * `interim_results`, `eot_threshold` and `eager_eot_threshold` control the interim
5464
+ * prompts and the `eagerEndOfTurn` and `turnResumed` frames sent to your WebSocket
5465
+ * server.
5433
5466
  */
5434
- transcription_engine_config?: { [key: string]: unknown };
5467
+ transcription_engine_config?: ConversationRelayTranscriptionEngineConfig;
5435
5468
 
5436
5469
  /**
5437
5470
  * Text-to-speech provider. If omitted, Telnyx derives it from `voice` or
@@ -5456,10 +5489,10 @@ export interface ActionStartConversationRelayParams {
5456
5489
  * the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
5457
5490
  * [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
5458
5491
  * for compatibility.
5459
- * - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
5460
- * Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
5461
- * Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
5462
- * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
5492
+ * - **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`,
5493
+ * `Azure.en-CA-LiamNeural`, `Azure.en-US-BrianMultilingualNeural`,
5494
+ * `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to
5495
+ * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).
5463
5496
  * - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
5464
5497
  * `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
5465
5498
  * ElevenLabs, you must provide your ElevenLabs API key as an integration secret
@@ -5622,6 +5655,15 @@ export interface ActionPayParams {
5622
5655
  */
5623
5656
  metadata?: { [key: string]: unknown };
5624
5657
 
5658
+ /**
5659
+ * Minimum number of digits the caller must enter when collecting a credit-card
5660
+ * billing postal code. Applies only when `postal_code` is `true` or `"true"` and
5661
+ * no `payment_token` is supplied. The default is 1. The maximum number of digits
5662
+ * collected is the greater of 10 and this value. This does not validate the length
5663
+ * of a postal code supplied directly in `postal_code`.
5664
+ */
5665
+ min_postal_code_length?: number;
5666
+
5625
5667
  /**
5626
5668
  * Additional parameters forwarded to the Pay connector.
5627
5669
  */
@@ -5637,6 +5679,18 @@ export interface ActionPayParams {
5637
5679
  */
5638
5680
  payment_token?: string;
5639
5681
 
5682
+ /**
5683
+ * Controls billing postal code collection for credit-card payments when no
5684
+ * `payment_token` is supplied. Set to `true` or the string `"true"` (the default)
5685
+ * to prompt the caller for a postal code. Set to `false` or the string `"false"`
5686
+ * to skip the postal code prompt without supplying a postal code to the payment
5687
+ * connector. Supply any other non-empty string, such as `"90210"`, to use that
5688
+ * postal code without prompting. Empty or whitespace-only strings are rejected.
5689
+ * This option does not affect ACH debit payments or payments using an existing
5690
+ * token.
5691
+ */
5692
+ postal_code?: string | boolean;
5693
+
5640
5694
  /**
5641
5695
  * Custom text-to-speech prompts keyed by payment collection step.
5642
5696
  */
@@ -5722,6 +5776,7 @@ export declare namespace Actions {
5722
5776
  type CallControlCommandResult as CallControlCommandResult,
5723
5777
  type CallControlCommandResultWithConversationID as CallControlCommandResultWithConversationID,
5724
5778
  type ConversationRelayInterruptible as ConversationRelayInterruptible,
5779
+ type ConversationRelayTranscriptionEngineConfig as ConversationRelayTranscriptionEngineConfig,
5725
5780
  type DeepgramNova2Config as DeepgramNova2Config,
5726
5781
  type DeepgramNova3Config as DeepgramNova3Config,
5727
5782
  type DeveloperMessage as DeveloperMessage,
@@ -93,6 +93,7 @@ import {
93
93
  CallControlCommandResult,
94
94
  CallControlCommandResultWithConversationID,
95
95
  ConversationRelayInterruptible,
96
+ ConversationRelayTranscriptionEngineConfig,
96
97
  DeepgramNova2Config,
97
98
  DeepgramNova3Config,
98
99
  DeveloperMessage,
@@ -138,10 +139,18 @@ export class Calls extends APIResource {
138
139
  * include a `call_leg_id` which can be used to correlate the command with
139
140
  * subsequent webhooks.
140
141
  *
142
+ * To place the call with an AI assistant from the start, include `assistant.id`
143
+ * and any per-call overrides in the `assistant` object; Telnyx attempts to warm up
144
+ * the assistant before placing the call and starts it automatically when the
145
+ * called party answers.
146
+ *
141
147
  * **Expected Webhooks:**
142
148
  *
143
149
  * - `call.initiated`
144
150
  * - `call.answered` or `call.hangup`
151
+ * - `call.conversation.created` when the requested assistant conversation is
152
+ * created, or `call.conversation.start_failed` when it could not be started
153
+ * after the called party answered
145
154
  * - `call.hold` and `call.unhold` if the call is held/unheld
146
155
  * - `call.machine.detection.ended` if `answering_machine_detection` was requested
147
156
  * - `call.machine.greeting.ended` if `answering_machine_detection` was requested
@@ -516,9 +525,12 @@ export interface ConversationRelayEmbeddedConfig {
516
525
  * Engine-specific transcription settings for Conversation Relay. This accepts the
517
526
  * same provider-specific options used by the Call Transcription Start command,
518
527
  * such as `transcription_model`, without requiring the engine discriminator to be
519
- * repeated inside this object.
528
+ * repeated inside this object. With Deepgram Flux (`deepgram/flux`),
529
+ * `interim_results`, `eot_threshold` and `eager_eot_threshold` control the interim
530
+ * prompts and the `eagerEndOfTurn` and `turnResumed` frames sent to your WebSocket
531
+ * server.
520
532
  */
521
- transcription_engine_config?: { [key: string]: unknown };
533
+ transcription_engine_config?: ActionsAPI.ConversationRelayTranscriptionEngineConfig;
522
534
 
523
535
  /**
524
536
  * Text-to-speech provider. If omitted, Telnyx derives it from `voice` or
@@ -537,10 +549,10 @@ export interface ConversationRelayEmbeddedConfig {
537
549
  * the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
538
550
  * [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
539
551
  * for compatibility.
540
- * - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
541
- * Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
542
- * Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
543
- * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
552
+ * - **Azure:** Use `Azure.<VoiceId>` (e.g., `Azure.en-CA-ClaraNeural`,
553
+ * `Azure.en-CA-LiamNeural`, `Azure.en-US-BrianMultilingualNeural`,
554
+ * `Azure.en-US-Ava:DragonHDLatestNeural`). For a complete list of voices, go to
555
+ * [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).
544
556
  * - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
545
557
  * `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
546
558
  * ElevenLabs, you must provide your ElevenLabs API key as an integration secret
@@ -655,9 +667,12 @@ export interface ConversationRelayLanguage {
655
667
  * Engine-specific transcription settings for Conversation Relay. This accepts the
656
668
  * same provider-specific options used by the Call Transcription Start command,
657
669
  * such as `transcription_model`, without requiring the engine discriminator to be
658
- * repeated inside this object.
670
+ * repeated inside this object. With Deepgram Flux (`deepgram/flux`),
671
+ * `interim_results`, `eot_threshold` and `eager_eot_threshold` control the interim
672
+ * prompts and the `eagerEndOfTurn` and `turnResumed` frames sent to your WebSocket
673
+ * server.
659
674
  */
660
- transcription_engine_config?: { [key: string]: unknown };
675
+ transcription_engine_config?: ActionsAPI.ConversationRelayTranscriptionEngineConfig;
661
676
 
662
677
  /**
663
678
  * Conversation Relay transcription provider name. Prefer `transcription_engine`
@@ -1643,6 +1658,7 @@ export declare namespace Calls {
1643
1658
  type CallControlCommandResult as CallControlCommandResult,
1644
1659
  type CallControlCommandResultWithConversationID as CallControlCommandResultWithConversationID,
1645
1660
  type ConversationRelayInterruptible as ConversationRelayInterruptible,
1661
+ type ConversationRelayTranscriptionEngineConfig as ConversationRelayTranscriptionEngineConfig,
1646
1662
  type DeepgramNova2Config as DeepgramNova2Config,
1647
1663
  type DeepgramNova3Config as DeepgramNova3Config,
1648
1664
  type DeveloperMessage as DeveloperMessage,
@@ -8,6 +8,7 @@ export {
8
8
  type CallControlCommandResult,
9
9
  type CallControlCommandResultWithConversationID,
10
10
  type ConversationRelayInterruptible,
11
+ type ConversationRelayTranscriptionEngineConfig,
11
12
  type DeepgramNova2Config,
12
13
  type DeepgramNova3Config,
13
14
  type DeveloperMessage,
@@ -249,7 +249,7 @@ export class DirResource extends APIResource {
249
249
  *
250
250
  * Returns `400` from `submitted`/`in_review`/`permanently_rejected`. Returns `400`
251
251
  * if the DIR's business and financial references have not been submitted. Returns
252
- * `409` if the DIR has an unresolved infringement claim.
252
+ * `400` if the DIR has an unresolved infringement claim.
253
253
  *
254
254
  * @example
255
255
  * ```ts
@@ -645,10 +645,12 @@ export namespace DirRetrieveBpoAuthorizationsResponse {
645
645
  record_type: 'bpo_authorization';
646
646
 
647
647
  /**
648
- * Review state of this authorization. `pending` on create or when the Letter of
649
- * Authorization is re-uploaded; an admin moves it to `approved` or `rejected`.
650
- * Only an `approved` authorization adds the BPO to this DIR's authorized callers
651
- * in the branded calling registry.
648
+ * Review state of this authorization. `pending` when the authorization is first
649
+ * added, or when you send a different `loa_document_id` for this BPO in
650
+ * `bpo_authorizations` (uploading a document alone changes nothing). Approving the
651
+ * DIR approves its pending authorizations; an admin can also approve or reject one
652
+ * on its own. Only an `approved` authorization adds the BPO to this DIR's
653
+ * authorized callers in the branded calling registry.
652
654
  */
653
655
  status: 'pending' | 'approved' | 'rejected';
654
656
 
@@ -842,8 +844,9 @@ export interface DirNewLoaParams {
842
844
  phone_numbers: Array<string>;
843
845
 
844
846
  /**
845
- * Third-party reseller / partner managing the enterprise's phone numbers. Omit
846
- * when the enterprise works directly with Telnyx.
847
+ * Third-party reseller / partner managing the enterprise's phone numbers on its
848
+ * behalf, such as a call center (BPO) acting for a client. Omit when the
849
+ * enterprise manages its own numbers.
847
850
  */
848
851
  agent?: LoaAPI.AgentInput;
849
852
 
@@ -232,12 +232,7 @@ export interface PhoneNumberRemoveParams {
232
232
  phone_numbers: Array<string>;
233
233
  }
234
234
 
235
- export interface PhoneNumberListParams extends DefaultFlatPaginationParams {
236
- /**
237
- * Filter by phone-number status.
238
- */
239
- status?: PhoneNumberBatchesAPI.DirPhoneNumberStatus;
240
- }
235
+ export interface PhoneNumberListParams extends DefaultFlatPaginationParams {}
241
236
 
242
237
  export interface PhoneNumberAddParams {
243
238
  /**
@@ -13,7 +13,11 @@ import { path } from '../internal/utils/path';
13
13
  */
14
14
  export class EmailTemplates extends APIResource {
15
15
  /**
16
- * Lists templates sorted newest first by `created_at desc, id desc`.
16
+ * Lists templates sorted newest first by `created_at desc, id desc`. Optional
17
+ * filters match a case-insensitive literal name/subject query, stored body
18
+ * presence, and the `strict_variables` and `autoescape` settings. Filters
19
+ * intersect, remain scoped to the authenticated account, and apply before cursor
20
+ * pagination. Invalid filter names or values return 400.
17
21
  *
18
22
  * @example
19
23
  * ```ts
@@ -164,7 +168,11 @@ export class EmailTemplates extends APIResource {
164
168
 
165
169
  export type EmailTemplatesEmailCursorPagination = EmailCursorPagination<EmailTemplate>;
166
170
 
167
- export interface EmailTemplate {
171
+ export interface EmailTemplate extends EmailTemplateCommon {
172
+ subject: string | null;
173
+ }
174
+
175
+ export interface EmailTemplateCommon {
168
176
  id: string;
169
177
 
170
178
  /**
@@ -189,8 +197,6 @@ export interface EmailTemplate {
189
197
  */
190
198
  strict_variables: boolean;
191
199
 
192
- subject: string | null;
193
-
194
200
  text_body: string | null;
195
201
 
196
202
  updated_at: string;
@@ -199,15 +205,23 @@ export interface EmailTemplate {
199
205
  * Structured variable requirements, or `null` when the template uses only the
200
206
  * legacy `variables` array.
201
207
  */
202
- variable_schema: { [key: string]: EmailTemplate.VariableSchema } | null;
208
+ variable_schema: { [key: string]: EmailTemplateCommon.VariableSchema } | null;
203
209
 
204
210
  /**
205
- * Legacy unstructured variable names. This path remains supported unchanged.
211
+ * Persisted variable names. In `explicit` mode this array preserves the exact
212
+ * provided order, duplicates, and string contents; in `automatic` mode it is
213
+ * derived from the stored subject and bodies.
206
214
  */
207
215
  variables: Array<string>;
216
+
217
+ /**
218
+ * `automatic` when variable names are derived from template content; `explicit`
219
+ * when `variables` is the exact manually managed array.
220
+ */
221
+ variables_mode: 'automatic' | 'explicit';
208
222
  }
209
223
 
210
- export namespace EmailTemplate {
224
+ export namespace EmailTemplateCommon {
211
225
  export interface VariableSchema {
212
226
  /**
213
227
  * Whether the variable must be supplied when strict variable validation is
@@ -260,7 +274,22 @@ export interface UpdateEmailTemplateRequest {
260
274
  */
261
275
  variable_schema?: { [key: string]: UpdateEmailTemplateRequest.VariableSchema } | null;
262
276
 
263
- variables?: Array<string>;
277
+ /**
278
+ * Persisted variable names. In `automatic` mode a non-null array is rejected; in
279
+ * `explicit` mode this is the exact manual array and each item is limited to 255
280
+ * Unicode code points.
281
+ */
282
+ variables?: Array<string> | null;
283
+
284
+ /**
285
+ * Controls how `variables` is maintained. Setting `automatic` re-extracts
286
+ * immediately from the effective subject, HTML body, and text body and rejects a
287
+ * simultaneous non-null array. Setting `explicit` requires the exact non-null
288
+ * array, including valid `[]`. With the mode omitted, a non-null array selects
289
+ * explicit mode, null selects automatic mode, and omitting both fields preserves
290
+ * the current mode. Source-content changes re-extract only in automatic mode.
291
+ */
292
+ variables_mode?: 'automatic' | 'explicit';
264
293
  }
265
294
 
266
295
  export namespace UpdateEmailTemplateRequest {
@@ -281,8 +310,8 @@ export namespace UpdateEmailTemplateRequest {
281
310
  export interface EmailTemplateRenderResponse {
282
311
  /**
283
312
  * Template object with `subject`, `html_body`, and `text_body` replaced by their
284
- * Liquid-rendered values. All other template fields (id, name, variables, etc.)
285
- * remain unchanged.
313
+ * Liquid-rendered values. Rendered content is not limited by the stored
314
+ * template-field lengths. All other template fields remain unchanged.
286
315
  */
287
316
  data: EmailTemplateRenderResponse.Data;
288
317
  }
@@ -290,13 +319,44 @@ export interface EmailTemplateRenderResponse {
290
319
  export namespace EmailTemplateRenderResponse {
291
320
  /**
292
321
  * Template object with `subject`, `html_body`, and `text_body` replaced by their
293
- * Liquid-rendered values. All other template fields (id, name, variables, etc.)
294
- * remain unchanged.
322
+ * Liquid-rendered values. Rendered content is not limited by the stored
323
+ * template-field lengths. All other template fields remain unchanged.
295
324
  */
296
- export interface Data extends EmailTemplatesAPI.EmailTemplate {}
325
+ export interface Data extends EmailTemplatesAPI.EmailTemplateCommon {
326
+ subject: string | null;
327
+ }
297
328
  }
298
329
 
299
- export interface EmailTemplateListParams extends EmailCursorPaginationParams {}
330
+ export interface EmailTemplateListParams extends EmailCursorPaginationParams {
331
+ /**
332
+ * Exact match on the template's `autoescape` option. Only the exact query strings
333
+ * `true` and `false` are accepted; other values, including blank, return 400.
334
+ */
335
+ 'filter[autoescape]'?: 'true' | 'false';
336
+
337
+ /**
338
+ * Matches templates by stored body presence. `html_and_text` requires both an HTML
339
+ * and text body; `html_only` requires HTML and no text body; `text_only` requires
340
+ * text and no HTML body; `no_body` requires neither. `null` and exactly `""` count
341
+ * as absent; whitespace-only strings count as content. An empty or unsupported
342
+ * value returns a 400 response.
343
+ */
344
+ 'filter[content_type]'?: 'html_and_text' | 'html_only' | 'text_only' | 'no_body';
345
+
346
+ /**
347
+ * Case-insensitive literal substring match over the template `name` or stored
348
+ * `subject` only; bodies are never searched. `%`, `_`, and `\` are literal
349
+ * characters with no wildcard meaning. A blank value is treated as omitted.
350
+ */
351
+ 'filter[query]'?: string;
352
+
353
+ /**
354
+ * Exact match on the template's `strict_variables` option. Only the exact query
355
+ * strings `true` and `false` are accepted; other values, including blank,
356
+ * return 400.
357
+ */
358
+ 'filter[strict_variables]'?: 'true' | 'false';
359
+ }
300
360
 
301
361
  export interface EmailTemplateCreateParams {
302
362
  /**
@@ -353,10 +413,21 @@ export interface EmailTemplateCreateParams {
353
413
  variable_schema?: { [key: string]: EmailTemplateCreateParams.VariableSchema } | null;
354
414
 
355
415
  /**
356
- * Body param: Template variables. Auto-extracted from subject/body fields when
357
- * absent.
416
+ * Body param: Persisted variable names. In `automatic` mode a non-null array is
417
+ * rejected; in `explicit` mode this is the exact manual array and each item is
418
+ * limited to 255 Unicode code points.
358
419
  */
359
- variables?: Array<string>;
420
+ variables?: Array<string> | null;
421
+
422
+ /**
423
+ * Body param: Controls how `variables` is maintained. If both fields are omitted
424
+ * (or `variables` is null), the template uses `automatic` mode and extracts
425
+ * variable names from the effective subject, HTML body, and text body. A non-null
426
+ * `variables` array with no mode selects `explicit`. `automatic` rejects a
427
+ * simultaneous non-null array; `explicit` requires a non-null array, including
428
+ * valid `[]`, and preserves its exact order, duplicates, and string contents.
429
+ */
430
+ variables_mode?: 'automatic' | 'explicit';
360
431
 
361
432
  /**
362
433
  * Header param: Optional opaque, unquoted key for safely retrying the same logical
@@ -420,7 +491,22 @@ export interface EmailTemplateReplaceParams {
420
491
  */
421
492
  variable_schema?: { [key: string]: EmailTemplateReplaceParams.VariableSchema } | null;
422
493
 
423
- variables?: Array<string>;
494
+ /**
495
+ * Persisted variable names. In `automatic` mode a non-null array is rejected; in
496
+ * `explicit` mode this is the exact manual array and each item is limited to 255
497
+ * Unicode code points.
498
+ */
499
+ variables?: Array<string> | null;
500
+
501
+ /**
502
+ * Controls how `variables` is maintained. Setting `automatic` re-extracts
503
+ * immediately from the effective subject, HTML body, and text body and rejects a
504
+ * simultaneous non-null array. Setting `explicit` requires the exact non-null
505
+ * array, including valid `[]`. With the mode omitted, a non-null array selects
506
+ * explicit mode, null selects automatic mode, and omitting both fields preserves
507
+ * the current mode. Source-content changes re-extract only in automatic mode.
508
+ */
509
+ variables_mode?: 'automatic' | 'explicit';
424
510
  }
425
511
 
426
512
  export namespace EmailTemplateReplaceParams {
@@ -472,7 +558,22 @@ export interface EmailTemplateUpdateParams {
472
558
  */
473
559
  variable_schema?: { [key: string]: EmailTemplateUpdateParams.VariableSchema } | null;
474
560
 
475
- variables?: Array<string>;
561
+ /**
562
+ * Persisted variable names. In `automatic` mode a non-null array is rejected; in
563
+ * `explicit` mode this is the exact manual array and each item is limited to 255
564
+ * Unicode code points.
565
+ */
566
+ variables?: Array<string> | null;
567
+
568
+ /**
569
+ * Controls how `variables` is maintained. Setting `automatic` re-extracts
570
+ * immediately from the effective subject, HTML body, and text body and rejects a
571
+ * simultaneous non-null array. Setting `explicit` requires the exact non-null
572
+ * array, including valid `[]`. With the mode omitted, a non-null array selects
573
+ * explicit mode, null selects automatic mode, and omitting both fields preserves
574
+ * the current mode. Source-content changes re-extract only in automatic mode.
575
+ */
576
+ variables_mode?: 'automatic' | 'explicit';
476
577
  }
477
578
 
478
579
  export namespace EmailTemplateUpdateParams {
@@ -501,6 +602,7 @@ export interface EmailTemplateRenderParams {
501
602
  export declare namespace EmailTemplates {
502
603
  export {
503
604
  type EmailTemplate as EmailTemplate,
605
+ type EmailTemplateCommon as EmailTemplateCommon,
504
606
  type EmailTemplateResponse as EmailTemplateResponse,
505
607
  type UpdateEmailTemplateRequest as UpdateEmailTemplateRequest,
506
608
  type EmailTemplateRenderResponse as EmailTemplateRenderResponse,
@@ -67,10 +67,16 @@ export class Dir extends APIResource {
67
67
  *
68
68
  * **Failure modes**
69
69
  *
70
- * - `422` - validation error; `errors[].source.pointer` names the offending field.
71
- * - `403` - Branded Calling not activated on this enterprise (see
70
+ * - `400` - validation error; `errors[].source.pointer` names the offending field.
71
+ * - `400` - a certification field is not `true`.
72
+ * - `400` - Branded Calling not activated on this enterprise (see
72
73
  * `POST /enterprises/{id}/branded_calling`).
74
+ * - `400` - the enterprise is a BPO enterprise (`role_type` `bpo`), which cannot
75
+ * own a DIR.
76
+ * - `400` - a `bpo_authorizations` entry is not an approved BPO enterprise in your
77
+ * account, or its `loa_document_id` could not be validated.
73
78
  * - `404` - enterprise does not exist or does not belong to your account.
79
+ * - `503` - the document check is temporarily unavailable; retry.
74
80
  *
75
81
  * @example
76
82
  * ```ts
@@ -17,6 +17,7 @@ import {
17
17
  ReputationCheckFrequency,
18
18
  ReputationEnableParams,
19
19
  ReputationUpdateFrequencyParams,
20
+ ReputationUpdateWebhookParams,
20
21
  } from './reputation/reputation';
21
22
  import { APIPromise } from '../../core/api-promise';
22
23
  import { DefaultFlatPagination, type DefaultFlatPaginationParams, PagePromise } from '../../core/pagination';
@@ -237,11 +238,13 @@ export class Enterprises extends APIResource {
237
238
  /**
238
239
  * Branded Calling must be activated on each enterprise. Activation is idempotent:
239
240
  *
240
- * - First call: marks the enterprise as activated and begins onboarding it with
241
- * the Branded Calling platform asynchronously. Returns `200` with
241
+ * - First call: marks the enterprise as activated, effective immediately; you can
242
+ * create a DIR right away. The enterprise is registered with the Branded Calling
243
+ * platform later, after its first DIR is approved. Returns `200` with
242
244
  * `branded_calling_enabled: true`.
243
245
  * - Re-call after success: no-op, returns the same enterprise body.
244
- * - Re-call after a prior failure: re-queues onboarding, returns `200`.
246
+ * - Re-call after a failed registration: re-queues the registration, returns
247
+ * `200`.
245
248
  *
246
249
  * Prerequisite: the calling user must have agreed to the Branded Calling Terms of
247
250
  * Service (`POST /terms_of_service/branded_calling/agree`). Without that, this
@@ -885,6 +888,7 @@ export declare namespace Enterprises {
885
888
  type ReputationCheckFrequency as ReputationCheckFrequency,
886
889
  type ReputationEnableParams as ReputationEnableParams,
887
890
  type ReputationUpdateFrequencyParams as ReputationUpdateFrequencyParams,
891
+ type ReputationUpdateWebhookParams as ReputationUpdateWebhookParams,
888
892
  };
889
893
 
890
894
  export { Dir as Dir, type DirListParams as DirListParams, type DirCreateParams as DirCreateParams };
@@ -21,6 +21,7 @@ export {
21
21
  type ReputationCheckFrequency,
22
22
  type ReputationEnableParams,
23
23
  type ReputationUpdateFrequencyParams,
24
+ type ReputationUpdateWebhookParams,
24
25
  } from './reputation/index';
25
26
  export {
26
27
  VerifyEmail,