retell-sdk 4.65.0 → 5.0.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 (550) hide show
  1. package/CHANGELOG.md +4 -1326
  2. package/LICENSE +1 -1
  3. package/README.md +120 -44
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +217 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +217 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +513 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +509 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +1 -46
  55. package/error.d.ts.map +1 -1
  56. package/error.js +3 -110
  57. package/error.js.map +1 -1
  58. package/error.mjs +1 -96
  59. package/error.mjs.map +1 -1
  60. package/index.d.mts +6 -151
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +5 -150
  63. package/index.d.ts.map +1 -1
  64. package/index.js +12 -150
  65. package/index.js.map +1 -1
  66. package/index.mjs +5 -123
  67. package/index.mjs.map +1 -1
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +40 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +37 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/request-options.d.mts +75 -0
  109. package/internal/request-options.d.mts.map +1 -0
  110. package/internal/request-options.d.ts +75 -0
  111. package/internal/request-options.d.ts.map +1 -0
  112. package/internal/request-options.js +14 -0
  113. package/internal/request-options.js.map +1 -0
  114. package/internal/request-options.mjs +10 -0
  115. package/internal/request-options.mjs.map +1 -0
  116. package/internal/shim-types.d.mts +17 -0
  117. package/internal/shim-types.d.mts.map +1 -0
  118. package/internal/shim-types.d.ts +17 -0
  119. package/internal/shim-types.d.ts.map +1 -0
  120. package/internal/shim-types.js +4 -0
  121. package/internal/shim-types.js.map +1 -0
  122. package/internal/shim-types.mjs +3 -0
  123. package/internal/shim-types.mjs.map +1 -0
  124. package/internal/shims.d.mts +20 -0
  125. package/internal/shims.d.mts.map +1 -0
  126. package/internal/shims.d.ts +20 -0
  127. package/internal/shims.d.ts.map +1 -0
  128. package/internal/shims.js +92 -0
  129. package/internal/shims.js.map +1 -0
  130. package/internal/shims.mjs +85 -0
  131. package/internal/shims.mjs.map +1 -0
  132. package/internal/to-file.d.mts +45 -0
  133. package/internal/to-file.d.mts.map +1 -0
  134. package/internal/to-file.d.ts +45 -0
  135. package/internal/to-file.d.ts.map +1 -0
  136. package/internal/to-file.js +91 -0
  137. package/internal/to-file.js.map +1 -0
  138. package/internal/to-file.mjs +88 -0
  139. package/internal/to-file.mjs.map +1 -0
  140. package/internal/tslib.js +81 -0
  141. package/internal/tslib.mjs +17 -0
  142. package/internal/types.d.mts +69 -0
  143. package/internal/types.d.mts.map +1 -0
  144. package/internal/types.d.ts +69 -0
  145. package/internal/types.d.ts.map +1 -0
  146. package/internal/types.js +4 -0
  147. package/internal/types.js.map +1 -0
  148. package/internal/types.mjs +3 -0
  149. package/internal/types.mjs.map +1 -0
  150. package/internal/uploads.d.mts +42 -0
  151. package/internal/uploads.d.mts.map +1 -0
  152. package/internal/uploads.d.ts +42 -0
  153. package/internal/uploads.d.ts.map +1 -0
  154. package/internal/uploads.js +141 -0
  155. package/internal/uploads.js.map +1 -0
  156. package/internal/uploads.mjs +131 -0
  157. package/internal/uploads.mjs.map +1 -0
  158. package/internal/utils/base64.d.mts +3 -0
  159. package/internal/utils/base64.d.mts.map +1 -0
  160. package/internal/utils/base64.d.ts +3 -0
  161. package/internal/utils/base64.d.ts.map +1 -0
  162. package/internal/utils/base64.js +38 -0
  163. package/internal/utils/base64.js.map +1 -0
  164. package/internal/utils/base64.mjs +33 -0
  165. package/internal/utils/base64.mjs.map +1 -0
  166. package/internal/utils/bytes.d.mts +4 -0
  167. package/internal/utils/bytes.d.mts.map +1 -0
  168. package/internal/utils/bytes.d.ts +4 -0
  169. package/internal/utils/bytes.d.ts.map +1 -0
  170. package/internal/utils/bytes.js +31 -0
  171. package/internal/utils/bytes.js.map +1 -0
  172. package/internal/utils/bytes.mjs +26 -0
  173. package/internal/utils/bytes.mjs.map +1 -0
  174. package/internal/utils/env.d.mts +9 -0
  175. package/internal/utils/env.d.mts.map +1 -0
  176. package/internal/utils/env.d.ts +9 -0
  177. package/internal/utils/env.d.ts.map +1 -0
  178. package/internal/utils/env.js +22 -0
  179. package/internal/utils/env.js.map +1 -0
  180. package/internal/utils/env.mjs +18 -0
  181. package/internal/utils/env.mjs.map +1 -0
  182. package/internal/utils/log.d.mts +37 -0
  183. package/internal/utils/log.d.mts.map +1 -0
  184. package/internal/utils/log.d.ts +37 -0
  185. package/internal/utils/log.d.ts.map +1 -0
  186. package/internal/utils/log.js +85 -0
  187. package/internal/utils/log.js.map +1 -0
  188. package/internal/utils/log.mjs +79 -0
  189. package/internal/utils/log.mjs.map +1 -0
  190. package/internal/utils/path.d.mts +15 -0
  191. package/internal/utils/path.d.mts.map +1 -0
  192. package/internal/utils/path.d.ts +15 -0
  193. package/internal/utils/path.d.ts.map +1 -0
  194. package/internal/utils/path.js +79 -0
  195. package/internal/utils/path.js.map +1 -0
  196. package/internal/utils/path.mjs +74 -0
  197. package/internal/utils/path.mjs.map +1 -0
  198. package/internal/utils/sleep.d.mts +2 -0
  199. package/internal/utils/sleep.d.mts.map +1 -0
  200. package/internal/utils/sleep.d.ts +2 -0
  201. package/internal/utils/sleep.d.ts.map +1 -0
  202. package/internal/utils/sleep.js +7 -0
  203. package/internal/utils/sleep.js.map +1 -0
  204. package/internal/utils/sleep.mjs +3 -0
  205. package/internal/utils/sleep.mjs.map +1 -0
  206. package/internal/utils/uuid.d.mts +5 -0
  207. package/internal/utils/uuid.d.mts.map +1 -0
  208. package/internal/utils/uuid.d.ts +5 -0
  209. package/internal/utils/uuid.d.ts.map +1 -0
  210. package/internal/utils/uuid.js +19 -0
  211. package/internal/utils/uuid.js.map +1 -0
  212. package/internal/utils/uuid.mjs +15 -0
  213. package/internal/utils/uuid.mjs.map +1 -0
  214. package/internal/utils/values.d.mts +18 -0
  215. package/internal/utils/values.d.mts.map +1 -0
  216. package/internal/utils/values.d.ts +18 -0
  217. package/internal/utils/values.d.ts.map +1 -0
  218. package/internal/utils/values.js +112 -0
  219. package/internal/utils/values.js.map +1 -0
  220. package/internal/utils/values.mjs +94 -0
  221. package/internal/utils/values.mjs.map +1 -0
  222. package/internal/utils.d.mts +7 -0
  223. package/internal/utils.d.mts.map +1 -0
  224. package/internal/utils.d.ts +7 -0
  225. package/internal/utils.d.ts.map +1 -0
  226. package/internal/utils.js +11 -0
  227. package/internal/utils.js.map +1 -0
  228. package/internal/utils.mjs +8 -0
  229. package/internal/utils.mjs.map +1 -0
  230. package/package.json +101 -65
  231. package/resource.d.mts +2 -0
  232. package/resource.d.mts.map +1 -0
  233. package/resource.d.ts +1 -5
  234. package/resource.d.ts.map +1 -1
  235. package/resource.js +3 -8
  236. package/resource.js.map +1 -1
  237. package/resource.mjs +1 -6
  238. package/resource.mjs.map +1 -1
  239. package/resources/agent.d.mts +1803 -0
  240. package/resources/agent.d.mts.map +1 -0
  241. package/resources/agent.d.ts +377 -81
  242. package/resources/agent.d.ts.map +1 -1
  243. package/resources/agent.js +33 -20
  244. package/resources/agent.js.map +1 -1
  245. package/resources/agent.mjs +33 -20
  246. package/resources/agent.mjs.map +1 -1
  247. package/resources/batch-call.d.mts +926 -0
  248. package/resources/batch-call.d.mts.map +1 -0
  249. package/resources/batch-call.d.ts +220 -28
  250. package/resources/batch-call.d.ts.map +1 -1
  251. package/resources/batch-call.js +6 -2
  252. package/resources/batch-call.js.map +1 -1
  253. package/resources/batch-call.mjs +6 -2
  254. package/resources/batch-call.mjs.map +1 -1
  255. package/resources/call.d.mts +4280 -0
  256. package/resources/call.d.mts.map +1 -0
  257. package/resources/call.d.ts +556 -110
  258. package/resources/call.d.ts.map +1 -1
  259. package/resources/call.js +20 -10
  260. package/resources/call.js.map +1 -1
  261. package/resources/call.mjs +20 -10
  262. package/resources/call.mjs.map +1 -1
  263. package/resources/chat-agent.d.mts +836 -0
  264. package/resources/chat-agent.d.mts.map +1 -0
  265. package/resources/chat-agent.d.ts +118 -23
  266. package/resources/chat-agent.d.ts.map +1 -1
  267. package/resources/chat-agent.js +33 -20
  268. package/resources/chat-agent.js.map +1 -1
  269. package/resources/chat-agent.mjs +33 -20
  270. package/resources/chat-agent.mjs.map +1 -1
  271. package/resources/chat.d.mts +607 -0
  272. package/resources/chat.d.mts.map +1 -0
  273. package/resources/chat.d.ts +82 -30
  274. package/resources/chat.d.ts.map +1 -1
  275. package/resources/chat.js +21 -11
  276. package/resources/chat.js.map +1 -1
  277. package/resources/chat.mjs +21 -11
  278. package/resources/chat.mjs.map +1 -1
  279. package/resources/concurrency.d.mts +51 -0
  280. package/resources/concurrency.d.mts.map +1 -0
  281. package/resources/concurrency.d.ts +14 -3
  282. package/resources/concurrency.d.ts.map +1 -1
  283. package/resources/concurrency.js +1 -1
  284. package/resources/concurrency.js.map +1 -1
  285. package/resources/concurrency.mjs +1 -1
  286. package/resources/concurrency.mjs.map +1 -1
  287. package/resources/conversation-flow-component.d.mts +11838 -0
  288. package/resources/conversation-flow-component.d.mts.map +1 -0
  289. package/resources/conversation-flow-component.d.ts +6600 -2597
  290. package/resources/conversation-flow-component.d.ts.map +1 -1
  291. package/resources/conversation-flow-component.js +10 -8
  292. package/resources/conversation-flow-component.js.map +1 -1
  293. package/resources/conversation-flow-component.mjs +10 -8
  294. package/resources/conversation-flow-component.mjs.map +1 -1
  295. package/resources/conversation-flow.d.mts +23851 -0
  296. package/resources/conversation-flow.d.mts.map +1 -0
  297. package/resources/conversation-flow.d.ts +15877 -7958
  298. package/resources/conversation-flow.d.ts.map +1 -1
  299. package/resources/conversation-flow.js +30 -15
  300. package/resources/conversation-flow.js.map +1 -1
  301. package/resources/conversation-flow.mjs +30 -15
  302. package/resources/conversation-flow.mjs.map +1 -1
  303. package/resources/index.d.mts +15 -0
  304. package/resources/index.d.mts.map +1 -0
  305. package/resources/index.d.ts +4 -4
  306. package/resources/index.d.ts.map +1 -1
  307. package/resources/index.js.map +1 -1
  308. package/resources/index.mjs +2 -2
  309. package/resources/index.mjs.map +1 -1
  310. package/resources/knowledge-base.d.mts +228 -0
  311. package/resources/knowledge-base.d.mts.map +1 -0
  312. package/resources/knowledge-base.d.ts +23 -14
  313. package/resources/knowledge-base.d.ts.map +1 -1
  314. package/resources/knowledge-base.js +16 -36
  315. package/resources/knowledge-base.js.map +1 -1
  316. package/resources/knowledge-base.mjs +16 -13
  317. package/resources/knowledge-base.mjs.map +1 -1
  318. package/resources/llm.d.mts +5306 -0
  319. package/resources/llm.d.mts.map +1 -0
  320. package/resources/llm.d.ts +1189 -477
  321. package/resources/llm.d.ts.map +1 -1
  322. package/resources/llm.js +28 -15
  323. package/resources/llm.js.map +1 -1
  324. package/resources/llm.mjs +28 -15
  325. package/resources/llm.mjs.map +1 -1
  326. package/resources/mcp-tool.d.mts +45 -0
  327. package/resources/mcp-tool.d.mts.map +1 -0
  328. package/resources/mcp-tool.d.ts +8 -3
  329. package/resources/mcp-tool.d.ts.map +1 -1
  330. package/resources/mcp-tool.js +4 -3
  331. package/resources/mcp-tool.js.map +1 -1
  332. package/resources/mcp-tool.mjs +4 -3
  333. package/resources/mcp-tool.mjs.map +1 -1
  334. package/resources/phone-number.d.mts +595 -0
  335. package/resources/phone-number.d.mts.map +1 -0
  336. package/resources/phone-number.d.ts +332 -13
  337. package/resources/phone-number.d.ts.map +1 -1
  338. package/resources/phone-number.js +7 -5
  339. package/resources/phone-number.js.map +1 -1
  340. package/resources/phone-number.mjs +7 -5
  341. package/resources/phone-number.mjs.map +1 -1
  342. package/resources/tests.d.mts +561 -0
  343. package/resources/tests.d.mts.map +1 -0
  344. package/resources/tests.d.ts +437 -7
  345. package/resources/tests.d.ts.map +1 -1
  346. package/resources/tests.js +60 -1
  347. package/resources/tests.js.map +1 -1
  348. package/resources/tests.mjs +60 -1
  349. package/resources/tests.mjs.map +1 -1
  350. package/resources/voice.d.mts +130 -0
  351. package/resources/voice.d.mts.map +1 -0
  352. package/resources/voice.d.ts +89 -6
  353. package/resources/voice.d.ts.map +1 -1
  354. package/resources/voice.js +23 -3
  355. package/resources/voice.js.map +1 -1
  356. package/resources/voice.mjs +23 -3
  357. package/resources/voice.mjs.map +1 -1
  358. package/resources.d.mts +2 -0
  359. package/resources.d.mts.map +1 -0
  360. package/resources.d.ts.map +1 -1
  361. package/resources.js +2 -15
  362. package/resources.js.map +1 -1
  363. package/src/api-promise.ts +2 -0
  364. package/src/client.ts +1005 -0
  365. package/src/core/README.md +3 -0
  366. package/src/core/api-promise.ts +92 -0
  367. package/src/core/error.ts +130 -0
  368. package/src/core/resource.ts +11 -0
  369. package/src/core/uploads.ts +2 -0
  370. package/src/error.ts +2 -130
  371. package/src/index.ts +5 -405
  372. package/src/internal/README.md +3 -0
  373. package/src/internal/builtin-types.ts +93 -0
  374. package/src/internal/detect-platform.ts +196 -0
  375. package/src/internal/errors.ts +33 -0
  376. package/src/internal/headers.ts +97 -0
  377. package/src/internal/parse.ts +56 -0
  378. package/src/internal/request-options.ts +91 -0
  379. package/src/internal/shim-types.ts +26 -0
  380. package/src/internal/shims.ts +107 -0
  381. package/src/internal/to-file.ts +154 -0
  382. package/src/internal/types.ts +95 -0
  383. package/src/internal/uploads.ts +187 -0
  384. package/src/internal/utils/base64.ts +40 -0
  385. package/src/internal/utils/bytes.ts +32 -0
  386. package/src/internal/utils/env.ts +18 -0
  387. package/src/internal/utils/log.ts +126 -0
  388. package/src/internal/utils/path.ts +88 -0
  389. package/src/internal/utils/sleep.ts +3 -0
  390. package/src/internal/utils/uuid.ts +17 -0
  391. package/src/internal/utils/values.ts +105 -0
  392. package/src/internal/utils.ts +8 -0
  393. package/src/resource.ts +2 -11
  394. package/src/resources/agent.ts +610 -101
  395. package/src/resources/batch-call.ts +318 -26
  396. package/src/resources/call.ts +835 -111
  397. package/src/resources/chat-agent.ts +191 -41
  398. package/src/resources/chat.ts +108 -40
  399. package/src/resources/concurrency.ts +16 -3
  400. package/src/resources/conversation-flow-component.ts +9469 -4285
  401. package/src/resources/conversation-flow.ts +21572 -11318
  402. package/src/resources/index.ts +25 -2
  403. package/src/resources/knowledge-base.ts +40 -28
  404. package/src/resources/llm.ts +1422 -599
  405. package/src/resources/mcp-tool.ts +13 -6
  406. package/src/resources/phone-number.ts +410 -18
  407. package/src/resources/tests.ts +608 -9
  408. package/src/resources/voice.ts +122 -7
  409. package/src/tsconfig.json +2 -2
  410. package/src/uploads.ts +2 -259
  411. package/src/version.ts +1 -1
  412. package/uploads.d.mts +2 -0
  413. package/uploads.d.mts.map +1 -0
  414. package/uploads.d.ts +1 -74
  415. package/uploads.d.ts.map +1 -1
  416. package/uploads.js +3 -175
  417. package/uploads.js.map +1 -1
  418. package/uploads.mjs +1 -164
  419. package/uploads.mjs.map +1 -1
  420. package/version.d.mts +2 -0
  421. package/version.d.mts.map +1 -0
  422. package/version.d.ts +1 -1
  423. package/version.d.ts.map +1 -1
  424. package/version.js +1 -1
  425. package/version.js.map +1 -1
  426. package/version.mjs +1 -1
  427. package/version.mjs.map +1 -1
  428. package/_shims/MultipartBody.d.ts +0 -9
  429. package/_shims/MultipartBody.d.ts.map +0 -1
  430. package/_shims/MultipartBody.js +0 -16
  431. package/_shims/MultipartBody.js.map +0 -1
  432. package/_shims/MultipartBody.mjs +0 -12
  433. package/_shims/MultipartBody.mjs.map +0 -1
  434. package/_shims/README.md +0 -46
  435. package/_shims/auto/runtime-bun.d.ts +0 -5
  436. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  437. package/_shims/auto/runtime-bun.js +0 -21
  438. package/_shims/auto/runtime-bun.js.map +0 -1
  439. package/_shims/auto/runtime-bun.mjs +0 -2
  440. package/_shims/auto/runtime-bun.mjs.map +0 -1
  441. package/_shims/auto/runtime-node.d.ts +0 -5
  442. package/_shims/auto/runtime-node.d.ts.map +0 -1
  443. package/_shims/auto/runtime-node.js +0 -21
  444. package/_shims/auto/runtime-node.js.map +0 -1
  445. package/_shims/auto/runtime-node.mjs +0 -2
  446. package/_shims/auto/runtime-node.mjs.map +0 -1
  447. package/_shims/auto/runtime.d.ts +0 -5
  448. package/_shims/auto/runtime.d.ts.map +0 -1
  449. package/_shims/auto/runtime.js +0 -21
  450. package/_shims/auto/runtime.js.map +0 -1
  451. package/_shims/auto/runtime.mjs +0 -2
  452. package/_shims/auto/runtime.mjs.map +0 -1
  453. package/_shims/auto/types-node.d.ts +0 -5
  454. package/_shims/auto/types-node.d.ts.map +0 -1
  455. package/_shims/auto/types-node.js +0 -21
  456. package/_shims/auto/types-node.js.map +0 -1
  457. package/_shims/auto/types-node.mjs +0 -2
  458. package/_shims/auto/types-node.mjs.map +0 -1
  459. package/_shims/auto/types.d.ts +0 -101
  460. package/_shims/auto/types.js +0 -3
  461. package/_shims/auto/types.mjs +0 -3
  462. package/_shims/bun-runtime.d.ts +0 -6
  463. package/_shims/bun-runtime.d.ts.map +0 -1
  464. package/_shims/bun-runtime.js +0 -14
  465. package/_shims/bun-runtime.js.map +0 -1
  466. package/_shims/bun-runtime.mjs +0 -10
  467. package/_shims/bun-runtime.mjs.map +0 -1
  468. package/_shims/index.d.ts +0 -83
  469. package/_shims/index.js +0 -17
  470. package/_shims/index.mjs +0 -11
  471. package/_shims/manual-types.d.ts +0 -12
  472. package/_shims/manual-types.js +0 -3
  473. package/_shims/manual-types.mjs +0 -3
  474. package/_shims/node-runtime.d.ts +0 -3
  475. package/_shims/node-runtime.d.ts.map +0 -1
  476. package/_shims/node-runtime.js +0 -89
  477. package/_shims/node-runtime.js.map +0 -1
  478. package/_shims/node-runtime.mjs +0 -56
  479. package/_shims/node-runtime.mjs.map +0 -1
  480. package/_shims/node-types.d.ts +0 -42
  481. package/_shims/node-types.js +0 -3
  482. package/_shims/node-types.mjs +0 -3
  483. package/_shims/registry.d.ts +0 -37
  484. package/_shims/registry.d.ts.map +0 -1
  485. package/_shims/registry.js +0 -41
  486. package/_shims/registry.js.map +0 -1
  487. package/_shims/registry.mjs +0 -37
  488. package/_shims/registry.mjs.map +0 -1
  489. package/_shims/web-runtime.d.ts +0 -5
  490. package/_shims/web-runtime.d.ts.map +0 -1
  491. package/_shims/web-runtime.js +0 -78
  492. package/_shims/web-runtime.js.map +0 -1
  493. package/_shims/web-runtime.mjs +0 -71
  494. package/_shims/web-runtime.mjs.map +0 -1
  495. package/_shims/web-types.d.ts +0 -83
  496. package/_shims/web-types.js +0 -3
  497. package/_shims/web-types.mjs +0 -3
  498. package/core.d.ts +0 -255
  499. package/core.d.ts.map +0 -1
  500. package/core.js +0 -924
  501. package/core.js.map +0 -1
  502. package/core.mjs +0 -892
  503. package/core.mjs.map +0 -1
  504. package/lib/webhook_auth.d.ts +0 -27
  505. package/lib/webhook_auth.d.ts.map +0 -1
  506. package/lib/webhook_auth.js +0 -50
  507. package/lib/webhook_auth.js.map +0 -1
  508. package/lib/webhook_auth.mjs +0 -45
  509. package/lib/webhook_auth.mjs.map +0 -1
  510. package/shims/node.d.ts +0 -30
  511. package/shims/node.d.ts.map +0 -1
  512. package/shims/node.js +0 -31
  513. package/shims/node.js.map +0 -1
  514. package/shims/node.mjs +0 -5
  515. package/shims/node.mjs.map +0 -1
  516. package/shims/web.d.ts +0 -26
  517. package/shims/web.d.ts.map +0 -1
  518. package/shims/web.js +0 -31
  519. package/shims/web.js.map +0 -1
  520. package/shims/web.mjs +0 -5
  521. package/shims/web.mjs.map +0 -1
  522. package/src/_shims/MultipartBody.ts +0 -9
  523. package/src/_shims/README.md +0 -46
  524. package/src/_shims/auto/runtime-bun.ts +0 -4
  525. package/src/_shims/auto/runtime-node.ts +0 -4
  526. package/src/_shims/auto/runtime.ts +0 -4
  527. package/src/_shims/auto/types-node.ts +0 -4
  528. package/src/_shims/auto/types.d.ts +0 -101
  529. package/src/_shims/auto/types.js +0 -3
  530. package/src/_shims/auto/types.mjs +0 -3
  531. package/src/_shims/bun-runtime.ts +0 -14
  532. package/src/_shims/index.d.ts +0 -83
  533. package/src/_shims/index.js +0 -17
  534. package/src/_shims/index.mjs +0 -11
  535. package/src/_shims/manual-types.d.ts +0 -12
  536. package/src/_shims/manual-types.js +0 -3
  537. package/src/_shims/manual-types.mjs +0 -3
  538. package/src/_shims/node-runtime.ts +0 -81
  539. package/src/_shims/node-types.d.ts +0 -42
  540. package/src/_shims/node-types.js +0 -3
  541. package/src/_shims/node-types.mjs +0 -3
  542. package/src/_shims/registry.ts +0 -67
  543. package/src/_shims/web-runtime.ts +0 -103
  544. package/src/_shims/web-types.d.ts +0 -83
  545. package/src/_shims/web-types.js +0 -3
  546. package/src/_shims/web-types.mjs +0 -3
  547. package/src/core.ts +0 -1236
  548. package/src/lib/webhook_auth.ts +0 -69
  549. package/src/shims/node.ts +0 -50
  550. package/src/shims/web.ts +0 -50
