telnyx 6.47.0 → 6.49.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 (113) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/client.d.mts +6 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/ai/ai.d.mts +2 -2
  12. package/resources/ai/ai.d.mts.map +1 -1
  13. package/resources/ai/ai.d.ts +2 -2
  14. package/resources/ai/ai.d.ts.map +1 -1
  15. package/resources/ai/ai.js.map +1 -1
  16. package/resources/ai/ai.mjs.map +1 -1
  17. package/resources/ai/assistants/assistants.d.mts +142 -324
  18. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  19. package/resources/ai/assistants/assistants.d.ts +142 -324
  20. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  21. package/resources/ai/assistants/assistants.js.map +1 -1
  22. package/resources/ai/assistants/assistants.mjs.map +1 -1
  23. package/resources/ai/assistants/canary-deploys.d.mts +246 -30
  24. package/resources/ai/assistants/canary-deploys.d.mts.map +1 -1
  25. package/resources/ai/assistants/canary-deploys.d.ts +246 -30
  26. package/resources/ai/assistants/canary-deploys.d.ts.map +1 -1
  27. package/resources/ai/assistants/canary-deploys.js +0 -10
  28. package/resources/ai/assistants/canary-deploys.js.map +1 -1
  29. package/resources/ai/assistants/canary-deploys.mjs +0 -10
  30. package/resources/ai/assistants/canary-deploys.mjs.map +1 -1
  31. package/resources/ai/assistants/index.d.mts +2 -2
  32. package/resources/ai/assistants/index.d.mts.map +1 -1
  33. package/resources/ai/assistants/index.d.ts +2 -2
  34. package/resources/ai/assistants/index.d.ts.map +1 -1
  35. package/resources/ai/assistants/index.js.map +1 -1
  36. package/resources/ai/assistants/index.mjs.map +1 -1
  37. package/resources/ai/assistants/versions.d.mts +6 -214
  38. package/resources/ai/assistants/versions.d.mts.map +1 -1
  39. package/resources/ai/assistants/versions.d.ts +6 -214
  40. package/resources/ai/assistants/versions.d.ts.map +1 -1
  41. package/resources/ai/index.d.mts +1 -1
  42. package/resources/ai/index.d.mts.map +1 -1
  43. package/resources/ai/index.d.ts +1 -1
  44. package/resources/ai/index.d.ts.map +1 -1
  45. package/resources/ai/index.js.map +1 -1
  46. package/resources/ai/index.mjs.map +1 -1
  47. package/resources/calls/actions.d.mts +52 -4
  48. package/resources/calls/actions.d.mts.map +1 -1
  49. package/resources/calls/actions.d.ts +52 -4
  50. package/resources/calls/actions.d.ts.map +1 -1
  51. package/resources/conferences/actions.d.mts +13 -1
  52. package/resources/conferences/actions.d.mts.map +1 -1
  53. package/resources/conferences/actions.d.ts +13 -1
  54. package/resources/conferences/actions.d.ts.map +1 -1
  55. package/resources/index.d.mts +1 -0
  56. package/resources/index.d.mts.map +1 -1
  57. package/resources/index.d.ts +1 -0
  58. package/resources/index.d.ts.map +1 -1
  59. package/resources/index.js +4 -2
  60. package/resources/index.js.map +1 -1
  61. package/resources/index.mjs +1 -0
  62. package/resources/index.mjs.map +1 -1
  63. package/resources/uac-connections/actions.d.mts +65 -0
  64. package/resources/uac-connections/actions.d.mts.map +1 -0
  65. package/resources/uac-connections/actions.d.ts +65 -0
  66. package/resources/uac-connections/actions.d.ts.map +1 -0
  67. package/resources/uac-connections/actions.js +29 -0
  68. package/resources/uac-connections/actions.js.map +1 -0
  69. package/resources/uac-connections/actions.mjs +25 -0
  70. package/resources/uac-connections/actions.mjs.map +1 -0
  71. package/resources/uac-connections/index.d.mts +3 -0
  72. package/resources/uac-connections/index.d.mts.map +1 -0
  73. package/resources/uac-connections/index.d.ts +3 -0
  74. package/resources/uac-connections/index.d.ts.map +1 -0
  75. package/resources/uac-connections/index.js +9 -0
  76. package/resources/uac-connections/index.js.map +1 -0
  77. package/resources/uac-connections/index.mjs +4 -0
  78. package/resources/uac-connections/index.mjs.map +1 -0
  79. package/resources/uac-connections/uac-connections.d.mts +2588 -0
  80. package/resources/uac-connections/uac-connections.d.mts.map +1 -0
  81. package/resources/uac-connections/uac-connections.d.ts +2588 -0
  82. package/resources/uac-connections/uac-connections.d.ts.map +1 -0
  83. package/resources/uac-connections/uac-connections.js +97 -0
  84. package/resources/uac-connections/uac-connections.js.map +1 -0
  85. package/resources/uac-connections/uac-connections.mjs +92 -0
  86. package/resources/uac-connections/uac-connections.mjs.map +1 -0
  87. package/resources/uac-connections.d.mts +2 -0
  88. package/resources/uac-connections.d.mts.map +1 -0
  89. package/resources/uac-connections.d.ts +2 -0
  90. package/resources/uac-connections.d.ts.map +1 -0
  91. package/resources/uac-connections.js +6 -0
  92. package/resources/uac-connections.js.map +1 -0
  93. package/resources/uac-connections.mjs +3 -0
  94. package/resources/uac-connections.mjs.map +1 -0
  95. package/src/client.ts +30 -0
  96. package/src/resources/ai/ai.ts +12 -0
  97. package/src/resources/ai/assistants/assistants.ts +167 -377
  98. package/src/resources/ai/assistants/canary-deploys.ts +280 -31
  99. package/src/resources/ai/assistants/index.ts +6 -1
  100. package/src/resources/ai/assistants/versions.ts +6 -250
  101. package/src/resources/ai/index.ts +6 -0
  102. package/src/resources/calls/actions.ts +64 -4
  103. package/src/resources/conferences/actions.ts +16 -1
  104. package/src/resources/index.ts +12 -0
  105. package/src/resources/uac-connections/actions.ts +83 -0
  106. package/src/resources/uac-connections/index.ts +15 -0
  107. package/src/resources/uac-connections/uac-connections.ts +3153 -0
  108. package/src/resources/uac-connections.ts +3 -0
  109. package/src/version.ts +1 -1
  110. package/version.d.mts +1 -1
  111. package/version.d.ts +1 -1
  112. package/version.js +1 -1
  113. package/version.mjs +1 -1
