telnyx 7.24.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 (536) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/client.d.mts +27 -6
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +27 -6
  5. package/client.d.ts.map +1 -1
  6. package/client.js +21 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +21 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/ai/ai.d.mts +16 -6
  12. package/resources/ai/ai.d.mts.map +1 -1
  13. package/resources/ai/ai.d.ts +16 -6
  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 +551 -33
  20. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  21. package/resources/ai/assistants/assistants.d.ts +551 -33
  22. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  23. package/resources/ai/assistants/assistants.js +79 -2
  24. package/resources/ai/assistants/assistants.js.map +1 -1
  25. package/resources/ai/assistants/assistants.mjs +79 -2
  26. package/resources/ai/assistants/assistants.mjs.map +1 -1
  27. package/resources/ai/assistants/deleted.d.mts +60 -0
  28. package/resources/ai/assistants/deleted.d.mts.map +1 -0
  29. package/resources/ai/assistants/deleted.d.ts +60 -0
  30. package/resources/ai/assistants/deleted.d.ts.map +1 -0
  31. package/resources/ai/assistants/deleted.js +49 -0
  32. package/resources/ai/assistants/deleted.js.map +1 -0
  33. package/resources/ai/assistants/deleted.mjs +45 -0
  34. package/resources/ai/assistants/deleted.mjs.map +1 -0
  35. package/resources/ai/assistants/index.d.mts +2 -1
  36. package/resources/ai/assistants/index.d.mts.map +1 -1
  37. package/resources/ai/assistants/index.d.ts +2 -1
  38. package/resources/ai/assistants/index.d.ts.map +1 -1
  39. package/resources/ai/assistants/index.js +3 -1
  40. package/resources/ai/assistants/index.js.map +1 -1
  41. package/resources/ai/assistants/index.mjs +1 -0
  42. package/resources/ai/assistants/index.mjs.map +1 -1
  43. package/resources/ai/assistants/versions.d.mts +48 -0
  44. package/resources/ai/assistants/versions.d.mts.map +1 -1
  45. package/resources/ai/assistants/versions.d.ts +48 -0
  46. package/resources/ai/assistants/versions.d.ts.map +1 -1
  47. package/resources/ai/avatars.d.mts +187 -0
  48. package/resources/ai/avatars.d.mts.map +1 -0
  49. package/resources/ai/avatars.d.ts +187 -0
  50. package/resources/ai/avatars.d.ts.map +1 -0
  51. package/resources/ai/avatars.js +93 -0
  52. package/resources/ai/avatars.js.map +1 -0
  53. package/resources/ai/avatars.mjs +89 -0
  54. package/resources/ai/avatars.mjs.map +1 -0
  55. package/resources/ai/chat.d.mts +21 -2
  56. package/resources/ai/chat.d.mts.map +1 -1
  57. package/resources/ai/chat.d.ts +21 -2
  58. package/resources/ai/chat.d.ts.map +1 -1
  59. package/resources/ai/conversations/conversations.d.mts +8 -0
  60. package/resources/ai/conversations/conversations.d.mts.map +1 -1
  61. package/resources/ai/conversations/conversations.d.ts +8 -0
  62. package/resources/ai/conversations/conversations.d.ts.map +1 -1
  63. package/resources/ai/conversations/conversations.js.map +1 -1
  64. package/resources/ai/conversations/conversations.mjs.map +1 -1
  65. package/resources/ai/embeddings/embeddings.d.mts +1 -1
  66. package/resources/ai/embeddings/embeddings.d.ts +1 -1
  67. package/resources/ai/embeddings/embeddings.js +1 -1
  68. package/resources/ai/embeddings/embeddings.mjs +1 -1
  69. package/resources/ai/index.d.mts +3 -2
  70. package/resources/ai/index.d.mts.map +1 -1
  71. package/resources/ai/index.d.ts +3 -2
  72. package/resources/ai/index.d.ts.map +1 -1
  73. package/resources/ai/index.js +3 -1
  74. package/resources/ai/index.js.map +1 -1
  75. package/resources/ai/index.mjs +1 -0
  76. package/resources/ai/index.mjs.map +1 -1
  77. package/resources/ai/memory/index.d.mts +1 -1
  78. package/resources/ai/memory/index.d.mts.map +1 -1
  79. package/resources/ai/memory/index.d.ts +1 -1
  80. package/resources/ai/memory/index.d.ts.map +1 -1
  81. package/resources/ai/memory/index.js.map +1 -1
  82. package/resources/ai/memory/index.mjs +1 -1
  83. package/resources/ai/memory/index.mjs.map +1 -1
  84. package/resources/ai/memory/memory.d.mts +2 -2
  85. package/resources/ai/memory/memory.d.mts.map +1 -1
  86. package/resources/ai/memory/memory.d.ts +2 -2
  87. package/resources/ai/memory/memory.d.ts.map +1 -1
  88. package/resources/ai/memory/memory.js.map +1 -1
  89. package/resources/ai/memory/memory.mjs +1 -1
  90. package/resources/ai/memory/memory.mjs.map +1 -1
  91. package/resources/ai/memory/namespaces/index.d.mts +2 -2
  92. package/resources/ai/memory/namespaces/index.d.mts.map +1 -1
  93. package/resources/ai/memory/namespaces/index.d.ts +2 -2
  94. package/resources/ai/memory/namespaces/index.d.ts.map +1 -1
  95. package/resources/ai/memory/namespaces/index.js.map +1 -1
  96. package/resources/ai/memory/namespaces/index.mjs +1 -1
  97. package/resources/ai/memory/namespaces/index.mjs.map +1 -1
  98. package/resources/ai/memory/namespaces/namespaces.d.mts +62 -6
  99. package/resources/ai/memory/namespaces/namespaces.d.mts.map +1 -1
  100. package/resources/ai/memory/namespaces/namespaces.d.ts +62 -6
  101. package/resources/ai/memory/namespaces/namespaces.d.ts.map +1 -1
  102. package/resources/ai/memory/namespaces/namespaces.js +41 -3
  103. package/resources/ai/memory/namespaces/namespaces.js.map +1 -1
  104. package/resources/ai/memory/namespaces/namespaces.mjs +41 -3
  105. package/resources/ai/memory/namespaces/namespaces.mjs.map +1 -1
  106. package/resources/ai/memory/namespaces/profiles/index.d.mts +1 -1
  107. package/resources/ai/memory/namespaces/profiles/index.d.mts.map +1 -1
  108. package/resources/ai/memory/namespaces/profiles/index.d.ts +1 -1
  109. package/resources/ai/memory/namespaces/profiles/index.d.ts.map +1 -1
  110. package/resources/ai/memory/namespaces/profiles/index.js.map +1 -1
  111. package/resources/ai/memory/namespaces/profiles/index.mjs.map +1 -1
  112. package/resources/ai/memory/namespaces/profiles/profiles.d.mts +54 -1
  113. package/resources/ai/memory/namespaces/profiles/profiles.d.mts.map +1 -1
  114. package/resources/ai/memory/namespaces/profiles/profiles.d.ts +54 -1
  115. package/resources/ai/memory/namespaces/profiles/profiles.d.ts.map +1 -1
  116. package/resources/ai/memory/namespaces/profiles/profiles.js +31 -0
  117. package/resources/ai/memory/namespaces/profiles/profiles.js.map +1 -1
  118. package/resources/ai/memory/namespaces/profiles/profiles.mjs +31 -0
  119. package/resources/ai/memory/namespaces/profiles/profiles.mjs.map +1 -1
  120. package/resources/ai/openai/chat.d.mts +21 -2
  121. package/resources/ai/openai/chat.d.mts.map +1 -1
  122. package/resources/ai/openai/chat.d.ts +21 -2
  123. package/resources/ai/openai/chat.d.ts.map +1 -1
  124. package/resources/ai/tools.d.mts +20 -5
  125. package/resources/ai/tools.d.mts.map +1 -1
  126. package/resources/ai/tools.d.ts +20 -5
  127. package/resources/ai/tools.d.ts.map +1 -1
  128. package/resources/ai/tools.js +5 -2
  129. package/resources/ai/tools.js.map +1 -1
  130. package/resources/ai/tools.mjs +5 -2
  131. package/resources/ai/tools.mjs.map +1 -1
  132. package/resources/calls/actions.d.mts +135 -30
  133. package/resources/calls/actions.d.mts.map +1 -1
  134. package/resources/calls/actions.d.ts +135 -30
  135. package/resources/calls/actions.d.ts.map +1 -1
  136. package/resources/calls/actions.js +31 -0
  137. package/resources/calls/actions.js.map +1 -1
  138. package/resources/calls/actions.mjs +31 -0
  139. package/resources/calls/actions.mjs.map +1 -1
  140. package/resources/calls/calls.d.mts +72 -25
  141. package/resources/calls/calls.d.mts.map +1 -1
  142. package/resources/calls/calls.d.ts +72 -25
  143. package/resources/calls/calls.d.ts.map +1 -1
  144. package/resources/calls/calls.js +11 -0
  145. package/resources/calls/calls.js.map +1 -1
  146. package/resources/calls/calls.mjs +11 -0
  147. package/resources/calls/calls.mjs.map +1 -1
  148. package/resources/calls/index.d.mts +1 -1
  149. package/resources/calls/index.d.mts.map +1 -1
  150. package/resources/calls/index.d.ts +1 -1
  151. package/resources/calls/index.d.ts.map +1 -1
  152. package/resources/calls/index.js.map +1 -1
  153. package/resources/calls/index.mjs.map +1 -1
  154. package/resources/dir/dir.d.mts +226 -31
  155. package/resources/dir/dir.d.mts.map +1 -1
  156. package/resources/dir/dir.d.ts +226 -31
  157. package/resources/dir/dir.d.ts.map +1 -1
  158. package/resources/dir/dir.js +78 -14
  159. package/resources/dir/dir.js.map +1 -1
  160. package/resources/dir/dir.mjs +78 -14
  161. package/resources/dir/dir.mjs.map +1 -1
  162. package/resources/dir/index.d.mts +1 -1
  163. package/resources/dir/index.d.mts.map +1 -1
  164. package/resources/dir/index.d.ts +1 -1
  165. package/resources/dir/index.d.ts.map +1 -1
  166. package/resources/dir/index.js.map +1 -1
  167. package/resources/dir/index.mjs.map +1 -1
  168. package/resources/dir/phone-numbers.d.mts +8 -8
  169. package/resources/dir/phone-numbers.d.mts.map +1 -1
  170. package/resources/dir/phone-numbers.d.ts +8 -8
  171. package/resources/dir/phone-numbers.d.ts.map +1 -1
  172. package/resources/dir/phone-numbers.js +4 -4
  173. package/resources/dir/phone-numbers.mjs +4 -4
  174. package/resources/dir/references.d.mts +9 -6
  175. package/resources/dir/references.d.mts.map +1 -1
  176. package/resources/dir/references.d.ts +9 -6
  177. package/resources/dir/references.d.ts.map +1 -1
  178. package/resources/email-templates.d.mts +109 -18
  179. package/resources/email-templates.d.mts.map +1 -1
  180. package/resources/email-templates.d.ts +109 -18
  181. package/resources/email-templates.d.ts.map +1 -1
  182. package/resources/email-templates.js +5 -1
  183. package/resources/email-templates.js.map +1 -1
  184. package/resources/email-templates.mjs +5 -1
  185. package/resources/email-templates.mjs.map +1 -1
  186. package/resources/enterprises/dir.d.mts +25 -3
  187. package/resources/enterprises/dir.d.mts.map +1 -1
  188. package/resources/enterprises/dir.d.ts +25 -3
  189. package/resources/enterprises/dir.d.ts.map +1 -1
  190. package/resources/enterprises/dir.js +8 -2
  191. package/resources/enterprises/dir.js.map +1 -1
  192. package/resources/enterprises/dir.mjs +8 -2
  193. package/resources/enterprises/dir.mjs.map +1 -1
  194. package/resources/enterprises/enterprises.d.mts +244 -28
  195. package/resources/enterprises/enterprises.d.mts.map +1 -1
  196. package/resources/enterprises/enterprises.d.ts +244 -28
  197. package/resources/enterprises/enterprises.d.ts.map +1 -1
  198. package/resources/enterprises/enterprises.js +31 -7
  199. package/resources/enterprises/enterprises.js.map +1 -1
  200. package/resources/enterprises/enterprises.mjs +31 -7
  201. package/resources/enterprises/enterprises.mjs.map +1 -1
  202. package/resources/enterprises/index.d.mts +2 -1
  203. package/resources/enterprises/index.d.mts.map +1 -1
  204. package/resources/enterprises/index.d.ts +2 -1
  205. package/resources/enterprises/index.d.ts.map +1 -1
  206. package/resources/enterprises/index.js +3 -1
  207. package/resources/enterprises/index.js.map +1 -1
  208. package/resources/enterprises/index.mjs +1 -0
  209. package/resources/enterprises/index.mjs.map +1 -1
  210. package/resources/enterprises/reputation/external-verification.d.mts +94 -0
  211. package/resources/enterprises/reputation/external-verification.d.mts.map +1 -0
  212. package/resources/enterprises/reputation/external-verification.d.ts +94 -0
  213. package/resources/enterprises/reputation/external-verification.d.ts.map +1 -0
  214. package/resources/enterprises/reputation/external-verification.js +54 -0
  215. package/resources/enterprises/reputation/external-verification.js.map +1 -0
  216. package/resources/enterprises/reputation/external-verification.mjs +50 -0
  217. package/resources/enterprises/reputation/external-verification.mjs.map +1 -0
  218. package/resources/enterprises/reputation/index.d.mts +3 -2
  219. package/resources/enterprises/reputation/index.d.mts.map +1 -1
  220. package/resources/enterprises/reputation/index.d.ts +3 -2
  221. package/resources/enterprises/reputation/index.d.ts.map +1 -1
  222. package/resources/enterprises/reputation/index.js +3 -1
  223. package/resources/enterprises/reputation/index.js.map +1 -1
  224. package/resources/enterprises/reputation/index.mjs +1 -0
  225. package/resources/enterprises/reputation/index.mjs.map +1 -1
  226. package/resources/enterprises/reputation/loa.d.mts +64 -3
  227. package/resources/enterprises/reputation/loa.d.mts.map +1 -1
  228. package/resources/enterprises/reputation/loa.d.ts +64 -3
  229. package/resources/enterprises/reputation/loa.d.ts.map +1 -1
  230. package/resources/enterprises/reputation/numbers.d.mts +197 -4
  231. package/resources/enterprises/reputation/numbers.d.mts.map +1 -1
  232. package/resources/enterprises/reputation/numbers.d.ts +197 -4
  233. package/resources/enterprises/reputation/numbers.d.ts.map +1 -1
  234. package/resources/enterprises/reputation/numbers.js +58 -2
  235. package/resources/enterprises/reputation/numbers.js.map +1 -1
  236. package/resources/enterprises/reputation/numbers.mjs +58 -2
  237. package/resources/enterprises/reputation/numbers.mjs.map +1 -1
  238. package/resources/enterprises/reputation/remediation.d.mts +3 -2
  239. package/resources/enterprises/reputation/remediation.d.mts.map +1 -1
  240. package/resources/enterprises/reputation/remediation.d.ts +3 -2
  241. package/resources/enterprises/reputation/remediation.d.ts.map +1 -1
  242. package/resources/enterprises/reputation/reputation.d.mts +39 -3
  243. package/resources/enterprises/reputation/reputation.d.mts.map +1 -1
  244. package/resources/enterprises/reputation/reputation.d.ts +39 -3
  245. package/resources/enterprises/reputation/reputation.d.ts.map +1 -1
  246. package/resources/enterprises/reputation/reputation.js +22 -0
  247. package/resources/enterprises/reputation/reputation.js.map +1 -1
  248. package/resources/enterprises/reputation/reputation.mjs +22 -0
  249. package/resources/enterprises/reputation/reputation.mjs.map +1 -1
  250. package/resources/enterprises/verify-email.d.mts +91 -0
  251. package/resources/enterprises/verify-email.d.mts.map +1 -0
  252. package/resources/enterprises/verify-email.d.ts +91 -0
  253. package/resources/enterprises/verify-email.d.ts.map +1 -0
  254. package/resources/enterprises/verify-email.js +55 -0
  255. package/resources/enterprises/verify-email.js.map +1 -0
  256. package/resources/enterprises/verify-email.mjs +51 -0
  257. package/resources/enterprises/verify-email.mjs.map +1 -0
  258. package/resources/global-ip-assignment-health.d.mts +4 -4
  259. package/resources/global-ip-assignment-health.d.mts.map +1 -1
  260. package/resources/global-ip-assignment-health.d.ts +4 -4
  261. package/resources/global-ip-assignment-health.d.ts.map +1 -1
  262. package/resources/global-ip-assignments-usage.d.mts +4 -4
  263. package/resources/global-ip-assignments-usage.d.mts.map +1 -1
  264. package/resources/global-ip-assignments-usage.d.ts +4 -4
  265. package/resources/global-ip-assignments-usage.d.ts.map +1 -1
  266. package/resources/index.d.mts +6 -3
  267. package/resources/index.d.mts.map +1 -1
  268. package/resources/index.d.ts +6 -3
  269. package/resources/index.d.ts.map +1 -1
  270. package/resources/index.js +9 -3
  271. package/resources/index.js.map +1 -1
  272. package/resources/index.mjs +3 -0
  273. package/resources/index.mjs.map +1 -1
  274. package/resources/infringement-claims.d.mts +4 -0
  275. package/resources/infringement-claims.d.mts.map +1 -1
  276. package/resources/infringement-claims.d.ts +4 -0
  277. package/resources/infringement-claims.d.ts.map +1 -1
  278. package/resources/llm-token-gateway/index.d.mts +6 -0
  279. package/resources/llm-token-gateway/index.d.mts.map +1 -0
  280. package/resources/llm-token-gateway/index.d.ts +6 -0
  281. package/resources/llm-token-gateway/index.d.ts.map +1 -0
  282. package/resources/llm-token-gateway/index.js +15 -0
  283. package/resources/llm-token-gateway/index.js.map +1 -0
  284. package/resources/llm-token-gateway/index.mjs +7 -0
  285. package/resources/llm-token-gateway/index.mjs.map +1 -0
  286. package/resources/llm-token-gateway/llm-token-gateway.d.mts +22 -0
  287. package/resources/llm-token-gateway/llm-token-gateway.d.mts.map +1 -0
  288. package/resources/llm-token-gateway/llm-token-gateway.d.ts +22 -0
  289. package/resources/llm-token-gateway/llm-token-gateway.d.ts.map +1 -0
  290. package/resources/llm-token-gateway/llm-token-gateway.js +29 -0
  291. package/resources/llm-token-gateway/llm-token-gateway.js.map +1 -0
  292. package/resources/llm-token-gateway/llm-token-gateway.mjs +24 -0
  293. package/resources/llm-token-gateway/llm-token-gateway.mjs.map +1 -0
  294. package/resources/llm-token-gateway/spend.d.mts +223 -0
  295. package/resources/llm-token-gateway/spend.d.mts.map +1 -0
  296. package/resources/llm-token-gateway/spend.d.ts +223 -0
  297. package/resources/llm-token-gateway/spend.d.ts.map +1 -0
  298. package/resources/llm-token-gateway/spend.js +56 -0
  299. package/resources/llm-token-gateway/spend.js.map +1 -0
  300. package/resources/llm-token-gateway/spend.mjs +52 -0
  301. package/resources/llm-token-gateway/spend.mjs.map +1 -0
  302. package/resources/llm-token-gateway/token-groups.d.mts +577 -0
  303. package/resources/llm-token-gateway/token-groups.d.mts.map +1 -0
  304. package/resources/llm-token-gateway/token-groups.d.ts +577 -0
  305. package/resources/llm-token-gateway/token-groups.d.ts.map +1 -0
  306. package/resources/llm-token-gateway/token-groups.js +139 -0
  307. package/resources/llm-token-gateway/token-groups.js.map +1 -0
  308. package/resources/llm-token-gateway/token-groups.mjs +135 -0
  309. package/resources/llm-token-gateway/token-groups.mjs.map +1 -0
  310. package/resources/llm-token-gateway/token-keys.d.mts +318 -0
  311. package/resources/llm-token-gateway/token-keys.d.mts.map +1 -0
  312. package/resources/llm-token-gateway/token-keys.d.ts +318 -0
  313. package/resources/llm-token-gateway/token-keys.d.ts.map +1 -0
  314. package/resources/llm-token-gateway/token-keys.js +127 -0
  315. package/resources/llm-token-gateway/token-keys.js.map +1 -0
  316. package/resources/llm-token-gateway/token-keys.mjs +123 -0
  317. package/resources/llm-token-gateway/token-keys.mjs.map +1 -0
  318. package/resources/llm-token-gateway/usage.d.mts +319 -0
  319. package/resources/llm-token-gateway/usage.d.mts.map +1 -0
  320. package/resources/llm-token-gateway/usage.d.ts +319 -0
  321. package/resources/llm-token-gateway/usage.d.ts.map +1 -0
  322. package/resources/llm-token-gateway/usage.js +63 -0
  323. package/resources/llm-token-gateway/usage.js.map +1 -0
  324. package/resources/llm-token-gateway/usage.mjs +59 -0
  325. package/resources/llm-token-gateway/usage.mjs.map +1 -0
  326. package/resources/llm-token-gateway.d.mts +2 -0
  327. package/resources/llm-token-gateway.d.mts.map +1 -0
  328. package/resources/llm-token-gateway.d.ts +2 -0
  329. package/resources/llm-token-gateway.d.ts.map +1 -0
  330. package/resources/llm-token-gateway.js +6 -0
  331. package/resources/llm-token-gateway.js.map +1 -0
  332. package/resources/llm-token-gateway.mjs +3 -0
  333. package/resources/llm-token-gateway.mjs.map +1 -0
  334. package/resources/meeting-sessions/meeting-sessions.d.mts +8 -9
  335. package/resources/meeting-sessions/meeting-sessions.d.mts.map +1 -1
  336. package/resources/meeting-sessions/meeting-sessions.d.ts +8 -9
  337. package/resources/meeting-sessions/meeting-sessions.d.ts.map +1 -1
  338. package/resources/meeting-sessions/meeting-sessions.js +6 -6
  339. package/resources/meeting-sessions/meeting-sessions.js.map +1 -1
  340. package/resources/meeting-sessions/meeting-sessions.mjs +6 -6
  341. package/resources/meeting-sessions/meeting-sessions.mjs.map +1 -1
  342. package/resources/phone-numbers/jobs.d.mts +17 -5
  343. package/resources/phone-numbers/jobs.d.mts.map +1 -1
  344. package/resources/phone-numbers/jobs.d.ts +17 -5
  345. package/resources/phone-numbers/jobs.d.ts.map +1 -1
  346. package/resources/phone-numbers/jobs.js +4 -3
  347. package/resources/phone-numbers/jobs.js.map +1 -1
  348. package/resources/phone-numbers/jobs.mjs +4 -3
  349. package/resources/phone-numbers/jobs.mjs.map +1 -1
  350. package/resources/porting-orders/phone-number-blocks.d.mts +1 -1
  351. package/resources/porting-orders/phone-number-blocks.d.mts.map +1 -1
  352. package/resources/porting-orders/phone-number-blocks.d.ts +1 -1
  353. package/resources/porting-orders/phone-number-blocks.d.ts.map +1 -1
  354. package/resources/porting-orders/porting-orders.d.mts +1 -1
  355. package/resources/porting-orders/porting-orders.d.mts.map +1 -1
  356. package/resources/porting-orders/porting-orders.d.ts +1 -1
  357. package/resources/porting-orders/porting-orders.d.ts.map +1 -1
  358. package/resources/porting-orders/porting-orders.js.map +1 -1
  359. package/resources/porting-orders/porting-orders.mjs.map +1 -1
  360. package/resources/porting-phone-numbers.d.mts +1 -1
  361. package/resources/porting-phone-numbers.d.mts.map +1 -1
  362. package/resources/porting-phone-numbers.d.ts +1 -1
  363. package/resources/porting-phone-numbers.d.ts.map +1 -1
  364. package/resources/reputation/numbers.d.mts +10 -0
  365. package/resources/reputation/numbers.d.mts.map +1 -1
  366. package/resources/reputation/numbers.d.ts +10 -0
  367. package/resources/reputation/numbers.d.ts.map +1 -1
  368. package/resources/requirements.d.mts +2 -2
  369. package/resources/requirements.d.mts.map +1 -1
  370. package/resources/requirements.d.ts +2 -2
  371. package/resources/requirements.d.ts.map +1 -1
  372. package/resources/sip-registration-status.d.mts +149 -0
  373. package/resources/sip-registration-status.d.mts.map +1 -0
  374. package/resources/sip-registration-status.d.ts +149 -0
  375. package/resources/sip-registration-status.d.ts.map +1 -0
  376. package/resources/sip-registration-status.js +32 -0
  377. package/resources/sip-registration-status.js.map +1 -0
  378. package/resources/sip-registration-status.mjs +28 -0
  379. package/resources/sip-registration-status.mjs.map +1 -0
  380. package/resources/spend-limits.d.mts +335 -0
  381. package/resources/spend-limits.d.mts.map +1 -0
  382. package/resources/spend-limits.d.ts +335 -0
  383. package/resources/spend-limits.d.ts.map +1 -0
  384. package/resources/spend-limits.js +91 -0
  385. package/resources/spend-limits.js.map +1 -0
  386. package/resources/spend-limits.mjs +87 -0
  387. package/resources/spend-limits.mjs.map +1 -0
  388. package/resources/terms-of-service/agreements.d.mts +12 -0
  389. package/resources/terms-of-service/agreements.d.mts.map +1 -1
  390. package/resources/terms-of-service/agreements.d.ts +12 -0
  391. package/resources/terms-of-service/agreements.d.ts.map +1 -1
  392. package/resources/terms-of-service/terms-of-service.d.mts +15 -0
  393. package/resources/terms-of-service/terms-of-service.d.mts.map +1 -1
  394. package/resources/terms-of-service/terms-of-service.d.ts +15 -0
  395. package/resources/terms-of-service/terms-of-service.d.ts.map +1 -1
  396. package/resources/terms-of-service/terms-of-service.js.map +1 -1
  397. package/resources/terms-of-service/terms-of-service.mjs.map +1 -1
  398. package/resources/texml/texml.d.mts +7 -3
  399. package/resources/texml/texml.d.mts.map +1 -1
  400. package/resources/texml/texml.d.ts +7 -3
  401. package/resources/texml/texml.d.ts.map +1 -1
  402. package/resources/texml/texml.js +4 -2
  403. package/resources/texml/texml.js.map +1 -1
  404. package/resources/texml/texml.mjs +4 -2
  405. package/resources/texml/texml.mjs.map +1 -1
  406. package/resources/text-to-speech/text-to-speech.d.mts +4 -2
  407. package/resources/text-to-speech/text-to-speech.d.mts.map +1 -1
  408. package/resources/text-to-speech/text-to-speech.d.ts +4 -2
  409. package/resources/text-to-speech/text-to-speech.d.ts.map +1 -1
  410. package/resources/webhooks.d.mts +967 -6
  411. package/resources/webhooks.d.mts.map +1 -1
  412. package/resources/webhooks.d.ts +967 -6
  413. package/resources/webhooks.d.ts.map +1 -1
  414. package/resources/webhooks.js.map +1 -1
  415. package/resources/webhooks.mjs.map +1 -1
  416. package/resources/whatsapp/index.d.mts +1 -0
  417. package/resources/whatsapp/index.d.mts.map +1 -1
  418. package/resources/whatsapp/index.d.ts +1 -0
  419. package/resources/whatsapp/index.d.ts.map +1 -1
  420. package/resources/whatsapp/index.js +3 -1
  421. package/resources/whatsapp/index.js.map +1 -1
  422. package/resources/whatsapp/index.mjs +1 -0
  423. package/resources/whatsapp/index.mjs.map +1 -1
  424. package/resources/whatsapp/phone-numbers/calling-routing.d.mts +90 -0
  425. package/resources/whatsapp/phone-numbers/calling-routing.d.mts.map +1 -0
  426. package/resources/whatsapp/phone-numbers/calling-routing.d.ts +90 -0
  427. package/resources/whatsapp/phone-numbers/calling-routing.d.ts.map +1 -0
  428. package/resources/whatsapp/phone-numbers/calling-routing.js +66 -0
  429. package/resources/whatsapp/phone-numbers/calling-routing.js.map +1 -0
  430. package/resources/whatsapp/phone-numbers/calling-routing.mjs +62 -0
  431. package/resources/whatsapp/phone-numbers/calling-routing.mjs.map +1 -0
  432. package/resources/whatsapp/phone-numbers/index.d.mts +1 -0
  433. package/resources/whatsapp/phone-numbers/index.d.mts.map +1 -1
  434. package/resources/whatsapp/phone-numbers/index.d.ts +1 -0
  435. package/resources/whatsapp/phone-numbers/index.d.ts.map +1 -1
  436. package/resources/whatsapp/phone-numbers/index.js +3 -1
  437. package/resources/whatsapp/phone-numbers/index.js.map +1 -1
  438. package/resources/whatsapp/phone-numbers/index.mjs +1 -0
  439. package/resources/whatsapp/phone-numbers/index.mjs.map +1 -1
  440. package/resources/whatsapp/phone-numbers/phone-numbers.d.mts +4 -0
  441. package/resources/whatsapp/phone-numbers/phone-numbers.d.mts.map +1 -1
  442. package/resources/whatsapp/phone-numbers/phone-numbers.d.ts +4 -0
  443. package/resources/whatsapp/phone-numbers/phone-numbers.d.ts.map +1 -1
  444. package/resources/whatsapp/phone-numbers/phone-numbers.js +4 -0
  445. package/resources/whatsapp/phone-numbers/phone-numbers.js.map +1 -1
  446. package/resources/whatsapp/phone-numbers/phone-numbers.mjs +4 -0
  447. package/resources/whatsapp/phone-numbers/phone-numbers.mjs.map +1 -1
  448. package/resources/whatsapp/signup.d.mts +128 -0
  449. package/resources/whatsapp/signup.d.mts.map +1 -0
  450. package/resources/whatsapp/signup.d.ts +128 -0
  451. package/resources/whatsapp/signup.d.ts.map +1 -0
  452. package/resources/whatsapp/signup.js +42 -0
  453. package/resources/whatsapp/signup.js.map +1 -0
  454. package/resources/whatsapp/signup.mjs +38 -0
  455. package/resources/whatsapp/signup.mjs.map +1 -0
  456. package/resources/whatsapp/whatsapp.d.mts +4 -0
  457. package/resources/whatsapp/whatsapp.d.mts.map +1 -1
  458. package/resources/whatsapp/whatsapp.d.ts +4 -0
  459. package/resources/whatsapp/whatsapp.d.ts.map +1 -1
  460. package/resources/whatsapp/whatsapp.js +4 -0
  461. package/resources/whatsapp/whatsapp.js.map +1 -1
  462. package/resources/whatsapp/whatsapp.mjs +4 -0
  463. package/resources/whatsapp/whatsapp.mjs.map +1 -1
  464. package/src/client.ts +83 -0
  465. package/src/resources/ai/ai.ts +48 -4
  466. package/src/resources/ai/assistants/assistants.ts +676 -33
  467. package/src/resources/ai/assistants/deleted.ts +86 -0
  468. package/src/resources/ai/assistants/index.ts +13 -0
  469. package/src/resources/ai/assistants/versions.ts +54 -0
  470. package/src/resources/ai/avatars.ts +238 -0
  471. package/src/resources/ai/chat.ts +21 -2
  472. package/src/resources/ai/conversations/conversations.ts +9 -0
  473. package/src/resources/ai/embeddings/embeddings.ts +1 -1
  474. package/src/resources/ai/index.ts +18 -1
  475. package/src/resources/ai/memory/index.ts +9 -1
  476. package/src/resources/ai/memory/memory.ts +13 -1
  477. package/src/resources/ai/memory/namespaces/index.ts +11 -1
  478. package/src/resources/ai/memory/namespaces/namespaces.ts +85 -3
  479. package/src/resources/ai/memory/namespaces/profiles/index.ts +2 -0
  480. package/src/resources/ai/memory/namespaces/profiles/profiles.ts +71 -0
  481. package/src/resources/ai/openai/chat.ts +21 -2
  482. package/src/resources/ai/tools.ts +25 -7
  483. package/src/resources/calls/actions.ts +141 -25
  484. package/src/resources/calls/calls.ts +73 -17
  485. package/src/resources/calls/index.ts +1 -0
  486. package/src/resources/dir/dir.ts +269 -35
  487. package/src/resources/dir/index.ts +6 -0
  488. package/src/resources/dir/phone-numbers.ts +9 -10
  489. package/src/resources/dir/references.ts +9 -6
  490. package/src/resources/email-templates.ts +121 -19
  491. package/src/resources/enterprises/dir.ts +27 -3
  492. package/src/resources/enterprises/enterprises.ts +257 -26
  493. package/src/resources/enterprises/index.ts +6 -0
  494. package/src/resources/enterprises/reputation/external-verification.ts +125 -0
  495. package/src/resources/enterprises/reputation/index.ts +12 -0
  496. package/src/resources/enterprises/reputation/loa.ts +76 -3
  497. package/src/resources/enterprises/reputation/numbers.ts +256 -3
  498. package/src/resources/enterprises/reputation/remediation.ts +3 -2
  499. package/src/resources/enterprises/reputation/reputation.ts +70 -0
  500. package/src/resources/enterprises/verify-email.ts +117 -0
  501. package/src/resources/global-ip-assignment-health.ts +4 -4
  502. package/src/resources/global-ip-assignments-usage.ts +4 -4
  503. package/src/resources/index.ts +31 -0
  504. package/src/resources/infringement-claims.ts +4 -0
  505. package/src/resources/llm-token-gateway/index.ts +41 -0
  506. package/src/resources/llm-token-gateway/llm-token-gateway.ts +101 -0
  507. package/src/resources/llm-token-gateway/spend.ts +309 -0
  508. package/src/resources/llm-token-gateway/token-groups.ts +724 -0
  509. package/src/resources/llm-token-gateway/token-keys.ts +422 -0
  510. package/src/resources/llm-token-gateway/usage.ts +460 -0
  511. package/src/resources/llm-token-gateway.ts +3 -0
  512. package/src/resources/meeting-sessions/meeting-sessions.ts +8 -9
  513. package/src/resources/phone-numbers/jobs.ts +18 -5
  514. package/src/resources/porting-orders/phone-number-blocks.ts +9 -1
  515. package/src/resources/porting-orders/porting-orders.ts +9 -1
  516. package/src/resources/porting-phone-numbers.ts +9 -1
  517. package/src/resources/reputation/numbers.ts +12 -0
  518. package/src/resources/requirements.ts +2 -2
  519. package/src/resources/sip-registration-status.ts +188 -0
  520. package/src/resources/spend-limits.ts +428 -0
  521. package/src/resources/terms-of-service/agreements.ts +12 -0
  522. package/src/resources/terms-of-service/terms-of-service.ts +15 -0
  523. package/src/resources/texml/texml.ts +7 -3
  524. package/src/resources/text-to-speech/text-to-speech.ts +4 -2
  525. package/src/resources/webhooks.ts +1460 -228
  526. package/src/resources/whatsapp/index.ts +7 -0
  527. package/src/resources/whatsapp/phone-numbers/calling-routing.ts +114 -0
  528. package/src/resources/whatsapp/phone-numbers/index.ts +7 -0
  529. package/src/resources/whatsapp/phone-numbers/phone-numbers.ts +18 -0
  530. package/src/resources/whatsapp/signup.ts +188 -0
  531. package/src/resources/whatsapp/whatsapp.ts +18 -0
  532. package/src/version.ts +1 -1
  533. package/version.d.mts +1 -1
  534. package/version.d.ts +1 -1
  535. package/version.js +1 -1
  536. package/version.mjs +1 -1