@@ -1,7 +1,10 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../resource';
4
- import * as Core from '../core';
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { buildHeaders } from '../internal/headers';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
5
8
 
6
9
  export class Call extends APIResource {
7
10
  /**
@@ -14,8 +17,8 @@ export class Call extends APIResource {
14
17
  * );
15
18
  * ```
16
19
  */
17
- retrieve(callId: string, options?: Core.RequestOptions): Core.APIPromise<CallResponse> {
18
- return this._client.get(`/v2/get-call/${callId}`, options);
20
+ retrieve(callID: string, options?: RequestOptions): APIPromise<CallResponse> {
21
+ return this._client.get(path`/v2/get-call/${callID}`, options);
19
22
  }
20
23
 
21
24
  /**
@@ -35,12 +38,8 @@ export class Call extends APIResource {
35
38
  * );
36
39
  * ```
37
40
  */
38
- update(
39
- callId: string,
40
- body: CallUpdateParams,
41
- options?: Core.RequestOptions,
42
- ): Core.APIPromise<CallResponse> {
43
- return this._client.patch(`/v2/update-call/${callId}`, { body, ...options });
41
+ update(callID: string, body: CallUpdateParams, options?: RequestOptions): APIPromise<CallResponse> {
42
+ return this._client.patch(path`/v2/update-call/${callID}`, { body, ...options });
44
43
  }
45
44
 
46
45
  /**
@@ -51,8 +50,12 @@ export class Call extends APIResource {
51
50
  * const callResponses = await client.call.list();
52
51
  * ```
53
52
  */
54
- list(body: CallListParams, options?: Core.RequestOptions): Core.APIPromise<CallListResponse> {
55
- return this._client.post('/v2/list-calls', { body, ...options });
53
+ list(body: CallListParams, options?: RequestOptions): APIPromise<CallListResponse> {
54
+ return this._client.post('/v2/list-calls', {
55
+ body,
56
+ timeout: (this._client as any)._options.timeout ?? 300000,
57
+ ...options,
58
+ });
56
59
  }
57
60
 
58
61
  /**
@@ -65,10 +68,10 @@ export class Call extends APIResource {
65
68
  * );
66
69
  * ```
67
70
  */
68
- delete(callId: string, options?: Core.RequestOptions): Core.APIPromise<void> {
69
- return this._client.delete(`/v2/delete-call/${callId}`, {
71
+ delete(callID: string, options?: RequestOptions): APIPromise<void> {
72
+ return this._client.delete(path`/v2/delete-call/${callID}`, {
70
73
  ...options,
71
- headers: { Accept: '*/*', ...options?.headers },
74
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
72
75
  });
73
76
  }
74
77
 
@@ -85,11 +88,12 @@ export class Call extends APIResource {
85
88
  * );
86
89
  * ```
87
90
  */
88
- createPhoneCall(
89
- body: CallCreatePhoneCallParams,
90
- options?: Core.RequestOptions,
91
- ): Core.APIPromise<PhoneCallResponse> {
92
- return this._client.post('/v2/create-phone-call', { body, ...options });
91
+ createPhoneCall(body: CallCreatePhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse> {
92
+ return this._client.post('/v2/create-phone-call', {
93
+ body,
94
+ timeout: (this._client as any)._options.timeout ?? 120000,
95
+ ...options,
96
+ });
93
97
  }
94
98
 
95
99
  /**
@@ -102,10 +106,7 @@ export class Call extends APIResource {
102
106
  * });
103
107
  * ```
104
108
  */
105
- createWebCall(
106
- body: CallCreateWebCallParams,
107
- options?: Core.RequestOptions,
108
- ): Core.APIPromise<WebCallResponse> {
109
+ createWebCall(body: CallCreateWebCallParams, options?: RequestOptions): APIPromise<WebCallResponse> {
109
110
  return this._client.post('/v2/create-web-call', { body, ...options });
110
111
  }
111
112
 
@@ -122,8 +123,8 @@ export class Call extends APIResource {
122
123
  */
123
124
  registerPhoneCall(
124
125
  body: CallRegisterPhoneCallParams,
125
- options?: Core.RequestOptions,
126
- ): Core.APIPromise<PhoneCallResponse> {
126
+ options?: RequestOptions,
127
+ ): APIPromise<PhoneCallResponse> {
127
128
  return this._client.post('/v2/register-phone-call', { body, ...options });
128
129
  }
129
130
  }
@@ -142,8 +143,8 @@ export interface PhoneCallResponse {
142
143
  agent_version: number;
143
144
 
144
145
  /**
145
- * Unique id of the call. Used to identify in LLM websocket and used to
146
- * authenticate in audio websocket.
146
+ * Unique id of the call. Used to identify the call in the LLM websocket and used
147
+ * to authenticate in the audio websocket.
147
148
  */
148
149
  call_id: string;
149
150
 
@@ -151,12 +152,9 @@ export interface PhoneCallResponse {
151
152
  * Status of call.
152
153
  *
153
154
  * - `registered`: Call id issued, starting to make a call using this id.
154
- *
155
155
  * - `ongoing`: Call connected and ongoing.
156
- *
157
156
  * - `ended`: The underlying websocket has ended for the call. Either user or agent
158
- * hanged up, or call transferred.
159
- *
157
+ * hung up, or call transferred.
160
158
  * - `error`: Call encountered error.
161
159
  */
162
160
  call_status: 'registered' | 'not_connected' | 'ongoing' | 'ended' | 'error';
@@ -340,6 +338,7 @@ export interface PhoneCallResponse {
340
338
  | PhoneCallResponse.Utterance
341
339
  | PhoneCallResponse.ToolCallInvocationUtterance
342
340
  | PhoneCallResponse.ToolCallResultUtterance
341
+ | PhoneCallResponse.NodeTransitionUtterance
343
342
  | PhoneCallResponse.DtmfUtterance
344
343
  >;
345
344
 
@@ -375,6 +374,7 @@ export interface PhoneCallResponse {
375
374
  | PhoneCallResponse.Utterance
376
375
  | PhoneCallResponse.ToolCallInvocationUtterance
377
376
  | PhoneCallResponse.ToolCallResultUtterance
377
+ | PhoneCallResponse.NodeTransitionUtterance
378
378
  | PhoneCallResponse.DtmfUtterance
379
379
  >;
380
380
 
@@ -383,9 +383,15 @@ export interface PhoneCallResponse {
383
383
  * populated when the disconnection reason was `call_transfer`. Can be a phone
384
384
  * number or a SIP URI. SIP URIs are prefixed with "sip:" and may include a
385
385
  * ";transport=..." portion (if transport is known) where the transport type can be
386
- * "tls", "tcp", "udp", or "auto".
386
+ * "tls", "tcp" or "udp".
387
387
  */
388
388
  transfer_destination?: string | null;
389
+
390
+ /**
391
+ * Transfer end timestamp (milliseconds since epoch) of the call. Available after
392
+ * transfer call ends.
393
+ */
394
+ transfer_end_timestamp?: number;
389
395
  }
390
396
 
391
397
  export namespace PhoneCallResponse {
@@ -460,6 +466,11 @@ export namespace PhoneCallResponse {
460
466
  */
461
467
  product: string;
462
468
 
469
+ /**
470
+ * True if this cost item is for a transfer segment.
471
+ */
472
+ is_transfer_leg_cost?: boolean;
473
+
463
474
  /**
464
475
  * Unit price of the product in cents per second.
465
476
  */
@@ -930,6 +941,12 @@ export namespace PhoneCallResponse {
930
941
  * Tool call id, globally unique.
931
942
  */
932
943
  tool_call_id: string;
944
+
945
+ /**
946
+ * Optional thought signature from Google Gemini thinking models. This is used
947
+ * internally to maintain reasoning chain in multi-turn function calling.
948
+ */
949
+ thought_signature?: string;
933
950
  }
934
951
 
935
952
  export interface ToolCallResultUtterance {
@@ -939,7 +956,7 @@ export namespace PhoneCallResponse {
939
956
  content: string;
940
957
 
941
958
  /**
942
- * This is result of a tool call.
959
+ * This is the result of a tool call.
943
960
  */
944
961
  role: 'tool_call_result';
945
962
 
@@ -949,6 +966,33 @@ export namespace PhoneCallResponse {
949
966
  tool_call_id: string;
950
967
  }
951
968
 
969
+ export interface NodeTransitionUtterance {
970
+ /**
971
+ * Former node id
972
+ */
973
+ former_node_id: string;
974
+
975
+ /**
976
+ * Former node name
977
+ */
978
+ former_node_name: string;
979
+
980
+ /**
981
+ * New node id
982
+ */
983
+ new_node_id: string;
984
+
985
+ /**
986
+ * New node name
987
+ */
988
+ new_node_name: string;
989
+
990
+ /**
991
+ * This is result of a node transition
992
+ */
993
+ role: 'node_transition';
994
+ }
995
+
952
996
  export interface DtmfUtterance {
953
997
  /**
954
998
  * The digit pressed by the user. Will be a single digit string like "1", "2", "3",
@@ -957,7 +1001,7 @@ export namespace PhoneCallResponse {
957
1001
  digit: string;
958
1002
 
959
1003
  /**
960
- * This is user pressed digit from their phone keypad.
1004
+ * Digit pressed by the user from their phone keypad.
961
1005
  */
962
1006
  role: 'dtmf';
963
1007
  }
@@ -1073,6 +1117,12 @@ export namespace PhoneCallResponse {
1073
1117
  * Tool call id, globally unique.
1074
1118
  */
1075
1119
  tool_call_id: string;
1120
+
1121
+ /**
1122
+ * Optional thought signature from Google Gemini thinking models. This is used
1123
+ * internally to maintain reasoning chain in multi-turn function calling.
1124
+ */
1125
+ thought_signature?: string;
1076
1126
  }
1077
1127
 
1078
1128
  export interface ToolCallResultUtterance {
@@ -1082,7 +1132,7 @@ export namespace PhoneCallResponse {
1082
1132
  content: string;
1083
1133
 
1084
1134
  /**
1085
- * This is result of a tool call.
1135
+ * This is the result of a tool call.
1086
1136
  */
1087
1137
  role: 'tool_call_result';
1088
1138
 
@@ -1092,6 +1142,33 @@ export namespace PhoneCallResponse {
1092
1142
  tool_call_id: string;
1093
1143
  }
1094
1144
 
1145
+ export interface NodeTransitionUtterance {
1146
+ /**
1147
+ * Former node id
1148
+ */
1149
+ former_node_id: string;
1150
+
1151
+ /**
1152
+ * Former node name
1153
+ */
1154
+ former_node_name: string;
1155
+
1156
+ /**
1157
+ * New node id
1158
+ */
1159
+ new_node_id: string;
1160
+
1161
+ /**
1162
+ * New node name
1163
+ */
1164
+ new_node_name: string;
1165
+
1166
+ /**
1167
+ * This is result of a node transition
1168
+ */
1169
+ role: 'node_transition';
1170
+ }
1171
+
1095
1172
  export interface DtmfUtterance {
1096
1173
  /**
1097
1174
  * The digit pressed by the user. Will be a single digit string like "1", "2", "3",
@@ -1100,7 +1177,7 @@ export namespace PhoneCallResponse {
1100
1177
  digit: string;
1101
1178
 
1102
1179
  /**
1103
- * This is user pressed digit from their phone keypad.
1180
+ * Digit pressed by the user from their phone keypad.
1104
1181
  */
1105
1182
  role: 'dtmf';
1106
1183
  }
@@ -1124,8 +1201,8 @@ export interface WebCallResponse {
1124
1201
  agent_version: number;
1125
1202
 
1126
1203
  /**
1127
- * Unique id of the call. Used to identify in LLM websocket and used to
1128
- * authenticate in audio websocket.
1204
+ * Unique id of the call. Used to identify the call in the LLM websocket and used
1205
+ * to authenticate in the audio websocket.
1129
1206
  */
1130
1207
  call_id: string;
1131
1208
 
@@ -1133,12 +1210,9 @@ export interface WebCallResponse {
1133
1210
  * Status of call.
1134
1211
  *
1135
1212
  * - `registered`: Call id issued, starting to make a call using this id.
1136
- *
1137
1213
  * - `ongoing`: Call connected and ongoing.
1138
- *
1139
1214
  * - `ended`: The underlying websocket has ended for the call. Either user or agent
1140
- * hanged up, or call transferred.
1141
- *
1215
+ * hung up, or call transferred.
1142
1216
  * - `error`: Call encountered error.
1143
1217
  */
1144
1218
  call_status: 'registered' | 'not_connected' | 'ongoing' | 'ended' | 'error';
@@ -1307,6 +1381,7 @@ export interface WebCallResponse {
1307
1381
  | WebCallResponse.Utterance
1308
1382
  | WebCallResponse.ToolCallInvocationUtterance
1309
1383
  | WebCallResponse.ToolCallResultUtterance
1384
+ | WebCallResponse.NodeTransitionUtterance
1310
1385
  | WebCallResponse.DtmfUtterance
1311
1386
  >;
1312
1387
 
@@ -1336,6 +1411,7 @@ export interface WebCallResponse {
1336
1411
  | WebCallResponse.Utterance
1337
1412
  | WebCallResponse.ToolCallInvocationUtterance
1338
1413
  | WebCallResponse.ToolCallResultUtterance
1414
+ | WebCallResponse.NodeTransitionUtterance
1339
1415
  | WebCallResponse.DtmfUtterance
1340
1416
  >;
1341
1417
 
@@ -1344,9 +1420,15 @@ export interface WebCallResponse {
1344
1420
  * populated when the disconnection reason was `call_transfer`. Can be a phone
1345
1421
  * number or a SIP URI. SIP URIs are prefixed with "sip:" and may include a
1346
1422
  * ";transport=..." portion (if transport is known) where the transport type can be
1347
- * "tls", "tcp", "udp", or "auto".
1423
+ * "tls", "tcp" or "udp".
1348
1424
  */
1349
1425
  transfer_destination?: string | null;
1426
+
1427
+ /**
1428
+ * Transfer end timestamp (milliseconds since epoch) of the call. Available after
1429
+ * transfer call ends.
1430
+ */
1431
+ transfer_end_timestamp?: number;
1350
1432
  }
1351
1433
 
1352
1434
  export namespace WebCallResponse {
@@ -1421,6 +1503,11 @@ export namespace WebCallResponse {
1421
1503
  */
1422
1504
  product: string;
1423
1505
 
1506
+ /**
1507
+ * True if this cost item is for a transfer segment.
1508
+ */
1509
+ is_transfer_leg_cost?: boolean;
1510
+
1424
1511
  /**
1425
1512
  * Unit price of the product in cents per second.
1426
1513
  */
@@ -1891,6 +1978,12 @@ export namespace WebCallResponse {
1891
1978
  * Tool call id, globally unique.
1892
1979
  */
1893
1980
  tool_call_id: string;
1981
+
1982
+ /**
1983
+ * Optional thought signature from Google Gemini thinking models. This is used
1984
+ * internally to maintain reasoning chain in multi-turn function calling.
1985
+ */
1986
+ thought_signature?: string;
1894
1987
  }
1895
1988
 
1896
1989
  export interface ToolCallResultUtterance {
@@ -1900,7 +1993,7 @@ export namespace WebCallResponse {
1900
1993
  content: string;
1901
1994
 
1902
1995
  /**
1903
- * This is result of a tool call.
1996
+ * This is the result of a tool call.
1904
1997
  */
1905
1998
  role: 'tool_call_result';
1906
1999
 
@@ -1910,6 +2003,33 @@ export namespace WebCallResponse {
1910
2003
  tool_call_id: string;
1911
2004
  }
1912
2005
 
2006
+ export interface NodeTransitionUtterance {
2007
+ /**
2008
+ * Former node id
2009
+ */
2010
+ former_node_id: string;
2011
+
2012
+ /**
2013
+ * Former node name
2014
+ */
2015
+ former_node_name: string;
2016
+
2017
+ /**
2018
+ * New node id
2019
+ */
2020
+ new_node_id: string;
2021
+
2022
+ /**
2023
+ * New node name
2024
+ */
2025
+ new_node_name: string;
2026
+
2027
+ /**
2028
+ * This is result of a node transition
2029
+ */
2030
+ role: 'node_transition';
2031
+ }
2032
+
1913
2033
  export interface DtmfUtterance {
1914
2034
  /**
1915
2035
  * The digit pressed by the user. Will be a single digit string like "1", "2", "3",
@@ -1918,7 +2038,7 @@ export namespace WebCallResponse {
1918
2038
  digit: string;
1919
2039
 
1920
2040
  /**
1921
- * This is user pressed digit from their phone keypad.
2041
+ * Digit pressed by the user from their phone keypad.
1922
2042
  */
1923
2043
  role: 'dtmf';
1924
2044
  }
@@ -2023,6 +2143,12 @@ export namespace WebCallResponse {
2023
2143
  * Tool call id, globally unique.
2024
2144
  */
2025
2145
  tool_call_id: string;
2146
+
2147
+ /**
2148
+ * Optional thought signature from Google Gemini thinking models. This is used
2149
+ * internally to maintain reasoning chain in multi-turn function calling.
2150
+ */
2151
+ thought_signature?: string;
2026
2152
  }
2027
2153
 
2028
2154
  export interface ToolCallResultUtterance {
@@ -2032,7 +2158,7 @@ export namespace WebCallResponse {
2032
2158
  content: string;
2033
2159
 
2034
2160
  /**
2035
- * This is result of a tool call.
2161
+ * This is the result of a tool call.
2036
2162
  */
2037
2163
  role: 'tool_call_result';
2038
2164
 
@@ -2042,6 +2168,33 @@ export namespace WebCallResponse {
2042
2168
  tool_call_id: string;
2043
2169
  }
2044
2170
 
2171
+ export interface NodeTransitionUtterance {
2172
+ /**
2173
+ * Former node id
2174
+ */
2175
+ former_node_id: string;
2176
+
2177
+ /**
2178
+ * Former node name
2179
+ */
2180
+ former_node_name: string;
2181
+
2182
+ /**
2183
+ * New node id
2184
+ */
2185
+ new_node_id: string;
2186
+
2187
+ /**
2188
+ * New node name
2189
+ */
2190
+ new_node_name: string;
2191
+
2192
+ /**
2193
+ * This is result of a node transition
2194
+ */
2195
+ role: 'node_transition';
2196
+ }
2197
+
2045
2198
  export interface DtmfUtterance {
2046
2199
  /**
2047
2200
  * The digit pressed by the user. Will be a single digit string like "1", "2", "3",
@@ -2050,7 +2203,7 @@ export namespace WebCallResponse {
2050
2203
  digit: string;
2051
2204
 
2052
2205
  /**
2053
- * This is user pressed digit from their phone keypad.
2206
+ * Digit pressed by the user from their phone keypad.
2054
2207
  */
2055
2208
  role: 'dtmf';
2056
2209
  }
@@ -2059,6 +2212,11 @@ export namespace WebCallResponse {
2059
2212
  export type CallListResponse = Array<CallResponse>;
2060
2213
 
2061
2214
  export interface CallUpdateParams {
2215
+ /**
2216
+ * Custom attributes for the call
2217
+ */
2218
+ custom_attributes?: { [key: string]: string | number | boolean };
2219
+
2062
2220
  /**
2063
2221
  * Data storage setting for this call. Overrides the agent's default setting.
2064
2222
  * "everything" stores all data, "everything_except_pii" excludes PII when
@@ -2185,8 +2343,19 @@ export namespace CallListParams {
2185
2343
  */
2186
2344
  duration_ms?: FilterCriteria.DurationMs;
2187
2345
 
2346
+ /**
2347
+ * Filter by dynamic variables using dot notation (e.g., `dynamic_variables.name`).
2348
+ * Values are matched exactly as strings.
2349
+ */
2350
+ dynamic_variables?: { [key: string]: Array<string> };
2351
+
2188
2352
  e2e_latency_p50?: FilterCriteria.E2ELatencyP50;
2189
2353
 
2354
+ /**
2355
+ * Only retrieve calls with specific range of end timestamp(s).
2356
+ */
2357
+ end_timestamp?: FilterCriteria.EndTimestamp;
2358
+
2190
2359
  /**
2191
2360
  * Only retrieve calls with specific from number(s).
2192
2361
  */
@@ -2197,6 +2366,12 @@ export namespace CallListParams {
2197
2366
  */
2198
2367
  in_voicemail?: Array<boolean>;
2199
2368
 
2369
+ /**
2370
+ * Filter by metadata fields using dot notation (e.g., `metadata.customer_id`).
2371
+ * Values are matched exactly as strings.
2372
+ */
2373
+ metadata?: { [key: string]: Array<string> };
2374
+
2200
2375
  /**
2201
2376
  * Only retrieve calls with specific range of start timestamp(s).
2202
2377
  */
@@ -2234,6 +2409,15 @@ export namespace CallListParams {
2234
2409
  upper_threshold?: number;
2235
2410
  }
2236
2411
 
2412
+ /**
2413
+ * Only retrieve calls with specific range of end timestamp(s).
2414
+ */
2415
+ export interface EndTimestamp {
2416
+ lower_threshold?: number;
2417
+
2418
+ upper_threshold?: number;
2419
+ }
2420
+
2237
2421
  /**
2238
2422
  * Only retrieve calls with specific range of start timestamp(s).
2239
2423
  */
@@ -2360,24 +2544,18 @@ export namespace CallCreatePhoneCallParams {
2360
2544
  *
2361
2545
  * - `coffee-shop`: Coffee shop ambience with people chatting in background.
2362
2546
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
2363
- *
2364
2547
  * - `convention-hall`: Convention hall ambience, with some echo and people
2365
2548
  * chatting in background.
2366
2549
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
2367
- *
2368
2550
  * - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
2369
2551
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
2370
- *
2371
2552
  * - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
2372
2553
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
2373
- *
2374
2554
  * - `static-noise`: Constant static noise.
2375
2555
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
2376
- *
2377
2556
  * - `call-center`: Call center work noise.
2378
2557
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
2379
- *
2380
- * Set to `null` to remove ambient sound from this agent.
2558
+ * Set to `null` to remove ambient sound from this agent.
2381
2559
  */
2382
2560
  ambient_sound?:
2383
2561
  | 'coffee-shop'
@@ -2441,6 +2619,11 @@ export namespace CallCreatePhoneCallParams {
2441
2619
  */
2442
2620
  boosted_keywords?: Array<string> | null;
2443
2621
 
2622
+ /**
2623
+ * Custom STT configuration. Only used when stt_mode is set to custom.
2624
+ */
2625
+ custom_stt_config?: Agent.CustomSttConfig;
2626
+
2444
2627
  /**
2445
2628
  * Granular setting to manage how Retell stores sensitive data (transcripts,
2446
2629
  * recordings, logs, etc.). This replaces the deprecated
@@ -2455,9 +2638,10 @@ export namespace CallCreatePhoneCallParams {
2455
2638
  data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
2456
2639
 
2457
2640
  /**
2458
- * If set, determines what denoising mode to use. Default to noise-cancellation.
2641
+ * If set, determines what denoising mode to use. Use "no-denoise" to bypass all
2642
+ * audio denoising. Default to noise-cancellation.
2459
2643
  */
2460
- denoising_mode?: 'noise-cancellation' | 'noise-and-background-speech-cancellation';
2644
+ denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
2461
2645
 
2462
2646
  /**
2463
2647
  * Controls whether the agent would backchannel (agent interjects the speaker with
@@ -2467,6 +2651,18 @@ export namespace CallCreatePhoneCallParams {
2467
2651
  */
2468
2652
  enable_backchannel?: boolean;
2469
2653
 
2654
+ /**
2655
+ * If set to true, will enable dynamic voice speed adjustment based on the user's
2656
+ * speech rate and conversation context. If unset, default value false will apply.
2657
+ */
2658
+ enable_dynamic_voice_speed?: boolean;
2659
+
2660
+ /**
2661
+ * If set to true, will detect whether the call enters a voicemail. Note that this
2662
+ * feature is only available for phone calls.
2663
+ */
2664
+ enable_voicemail_detection?: boolean;
2665
+
2470
2666
  /**
2471
2667
  * If users stay silent for a period after agent speech, end the call. The minimum
2472
2668
  * value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
@@ -2482,6 +2678,12 @@ export namespace CallCreatePhoneCallParams {
2482
2678
  */
2483
2679
  fallback_voice_ids?: Array<string> | null;
2484
2680
 
2681
+ /**
2682
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
2683
+ * agent output and user input.
2684
+ */
2685
+ guardrail_config?: Agent.GuardrailConfig;
2686
+
2485
2687
  /**
2486
2688
  * Controls how sensitive the agent is to user interruptions. Value ranging from
2487
2689
  * [0,1]. Lower value means it will take longer / more words for user to interrupt
@@ -2491,11 +2693,24 @@ export namespace CallCreatePhoneCallParams {
2491
2693
  */
2492
2694
  interruption_sensitivity?: number;
2493
2695
 
2696
+ /**
2697
+ * Whether the agent is public. When set to true, the agent is available for public
2698
+ * agent preview link.
2699
+ */
2700
+ is_public?: boolean | null;
2701
+
2702
+ /**
2703
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
2704
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
2705
+ * null to disable IVR detection.
2706
+ */
2707
+ ivr_option?: Agent.IvrOption | null;
2708
+
2494
2709
  /**
2495
2710
  * Specifies what language (and dialect) the speech recognition will operate in.
2496
2711
  * For instance, selecting `en-GB` optimizes speech recognition for British
2497
2712
  * English. If unset, will use default value `en-US`. Select `multi` for
2498
- * multilingual support, currently this supports Spanish and English.
2713
+ * multilingual support.
2499
2714
  */
2500
2715
  language?:
2501
2716
  | 'en-US'
@@ -2520,11 +2735,11 @@ export namespace CallCreatePhoneCallParams {
2520
2735
  | 'nl-BE'
2521
2736
  | 'pl-PL'
2522
2737
  | 'tr-TR'
2523
- | 'th-TH'
2524
2738
  | 'vi-VN'
2525
2739
  | 'ro-RO'
2526
2740
  | 'bg-BG'
2527
2741
  | 'ca-ES'
2742
+ | 'th-TH'
2528
2743
  | 'da-DK'
2529
2744
  | 'fi-FI'
2530
2745
  | 'el-GR'
@@ -2533,6 +2748,34 @@ export namespace CallCreatePhoneCallParams {
2533
2748
  | 'no-NO'
2534
2749
  | 'sk-SK'
2535
2750
  | 'sv-SE'
2751
+ | 'lt-LT'
2752
+ | 'lv-LV'
2753
+ | 'cs-CZ'
2754
+ | 'ms-MY'
2755
+ | 'af-ZA'
2756
+ | 'ar-SA'
2757
+ | 'az-AZ'
2758
+ | 'bs-BA'
2759
+ | 'cy-GB'
2760
+ | 'fa-IR'
2761
+ | 'fil-PH'
2762
+ | 'gl-ES'
2763
+ | 'he-IL'
2764
+ | 'hr-HR'
2765
+ | 'hy-AM'
2766
+ | 'is-IS'
2767
+ | 'kk-KZ'
2768
+ | 'kn-IN'
2769
+ | 'mk-MK'
2770
+ | 'mr-IN'
2771
+ | 'ne-NP'
2772
+ | 'sl-SI'
2773
+ | 'sr-RS'
2774
+ | 'sw-KE'
2775
+ | 'ta-IN'
2776
+ | 'ur-IN'
2777
+ | 'yue-CN'
2778
+ | 'uk-UA'
2536
2779
  | 'multi';
2537
2780
 
2538
2781
  /**
@@ -2585,12 +2828,15 @@ export namespace CallCreatePhoneCallParams {
2585
2828
  | 'gpt-4.1-mini'
2586
2829
  | 'gpt-4.1-nano'
2587
2830
  | 'gpt-5'
2831
+ | 'gpt-5.1'
2832
+ | 'gpt-5.2'
2588
2833
  | 'gpt-5-mini'
2589
2834
  | 'gpt-5-nano'
2590
2835
  | 'claude-4.5-sonnet'
2591
2836
  | 'claude-4.5-haiku'
2592
2837
  | 'gemini-2.5-flash'
2593
2838
  | 'gemini-2.5-flash-lite'
2839
+ | 'gemini-3.0-flash'
2594
2840
  | null;
2595
2841
 
2596
2842
  /**
@@ -2648,12 +2894,18 @@ export namespace CallCreatePhoneCallParams {
2648
2894
 
2649
2895
  /**
2650
2896
  * If set, determines whether speech to text should focus on latency or accuracy.
2651
- * Default to fast mode.
2897
+ * Default to fast mode. When set to custom, custom_stt_config must be provided.
2652
2898
  */
2653
- stt_mode?: 'fast' | 'accurate';
2899
+ stt_mode?: 'fast' | 'accurate' | 'custom';
2654
2900
 
2655
2901
  user_dtmf_options?: Agent.UserDtmfOptions | null;
2656
2902
 
2903
+ /**
2904
+ * Optional description of the agent version. Used for your own reference and
2905
+ * documentation.
2906
+ */
2907
+ version_description?: string | null;
2908
+
2657
2909
  /**
2658
2910
  * If set, determines the vocabulary set to use for transcription. This setting
2659
2911
  * only applies for English agents, for non English agent, this setting is a no-op.
@@ -2661,6 +2913,12 @@ export namespace CallCreatePhoneCallParams {
2661
2913
  */
2662
2914
  vocab_specialization?: 'general' | 'medical';
2663
2915
 
2916
+ /**
2917
+ * Controls the emotional tone of the agent's voice. Currently supported for
2918
+ * Cartesia and Minimax TTS providers. If unset, no emotion will be used.
2919
+ */
2920
+ voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
2921
+
2664
2922
  /**
2665
2923
  * Unique voice id used for the agent. Find list of available voices and their
2666
2924
  * preview in Dashboard.
@@ -2668,10 +2926,9 @@ export namespace CallCreatePhoneCallParams {
2668
2926
  voice_id?: string;
2669
2927
 
2670
2928
  /**
2671
- * Optionally set the voice model used for the selected voice. Currently only
2672
- * elevenlab voices have voice model selections. Set to null to remove voice model
2673
- * selection, and default ones will apply. Check out the dashboard for details on
2674
- * each voice model.
2929
+ * Select the voice model used for the selected voice. Each provider has a set of
2930
+ * available voice models. Set to null to remove voice model selection, and default
2931
+ * ones will apply. Check out dashboard for more details of each voice model.
2675
2932
  */
2676
2933
  voice_model?:
2677
2934
  | 'eleven_turbo_v2'
@@ -2679,8 +2936,14 @@ export namespace CallCreatePhoneCallParams {
2679
2936
  | 'eleven_turbo_v2_5'
2680
2937
  | 'eleven_flash_v2_5'
2681
2938
  | 'eleven_multilingual_v2'
2939
+ | 'sonic-2'
2940
+ | 'sonic-3'
2941
+ | 'sonic-3-latest'
2942
+ | 'sonic-turbo'
2682
2943
  | 'tts-1'
2683
2944
  | 'gpt-4o-mini-tts'
2945
+ | 'speech-02-turbo'
2946
+ | 'speech-2.8-turbo'
2684
2947
  | null;
2685
2948
 
2686
2949
  /**
@@ -2698,6 +2961,21 @@ export namespace CallCreatePhoneCallParams {
2698
2961
  */
2699
2962
  voice_temperature?: number;
2700
2963
 
2964
+ /**
2965
+ * Configures when to stop running voicemail detection, as it becomes unlikely to
2966
+ * hit voicemail after a couple minutes, and keep running it will only have
2967
+ * negative impact. The minimum value allowed is 5,000 ms (5 s), and maximum value
2968
+ * allowed is 180,000 (3 minutes). By default, this is set to 30,000 (30 s).
2969
+ */
2970
+ voicemail_detection_timeout_ms?: number;
2971
+
2972
+ /**
2973
+ * The message to be played when the call enters a voicemail. Note that this
2974
+ * feature is only available for phone calls. If you want to hangup after hitting
2975
+ * voicemail, set this to empty string.
2976
+ */
2977
+ voicemail_message?: string;
2978
+
2701
2979
  /**
2702
2980
  * If this option is set, the call will try to detect voicemail in the first 3
2703
2981
  * minutes of the call. Actions defined (hangup, or leave a message) will be
@@ -2713,6 +2991,21 @@ export namespace CallCreatePhoneCallParams {
2713
2991
  */
2714
2992
  volume?: number;
2715
2993
 
2994
+ /**
2995
+ * Which webhook events this agent should receive. If not set, defaults to
2996
+ * call_started, call_ended, call_analyzed.
2997
+ */
2998
+ webhook_events?: Array<
2999
+ | 'call_started'
3000
+ | 'call_ended'
3001
+ | 'call_analyzed'
3002
+ | 'transcript_updated'
3003
+ | 'transfer_started'
3004
+ | 'transfer_bridged'
3005
+ | 'transfer_cancelled'
3006
+ | 'transfer_ended'
3007
+ > | null;
3008
+
2716
3009
  /**
2717
3010
  * The timeout for the webhook in milliseconds. If not set, default value of 10000
2718
3011
  * will apply.
@@ -2729,6 +3022,65 @@ export namespace CallCreatePhoneCallParams {
2729
3022
  }
2730
3023
 
2731
3024
  export namespace Agent {
3025
+ /**
3026
+ * Custom STT configuration. Only used when stt_mode is set to custom.
3027
+ */
3028
+ export interface CustomSttConfig {
3029
+ /**
3030
+ * Endpointing timeout in milliseconds. Minimum is 100 for azure, 10 for deepgram.
3031
+ */
3032
+ endpointing_ms: number;
3033
+
3034
+ /**
3035
+ * The STT provider to use.
3036
+ */
3037
+ provider: 'azure' | 'deepgram';
3038
+ }
3039
+
3040
+ /**
3041
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
3042
+ * agent output and user input.
3043
+ */
3044
+ export interface GuardrailConfig {
3045
+ /**
3046
+ * Selected prohibited user topic categories to check. When user messages contain
3047
+ * these topics, the agent will respond with a placeholder message instead of
3048
+ * processing the request.
3049
+ */
3050
+ input_topics?: Array<'platform_integrity_jailbreaking'> | null;
3051
+
3052
+ /**
3053
+ * Selected prohibited agent topic categories to check. When agent messages contain
3054
+ * these topics, they will be replaced with a placeholder message.
3055
+ */
3056
+ output_topics?: Array<
3057
+ | 'harassment'
3058
+ | 'self_harm'
3059
+ | 'sexual_exploitation'
3060
+ | 'violence'
3061
+ | 'defense_and_national_security'
3062
+ | 'illicit_and_harmful_activity'
3063
+ | 'gambling'
3064
+ | 'regulated_professional_advice'
3065
+ | 'child_safety_and_exploitation'
3066
+ > | null;
3067
+ }
3068
+
3069
+ /**
3070
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
3071
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
3072
+ * null to disable IVR detection.
3073
+ */
3074
+ export interface IvrOption {
3075
+ action: IvrOption.Action;
3076
+ }
3077
+
3078
+ export namespace IvrOption {
3079
+ export interface Action {
3080
+ type: 'hangup';
3081
+ }
3082
+ }
3083
+
2732
3084
  /**
2733
3085
  * Configuration for PII scrubbing from transcripts and recordings.
2734
3086
  */
@@ -2750,6 +3102,7 @@ export namespace CallCreatePhoneCallParams {
2750
3102
  | 'pin'
2751
3103
  | 'medical_id'
2752
3104
  | 'date_of_birth'
3105
+ | 'customer_account_number'
2753
3106
  >;
2754
3107
 
2755
3108
  /**
@@ -2909,7 +3262,7 @@ export namespace CallCreatePhoneCallParams {
2909
3262
 
2910
3263
  /**
2911
3264
  * A single key that signals the end of DTMF input. Acceptable values include any
2912
- * digit (09), the pound/hash symbol (#), or the asterisk (\*).
3265
+ * digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
2913
3266
  */
2914
3267
  termination_key?: string | null;
2915
3268
 
@@ -2930,7 +3283,8 @@ export namespace CallCreatePhoneCallParams {
2930
3283
  action:
2931
3284
  | VoicemailOption.VoicemailActionPrompt
2932
3285
  | VoicemailOption.VoicemailActionStaticText
2933
- | VoicemailOption.VoicemailActionHangup;
3286
+ | VoicemailOption.VoicemailActionHangup
3287
+ | VoicemailOption.VoicemailActionBridgeTransfer;
2934
3288
  }
2935
3289
 
2936
3290
  export namespace VoicemailOption {
@@ -2956,6 +3310,10 @@ export namespace CallCreatePhoneCallParams {
2956
3310
  export interface VoicemailActionHangup {
2957
3311
  type: 'hangup';
2958
3312
  }
3313
+
3314
+ export interface VoicemailActionBridgeTransfer {
3315
+ type: 'bridge_transfer';
3316
+ }
2959
3317
  }
2960
3318
  }
2961
3319
 
@@ -3035,12 +3393,15 @@ export namespace CallCreatePhoneCallParams {
3035
3393
  | 'gpt-4.1-mini'
3036
3394
  | 'gpt-4.1-nano'
3037
3395
  | 'gpt-5'
3396
+ | 'gpt-5.1'
3397
+ | 'gpt-5.2'
3038
3398
  | 'gpt-5-mini'
3039
3399
  | 'gpt-5-nano'
3040
3400
  | 'claude-4.5-sonnet'
3041
3401
  | 'claude-4.5-haiku'
3042
3402
  | 'gemini-2.5-flash'
3043
- | 'gemini-2.5-flash-lite';
3403
+ | 'gemini-2.5-flash-lite'
3404
+ | 'gemini-3.0-flash';
3044
3405
 
3045
3406
  /**
3046
3407
  * Type of model choice
@@ -3094,12 +3455,15 @@ export namespace CallCreatePhoneCallParams {
3094
3455
  | 'gpt-4.1-mini'
3095
3456
  | 'gpt-4.1-nano'
3096
3457
  | 'gpt-5'
3458
+ | 'gpt-5.1'
3459
+ | 'gpt-5.2'
3097
3460
  | 'gpt-5-mini'
3098
3461
  | 'gpt-5-nano'
3099
3462
  | 'claude-4.5-sonnet'
3100
3463
  | 'claude-4.5-haiku'
3101
3464
  | 'gemini-2.5-flash'
3102
3465
  | 'gemini-2.5-flash-lite'
3466
+ | 'gemini-3.0-flash'
3103
3467
  | null;
3104
3468
 
3105
3469
  /**
@@ -3121,7 +3485,7 @@ export namespace CallCreatePhoneCallParams {
3121
3485
  * Select the underlying speech to speech model. Can only set this or model, not
3122
3486
  * both.
3123
3487
  */
3124
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
3488
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
3125
3489
 
3126
3490
  /**
3127
3491
  * The speaker who starts the conversation. Required. Must be either 'user' or
@@ -3243,24 +3607,18 @@ export namespace CallCreateWebCallParams {
3243
3607
  *
3244
3608
  * - `coffee-shop`: Coffee shop ambience with people chatting in background.
3245
3609
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
3246
- *
3247
3610
  * - `convention-hall`: Convention hall ambience, with some echo and people
3248
3611
  * chatting in background.
3249
3612
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
3250
- *
3251
3613
  * - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
3252
3614
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
3253
- *
3254
3615
  * - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
3255
3616
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
3256
- *
3257
3617
  * - `static-noise`: Constant static noise.
3258
3618
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
3259
- *
3260
3619
  * - `call-center`: Call center work noise.
3261
3620
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
3262
- *
3263
- * Set to `null` to remove ambient sound from this agent.
3621
+ * Set to `null` to remove ambient sound from this agent.
3264
3622
  */
3265
3623
  ambient_sound?:
3266
3624
  | 'coffee-shop'
@@ -3324,6 +3682,11 @@ export namespace CallCreateWebCallParams {
3324
3682
  */
3325
3683
  boosted_keywords?: Array<string> | null;
3326
3684
 
3685
+ /**
3686
+ * Custom STT configuration. Only used when stt_mode is set to custom.
3687
+ */
3688
+ custom_stt_config?: Agent.CustomSttConfig;
3689
+
3327
3690
  /**
3328
3691
  * Granular setting to manage how Retell stores sensitive data (transcripts,
3329
3692
  * recordings, logs, etc.). This replaces the deprecated
@@ -3338,9 +3701,10 @@ export namespace CallCreateWebCallParams {
3338
3701
  data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
3339
3702
 
3340
3703
  /**
3341
- * If set, determines what denoising mode to use. Default to noise-cancellation.
3704
+ * If set, determines what denoising mode to use. Use "no-denoise" to bypass all
3705
+ * audio denoising. Default to noise-cancellation.
3342
3706
  */
3343
- denoising_mode?: 'noise-cancellation' | 'noise-and-background-speech-cancellation';
3707
+ denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
3344
3708
 
3345
3709
  /**
3346
3710
  * Controls whether the agent would backchannel (agent interjects the speaker with
@@ -3350,6 +3714,18 @@ export namespace CallCreateWebCallParams {
3350
3714
  */
3351
3715
  enable_backchannel?: boolean;
3352
3716
 
3717
+ /**
3718
+ * If set to true, will enable dynamic voice speed adjustment based on the user's
3719
+ * speech rate and conversation context. If unset, default value false will apply.
3720
+ */
3721
+ enable_dynamic_voice_speed?: boolean;
3722
+
3723
+ /**
3724
+ * If set to true, will detect whether the call enters a voicemail. Note that this
3725
+ * feature is only available for phone calls.
3726
+ */
3727
+ enable_voicemail_detection?: boolean;
3728
+
3353
3729
  /**
3354
3730
  * If users stay silent for a period after agent speech, end the call. The minimum
3355
3731
  * value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
@@ -3365,6 +3741,12 @@ export namespace CallCreateWebCallParams {
3365
3741
  */
3366
3742
  fallback_voice_ids?: Array<string> | null;
3367
3743
 
3744
+ /**
3745
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
3746
+ * agent output and user input.
3747
+ */
3748
+ guardrail_config?: Agent.GuardrailConfig;
3749
+
3368
3750
  /**
3369
3751
  * Controls how sensitive the agent is to user interruptions. Value ranging from
3370
3752
  * [0,1]. Lower value means it will take longer / more words for user to interrupt
@@ -3374,11 +3756,24 @@ export namespace CallCreateWebCallParams {
3374
3756
  */
3375
3757
  interruption_sensitivity?: number;
3376
3758
 
3759
+ /**
3760
+ * Whether the agent is public. When set to true, the agent is available for public
3761
+ * agent preview link.
3762
+ */
3763
+ is_public?: boolean | null;
3764
+
3765
+ /**
3766
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
3767
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
3768
+ * null to disable IVR detection.
3769
+ */
3770
+ ivr_option?: Agent.IvrOption | null;
3771
+
3377
3772
  /**
3378
3773
  * Specifies what language (and dialect) the speech recognition will operate in.
3379
3774
  * For instance, selecting `en-GB` optimizes speech recognition for British
3380
3775
  * English. If unset, will use default value `en-US`. Select `multi` for
3381
- * multilingual support, currently this supports Spanish and English.
3776
+ * multilingual support.
3382
3777
  */
3383
3778
  language?:
3384
3779
  | 'en-US'
@@ -3403,11 +3798,11 @@ export namespace CallCreateWebCallParams {
3403
3798
  | 'nl-BE'
3404
3799
  | 'pl-PL'
3405
3800
  | 'tr-TR'
3406
- | 'th-TH'
3407
3801
  | 'vi-VN'
3408
3802
  | 'ro-RO'
3409
3803
  | 'bg-BG'
3410
3804
  | 'ca-ES'
3805
+ | 'th-TH'
3411
3806
  | 'da-DK'
3412
3807
  | 'fi-FI'
3413
3808
  | 'el-GR'
@@ -3416,6 +3811,34 @@ export namespace CallCreateWebCallParams {
3416
3811
  | 'no-NO'
3417
3812
  | 'sk-SK'
3418
3813
  | 'sv-SE'
3814
+ | 'lt-LT'
3815
+ | 'lv-LV'
3816
+ | 'cs-CZ'
3817
+ | 'ms-MY'
3818
+ | 'af-ZA'
3819
+ | 'ar-SA'
3820
+ | 'az-AZ'
3821
+ | 'bs-BA'
3822
+ | 'cy-GB'
3823
+ | 'fa-IR'
3824
+ | 'fil-PH'
3825
+ | 'gl-ES'
3826
+ | 'he-IL'
3827
+ | 'hr-HR'
3828
+ | 'hy-AM'
3829
+ | 'is-IS'
3830
+ | 'kk-KZ'
3831
+ | 'kn-IN'
3832
+ | 'mk-MK'
3833
+ | 'mr-IN'
3834
+ | 'ne-NP'
3835
+ | 'sl-SI'
3836
+ | 'sr-RS'
3837
+ | 'sw-KE'
3838
+ | 'ta-IN'
3839
+ | 'ur-IN'
3840
+ | 'yue-CN'
3841
+ | 'uk-UA'
3419
3842
  | 'multi';
3420
3843
 
3421
3844
  /**
@@ -3468,12 +3891,15 @@ export namespace CallCreateWebCallParams {
3468
3891
  | 'gpt-4.1-mini'
3469
3892
  | 'gpt-4.1-nano'
3470
3893
  | 'gpt-5'
3894
+ | 'gpt-5.1'
3895
+ | 'gpt-5.2'
3471
3896
  | 'gpt-5-mini'
3472
3897
  | 'gpt-5-nano'
3473
3898
  | 'claude-4.5-sonnet'
3474
3899
  | 'claude-4.5-haiku'
3475
3900
  | 'gemini-2.5-flash'
3476
3901
  | 'gemini-2.5-flash-lite'
3902
+ | 'gemini-3.0-flash'
3477
3903
  | null;
3478
3904
 
3479
3905
  /**
@@ -3531,12 +3957,18 @@ export namespace CallCreateWebCallParams {
3531
3957
 
3532
3958
  /**
3533
3959
  * If set, determines whether speech to text should focus on latency or accuracy.
3534
- * Default to fast mode.
3960
+ * Default to fast mode. When set to custom, custom_stt_config must be provided.
3535
3961
  */
3536
- stt_mode?: 'fast' | 'accurate';
3962
+ stt_mode?: 'fast' | 'accurate' | 'custom';
3537
3963
 
3538
3964
  user_dtmf_options?: Agent.UserDtmfOptions | null;
3539
3965
 
3966
+ /**
3967
+ * Optional description of the agent version. Used for your own reference and
3968
+ * documentation.
3969
+ */
3970
+ version_description?: string | null;
3971
+
3540
3972
  /**
3541
3973
  * If set, determines the vocabulary set to use for transcription. This setting
3542
3974
  * only applies for English agents, for non English agent, this setting is a no-op.
@@ -3544,6 +3976,12 @@ export namespace CallCreateWebCallParams {
3544
3976
  */
3545
3977
  vocab_specialization?: 'general' | 'medical';
3546
3978
 
3979
+ /**
3980
+ * Controls the emotional tone of the agent's voice. Currently supported for
3981
+ * Cartesia and Minimax TTS providers. If unset, no emotion will be used.
3982
+ */
3983
+ voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
3984
+
3547
3985
  /**
3548
3986
  * Unique voice id used for the agent. Find list of available voices and their
3549
3987
  * preview in Dashboard.
@@ -3551,10 +3989,9 @@ export namespace CallCreateWebCallParams {
3551
3989
  voice_id?: string;
3552
3990
 
3553
3991
  /**
3554
- * Optionally set the voice model used for the selected voice. Currently only
3555
- * elevenlab voices have voice model selections. Set to null to remove voice model
3556
- * selection, and default ones will apply. Check out the dashboard for details on
3557
- * each voice model.
3992
+ * Select the voice model used for the selected voice. Each provider has a set of
3993
+ * available voice models. Set to null to remove voice model selection, and default
3994
+ * ones will apply. Check out dashboard for more details of each voice model.
3558
3995
  */
3559
3996
  voice_model?:
3560
3997
  | 'eleven_turbo_v2'
@@ -3562,8 +3999,14 @@ export namespace CallCreateWebCallParams {
3562
3999
  | 'eleven_turbo_v2_5'
3563
4000
  | 'eleven_flash_v2_5'
3564
4001
  | 'eleven_multilingual_v2'
4002
+ | 'sonic-2'
4003
+ | 'sonic-3'
4004
+ | 'sonic-3-latest'
4005
+ | 'sonic-turbo'
3565
4006
  | 'tts-1'
3566
4007
  | 'gpt-4o-mini-tts'
4008
+ | 'speech-02-turbo'
4009
+ | 'speech-2.8-turbo'
3567
4010
  | null;
3568
4011
 
3569
4012
  /**
@@ -3581,6 +4024,21 @@ export namespace CallCreateWebCallParams {
3581
4024
  */
3582
4025
  voice_temperature?: number;
3583
4026
 
4027
+ /**
4028
+ * Configures when to stop running voicemail detection, as it becomes unlikely to
4029
+ * hit voicemail after a couple minutes, and keep running it will only have
4030
+ * negative impact. The minimum value allowed is 5,000 ms (5 s), and maximum value
4031
+ * allowed is 180,000 (3 minutes). By default, this is set to 30,000 (30 s).
4032
+ */
4033
+ voicemail_detection_timeout_ms?: number;
4034
+
4035
+ /**
4036
+ * The message to be played when the call enters a voicemail. Note that this
4037
+ * feature is only available for phone calls. If you want to hangup after hitting
4038
+ * voicemail, set this to empty string.
4039
+ */
4040
+ voicemail_message?: string;
4041
+
3584
4042
  /**
3585
4043
  * If this option is set, the call will try to detect voicemail in the first 3
3586
4044
  * minutes of the call. Actions defined (hangup, or leave a message) will be
@@ -3596,6 +4054,21 @@ export namespace CallCreateWebCallParams {
3596
4054
  */
3597
4055
  volume?: number;
3598
4056
 
4057
+ /**
4058
+ * Which webhook events this agent should receive. If not set, defaults to
4059
+ * call_started, call_ended, call_analyzed.
4060
+ */
4061
+ webhook_events?: Array<
4062
+ | 'call_started'
4063
+ | 'call_ended'
4064
+ | 'call_analyzed'
4065
+ | 'transcript_updated'
4066
+ | 'transfer_started'
4067
+ | 'transfer_bridged'
4068
+ | 'transfer_cancelled'
4069
+ | 'transfer_ended'
4070
+ > | null;
4071
+
3599
4072
  /**
3600
4073
  * The timeout for the webhook in milliseconds. If not set, default value of 10000
3601
4074
  * will apply.
@@ -3612,6 +4085,65 @@ export namespace CallCreateWebCallParams {
3612
4085
  }
3613
4086
 
3614
4087
  export namespace Agent {
4088
+ /**
4089
+ * Custom STT configuration. Only used when stt_mode is set to custom.
4090
+ */
4091
+ export interface CustomSttConfig {
4092
+ /**
4093
+ * Endpointing timeout in milliseconds. Minimum is 100 for azure, 10 for deepgram.
4094
+ */
4095
+ endpointing_ms: number;
4096
+
4097
+ /**
4098
+ * The STT provider to use.
4099
+ */
4100
+ provider: 'azure' | 'deepgram';
4101
+ }
4102
+
4103
+ /**
4104
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
4105
+ * agent output and user input.
4106
+ */
4107
+ export interface GuardrailConfig {
4108
+ /**
4109
+ * Selected prohibited user topic categories to check. When user messages contain
4110
+ * these topics, the agent will respond with a placeholder message instead of
4111
+ * processing the request.
4112
+ */
4113
+ input_topics?: Array<'platform_integrity_jailbreaking'> | null;
4114
+
4115
+ /**
4116
+ * Selected prohibited agent topic categories to check. When agent messages contain
4117
+ * these topics, they will be replaced with a placeholder message.
4118
+ */
4119
+ output_topics?: Array<
4120
+ | 'harassment'
4121
+ | 'self_harm'
4122
+ | 'sexual_exploitation'
4123
+ | 'violence'
4124
+ | 'defense_and_national_security'
4125
+ | 'illicit_and_harmful_activity'
4126
+ | 'gambling'
4127
+ | 'regulated_professional_advice'
4128
+ | 'child_safety_and_exploitation'
4129
+ > | null;
4130
+ }
4131
+
4132
+ /**
4133
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
4134
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
4135
+ * null to disable IVR detection.
4136
+ */
4137
+ export interface IvrOption {
4138
+ action: IvrOption.Action;
4139
+ }
4140
+
4141
+ export namespace IvrOption {
4142
+ export interface Action {
4143
+ type: 'hangup';
4144
+ }
4145
+ }
4146
+
3615
4147
  /**
3616
4148
  * Configuration for PII scrubbing from transcripts and recordings.
3617
4149
  */
@@ -3633,6 +4165,7 @@ export namespace CallCreateWebCallParams {
3633
4165
  | 'pin'
3634
4166
  | 'medical_id'
3635
4167
  | 'date_of_birth'
4168
+ | 'customer_account_number'
3636
4169
  >;
3637
4170
 
3638
4171
  /**
@@ -3792,7 +4325,7 @@ export namespace CallCreateWebCallParams {
3792
4325
 
3793
4326
  /**
3794
4327
  * A single key that signals the end of DTMF input. Acceptable values include any
3795
- * digit (09), the pound/hash symbol (#), or the asterisk (\*).
4328
+ * digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
3796
4329
  */
3797
4330
  termination_key?: string | null;
3798
4331
 
@@ -3813,7 +4346,8 @@ export namespace CallCreateWebCallParams {
3813
4346
  action:
3814
4347
  | VoicemailOption.VoicemailActionPrompt
3815
4348
  | VoicemailOption.VoicemailActionStaticText
3816
- | VoicemailOption.VoicemailActionHangup;
4349
+ | VoicemailOption.VoicemailActionHangup
4350
+ | VoicemailOption.VoicemailActionBridgeTransfer;
3817
4351
  }
3818
4352
 
3819
4353
  export namespace VoicemailOption {
@@ -3839,6 +4373,10 @@ export namespace CallCreateWebCallParams {
3839
4373
  export interface VoicemailActionHangup {
3840
4374
  type: 'hangup';
3841
4375
  }
4376
+
4377
+ export interface VoicemailActionBridgeTransfer {
4378
+ type: 'bridge_transfer';
4379
+ }
3842
4380
  }
3843
4381
  }
3844
4382
 
@@ -3918,12 +4456,15 @@ export namespace CallCreateWebCallParams {
3918
4456
  | 'gpt-4.1-mini'
3919
4457
  | 'gpt-4.1-nano'
3920
4458
  | 'gpt-5'
4459
+ | 'gpt-5.1'
4460
+ | 'gpt-5.2'
3921
4461
  | 'gpt-5-mini'
3922
4462
  | 'gpt-5-nano'
3923
4463
  | 'claude-4.5-sonnet'
3924
4464
  | 'claude-4.5-haiku'
3925
4465
  | 'gemini-2.5-flash'
3926
- | 'gemini-2.5-flash-lite';
4466
+ | 'gemini-2.5-flash-lite'
4467
+ | 'gemini-3.0-flash';
3927
4468
 
3928
4469
  /**
3929
4470
  * Type of model choice
@@ -3977,12 +4518,15 @@ export namespace CallCreateWebCallParams {
3977
4518
  | 'gpt-4.1-mini'
3978
4519
  | 'gpt-4.1-nano'
3979
4520
  | 'gpt-5'
4521
+ | 'gpt-5.1'
4522
+ | 'gpt-5.2'
3980
4523
  | 'gpt-5-mini'
3981
4524
  | 'gpt-5-nano'
3982
4525
  | 'claude-4.5-sonnet'
3983
4526
  | 'claude-4.5-haiku'
3984
4527
  | 'gemini-2.5-flash'
3985
4528
  | 'gemini-2.5-flash-lite'
4529
+ | 'gemini-3.0-flash'
3986
4530
  | null;
3987
4531
 
3988
4532
  /**
@@ -4004,7 +4548,7 @@ export namespace CallCreateWebCallParams {
4004
4548
  * Select the underlying speech to speech model. Can only set this or model, not
4005
4549
  * both.
4006
4550
  */
4007
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
4551
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
4008
4552
 
4009
4553
  /**
4010
4554
  * The speaker who starts the conversation. Required. Must be either 'user' or
@@ -4140,24 +4684,18 @@ export namespace CallRegisterPhoneCallParams {
4140
4684
  *
4141
4685
  * - `coffee-shop`: Coffee shop ambience with people chatting in background.
4142
4686
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
4143
- *
4144
4687
  * - `convention-hall`: Convention hall ambience, with some echo and people
4145
4688
  * chatting in background.
4146
4689
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
4147
- *
4148
4690
  * - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
4149
4691
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
4150
- *
4151
4692
  * - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
4152
4693
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
4153
- *
4154
4694
  * - `static-noise`: Constant static noise.
4155
4695
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
4156
- *
4157
4696
  * - `call-center`: Call center work noise.
4158
4697
  * [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
4159
- *
4160
- * Set to `null` to remove ambient sound from this agent.
4698
+ * Set to `null` to remove ambient sound from this agent.
4161
4699
  */
4162
4700
  ambient_sound?:
4163
4701
  | 'coffee-shop'
@@ -4221,6 +4759,11 @@ export namespace CallRegisterPhoneCallParams {
4221
4759
  */
4222
4760
  boosted_keywords?: Array<string> | null;
4223
4761
 
4762
+ /**
4763
+ * Custom STT configuration. Only used when stt_mode is set to custom.
4764
+ */
4765
+ custom_stt_config?: Agent.CustomSttConfig;
4766
+
4224
4767
  /**
4225
4768
  * Granular setting to manage how Retell stores sensitive data (transcripts,
4226
4769
  * recordings, logs, etc.). This replaces the deprecated
@@ -4235,9 +4778,10 @@ export namespace CallRegisterPhoneCallParams {
4235
4778
  data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
4236
4779
 
4237
4780
  /**
4238
- * If set, determines what denoising mode to use. Default to noise-cancellation.
4781
+ * If set, determines what denoising mode to use. Use "no-denoise" to bypass all
4782
+ * audio denoising. Default to noise-cancellation.
4239
4783
  */
4240
- denoising_mode?: 'noise-cancellation' | 'noise-and-background-speech-cancellation';
4784
+ denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
4241
4785
 
4242
4786
  /**
4243
4787
  * Controls whether the agent would backchannel (agent interjects the speaker with
@@ -4247,6 +4791,18 @@ export namespace CallRegisterPhoneCallParams {
4247
4791
  */
4248
4792
  enable_backchannel?: boolean;
4249
4793
 
4794
+ /**
4795
+ * If set to true, will enable dynamic voice speed adjustment based on the user's
4796
+ * speech rate and conversation context. If unset, default value false will apply.
4797
+ */
4798
+ enable_dynamic_voice_speed?: boolean;
4799
+
4800
+ /**
4801
+ * If set to true, will detect whether the call enters a voicemail. Note that this
4802
+ * feature is only available for phone calls.
4803
+ */
4804
+ enable_voicemail_detection?: boolean;
4805
+
4250
4806
  /**
4251
4807
  * If users stay silent for a period after agent speech, end the call. The minimum
4252
4808
  * value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
@@ -4262,6 +4818,12 @@ export namespace CallRegisterPhoneCallParams {
4262
4818
  */
4263
4819
  fallback_voice_ids?: Array<string> | null;
4264
4820
 
4821
+ /**
4822
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
4823
+ * agent output and user input.
4824
+ */
4825
+ guardrail_config?: Agent.GuardrailConfig;
4826
+
4265
4827
  /**
4266
4828
  * Controls how sensitive the agent is to user interruptions. Value ranging from
4267
4829
  * [0,1]. Lower value means it will take longer / more words for user to interrupt
@@ -4271,11 +4833,24 @@ export namespace CallRegisterPhoneCallParams {
4271
4833
  */
4272
4834
  interruption_sensitivity?: number;
4273
4835
 
4836
+ /**
4837
+ * Whether the agent is public. When set to true, the agent is available for public
4838
+ * agent preview link.
4839
+ */
4840
+ is_public?: boolean | null;
4841
+
4842
+ /**
4843
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
4844
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
4845
+ * null to disable IVR detection.
4846
+ */
4847
+ ivr_option?: Agent.IvrOption | null;
4848
+
4274
4849
  /**
4275
4850
  * Specifies what language (and dialect) the speech recognition will operate in.
4276
4851
  * For instance, selecting `en-GB` optimizes speech recognition for British
4277
4852
  * English. If unset, will use default value `en-US`. Select `multi` for
4278
- * multilingual support, currently this supports Spanish and English.
4853
+ * multilingual support.
4279
4854
  */
4280
4855
  language?:
4281
4856
  | 'en-US'
@@ -4300,11 +4875,11 @@ export namespace CallRegisterPhoneCallParams {
4300
4875
  | 'nl-BE'
4301
4876
  | 'pl-PL'
4302
4877
  | 'tr-TR'
4303
- | 'th-TH'
4304
4878
  | 'vi-VN'
4305
4879
  | 'ro-RO'
4306
4880
  | 'bg-BG'
4307
4881
  | 'ca-ES'
4882
+ | 'th-TH'
4308
4883
  | 'da-DK'
4309
4884
  | 'fi-FI'
4310
4885
  | 'el-GR'
@@ -4313,6 +4888,34 @@ export namespace CallRegisterPhoneCallParams {
4313
4888
  | 'no-NO'
4314
4889
  | 'sk-SK'
4315
4890
  | 'sv-SE'
4891
+ | 'lt-LT'
4892
+ | 'lv-LV'
4893
+ | 'cs-CZ'
4894
+ | 'ms-MY'
4895
+ | 'af-ZA'
4896
+ | 'ar-SA'
4897
+ | 'az-AZ'
4898
+ | 'bs-BA'
4899
+ | 'cy-GB'
4900
+ | 'fa-IR'
4901
+ | 'fil-PH'
4902
+ | 'gl-ES'
4903
+ | 'he-IL'
4904
+ | 'hr-HR'
4905
+ | 'hy-AM'
4906
+ | 'is-IS'
4907
+ | 'kk-KZ'
4908
+ | 'kn-IN'
4909
+ | 'mk-MK'
4910
+ | 'mr-IN'
4911
+ | 'ne-NP'
4912
+ | 'sl-SI'
4913
+ | 'sr-RS'
4914
+ | 'sw-KE'
4915
+ | 'ta-IN'
4916
+ | 'ur-IN'
4917
+ | 'yue-CN'
4918
+ | 'uk-UA'
4316
4919
  | 'multi';
4317
4920
 
4318
4921
  /**
@@ -4365,12 +4968,15 @@ export namespace CallRegisterPhoneCallParams {
4365
4968
  | 'gpt-4.1-mini'
4366
4969
  | 'gpt-4.1-nano'
4367
4970
  | 'gpt-5'
4971
+ | 'gpt-5.1'
4972
+ | 'gpt-5.2'
4368
4973
  | 'gpt-5-mini'
4369
4974
  | 'gpt-5-nano'
4370
4975
  | 'claude-4.5-sonnet'
4371
4976
  | 'claude-4.5-haiku'
4372
4977
  | 'gemini-2.5-flash'
4373
4978
  | 'gemini-2.5-flash-lite'
4979
+ | 'gemini-3.0-flash'
4374
4980
  | null;
4375
4981
 
4376
4982
  /**
@@ -4428,12 +5034,18 @@ export namespace CallRegisterPhoneCallParams {
4428
5034
 
4429
5035
  /**
4430
5036
  * If set, determines whether speech to text should focus on latency or accuracy.
4431
- * Default to fast mode.
5037
+ * Default to fast mode. When set to custom, custom_stt_config must be provided.
4432
5038
  */
4433
- stt_mode?: 'fast' | 'accurate';
5039
+ stt_mode?: 'fast' | 'accurate' | 'custom';
4434
5040
 
4435
5041
  user_dtmf_options?: Agent.UserDtmfOptions | null;
4436
5042
 
5043
+ /**
5044
+ * Optional description of the agent version. Used for your own reference and
5045
+ * documentation.
5046
+ */
5047
+ version_description?: string | null;
5048
+
4437
5049
  /**
4438
5050
  * If set, determines the vocabulary set to use for transcription. This setting
4439
5051
  * only applies for English agents, for non English agent, this setting is a no-op.
@@ -4441,6 +5053,12 @@ export namespace CallRegisterPhoneCallParams {
4441
5053
  */
4442
5054
  vocab_specialization?: 'general' | 'medical';
4443
5055
 
5056
+ /**
5057
+ * Controls the emotional tone of the agent's voice. Currently supported for
5058
+ * Cartesia and Minimax TTS providers. If unset, no emotion will be used.
5059
+ */
5060
+ voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
5061
+
4444
5062
  /**
4445
5063
  * Unique voice id used for the agent. Find list of available voices and their
4446
5064
  * preview in Dashboard.
@@ -4448,10 +5066,9 @@ export namespace CallRegisterPhoneCallParams {
4448
5066
  voice_id?: string;
4449
5067
 
4450
5068
  /**
4451
- * Optionally set the voice model used for the selected voice. Currently only
4452
- * elevenlab voices have voice model selections. Set to null to remove voice model
4453
- * selection, and default ones will apply. Check out the dashboard for details on
4454
- * each voice model.
5069
+ * Select the voice model used for the selected voice. Each provider has a set of
5070
+ * available voice models. Set to null to remove voice model selection, and default
5071
+ * ones will apply. Check out dashboard for more details of each voice model.
4455
5072
  */
4456
5073
  voice_model?:
4457
5074
  | 'eleven_turbo_v2'
@@ -4459,8 +5076,14 @@ export namespace CallRegisterPhoneCallParams {
4459
5076
  | 'eleven_turbo_v2_5'
4460
5077
  | 'eleven_flash_v2_5'
4461
5078
  | 'eleven_multilingual_v2'
5079
+ | 'sonic-2'
5080
+ | 'sonic-3'
5081
+ | 'sonic-3-latest'
5082
+ | 'sonic-turbo'
4462
5083
  | 'tts-1'
4463
5084
  | 'gpt-4o-mini-tts'
5085
+ | 'speech-02-turbo'
5086
+ | 'speech-2.8-turbo'
4464
5087
  | null;
4465
5088
 
4466
5089
  /**
@@ -4478,6 +5101,21 @@ export namespace CallRegisterPhoneCallParams {
4478
5101
  */
4479
5102
  voice_temperature?: number;
4480
5103
 
5104
+ /**
5105
+ * Configures when to stop running voicemail detection, as it becomes unlikely to
5106
+ * hit voicemail after a couple minutes, and keep running it will only have
5107
+ * negative impact. The minimum value allowed is 5,000 ms (5 s), and maximum value
5108
+ * allowed is 180,000 (3 minutes). By default, this is set to 30,000 (30 s).
5109
+ */
5110
+ voicemail_detection_timeout_ms?: number;
5111
+
5112
+ /**
5113
+ * The message to be played when the call enters a voicemail. Note that this
5114
+ * feature is only available for phone calls. If you want to hangup after hitting
5115
+ * voicemail, set this to empty string.
5116
+ */
5117
+ voicemail_message?: string;
5118
+
4481
5119
  /**
4482
5120
  * If this option is set, the call will try to detect voicemail in the first 3
4483
5121
  * minutes of the call. Actions defined (hangup, or leave a message) will be
@@ -4493,6 +5131,21 @@ export namespace CallRegisterPhoneCallParams {
4493
5131
  */
4494
5132
  volume?: number;
4495
5133
 
5134
+ /**
5135
+ * Which webhook events this agent should receive. If not set, defaults to
5136
+ * call_started, call_ended, call_analyzed.
5137
+ */
5138
+ webhook_events?: Array<
5139
+ | 'call_started'
5140
+ | 'call_ended'
5141
+ | 'call_analyzed'
5142
+ | 'transcript_updated'
5143
+ | 'transfer_started'
5144
+ | 'transfer_bridged'
5145
+ | 'transfer_cancelled'
5146
+ | 'transfer_ended'
5147
+ > | null;
5148
+
4496
5149
  /**
4497
5150
  * The timeout for the webhook in milliseconds. If not set, default value of 10000
4498
5151
  * will apply.
@@ -4509,6 +5162,65 @@ export namespace CallRegisterPhoneCallParams {
4509
5162
  }
4510
5163
 
4511
5164
  export namespace Agent {
5165
+ /**
5166
+ * Custom STT configuration. Only used when stt_mode is set to custom.
5167
+ */
5168
+ export interface CustomSttConfig {
5169
+ /**
5170
+ * Endpointing timeout in milliseconds. Minimum is 100 for azure, 10 for deepgram.
5171
+ */
5172
+ endpointing_ms: number;
5173
+
5174
+ /**
5175
+ * The STT provider to use.
5176
+ */
5177
+ provider: 'azure' | 'deepgram';
5178
+ }
5179
+
5180
+ /**
5181
+ * Configuration for guardrail checks to detect and prevent prohibited topics in
5182
+ * agent output and user input.
5183
+ */
5184
+ export interface GuardrailConfig {
5185
+ /**
5186
+ * Selected prohibited user topic categories to check. When user messages contain
5187
+ * these topics, the agent will respond with a placeholder message instead of
5188
+ * processing the request.
5189
+ */
5190
+ input_topics?: Array<'platform_integrity_jailbreaking'> | null;
5191
+
5192
+ /**
5193
+ * Selected prohibited agent topic categories to check. When agent messages contain
5194
+ * these topics, they will be replaced with a placeholder message.
5195
+ */
5196
+ output_topics?: Array<
5197
+ | 'harassment'
5198
+ | 'self_harm'
5199
+ | 'sexual_exploitation'
5200
+ | 'violence'
5201
+ | 'defense_and_national_security'
5202
+ | 'illicit_and_harmful_activity'
5203
+ | 'gambling'
5204
+ | 'regulated_professional_advice'
5205
+ | 'child_safety_and_exploitation'
5206
+ > | null;
5207
+ }
5208
+
5209
+ /**
5210
+ * If this option is set, the call will try to detect IVR in the first 3 minutes of
5211
+ * the call. Actions defined will be applied when the IVR is detected. Set this to
5212
+ * null to disable IVR detection.
5213
+ */
5214
+ export interface IvrOption {
5215
+ action: IvrOption.Action;
5216
+ }
5217
+
5218
+ export namespace IvrOption {
5219
+ export interface Action {
5220
+ type: 'hangup';
5221
+ }
5222
+ }
5223
+
4512
5224
  /**
4513
5225
  * Configuration for PII scrubbing from transcripts and recordings.
4514
5226
  */
@@ -4530,6 +5242,7 @@ export namespace CallRegisterPhoneCallParams {
4530
5242
  | 'pin'
4531
5243
  | 'medical_id'
4532
5244
  | 'date_of_birth'
5245
+ | 'customer_account_number'
4533
5246
  >;
4534
5247
 
4535
5248
  /**
@@ -4689,7 +5402,7 @@ export namespace CallRegisterPhoneCallParams {
4689
5402
 
4690
5403
  /**
4691
5404
  * A single key that signals the end of DTMF input. Acceptable values include any
4692
- * digit (09), the pound/hash symbol (#), or the asterisk (\*).
5405
+ * digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
4693
5406
  */
4694
5407
  termination_key?: string | null;
4695
5408
 
@@ -4710,7 +5423,8 @@ export namespace CallRegisterPhoneCallParams {
4710
5423
  action:
4711
5424
  | VoicemailOption.VoicemailActionPrompt
4712
5425
  | VoicemailOption.VoicemailActionStaticText
4713
- | VoicemailOption.VoicemailActionHangup;
5426
+ | VoicemailOption.VoicemailActionHangup
5427
+ | VoicemailOption.VoicemailActionBridgeTransfer;
4714
5428
  }
4715
5429
 
4716
5430
  export namespace VoicemailOption {
@@ -4736,6 +5450,10 @@ export namespace CallRegisterPhoneCallParams {
4736
5450
  export interface VoicemailActionHangup {
4737
5451
  type: 'hangup';
4738
5452
  }
5453
+
5454
+ export interface VoicemailActionBridgeTransfer {
5455
+ type: 'bridge_transfer';
5456
+ }
4739
5457
  }
4740
5458
  }
4741
5459
 
@@ -4815,12 +5533,15 @@ export namespace CallRegisterPhoneCallParams {
4815
5533
  | 'gpt-4.1-mini'
4816
5534
  | 'gpt-4.1-nano'
4817
5535
  | 'gpt-5'
5536
+ | 'gpt-5.1'
5537
+ | 'gpt-5.2'
4818
5538
  | 'gpt-5-mini'
4819
5539
  | 'gpt-5-nano'
4820
5540
  | 'claude-4.5-sonnet'
4821
5541
  | 'claude-4.5-haiku'
4822
5542
  | 'gemini-2.5-flash'
4823
- | 'gemini-2.5-flash-lite';
5543
+ | 'gemini-2.5-flash-lite'
5544
+ | 'gemini-3.0-flash';
4824
5545
 
4825
5546
  /**
4826
5547
  * Type of model choice
@@ -4874,12 +5595,15 @@ export namespace CallRegisterPhoneCallParams {
4874
5595
  | 'gpt-4.1-mini'
4875
5596
  | 'gpt-4.1-nano'
4876
5597
  | 'gpt-5'
5598
+ | 'gpt-5.1'
5599
+ | 'gpt-5.2'
4877
5600
  | 'gpt-5-mini'
4878
5601
  | 'gpt-5-nano'
4879
5602
  | 'claude-4.5-sonnet'
4880
5603
  | 'claude-4.5-haiku'
4881
5604
  | 'gemini-2.5-flash'
4882
5605
  | 'gemini-2.5-flash-lite'
5606
+ | 'gemini-3.0-flash'
4883
5607
  | null;
4884
5608
 
4885
5609
  /**
@@ -4901,7 +5625,7 @@ export namespace CallRegisterPhoneCallParams {
4901
5625
  * Select the underlying speech to speech model. Can only set this or model, not
4902
5626
  * both.
4903
5627
  */
4904
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
5628
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
4905
5629
 
4906
5630
  /**
4907
5631
  * The speaker who starts the conversation. Required. Must be either 'user' or