@@ -21,11 +21,6 @@ export class CanaryDeploys extends APIResource {
21
21
  * const canaryDeployResponse =
22
22
  * await client.ai.assistants.canaryDeploys.create(
23
23
  * 'assistant_id',
24
- * {
25
- * versions: [
26
- * { percentage: 1, version_id: 'version_id' },
27
- * ],
28
- * },
29
24
  * );
30
25
  * ```
31
26
  */
@@ -67,11 +62,6 @@ export class CanaryDeploys extends APIResource {
67
62
  * const canaryDeployResponse =
68
63
  * await client.ai.assistants.canaryDeploys.update(
69
64
  * 'assistant_id',
70
- * {
71
- * versions: [
72
- * { percentage: 1, version_id: 'version_id' },
73
- * ],
74
- * },
75
65
  * );
76
66
  * ```
77
67
  */
@@ -104,62 +94,321 @@ export class CanaryDeploys extends APIResource {
104
94
  }
105
95
 
106
96
  /**
107
- * Request model for creating or updating canary deploys.
97
+ * Create/update request body. Accepts:
98
+ *
99
+ * - `rules` — canonical ordered list of routing rules
108
100
  */
109
101
  export interface CanaryDeploy {
102
+ rules?: Array<CanaryDeploy.Rule>;
103
+ }
104
+
105
+ export namespace CanaryDeploy {
110
106
  /**
111
- * List of version configurations
107
+ * A targeting rule: `match` clauses (AND) gate `serve`.
108
+ *
109
+ * An empty `match` is a catch-all (always fires).
112
110
  */
113
- versions: Array<VersionConfig>;
111
+ export interface Rule {
112
+ /**
113
+ * What a rule serves when matched.
114
+ *
115
+ * Exactly one of:
116
+ *
117
+ * - `version_id` — serve a specific version
118
+ * - `rollout` — weighted random across versions; weights must sum to less than
119
+ * 100, with the leftover routing to the main version
120
+ */
121
+ serve: Rule.Serve;
122
+
123
+ match?: Array<Rule.Match>;
124
+ }
125
+
126
+ export namespace Rule {
127
+ /**
128
+ * What a rule serves when matched.
129
+ *
130
+ * Exactly one of:
131
+ *
132
+ * - `version_id` — serve a specific version
133
+ * - `rollout` — weighted random across versions; weights must sum to less than
134
+ * 100, with the leftover routing to the main version
135
+ */
136
+ export interface Serve {
137
+ rollout?: Array<Serve.Rollout>;
138
+
139
+ version_id?: string;
140
+ }
141
+
142
+ export namespace Serve {
143
+ /**
144
+ * One slot in a percentage rollout.
145
+ */
146
+ export interface Rollout {
147
+ version_id: string;
148
+
149
+ weight: number;
150
+ }
151
+ }
152
+
153
+ /**
154
+ * A single attribute/operator/values check.
155
+ *
156
+ * A clause matches when the routing context's value for `attribute` satisfies
157
+ * `operator` against any of `values`.
158
+ */
159
+ export interface Match {
160
+ /**
161
+ * Attribute name from the routing context
162
+ */
163
+ attribute: string;
164
+
165
+ /**
166
+ * Match operator
167
+ */
168
+ operator: 'in' | 'not_in' | 'starts_with';
169
+
170
+ values: Array<string>;
171
+ }
172
+ }
114
173
  }
115
174
 
116
175
  /**
117
- * Response model for canary deploy operations.
176
+ * Response shape.
177
+ *
178
+ * Always carries `rules` (canonical).
118
179
  */
119
180
  export interface CanaryDeployResponse {
120
181
  assistant_id: string;
121
182
 
122
183
  created_at: string;
123
184
 
124
- updated_at: string;
185
+ rules: Array<CanaryDeployResponse.Rule>;
125
186
 
126
- versions: Array<VersionConfig>;
187
+ updated_at: string;
127
188
  }
128
189
 
129
- /**
130
- * Configuration for a single version in canary deploy.
131
- */
132
- export interface VersionConfig {
190
+ export namespace CanaryDeployResponse {
133
191
  /**
134
- * Percentage of traffic for this version [1-99]
192
+ * A targeting rule: `match` clauses (AND) gate `serve`.
193
+ *
194
+ * An empty `match` is a catch-all (always fires).
135
195
  */
136
- percentage: number;
196
+ export interface Rule {
197
+ /**
198
+ * What a rule serves when matched.
199
+ *
200
+ * Exactly one of:
201
+ *
202
+ * - `version_id` — serve a specific version
203
+ * - `rollout` — weighted random across versions; weights must sum to less than
204
+ * 100, with the leftover routing to the main version
205
+ */
206
+ serve: Rule.Serve;
137
207
 
138
- /**
139
- * Version ID string that references assistant_versions.version_id
140
- */
141
- version_id: string;
208
+ match?: Array<Rule.Match>;
209
+ }
210
+
211
+ export namespace Rule {
212
+ /**
213
+ * What a rule serves when matched.
214
+ *
215
+ * Exactly one of:
216
+ *
217
+ * - `version_id` — serve a specific version
218
+ * - `rollout` — weighted random across versions; weights must sum to less than
219
+ * 100, with the leftover routing to the main version
220
+ */
221
+ export interface Serve {
222
+ rollout?: Array<Serve.Rollout>;
223
+
224
+ version_id?: string;
225
+ }
226
+
227
+ export namespace Serve {
228
+ /**
229
+ * One slot in a percentage rollout.
230
+ */
231
+ export interface Rollout {
232
+ version_id: string;
233
+
234
+ weight: number;
235
+ }
236
+ }
237
+
238
+ /**
239
+ * A single attribute/operator/values check.
240
+ *
241
+ * A clause matches when the routing context's value for `attribute` satisfies
242
+ * `operator` against any of `values`.
243
+ */
244
+ export interface Match {
245
+ /**
246
+ * Attribute name from the routing context
247
+ */
248
+ attribute: string;
249
+
250
+ /**
251
+ * Match operator
252
+ */
253
+ operator: 'in' | 'not_in' | 'starts_with';
254
+
255
+ values: Array<string>;
256
+ }
257
+ }
142
258
  }
143
259
 
144
260
  export interface CanaryDeployCreateParams {
261
+ rules?: Array<CanaryDeployCreateParams.Rule>;
262
+ }
263
+
264
+ export namespace CanaryDeployCreateParams {
145
265
  /**
146
- * List of version configurations
266
+ * A targeting rule: `match` clauses (AND) gate `serve`.
267
+ *
268
+ * An empty `match` is a catch-all (always fires).
147
269
  */
148
- versions: Array<VersionConfig>;
270
+ export interface Rule {
271
+ /**
272
+ * What a rule serves when matched.
273
+ *
274
+ * Exactly one of:
275
+ *
276
+ * - `version_id` — serve a specific version
277
+ * - `rollout` — weighted random across versions; weights must sum to less than
278
+ * 100, with the leftover routing to the main version
279
+ */
280
+ serve: Rule.Serve;
281
+
282
+ match?: Array<Rule.Match>;
283
+ }
284
+
285
+ export namespace Rule {
286
+ /**
287
+ * What a rule serves when matched.
288
+ *
289
+ * Exactly one of:
290
+ *
291
+ * - `version_id` — serve a specific version
292
+ * - `rollout` — weighted random across versions; weights must sum to less than
293
+ * 100, with the leftover routing to the main version
294
+ */
295
+ export interface Serve {
296
+ rollout?: Array<Serve.Rollout>;
297
+
298
+ version_id?: string;
299
+ }
300
+
301
+ export namespace Serve {
302
+ /**
303
+ * One slot in a percentage rollout.
304
+ */
305
+ export interface Rollout {
306
+ version_id: string;
307
+
308
+ weight: number;
309
+ }
310
+ }
311
+
312
+ /**
313
+ * A single attribute/operator/values check.
314
+ *
315
+ * A clause matches when the routing context's value for `attribute` satisfies
316
+ * `operator` against any of `values`.
317
+ */
318
+ export interface Match {
319
+ /**
320
+ * Attribute name from the routing context
321
+ */
322
+ attribute: string;
323
+
324
+ /**
325
+ * Match operator
326
+ */
327
+ operator: 'in' | 'not_in' | 'starts_with';
328
+
329
+ values: Array<string>;
330
+ }
331
+ }
149
332
  }
150
333
 
151
334
  export interface CanaryDeployUpdateParams {
335
+ rules?: Array<CanaryDeployUpdateParams.Rule>;
336
+ }
337
+
338
+ export namespace CanaryDeployUpdateParams {
152
339
  /**
153
- * List of version configurations
340
+ * A targeting rule: `match` clauses (AND) gate `serve`.
341
+ *
342
+ * An empty `match` is a catch-all (always fires).
154
343
  */
155
- versions: Array<VersionConfig>;
344
+ export interface Rule {
345
+ /**
346
+ * What a rule serves when matched.
347
+ *
348
+ * Exactly one of:
349
+ *
350
+ * - `version_id` — serve a specific version
351
+ * - `rollout` — weighted random across versions; weights must sum to less than
352
+ * 100, with the leftover routing to the main version
353
+ */
354
+ serve: Rule.Serve;
355
+
356
+ match?: Array<Rule.Match>;
357
+ }
358
+
359
+ export namespace Rule {
360
+ /**
361
+ * What a rule serves when matched.
362
+ *
363
+ * Exactly one of:
364
+ *
365
+ * - `version_id` — serve a specific version
366
+ * - `rollout` — weighted random across versions; weights must sum to less than
367
+ * 100, with the leftover routing to the main version
368
+ */
369
+ export interface Serve {
370
+ rollout?: Array<Serve.Rollout>;
371
+
372
+ version_id?: string;
373
+ }
374
+
375
+ export namespace Serve {
376
+ /**
377
+ * One slot in a percentage rollout.
378
+ */
379
+ export interface Rollout {
380
+ version_id: string;
381
+
382
+ weight: number;
383
+ }
384
+ }
385
+
386
+ /**
387
+ * A single attribute/operator/values check.
388
+ *
389
+ * A clause matches when the routing context's value for `attribute` satisfies
390
+ * `operator` against any of `values`.
391
+ */
392
+ export interface Match {
393
+ /**
394
+ * Attribute name from the routing context
395
+ */
396
+ attribute: string;
397
+
398
+ /**
399
+ * Match operator
400
+ */
401
+ operator: 'in' | 'not_in' | 'starts_with';
402
+
403
+ values: Array<string>;
404
+ }
405
+ }
156
406
  }
157
407
 
158
408
  export declare namespace CanaryDeploys {
159
409
  export {
160
410
  type CanaryDeploy as CanaryDeploy,
161
411
  type CanaryDeployResponse as CanaryDeployResponse,
162
- type VersionConfig as VersionConfig,
163
412
  type CanaryDeployCreateParams as CanaryDeployCreateParams,
164
413
  type CanaryDeployUpdateParams as CanaryDeployUpdateParams,
165
414
  };
@@ -7,6 +7,10 @@ export {
7
7
  type AssistantsList,
8
8
  type AudioVisualizerConfig,
9
9
  type EnabledFeatures,
10
+ type ExternalLlm,
11
+ type ExternalLlmReq,
12
+ type FallbackConfig,
13
+ type FallbackConfigReq,
10
14
  type HangupTool,
11
15
  type HangupToolParams,
12
16
  type ImportMetadata,
@@ -16,6 +20,8 @@ export {
16
20
  type MessagingSettings,
17
21
  type Observability,
18
22
  type ObservabilityReq,
23
+ type PostConversationSettings,
24
+ type PostConversationSettingsReq,
19
25
  type PrivacySettings,
20
26
  type RetrievalTool,
21
27
  type TelephonySettings,
@@ -40,7 +46,6 @@ export {
40
46
  CanaryDeploys,
41
47
  type CanaryDeploy,
42
48
  type CanaryDeployResponse,
43
- type VersionConfig,
44
49
  type CanaryDeployCreateParams,
45
50
  type CanaryDeployUpdateParams,
46
51
  } from './canary-deploys';
@@ -146,9 +146,9 @@ export interface UpdateAssistant {
146
146
 
147
147
  enabled_features?: Array<AssistantsAPI.EnabledFeatures>;
148
148
 
149
- external_llm?: UpdateAssistant.ExternalLlm;
149
+ external_llm?: AssistantsAPI.ExternalLlmReq;
150
150
 
151
- fallback_config?: UpdateAssistant.FallbackConfig;
151
+ fallback_config?: AssistantsAPI.FallbackConfigReq;
152
152
 
153
153
  /**
154
154
  * Text that the assistant will use to start the conversation. This may be
@@ -225,7 +225,7 @@ export interface UpdateAssistant {
225
225
  * Telephony-control tools (e.g. hangup, transfer) are unavailable
226
226
  * post-conversation. Beta feature.
227
227
  */
228
- post_conversation_settings?: UpdateAssistant.PostConversationSettings;
228
+ post_conversation_settings?: AssistantsAPI.PostConversationSettingsReq;
229
229
 
230
230
  privacy_settings?: AssistantsAPI.PrivacySettings;
231
231
 
@@ -266,111 +266,6 @@ export interface UpdateAssistant {
266
266
  }
267
267
 
268
268
  export namespace UpdateAssistant {
269
- export interface ExternalLlm {
270
- /**
271
- * Base URL for the external LLM endpoint.
272
- */
273
- base_url: string;
274
-
275
- /**
276
- * Model identifier to use with the external LLM endpoint.
277
- */
278
- model: string;
279
-
280
- /**
281
- * Authentication method used when connecting to the external LLM endpoint.
282
- */
283
- authentication_method?: 'token' | 'certificate';
284
-
285
- /**
286
- * Integration secret identifier for the client certificate used with certificate
287
- * authentication.
288
- */
289
- certificate_ref?: string;
290
-
291
- /**
292
- * When `true`, Telnyx forwards the assistant's dynamic variables to the external
293
- * LLM endpoint as a top-level `extra_metadata` object on the chat completion
294
- * request body. Defaults to `false`. Example payload sent to the external
295
- * endpoint:
296
- * `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
297
- * Distinct from OpenAI's native `metadata` field, which has its own size and type
298
- * limits.
299
- */
300
- forward_metadata?: boolean;
301
-
302
- /**
303
- * Integration secret identifier for the external LLM API key.
304
- */
305
- llm_api_key_ref?: string;
306
-
307
- /**
308
- * URL used to retrieve an access token when certificate authentication is enabled.
309
- */
310
- token_retrieval_url?: string;
311
- }
312
-
313
- export interface FallbackConfig {
314
- external_llm?: FallbackConfig.ExternalLlm;
315
-
316
- /**
317
- * Integration secret identifier for the fallback model API key.
318
- */
319
- llm_api_key_ref?: string;
320
-
321
- /**
322
- * Fallback Telnyx-hosted model to use when the primary LLM provider is
323
- * unavailable.
324
- */
325
- model?: string;
326
- }
327
-
328
- export namespace FallbackConfig {
329
- export interface ExternalLlm {
330
- /**
331
- * Base URL for the external LLM endpoint.
332
- */
333
- base_url: string;
334
-
335
- /**
336
- * Model identifier to use with the external LLM endpoint.
337
- */
338
- model: string;
339
-
340
- /**
341
- * Authentication method used when connecting to the external LLM endpoint.
342
- */
343
- authentication_method?: 'token' | 'certificate';
344
-
345
- /**
346
- * Integration secret identifier for the client certificate used with certificate
347
- * authentication.
348
- */
349
- certificate_ref?: string;
350
-
351
- /**
352
- * When `true`, Telnyx forwards the assistant's dynamic variables to the external
353
- * LLM endpoint as a top-level `extra_metadata` object on the chat completion
354
- * request body. Defaults to `false`. Example payload sent to the external
355
- * endpoint:
356
- * `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
357
- * Distinct from OpenAI's native `metadata` field, which has its own size and type
358
- * limits.
359
- */
360
- forward_metadata?: boolean;
361
-
362
- /**
363
- * Integration secret identifier for the external LLM API key.
364
- */
365
- llm_api_key_ref?: string;
366
-
367
- /**
368
- * URL used to retrieve an access token when certificate authentication is enabled.
369
- */
370
- token_retrieval_url?: string;
371
- }
372
- }
373
-
374
269
  /**
375
270
  * Reference to a connected integration attached to an assistant. Discover
376
271
  * available integrations with `/ai/integrations` and connected integrations with
@@ -482,23 +377,6 @@ export namespace UpdateAssistant {
482
377
  */
483
378
  allowed_tools?: Array<string>;
484
379
  }
485
-
486
- /**
487
- * Configuration for post-conversation processing. When enabled, the assistant
488
- * receives one additional LLM turn after the conversation ends, allowing it to
489
- * execute tool calls such as logging to a CRM or sending a summary. The assistant
490
- * can execute multiple parallel or sequential tools during this phase.
491
- * Telephony-control tools (e.g. hangup, transfer) are unavailable
492
- * post-conversation. Beta feature.
493
- */
494
- export interface PostConversationSettings {
495
- /**
496
- * Whether post-conversation processing is enabled. When true, the assistant will
497
- * be invoked after the conversation ends to perform any final tool calls. Defaults
498
- * to false.
499
- */
500
- enabled?: boolean;
501
- }
502
380
  }
503
381
 
504
382
  export interface VersionRetrieveParams {
@@ -557,12 +435,12 @@ export interface VersionUpdateParams {
557
435
  /**
558
436
  * Body param
559
437
  */
560
- external_llm?: VersionUpdateParams.ExternalLlm;
438
+ external_llm?: AssistantsAPI.ExternalLlmReq;
561
439
 
562
440
  /**
563
441
  * Body param
564
442
  */
565
- fallback_config?: VersionUpdateParams.FallbackConfig;
443
+ fallback_config?: AssistantsAPI.FallbackConfigReq;
566
444
 
567
445
  /**
568
446
  * Body param: Text that the assistant will use to start the conversation. This may
@@ -652,7 +530,7 @@ export interface VersionUpdateParams {
652
530
  * Telephony-control tools (e.g. hangup, transfer) are unavailable
653
531
  * post-conversation. Beta feature.
654
532
  */
655
- post_conversation_settings?: VersionUpdateParams.PostConversationSettings;
533
+ post_conversation_settings?: AssistantsAPI.PostConversationSettingsReq;
656
534
 
657
535
  /**
658
536
  * Body param
@@ -705,111 +583,6 @@ export interface VersionUpdateParams {
705
583
  }
706
584
 
707
585
  export namespace VersionUpdateParams {
708
- export interface ExternalLlm {
709
- /**
710
- * Base URL for the external LLM endpoint.
711
- */
712
- base_url: string;
713
-
714
- /**
715
- * Model identifier to use with the external LLM endpoint.
716
- */
717
- model: string;
718
-
719
- /**
720
- * Authentication method used when connecting to the external LLM endpoint.
721
- */
722
- authentication_method?: 'token' | 'certificate';
723
-
724
- /**
725
- * Integration secret identifier for the client certificate used with certificate
726
- * authentication.
727
- */
728
- certificate_ref?: string;
729
-
730
- /**
731
- * When `true`, Telnyx forwards the assistant's dynamic variables to the external
732
- * LLM endpoint as a top-level `extra_metadata` object on the chat completion
733
- * request body. Defaults to `false`. Example payload sent to the external
734
- * endpoint:
735
- * `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
736
- * Distinct from OpenAI's native `metadata` field, which has its own size and type
737
- * limits.
738
- */
739
- forward_metadata?: boolean;
740
-
741
- /**
742
- * Integration secret identifier for the external LLM API key.
743
- */
744
- llm_api_key_ref?: string;
745
-
746
- /**
747
- * URL used to retrieve an access token when certificate authentication is enabled.
748
- */
749
- token_retrieval_url?: string;
750
- }
751
-
752
- export interface FallbackConfig {
753
- external_llm?: FallbackConfig.ExternalLlm;
754
-
755
- /**
756
- * Integration secret identifier for the fallback model API key.
757
- */
758
- llm_api_key_ref?: string;
759
-
760
- /**
761
- * Fallback Telnyx-hosted model to use when the primary LLM provider is
762
- * unavailable.
763
- */
764
- model?: string;
765
- }
766
-
767
- export namespace FallbackConfig {
768
- export interface ExternalLlm {
769
- /**
770
- * Base URL for the external LLM endpoint.
771
- */
772
- base_url: string;
773
-
774
- /**
775
- * Model identifier to use with the external LLM endpoint.
776
- */
777
- model: string;
778
-
779
- /**
780
- * Authentication method used when connecting to the external LLM endpoint.
781
- */
782
- authentication_method?: 'token' | 'certificate';
783
-
784
- /**
785
- * Integration secret identifier for the client certificate used with certificate
786
- * authentication.
787
- */
788
- certificate_ref?: string;
789
-
790
- /**
791
- * When `true`, Telnyx forwards the assistant's dynamic variables to the external
792
- * LLM endpoint as a top-level `extra_metadata` object on the chat completion
793
- * request body. Defaults to `false`. Example payload sent to the external
794
- * endpoint:
795
- * `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
796
- * Distinct from OpenAI's native `metadata` field, which has its own size and type
797
- * limits.
798
- */
799
- forward_metadata?: boolean;
800
-
801
- /**
802
- * Integration secret identifier for the external LLM API key.
803
- */
804
- llm_api_key_ref?: string;
805
-
806
- /**
807
- * URL used to retrieve an access token when certificate authentication is enabled.
808
- */
809
- token_retrieval_url?: string;
810
- }
811
- }
812
-
813
586
  /**
814
587
  * Reference to a connected integration attached to an assistant. Discover
815
588
  * available integrations with `/ai/integrations` and connected integrations with
@@ -921,23 +694,6 @@ export namespace VersionUpdateParams {
921
694
  */
922
695
  allowed_tools?: Array<string>;
923
696
  }
924
-
925
- /**
926
- * Configuration for post-conversation processing. When enabled, the assistant
927
- * receives one additional LLM turn after the conversation ends, allowing it to
928
- * execute tool calls such as logging to a CRM or sending a summary. The assistant
929
- * can execute multiple parallel or sequential tools during this phase.
930
- * Telephony-control tools (e.g. hangup, transfer) are unavailable
931
- * post-conversation. Beta feature.
932
- */
933
- export interface PostConversationSettings {
934
- /**
935
- * Whether post-conversation processing is enabled. When true, the assistant will
936
- * be invoked after the conversation ends to perform any final tool calls. Defaults
937
- * to false.
938
- */
939
- enabled?: boolean;
940
- }
941
697
  }
942
698
 
943
699
  export interface VersionDeleteParams {