@@ -3,6 +3,7 @@
3
3
  import { APIResource } from '../../../core/resource';
4
4
  import * as AssistantsAPI from './assistants';
5
5
  import * as Shared from '../../shared';
6
+ import * as AvatarsAPI from '../avatars';
6
7
  import * as ChatAPI from '../chat';
7
8
  import * as ToolsAPI from '../tools';
8
9
  import * as CanaryDeploysAPI from './canary-deploys';
@@ -18,6 +19,13 @@ import {
18
19
  RuleOutput,
19
20
  Serve,
20
21
  } from './canary-deploys';
22
+ import * as DeletedAPI from './deleted';
23
+ import {
24
+ Deleted,
25
+ DeletedAssistant,
26
+ DeletedAssistantsDefaultFlatPagination,
27
+ DeletedListParams,
28
+ } from './deleted';
21
29
  import * as InstructionsAPI from './instructions';
22
30
  import { InstructionEnhanceParams, InstructionEnhanceResponse, Instructions } from './instructions';
23
31
  import * as ScheduledEventsAPI from './scheduled-events';
@@ -84,6 +92,7 @@ export class Assistants extends APIResource {
84
92
  versions: VersionsAPI.Versions = new VersionsAPI.Versions(this._client);
85
93
  tags: TagsAPI.Tags = new TagsAPI.Tags(this._client);
86
94
  instructions: InstructionsAPI.Instructions = new InstructionsAPI.Instructions(this._client);
95
+ deleted: DeletedAPI.Deleted = new DeletedAPI.Deleted(this._client);
87
96
 
88
97
  /**
89
98
  * Retrieve a list of all AI Assistants configured by the user.
@@ -151,6 +160,20 @@ export class Assistants extends APIResource {
151
160
  /**
152
161
  * Delete an AI Assistant by `assistant_id`.
153
162
  *
163
+ * By default this performs a soft delete: the assistant moves to the Recently
164
+ * Deleted list and stays restorable for 30 days, after which it is permanently
165
+ * deleted automatically. The assistant's versions and TeXML application are
166
+ * preserved during the retention window.
167
+ *
168
+ * Pass `hard_delete=true` to skip the retention window and permanently delete the
169
+ * assistant immediately. A hard delete erases the assistant and all of its
170
+ * versions, and deletes its TeXML application unless phone numbers are still
171
+ * assigned to it. It does not delete conversations, recordings, shared tools the
172
+ * assistant referenced, or knowledge-base embeddings.
173
+ *
174
+ * Deletion fails with `400` if other assistants reference this one through a
175
+ * handoff tool or a conversation-flow edge — remove those references first.
176
+ *
154
177
  * @example
155
178
  * ```ts
156
179
  * const assistant = await client.ai.assistants.delete(
@@ -158,8 +181,13 @@ export class Assistants extends APIResource {
158
181
  * );
159
182
  * ```
160
183
  */
161
- delete(assistantID: string, options?: RequestOptions): APIPromise<AssistantDeleteResponse> {
162
- return this._client.delete(path`/ai/assistants/${assistantID}`, options);
184
+ delete(
185
+ assistantID: string,
186
+ params: AssistantDeleteParams | null | undefined = {},
187
+ options?: RequestOptions,
188
+ ): APIPromise<AssistantDeleteResponse> {
189
+ const { hard_delete } = params ?? {};
190
+ return this._client.delete(path`/ai/assistants/${assistantID}`, { query: { hard_delete }, ...options });
163
191
  }
164
192
 
165
193
  /**
@@ -306,6 +334,70 @@ export class Assistants extends APIResource {
306
334
  ]),
307
335
  });
308
336
  }
337
+
338
+ /**
339
+ * Start a WhatsApp conversation with a customer from the business side. This
340
+ * endpoint:
341
+ *
342
+ * 1. Validates that `from` is a WhatsApp number on your account whose messaging
343
+ * profile has this assistant configured
344
+ * 2. Creates a new `whatsapp_chat` conversation with the provided metadata
345
+ * 3. Asks the assistant to pick one of its approved WhatsApp templates and fill
346
+ * its variables from `content`
347
+ * 4. Sends the template from `from` to `to`
348
+ * 5. Returns the conversation ID and the message ID
349
+ *
350
+ * When the customer replies, the reply is routed to the same conversation and the
351
+ * assistant answers within the 24-hour customer service window. The assistant
352
+ * needs a `whatsapp_template` tool with at least one approved template, data
353
+ * retention enabled and PII redaction disabled.
354
+ *
355
+ * @example
356
+ * ```ts
357
+ * const response = await client.ai.assistants.whatsapp(
358
+ * 'assistant_id',
359
+ * {
360
+ * content:
361
+ * 'Send the login verification code 482913 to the customer.',
362
+ * from: '+13125550001',
363
+ * to: '+13125550002',
364
+ * conversation_metadata: { order_id: 'A1' },
365
+ * },
366
+ * );
367
+ * ```
368
+ */
369
+ whatsapp(
370
+ assistantID: string,
371
+ params: AssistantWhatsappParams,
372
+ options?: RequestOptions,
373
+ ): APIPromise<AssistantWhatsappResponse> {
374
+ const { 'Idempotency-Key': idempotencyKey, ...body } = params;
375
+ return this._client.post(path`/ai/assistants/${assistantID}/chat/whatsapp`, {
376
+ body,
377
+ ...options,
378
+ headers: buildHeaders([
379
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
380
+ options?.headers,
381
+ ]),
382
+ });
383
+ }
384
+
385
+ /**
386
+ * Restore a soft-deleted assistant from the Recently Deleted list.
387
+ *
388
+ * The assistant becomes fully active again with its versions and TeXML application
389
+ * as they were at deletion time. Restoring does not re-enable numbers or
390
+ * connections that were released separately after the deletion.
391
+ *
392
+ * @example
393
+ * ```ts
394
+ * const inferenceEmbedding =
395
+ * await client.ai.assistants.restore('assistant_id');
396
+ * ```
397
+ */
398
+ restore(assistantID: string, options?: RequestOptions): APIPromise<InferenceEmbedding> {
399
+ return this._client.post(path`/ai/assistants/${assistantID}/restore`, options);
400
+ }
309
401
  }
310
402
 
311
403
  /**
@@ -1004,6 +1096,20 @@ export namespace AssistantTool {
1004
1096
  * `shared` the exchange stays in the conversation like any other messages.
1005
1097
  */
1006
1098
  end_user_target_context_mode?: 'private' | 'shared';
1099
+
1100
+ /**
1101
+ * Fail closed when the acceptance consult cannot run. Off by default: if the
1102
+ * consult cannot be set up for any reason — including where acceptance is
1103
+ * unavailable at all (`gather_using_ai`, Conversation Relay or web calls, a
1104
+ * conference, or additional invited participants) — the transfer degrades to a
1105
+ * plain warm transfer (the warm transfer message is played to the destination as
1106
+ * audio and the calls are bridged anyway). Set to true to treat those paths as a
1107
+ * decline instead: the destination is disconnected without being asked, the
1108
+ * assistant returns to the caller, and no bridge happens without an acceptance.
1109
+ * Only consult-setup failures are affected; the destination must still explicitly
1110
+ * accept on every consult that does run.
1111
+ */
1112
+ require_acceptance?: boolean;
1007
1113
  }
1008
1114
  }
1009
1115
  }
@@ -1349,6 +1455,34 @@ export interface AudioVisualizerConfig {
1349
1455
  */
1350
1456
  export type AuthenticationMethod = 'token' | 'certificate';
1351
1457
 
1458
+ /**
1459
+ * **Beta:** Configuration for the Telnyx open-source avatar provider. Use one of
1460
+ * the six stock avatars or an organization-owned custom avatar returned by the
1461
+ * Avatars API. Supported backgrounds are office, studio, and reception.
1462
+ */
1463
+ export interface AvatarSettingsRequest {
1464
+ /**
1465
+ * The Telnyx stock avatar or organization-owned custom avatar to render.
1466
+ */
1467
+ avatar_id: AvatarsAPI.AvatarID;
1468
+
1469
+ /**
1470
+ * The background to render.
1471
+ */
1472
+ background_id: 'office' | 'studio' | 'reception';
1473
+
1474
+ /**
1475
+ * Required avatar model identifier, separate from `avatar_id`. The supported value
1476
+ * is `foxtrot-1`. Omission, null, and unsupported model identifiers are rejected.
1477
+ */
1478
+ model: 'foxtrot-1';
1479
+
1480
+ /**
1481
+ * Selects the Telnyx open-source avatar provider.
1482
+ */
1483
+ provider: 'telnyx';
1484
+ }
1485
+
1352
1486
  /**
1353
1487
  * Combine sub-expressions with a logical operator (`and` / `or` / `not`).
1354
1488
  *
@@ -1429,7 +1563,7 @@ export interface ConversationFlow {
1429
1563
  export interface ConversationFlowReq {
1430
1564
  /**
1431
1565
  * All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
1432
- * (`type: prompt`) or a tool node (`type: tool`).
1566
+ * (`type: prompt`), a tool node (`type: tool`), or a speak node (`type: speak`).
1433
1567
  */
1434
1568
  nodes: Array<FlowNodeReq | ToolNodeReq | SpeakNodeReq>;
1435
1569
 
@@ -1444,6 +1578,73 @@ export interface ConversationFlowReq {
1444
1578
  edges?: Array<FlowEdge>;
1445
1579
  }
1446
1580
 
1581
+ /**
1582
+ * Splits the conversation between a frontend model that talks to the caller and a
1583
+ * backend model that does the work. On the GPT-Live route the frontend model
1584
+ * cannot call tools at all — when it needs something done it raises a delegation
1585
+ * and waits. On the chat completion route the frontend keeps a single `delegate`
1586
+ * tool that returns immediately, so the conversation carries on while the backend
1587
+ * works. Either way the backend's answer is spoken as commentary or kept as silent
1588
+ * context, depending on `speak_results`. Beta feature.
1589
+ */
1590
+ export interface DelegationSettings {
1591
+ /**
1592
+ * Whether the assistant delegates work to a backend model. Defaults to `true`: a
1593
+ * GPT-Live assistant with delegation disabled can hold a conversation but can
1594
+ * never look anything up or run a tool.
1595
+ */
1596
+ enabled?: boolean;
1597
+
1598
+ /**
1599
+ * Run the backend on your own OpenAI-compatible endpoint instead of a
1600
+ * Telnyx-hosted model. As above, a raw `api_key` here is rejected — reference an
1601
+ * integration secret with `external_llm.llm_api_key_ref` instead.
1602
+ */
1603
+ external_llm?: ExternalLlm;
1604
+
1605
+ /**
1606
+ * Extra instructions for the backend model, in addition to the assistant's own.
1607
+ * Use this for the business rules the backend needs and the talking model does
1608
+ * not.
1609
+ */
1610
+ instructions?: string;
1611
+
1612
+ /**
1613
+ * Integration secret identifier for the backend model's API key. Required for
1614
+ * models from providers other than Telnyx, OpenAI and Anthropic. A raw `api_key`
1615
+ * is rejected rather than ignored, so that no plaintext credential is stored on
1616
+ * the assistant.
1617
+ */
1618
+ llm_api_key_ref?: string;
1619
+
1620
+ /**
1621
+ * Who answers a delegation. `telnyx` runs the backend model on Telnyx with the
1622
+ * assistant's own tools, MCP servers and observability. `client` relays the
1623
+ * delegation to a server you host over the WebSocket configured in
1624
+ * `websocket_settings`: Telnyx sends a `session.delegation.created` frame and
1625
+ * waits for your `session.delegation.completed` answer. That answer is text only,
1626
+ * since the socket offers no tool vocabulary. If no socket is connected the
1627
+ * delegation is refused and the assistant tells the caller it cannot look things
1628
+ * up right now. Defaults to `telnyx`.
1629
+ */
1630
+ mode?: 'telnyx' | 'client';
1631
+
1632
+ /**
1633
+ * The backend model that answers delegations. Must be a model available for AI
1634
+ * Assistants. When enabling `telnyx` delegation, explicitly set this field or
1635
+ * `external_llm.model`; a configuration without either backend model is rejected.
1636
+ * Only applies when `mode` is `telnyx`.
1637
+ */
1638
+ model?: string;
1639
+
1640
+ /**
1641
+ * Whether the backend's answer is spoken to the caller. When `true` the result is
1642
+ * appended as commentary and paraphrased aloud; when `false` it is kept as silent
1643
+ * context that informs later answers without being read out. Defaults to `true`.
1644
+ */
1645
+ speak_results?: boolean;
1646
+ }
1647
+
1447
1648
  /**
1448
1649
  * If `telephony` is enabled, the assistant will be able to make and receive calls.
1449
1650
  * If `messaging` is enabled, the assistant will be able to send and receive
@@ -1644,9 +1845,14 @@ export interface FallbackConfigReq {
1644
1845
  * Directed transition from one node to a target, gated by a condition.
1645
1846
  *
1646
1847
  * The target is either another node in the same flow (`NodeTarget`) or a different
1647
- * assistant (`AssistantTarget`). Multiple edges may share a `start_node_id`; the
1648
- * runtime evaluates them in the order they're declared and takes the first whose
1649
- * condition is true.
1848
+ * assistant (`AssistantTarget`). Multiple edges may share a `start_node_id`. On
1849
+ * calls, `expression` conditions are evaluated before the model turn and take
1850
+ * precedence over `llm` conditions regardless of declaration order, while `llm`
1851
+ * conditions are offered to the assistant's model as transition tools and fire
1852
+ * when the model selects one. On chat channels, an `expression` condition that is
1853
+ * true when the turn begins routes before the reply is generated; all conditioned
1854
+ * edges that remain are considered together in declaration order after the reply,
1855
+ * and the first true one wins.
1650
1856
  */
1651
1857
  export interface FlowEdge {
1652
1858
  /**
@@ -1674,15 +1880,22 @@ export interface FlowEdge {
1674
1880
 
1675
1881
  export namespace FlowEdge {
1676
1882
  /**
1677
- * Edge condition evaluated by the LLM from a natural-language prompt.
1883
+ * Edge condition routed by the assistant's LLM from a natural-language prompt.
1678
1884
  *
1679
- * The model is asked to judge the prompt against conversation context and returns
1680
- * true/false. Use this for fuzzy intents that aren't expressible as a
1681
- * deterministic expression (e.g. 'user wants to escalate to a human').
1885
+ * How the edge is decided depends on the channel. On calls, each outgoing `llm`
1886
+ * condition is offered to the assistant's model as a transition tool alongside the
1887
+ * assistant's tools, and the edge fires when the model selects it; the platform
1888
+ * does not evaluate the prompt itself, and instructions that forbid or discourage
1889
+ * tool calls can stop these edges from firing. On chat channels, the edge prompts
1890
+ * are evaluated in a separate model call after the reply, which does not use the
1891
+ * assistant's instructions. Use this for fuzzy intents that aren't expressible as
1892
+ * a deterministic expression (e.g. 'user wants to escalate to a human').
1682
1893
  */
1683
1894
  export interface LlmCondition {
1684
1895
  /**
1685
- * Natural-language criterion the LLM judges as true/false.
1896
+ * Natural-language criterion the model routes on. On calls this is offered to the
1897
+ * model as the transition tool's description; on chat channels it is judged as a
1898
+ * statement in the post-reply evaluation call.
1686
1899
  */
1687
1900
  prompt: string;
1688
1901
 
@@ -1942,13 +2155,18 @@ export interface FlowNodeReq {
1942
2155
 
1943
2156
  /**
1944
2157
  * Per-node transcription override (model/language/region). Unset fields cascade
1945
- * from the assistant-level transcription.
2158
+ * from the assistant-level transcription. A node that sets `model`,
2159
+ * `fallback_models`, or `challenger` doesn't inherit the assistant's
2160
+ * `fallback_models` or `challenger`; it uses only the ones it sets. Otherwise it
2161
+ * inherits them, and they must fit the model and language the node runs; a change
2162
+ * they no longer fit is rejected.
1946
2163
  */
1947
2164
  transcription?: TranscriptionSettings;
1948
2165
 
1949
2166
  /**
1950
2167
  * Node kind discriminator. `prompt` (default) is an LLM-driven step; `tool` is a
1951
- * standalone tool execution (see `ToolNodeReq`).
2168
+ * standalone tool execution and `speak` a scripted message (see `ToolNodeReq` /
2169
+ * `SpeakNodeReq`).
1952
2170
  */
1953
2171
  type?: 'prompt';
1954
2172
 
@@ -2018,11 +2236,29 @@ export interface InferenceEmbedding {
2018
2236
  */
2019
2237
  a2a_agents?: Array<AssistantA2AAgent>;
2020
2238
 
2239
+ /**
2240
+ * **Beta:** Configuration for the Telnyx open-source avatar provider. Use one of
2241
+ * the six stock avatars or an organization-owned custom avatar returned by the
2242
+ * Avatars API. Supported backgrounds are office, studio, and reception.
2243
+ */
2244
+ avatar_settings?: TelnyxAvatarSettings | null;
2245
+
2021
2246
  /**
2022
2247
  * Conversation flow as returned by the API.
2023
2248
  */
2024
2249
  conversation_flow?: ConversationFlow;
2025
2250
 
2251
+ /**
2252
+ * Splits the conversation between a frontend model that talks to the caller and a
2253
+ * backend model that does the work. On the GPT-Live route the frontend model
2254
+ * cannot call tools at all — when it needs something done it raises a delegation
2255
+ * and waits. On the chat completion route the frontend keeps a single `delegate`
2256
+ * tool that returns immediately, so the conversation carries on while the backend
2257
+ * works. Either way the backend's answer is spoken as commentary or kept as silent
2258
+ * context, depending on `speak_results`. Beta feature.
2259
+ */
2260
+ delegation_settings?: DelegationSettings;
2261
+
2026
2262
  description?: string;
2027
2263
 
2028
2264
  /**
@@ -2163,6 +2399,15 @@ export interface InferenceEmbedding {
2163
2399
 
2164
2400
  voice_settings?: InferenceEmbeddingVoiceSettings;
2165
2401
 
2402
+ /**
2403
+ * Streams conversation and telephony events to a WebSocket server you host, and
2404
+ * accepts messages injected back into the conversation. Telnyx opens the
2405
+ * connection as a client, once per conversation. Delivery is best effort
2406
+ * throughout: while the connection is down events are dropped rather than queued,
2407
+ * and no socket failure is ever allowed to affect the call. Beta feature.
2408
+ */
2409
+ websocket_settings?: WebsocketSettings;
2410
+
2166
2411
  /**
2167
2412
  * Configuration settings for the assistant's web widget.
2168
2413
  */
@@ -2235,8 +2480,8 @@ export interface InferenceEmbeddingVoiceSettings {
2235
2480
  * preview it before saving.
2236
2481
  */
2237
2482
  background_audio?:
2238
- | InferenceEmbeddingVoiceSettings.UnionMember0
2239
- | InferenceEmbeddingVoiceSettings.UnionMember1
2483
+ | InferenceEmbeddingVoiceSettings.BackgroundAudioUnionMember0
2484
+ | InferenceEmbeddingVoiceSettings.BackgroundAudioUnionMember1
2240
2485
  | InferenceEmbeddingVoiceSettings.UnionMember2;
2241
2486
 
2242
2487
  /**
@@ -2321,6 +2566,17 @@ export interface InferenceEmbeddingVoiceSettings {
2321
2566
  */
2322
2567
  temperature?: number;
2323
2568
 
2569
+ /**
2570
+ * Optional sound played to the caller while the assistant runs a tool (for example
2571
+ * a webhook or MCP tool). It replaces the background audio until the tool
2572
+ * responds, then the background audio resumes. Defaults to null, which plays no
2573
+ * sound; send `null` on update to clear it. Not played in conference calls.
2574
+ */
2575
+ tool_call_audio?:
2576
+ | InferenceEmbeddingVoiceSettings.ToolCallAudioUnionMember0
2577
+ | InferenceEmbeddingVoiceSettings.ToolCallAudioUnionMember1
2578
+ | null;
2579
+
2324
2580
  /**
2325
2581
  * Amplifies similarity to the original speaker voice. Increases computational load
2326
2582
  * and latency slightly. Only applicable when using ElevenLabs.
@@ -2328,15 +2584,16 @@ export interface InferenceEmbeddingVoiceSettings {
2328
2584
  use_speaker_boost?: boolean;
2329
2585
 
2330
2586
  /**
2331
- * The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger
2332
- * numbers make the voice faster, smaller numbers make it slower. This is only
2333
- * applicable for Telnyx Natural voices and Soniox voices (0.7 to 1.3 for Soniox).
2587
+ * The speed of the voice in the range [0.6, 1.5]. 1.0 is the default speed. Larger
2588
+ * numbers make the voice faster, smaller numbers make it slower. Applies to Telnyx
2589
+ * `Ultra` voices; values outside this range are rejected by the synthesis engine.
2590
+ * Soniox voices support a speed range of 0.7 to 1.3.
2334
2591
  */
2335
2592
  voice_speed?: number;
2336
2593
  }
2337
2594
 
2338
2595
  export namespace InferenceEmbeddingVoiceSettings {
2339
- export interface UnionMember0 {
2596
+ export interface BackgroundAudioUnionMember0 {
2340
2597
  /**
2341
2598
  * Select from predefined media options.
2342
2599
  */
@@ -2354,7 +2611,7 @@ export namespace InferenceEmbeddingVoiceSettings {
2354
2611
  volume?: number;
2355
2612
  }
2356
2613
 
2357
- export interface UnionMember1 {
2614
+ export interface BackgroundAudioUnionMember1 {
2358
2615
  /**
2359
2616
  * Provide a direct URL to an MP3 file. The audio will loop during the call.
2360
2617
  */
@@ -2379,6 +2636,36 @@ export namespace InferenceEmbeddingVoiceSettings {
2379
2636
  */
2380
2637
  value: string;
2381
2638
  }
2639
+
2640
+ export interface ToolCallAudioUnionMember0 {
2641
+ /**
2642
+ * Select from predefined media options.
2643
+ */
2644
+ type: 'predefined_media';
2645
+
2646
+ /**
2647
+ * The predefined media to use. `typing` plays a keyboard typing sound.
2648
+ */
2649
+ value: 'typing';
2650
+
2651
+ /**
2652
+ * Volume level for the predefined media. Supports values from 0.0 to 1.0 in 0.1
2653
+ * increments. `0.0` plays no sound.
2654
+ */
2655
+ volume?: number;
2656
+ }
2657
+
2658
+ export interface ToolCallAudioUnionMember1 {
2659
+ /**
2660
+ * Provide a direct URL to an MP3 file. The audio loops while the tool runs.
2661
+ */
2662
+ type: 'media_url';
2663
+
2664
+ /**
2665
+ * HTTPS URL to an MP3 file.
2666
+ */
2667
+ value: string;
2668
+ }
2382
2669
  }
2383
2670
 
2384
2671
  export interface InferenceEmbeddingWebhookToolParams {
@@ -2932,6 +3219,16 @@ export interface StartSpeakingPlan {
2932
3219
  }
2933
3220
 
2934
3221
  export interface TelephonySettings {
3222
+ /**
3223
+ * When enabled, the `messages` array of the `call.conversation.ended` webhook
3224
+ * contains the full conversation history in order: user and assistant turns,
3225
+ * assistant tool calls (`tool_calls`), tool results (`role: tool` with
3226
+ * `tool_call_id`), and informational `system` and `developer` entries. The
3227
+ * assistant's instructions are never included. When disabled, `messages` contains
3228
+ * only user and assistant text turns.
3229
+ */
3230
+ conversation_ended_full_history?: boolean;
3231
+
2935
3232
  /**
2936
3233
  * Default Texml App used for voice calls with your assistant. This will be created
2937
3234
  * automatically on assistant creation.
@@ -3157,6 +3454,34 @@ export namespace TelephonySettings {
3157
3454
  }
3158
3455
  }
3159
3456
 
3457
+ /**
3458
+ * **Beta:** Configuration for the Telnyx open-source avatar provider. Use one of
3459
+ * the six stock avatars or an organization-owned custom avatar returned by the
3460
+ * Avatars API. Supported backgrounds are office, studio, and reception.
3461
+ */
3462
+ export interface TelnyxAvatarSettings {
3463
+ /**
3464
+ * The Telnyx stock avatar or organization-owned custom avatar to render.
3465
+ */
3466
+ avatar_id: AvatarsAPI.AvatarID;
3467
+
3468
+ /**
3469
+ * The background to render.
3470
+ */
3471
+ background_id: 'office' | 'studio' | 'reception';
3472
+
3473
+ /**
3474
+ * Required avatar model identifier, separate from `avatar_id`. The supported value
3475
+ * is `foxtrot-1`. Omission, null, and unsupported model identifiers are rejected.
3476
+ */
3477
+ model: 'foxtrot-1';
3478
+
3479
+ /**
3480
+ * Selects the Telnyx open-source avatar provider.
3481
+ */
3482
+ provider: 'telnyx';
3483
+ }
3484
+
3160
3485
  /**
3161
3486
  * A standalone tool step in a conversation flow, as returned by the API.
3162
3487
  */
@@ -3169,13 +3494,24 @@ export interface ToolNode {
3169
3494
  /**
3170
3495
  * ID of the single shared (org-level) tool this node executes. When the flow
3171
3496
  * reaches this node the tool runs as a deliberate step (no LLM turn); its outgoing
3172
- * `tool_result` edges then route on the outcome. Arguments are filled from the
3173
- * conversation's dynamic variables by name — a dynamic variable whose name matches
3174
- * one of the tool's parameters supplies that argument. Cross-validated against the
3175
- * org's shared tools on write.
3497
+ * `llm` / `expression` edges route the flow on the tool's outcome. Arguments are
3498
+ * filled from the conversation's dynamic variables by name — a dynamic variable
3499
+ * whose name matches one of the tool's parameters supplies that argument.
3500
+ * Cross-validated against the org's shared tools on write.
3176
3501
  */
3177
3502
  shared_tool_id: string;
3178
3503
 
3504
+ /**
3505
+ * Optional message delivered to the user verbatim immediately before the tool
3506
+ * executes — an announcement such as 'One moment while I look that up.' No LLM
3507
+ * turn and no customer turn: the message is spoken/sent, then the tool runs, in
3508
+ * the same deterministic step. `{{variable}}` placeholders are interpolated from
3509
+ * the conversation's dynamic variables (unresolved → empty string); the tool's own
3510
+ * result is not yet available when the message is rendered. Omit for a silent tool
3511
+ * step.
3512
+ */
3513
+ message?: string;
3514
+
3179
3515
  /**
3180
3516
  * Optional human-readable label, displayed in authoring UIs.
3181
3517
  */
@@ -3206,8 +3542,10 @@ export interface ToolNode {
3206
3542
  *
3207
3543
  * Unlike a prompt node, a tool node has no instructions or model — it isn't an LLM
3208
3544
  * turn. Reaching it deterministically runs one shared tool (arguments filled from
3209
- * matching dynamic variables by name), then routes on the result via outgoing
3210
- * `tool_result` edges.
3545
+ * matching dynamic variables by name), then routes via outgoing `llm` /
3546
+ * `expression` edges, with exactly one `default` fallback edge required when the
3547
+ * node has any outgoing edges (the tool's outcome is readable as
3548
+ * `telnyx_last_tool_status_code` in `expression` conditions).
3211
3549
  */
3212
3550
  export interface ToolNodeReq {
3213
3551
  /**
@@ -3218,13 +3556,24 @@ export interface ToolNodeReq {
3218
3556
  /**
3219
3557
  * ID of the single shared (org-level) tool this node executes. When the flow
3220
3558
  * reaches this node the tool runs as a deliberate step (no LLM turn); its outgoing
3221
- * `tool_result` edges then route on the outcome. Arguments are filled from the
3222
- * conversation's dynamic variables by name — a dynamic variable whose name matches
3223
- * one of the tool's parameters supplies that argument. Cross-validated against the
3224
- * org's shared tools on write.
3559
+ * `llm` / `expression` edges route the flow on the tool's outcome. Arguments are
3560
+ * filled from the conversation's dynamic variables by name — a dynamic variable
3561
+ * whose name matches one of the tool's parameters supplies that argument.
3562
+ * Cross-validated against the org's shared tools on write.
3225
3563
  */
3226
3564
  shared_tool_id: string;
3227
3565
 
3566
+ /**
3567
+ * Optional message delivered to the user verbatim immediately before the tool
3568
+ * executes — an announcement such as 'One moment while I look that up.' No LLM
3569
+ * turn and no customer turn: the message is spoken/sent, then the tool runs, in
3570
+ * the same deterministic step. `{{variable}}` placeholders are interpolated from
3571
+ * the conversation's dynamic variables (unresolved → empty string); the tool's own
3572
+ * result is not yet available when the message is rendered. Omit for a silent tool
3573
+ * step.
3574
+ */
3575
+ message?: string;
3576
+
3228
3577
  /**
3229
3578
  * Optional human-readable label, displayed in authoring UIs.
3230
3579
  */
@@ -3273,6 +3622,24 @@ export interface TranscriptionSettings {
3273
3622
  */
3274
3623
  api_key_ref?: string;
3275
3624
 
3625
+ /**
3626
+ * A second speech-to-text model that transcribes alongside `transcription.model`,
3627
+ * and the rule that decides which transcript the assistant uses.
3628
+ */
3629
+ challenger?: TranscriptionSettings.Challenger | null;
3630
+
3631
+ /**
3632
+ * Up to 3 streaming models that take over transcription, in this order, when the
3633
+ * model in use fails, at the start of a call or mid-call. `model` must be a
3634
+ * streaming model too, and must support `language` alongside other models. On
3635
+ * update, a list replaces the stored one: omit the field to keep the stored list,
3636
+ * or send `null` or `[]` to remove it. When an update changes `model` or
3637
+ * `language`, stored fallbacks that no longer fit are removed without an error.
3638
+ * Can't be combined with `challenger`, the language booster; to replace a stored
3639
+ * language booster, send `challenger: null` in the same request.
3640
+ */
3641
+ fallback_models?: Array<TranscriptionSettings.FallbackModel> | null;
3642
+
3276
3643
  /**
3277
3644
  * The language of the audio to be transcribed. If not set, or if set to `auto`,
3278
3645
  * supported models will automatically detect the language. For `deepgram/flux`,
@@ -3318,6 +3685,7 @@ export interface TranscriptionSettings {
3318
3685
  * - `reson8/turns` is a turn-based streaming model covering 10 European languages
3319
3686
  * with automatic language detection.
3320
3687
  * - `cohere/ar-stt` is a non-streaming Arabic and English transcription model.
3688
+ * - `telnyx/basira` is a non-streaming Arabic transcription model.
3321
3689
  */
3322
3690
  model?:
3323
3691
  | 'deepgram/flux'
@@ -3334,6 +3702,7 @@ export interface TranscriptionSettings {
3334
3702
  | 'humain/realtime'
3335
3703
  | 'reson8/turns'
3336
3704
  | 'cohere/ar-stt'
3705
+ | 'telnyx/basira'
3337
3706
  | 'distil-whisper/distil-large-v2'
3338
3707
  | 'openai/whisper-large-v3-turbo';
3339
3708
 
@@ -3346,6 +3715,124 @@ export interface TranscriptionSettings {
3346
3715
  settings?: TranscriptionSettingsConfig;
3347
3716
  }
3348
3717
 
3718
+ export namespace TranscriptionSettings {
3719
+ /**
3720
+ * A second speech-to-text model that transcribes alongside `transcription.model`,
3721
+ * and the rule that decides which transcript the assistant uses.
3722
+ */
3723
+ export interface Challenger {
3724
+ /**
3725
+ * The language booster's model. It must be the same kind of model as
3726
+ * `transcription.model`: both streaming (`deepgram/flux`, `deepgram/nova-3`,
3727
+ * `deepgram/nova-2`, `assemblyai/universal-3-5-pro` or its legacy alias
3728
+ * `assemblyai/universal-streaming`, `xai/grok-stt`, `soniox/stt-rt-v4`,
3729
+ * `soniox/stt-rt-v5`, `humain/realtime`, `reson8/turns`) or both non-streaming
3730
+ * (`azure/fast`, `nvidia/parakeet-v3`, `omi-health/omi-med-stt-v1`,
3731
+ * `cohere/ar-stt`, `distil-whisper/distil-large-v2`,
3732
+ * `openai/whisper-large-v3-turbo`, `telnyx/basira`). It can be the same model as
3733
+ * `transcription.model` on a different `language`.
3734
+ */
3735
+ model:
3736
+ | 'deepgram/flux'
3737
+ | 'deepgram/nova-3'
3738
+ | 'deepgram/nova-2'
3739
+ | 'azure/fast'
3740
+ | 'assemblyai/universal-3-5-pro'
3741
+ | 'assemblyai/universal-streaming'
3742
+ | 'xai/grok-stt'
3743
+ | 'soniox/stt-rt-v4'
3744
+ | 'soniox/stt-rt-v5'
3745
+ | 'nvidia/parakeet-v3'
3746
+ | 'omi-health/omi-med-stt-v1'
3747
+ | 'humain/realtime'
3748
+ | 'reson8/turns'
3749
+ | 'cohere/ar-stt'
3750
+ | 'telnyx/basira'
3751
+ | 'distil-whisper/distil-large-v2'
3752
+ | 'openai/whisper-large-v3-turbo';
3753
+
3754
+ /**
3755
+ * The language this model transcribes. Omit it or set it to `null` to use the
3756
+ * language of `transcription.model`. The request is rejected when this model
3757
+ * doesn't support the language it would run. It is also rejected when it would run
3758
+ * the same model on the same language as `transcription.model`.
3759
+ */
3760
+ language?: string | null;
3761
+
3762
+ /**
3763
+ * How the assistant picks the transcript it uses. The models are compared on how
3764
+ * complete and confident their transcripts are, not on language, so the rules work
3765
+ * best when both models understand the callers' language.
3766
+ *
3767
+ * - `best_turn` (default): both models transcribe the whole call. Each turn uses
3768
+ * the language booster's transcript only when it scores higher than the
3769
+ * transcript of `transcription.model` (clearly higher with non-streaming
3770
+ * models). With streaming models, `transcription.model` also decides when each
3771
+ * turn ends. Available for every pair.
3772
+ * - `best_engine`: both models transcribe the first turns, then the call continues
3773
+ * alone on the model whose transcripts scored higher. If neither clearly leads,
3774
+ * `transcription.model` continues. Streaming models only.
3775
+ * - `merge_words`: both models transcribe each utterance and their words are
3776
+ * merged, keeping Arabic and English spoken in the same sentence. Available only
3777
+ * for `telnyx/basira` with `cohere/ar-stt`, in either order. The pair runs on
3778
+ * the language that applies to `telnyx/basira` (its own, or that of
3779
+ * `transcription.model`), which must be Arabic (`ar` or an `ar-` locale),
3780
+ * `multi`, or `auto`.
3781
+ */
3782
+ rule?: 'best_turn' | 'best_engine' | 'merge_words';
3783
+
3784
+ /**
3785
+ * Settings for the language booster, with the same fields and limits as
3786
+ * `transcription.settings`. Fields that don't apply to this model's provider are
3787
+ * dropped, and the provider's defaults fill in the rest. Omit it or set it to
3788
+ * `null` to use the settings of `transcription.model` where they apply to this
3789
+ * model.
3790
+ */
3791
+ settings?: AssistantsAPI.TranscriptionSettingsConfig | null;
3792
+ }
3793
+
3794
+ /**
3795
+ * A streaming speech-to-text model that takes over transcription when the model in
3796
+ * use fails.
3797
+ */
3798
+ export interface FallbackModel {
3799
+ /**
3800
+ * The fallback model. It must be a streaming model other than
3801
+ * `transcription.model` and the other fallbacks: `deepgram/flux`,
3802
+ * `deepgram/nova-3`, `deepgram/nova-2`, `assemblyai/universal-3-5-pro` (or its
3803
+ * legacy alias `assemblyai/universal-streaming`), `xai/grok-stt`,
3804
+ * `soniox/stt-rt-v4`, `soniox/stt-rt-v5`, `humain/realtime`, or `reson8/turns`.
3805
+ */
3806
+ model:
3807
+ | 'deepgram/flux'
3808
+ | 'deepgram/nova-3'
3809
+ | 'deepgram/nova-2'
3810
+ | 'assemblyai/universal-3-5-pro'
3811
+ | 'assemblyai/universal-streaming'
3812
+ | 'xai/grok-stt'
3813
+ | 'soniox/stt-rt-v4'
3814
+ | 'soniox/stt-rt-v5'
3815
+ | 'humain/realtime'
3816
+ | 'reson8/turns';
3817
+
3818
+ /**
3819
+ * The language the fallback transcribes. Omit it or set it to `null` to use the
3820
+ * language of `transcription.model`. The request is rejected when the fallback
3821
+ * model doesn't support the language it would run.
3822
+ */
3823
+ language?: string | null;
3824
+
3825
+ /**
3826
+ * Settings for the fallback, with the same fields and limits as
3827
+ * `transcription.settings`. Fields that don't apply to this model's provider are
3828
+ * dropped, and the provider's defaults fill in the rest. Omit it or set it to
3829
+ * `null` to use the settings of `transcription.model` where they apply to this
3830
+ * model.
3831
+ */
3832
+ settings?: AssistantsAPI.TranscriptionSettingsConfig | null;
3833
+ }
3834
+ }
3835
+
3349
3836
  export interface TranscriptionSettingsConfig {
3350
3837
  /**
3351
3838
  * Available only for soniox/stt-rt-v4 and soniox/stt-rt-v5. A comma-separated list
@@ -3598,9 +4085,9 @@ export interface VoiceSettings {
3598
4085
  use_speaker_boost?: boolean;
3599
4086
 
3600
4087
  /**
3601
- * The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger
3602
- * numbers make the voice faster, smaller numbers make it slower. This is only
3603
- * applicable for Telnyx Natural voices.
4088
+ * The speed of the voice in the range [0.6, 1.5]. 1.0 is the default speed. Larger
4089
+ * numbers make the voice faster, smaller numbers make it slower. Applies to Telnyx
4090
+ * `Ultra` voices; values outside this range are rejected by the synthesis engine.
3604
4091
  */
3605
4092
  voice_speed?: number;
3606
4093
  }
@@ -3799,6 +4286,35 @@ export namespace WebhookTool {
3799
4286
  }
3800
4287
  }
3801
4288
 
4289
+ /**
4290
+ * Streams conversation and telephony events to a WebSocket server you host, and
4291
+ * accepts messages injected back into the conversation. Telnyx opens the
4292
+ * connection as a client, once per conversation. Delivery is best effort
4293
+ * throughout: while the connection is down events are dropped rather than queued,
4294
+ * and no socket failure is ever allowed to affect the call. Beta feature.
4295
+ */
4296
+ export interface WebsocketSettings {
4297
+ /**
4298
+ * Integration secret identifier whose value Telnyx sends as an
4299
+ * `Authorization: Bearer <value>` header on the upgrade request. Resolved on every
4300
+ * connection attempt, so a rotated secret is picked up by the next reconnect.
4301
+ */
4302
+ auth_ref?: string;
4303
+
4304
+ /**
4305
+ * Whether Telnyx opens a WebSocket to `url` for each of this assistant's
4306
+ * conversations. Defaults to `false`.
4307
+ */
4308
+ enabled?: boolean;
4309
+
4310
+ /**
4311
+ * The `ws://` or `wss://` endpoint Telnyx connects to. Required when `enabled` is
4312
+ * `true`. Must be externally reachable — localhost, private IP ranges and `.local`
4313
+ * domains are rejected.
4314
+ */
4315
+ url?: string;
4316
+ }
4317
+
3802
4318
  /**
3803
4319
  * Configuration settings for the assistant's web widget.
3804
4320
  */
@@ -3881,6 +4397,18 @@ export interface AssistantSendSMSResponse {
3881
4397
  conversation_id?: string;
3882
4398
  }
3883
4399
 
4400
+ export interface AssistantWhatsappResponse {
4401
+ /**
4402
+ * ID of the conversation created for this WhatsApp chat.
4403
+ */
4404
+ conversation_id: string;
4405
+
4406
+ /**
4407
+ * ID of the WhatsApp template message that was sent.
4408
+ */
4409
+ message_id: string;
4410
+ }
4411
+
3884
4412
  export interface AssistantCreateParams {
3885
4413
  /**
3886
4414
  * Body param: System instructions for the assistant. These may be templated with
@@ -3905,6 +4433,13 @@ export interface AssistantCreateParams {
3905
4433
  */
3906
4434
  a2a_agents?: Array<AssistantA2AAgent>;
3907
4435
 
4436
+ /**
4437
+ * Body param: **Beta:** Configuration for the Telnyx open-source avatar provider.
4438
+ * Use one of the six stock avatars or an organization-owned custom avatar returned
4439
+ * by the Avatars API. Supported backgrounds are office, studio, and reception.
4440
+ */
4441
+ avatar_settings?: AvatarSettingsRequest | null;
4442
+
3908
4443
  /**
3909
4444
  * Body param: Conversation flow as supplied by API clients (create / update).
3910
4445
  *
@@ -3914,6 +4449,17 @@ export interface AssistantCreateParams {
3914
4449
  */
3915
4450
  conversation_flow?: ConversationFlowReq;
3916
4451
 
4452
+ /**
4453
+ * Body param: Splits the conversation between a frontend model that talks to the
4454
+ * caller and a backend model that does the work. On the GPT-Live route the
4455
+ * frontend model cannot call tools at all — when it needs something done it raises
4456
+ * a delegation and waits. On the chat completion route the frontend keeps a single
4457
+ * `delegate` tool that returns immediately, so the conversation carries on while
4458
+ * the backend works. Either way the backend's answer is spoken as commentary or
4459
+ * kept as silent context, depending on `speak_results`. Beta feature.
4460
+ */
4461
+ delegation_settings?: DelegationSettings;
4462
+
3917
4463
  /**
3918
4464
  * Body param
3919
4465
  */
@@ -4077,6 +4623,15 @@ export interface AssistantCreateParams {
4077
4623
  */
4078
4624
  voice_settings?: InferenceEmbeddingVoiceSettings;
4079
4625
 
4626
+ /**
4627
+ * Body param: Streams conversation and telephony events to a WebSocket server you
4628
+ * host, and accepts messages injected back into the conversation. Telnyx opens the
4629
+ * connection as a client, once per conversation. Delivery is best effort
4630
+ * throughout: while the connection is down events are dropped rather than queued,
4631
+ * and no socket failure is ever allowed to affect the call. Beta feature.
4632
+ */
4633
+ websocket_settings?: WebsocketSettings;
4634
+
4080
4635
  /**
4081
4636
  * Body param: Configuration settings for the assistant's web widget.
4082
4637
  */
@@ -4127,6 +4682,14 @@ export interface AssistantImportsParams {
4127
4682
  'Idempotency-Key'?: string;
4128
4683
  }
4129
4684
 
4685
+ export interface AssistantDeleteParams {
4686
+ /**
4687
+ * Permanently delete the assistant immediately instead of soft-deleting it to the
4688
+ * Recently Deleted list, where it stays restorable for 30 days.
4689
+ */
4690
+ hard_delete?: boolean;
4691
+ }
4692
+
4130
4693
  export interface AssistantRetrieveParams {
4131
4694
  /**
4132
4695
  * Filter results by call control id.
@@ -4163,6 +4726,13 @@ export interface AssistantUpdateParams {
4163
4726
  */
4164
4727
  a2a_agents?: Array<AssistantA2AAgent>;
4165
4728
 
4729
+ /**
4730
+ * **Beta:** Configuration for the Telnyx open-source avatar provider. Use one of
4731
+ * the six stock avatars or an organization-owned custom avatar returned by the
4732
+ * Avatars API. Supported backgrounds are office, studio, and reception.
4733
+ */
4734
+ avatar_settings?: AvatarSettingsRequest | null;
4735
+
4166
4736
  /**
4167
4737
  * Conversation flow as supplied by API clients (create / update).
4168
4738
  *
@@ -4172,6 +4742,17 @@ export interface AssistantUpdateParams {
4172
4742
  */
4173
4743
  conversation_flow?: ConversationFlowReq;
4174
4744
 
4745
+ /**
4746
+ * Splits the conversation between a frontend model that talks to the caller and a
4747
+ * backend model that does the work. On the GPT-Live route the frontend model
4748
+ * cannot call tools at all — when it needs something done it raises a delegation
4749
+ * and waits. On the chat completion route the frontend keeps a single `delegate`
4750
+ * tool that returns immediately, so the conversation carries on while the backend
4751
+ * works. Either way the backend's answer is spoken as commentary or kept as silent
4752
+ * context, depending on `speak_results`. Beta feature.
4753
+ */
4754
+ delegation_settings?: DelegationSettings;
4755
+
4175
4756
  description?: string;
4176
4757
 
4177
4758
  /**
@@ -4331,6 +4912,15 @@ export interface AssistantUpdateParams {
4331
4912
 
4332
4913
  voice_settings?: InferenceEmbeddingVoiceSettings;
4333
4914
 
4915
+ /**
4916
+ * Streams conversation and telephony events to a WebSocket server you host, and
4917
+ * accepts messages injected back into the conversation. Telnyx opens the
4918
+ * connection as a client, once per conversation. Delivery is best effort
4919
+ * throughout: while the connection is down events are dropped rather than queued,
4920
+ * and no socket failure is ever allowed to affect the call. Beta feature.
4921
+ */
4922
+ websocket_settings?: WebsocketSettings;
4923
+
4334
4924
  /**
4335
4925
  * Configuration settings for the assistant's web widget.
4336
4926
  */
@@ -4416,6 +5006,44 @@ export interface AssistantSendSMSParams {
4416
5006
  'Idempotency-Key'?: string;
4417
5007
  }
4418
5008
 
5009
+ export interface AssistantWhatsappParams {
5010
+ /**
5011
+ * Body param: Instruction for the assistant, including the values for the template
5012
+ * variables, e.g. `Send the login verification code 482913 to the customer.`
5013
+ */
5014
+ content: string;
5015
+
5016
+ /**
5017
+ * Body param: WhatsApp number on your account to send from, in E.164 format. Its
5018
+ * messaging profile must have this assistant configured.
5019
+ */
5020
+ from: string;
5021
+
5022
+ /**
5023
+ * Body param: Customer to message, as an E.164 phone number or a WhatsApp
5024
+ * business-scoped user ID (BSUID).
5025
+ */
5026
+ to: string;
5027
+
5028
+ /**
5029
+ * Body param: Metadata stored on the conversation. Keys starting with `telnyx_`
5030
+ * and the `assistant_id` key are reserved.
5031
+ */
5032
+ conversation_metadata?: { [key: string]: string | number | boolean };
5033
+
5034
+ /**
5035
+ * Header param: Optional opaque, unquoted key for safely retrying the same logical
5036
+ * request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
5037
+ * Generate a unique UUID v4 for each operation and reuse it only when retrying
5038
+ * that operation with the same request. Invalid headers—including duplicate,
5039
+ * empty, malformed, or overlong values—return 400 with error code 10015. A request
5040
+ * already in progress with the same key returns 409; reusing the key with a
5041
+ * different request returns 422. Only successful responses are replayed, for up to
5042
+ * 24 hours. Do not include sensitive data in the key.
5043
+ */
5044
+ 'Idempotency-Key'?: string;
5045
+ }
5046
+
4419
5047
  Assistants.Tests = Tests;
4420
5048
  Assistants.CanaryDeploys = CanaryDeploys;
4421
5049
  Assistants.ScheduledEvents = ScheduledEvents;
@@ -4423,6 +5051,7 @@ Assistants.Tools = Tools;
4423
5051
  Assistants.Versions = Versions;
4424
5052
  Assistants.Tags = Tags;
4425
5053
  Assistants.Instructions = Instructions;
5054
+ Assistants.Deleted = Deleted;
4426
5055
 
4427
5056
  export declare namespace Assistants {
4428
5057
  export {
@@ -4435,10 +5064,12 @@ export declare namespace Assistants {
4435
5064
  type AssistantsList as AssistantsList,
4436
5065
  type AudioVisualizerConfig as AudioVisualizerConfig,
4437
5066
  type AuthenticationMethod as AuthenticationMethod,
5067
+ type AvatarSettingsRequest as AvatarSettingsRequest,
4438
5068
  type BooleanOpExpression as BooleanOpExpression,
4439
5069
  type ComparisonExpression as ComparisonExpression,
4440
5070
  type ConversationFlow as ConversationFlow,
4441
5071
  type ConversationFlowReq as ConversationFlowReq,
5072
+ type DelegationSettings as DelegationSettings,
4442
5073
  type EnabledFeatures as EnabledFeatures,
4443
5074
  type Expression as Expression,
4444
5075
  type ExternalLlm as ExternalLlm,
@@ -4470,6 +5101,7 @@ export declare namespace Assistants {
4470
5101
  type SpeakNodeReq as SpeakNodeReq,
4471
5102
  type StartSpeakingPlan as StartSpeakingPlan,
4472
5103
  type TelephonySettings as TelephonySettings,
5104
+ type TelnyxAvatarSettings as TelnyxAvatarSettings,
4473
5105
  type ToolNode as ToolNode,
4474
5106
  type ToolNodeReq as ToolNodeReq,
4475
5107
  type TranscriptionEndpointingPlan as TranscriptionEndpointingPlan,
@@ -4478,18 +5110,22 @@ export declare namespace Assistants {
4478
5110
  type TransferTool as TransferTool,
4479
5111
  type VoiceSettings as VoiceSettings,
4480
5112
  type WebhookTool as WebhookTool,
5113
+ type WebsocketSettings as WebsocketSettings,
4481
5114
  type WidgetSettings as WidgetSettings,
4482
5115
  type AssistantDeleteResponse as AssistantDeleteResponse,
4483
5116
  type AssistantChatResponse as AssistantChatResponse,
4484
5117
  type AssistantGetTexmlResponse as AssistantGetTexmlResponse,
4485
5118
  type AssistantSendSMSResponse as AssistantSendSMSResponse,
5119
+ type AssistantWhatsappResponse as AssistantWhatsappResponse,
4486
5120
  type AssistantCreateParams as AssistantCreateParams,
4487
5121
  type AssistantImportsParams as AssistantImportsParams,
5122
+ type AssistantDeleteParams as AssistantDeleteParams,
4488
5123
  type AssistantRetrieveParams as AssistantRetrieveParams,
4489
5124
  type AssistantUpdateParams as AssistantUpdateParams,
4490
5125
  type AssistantChatParams as AssistantChatParams,
4491
5126
  type AssistantCloneParams as AssistantCloneParams,
4492
5127
  type AssistantSendSMSParams as AssistantSendSMSParams,
5128
+ type AssistantWhatsappParams as AssistantWhatsappParams,
4493
5129
  };
4494
5130
 
4495
5131
  export {
@@ -4562,4 +5198,11 @@ export declare namespace Assistants {
4562
5198
  type InstructionEnhanceResponse as InstructionEnhanceResponse,
4563
5199
  type InstructionEnhanceParams as InstructionEnhanceParams,
4564
5200
  };
5201
+
5202
+ export {
5203
+ Deleted as Deleted,
5204
+ type DeletedAssistant as DeletedAssistant,
5205
+ type DeletedAssistantsDefaultFlatPagination as DeletedAssistantsDefaultFlatPagination,
5206
+ type DeletedListParams as DeletedListParams,
5207
+ };
4565
5208
  }