@talqing/sdk 0.4.0 → 0.4.2

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.
@@ -87,6 +87,10 @@ export type AddVoiceResponse = {
87
87
  *
88
88
  * The whole agent: what it says, which models run it, and what it can do.
89
89
  *
90
+ * ``AgentBase`` plus the session this agent owns and the media stack that
91
+ * session runs — which is what a task, running inside someone else's session,
92
+ * has none of.
93
+ *
90
94
  * A complete definition, not a patch — whatever it omits takes that field's
91
95
  * default.
92
96
  */
@@ -113,8 +117,11 @@ export type AgentConfig = {
113
117
  handoffs?: Array<HandoffTarget>;
114
118
  /**
115
119
  * Kb Ids
120
+ *
121
+ * Knowledge bases to read from: their outline goes into the prompt and pages are fetched on demand.
116
122
  */
117
123
  kb_ids?: Array<string>;
124
+ keypad_input?: KeypadInputSpec;
118
125
  /**
119
126
  * Language
120
127
  *
@@ -125,11 +132,13 @@ export type AgentConfig = {
125
132
  /**
126
133
  * Mcps
127
134
  *
128
- * MCP servers whose tools this agent may call — each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
135
+ * MCP servers whose tools may be called — each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
129
136
  */
130
137
  mcps?: Array<McpSelection>;
131
138
  /**
132
139
  * Name
140
+ *
141
+ * Unique in the workspace.
133
142
  */
134
143
  name: string;
135
144
  noise_cancellation?: NoiseCancellationSpec;
@@ -145,14 +154,22 @@ export type AgentConfig = {
145
154
  realtime?: RealtimeSpec | null;
146
155
  recording?: RecordingSpec;
147
156
  stt?: STTSpec | null;
157
+ /**
158
+ * Tasks
159
+ *
160
+ * Jobs this agent can enter and come back from. Each becomes one tool the model can call; the task runs inside this call, on its voice and its ears, and returns its typed output as the tool's result.
161
+ */
162
+ tasks?: Array<TaskSelection>;
148
163
  /**
149
164
  * Timezone
150
165
  *
151
- * The IANA timezone this agent's clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt, greeting and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
166
+ * The IANA timezone this clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
152
167
  */
153
168
  timezone?: string | null;
154
169
  /**
155
170
  * Tools
171
+ *
172
+ * Tools the model may call. Publishing pins each one to the tool version live at that moment, so republishing a tool does not change this until it is published again.
156
173
  */
157
174
  tools?: Array<ToolSelection>;
158
175
  tts?: TTSSpec | null;
@@ -160,7 +177,7 @@ export type AgentConfig = {
160
177
  /**
161
178
  * Vars
162
179
  *
163
- * The variables this agent reads as {{vars.name}} in its prompt, greeting and tools. Values from the request that starts a session override the defaults. They are visible to the model - keep credentials in a workspace secret.
180
+ * The variables read as {{vars.name}} in the prompt, the greeting and the tools. Values from the request that starts a session override the defaults. They are visible to the model - keep credentials in a workspace secret.
164
181
  */
165
182
  vars?: Array<VarDeclaration>;
166
183
  vision_input?: VisionInputSpec;
@@ -206,8 +223,11 @@ export type AgentOverride = {
206
223
  handoffs?: Array<HandoffTarget> | null;
207
224
  /**
208
225
  * Kb Ids
226
+ *
227
+ * Knowledge bases to read from: their outline goes into the prompt and pages are fetched on demand.
209
228
  */
210
229
  kb_ids?: Array<string> | null;
230
+ keypad_input?: KeypadInputSpecOverride | null;
211
231
  /**
212
232
  * Language
213
233
  *
@@ -218,11 +238,13 @@ export type AgentOverride = {
218
238
  /**
219
239
  * Mcps
220
240
  *
221
- * MCP servers whose tools this agent may call — each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
241
+ * MCP servers whose tools may be called — each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
222
242
  */
223
243
  mcps?: Array<McpSelection> | null;
224
244
  /**
225
245
  * Name
246
+ *
247
+ * Unique in the workspace.
226
248
  */
227
249
  name?: string | null;
228
250
  noise_cancellation?: NoiseCancellationSpecOverride | null;
@@ -238,14 +260,22 @@ export type AgentOverride = {
238
260
  realtime?: RealtimeSpecOverride | null;
239
261
  recording?: RecordingSpecOverride | null;
240
262
  stt?: STTSpecOverride | null;
263
+ /**
264
+ * Tasks
265
+ *
266
+ * Jobs this agent can enter and come back from. Each becomes one tool the model can call; the task runs inside this call, on its voice and its ears, and returns its typed output as the tool's result.
267
+ */
268
+ tasks?: Array<TaskSelection> | null;
241
269
  /**
242
270
  * Timezone
243
271
  *
244
- * The IANA timezone this agent's clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt, greeting and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
272
+ * The IANA timezone this clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
245
273
  */
246
274
  timezone?: string | null;
247
275
  /**
248
276
  * Tools
277
+ *
278
+ * Tools the model may call. Publishing pins each one to the tool version live at that moment, so republishing a tool does not change this until it is published again.
249
279
  */
250
280
  tools?: Array<ToolSelection> | null;
251
281
  tts?: TTSSpecOverride | null;
@@ -253,7 +283,7 @@ export type AgentOverride = {
253
283
  /**
254
284
  * Vars
255
285
  *
256
- * The variables this agent reads as {{vars.name}} in its prompt, greeting and tools. Values from the request that starts a session override the defaults. They are visible to the model - keep credentials in a workspace secret.
286
+ * The variables read as {{vars.name}} in the prompt, the greeting and the tools. Values from the request that starts a session override the defaults. They are visible to the model - keep credentials in a workspace secret.
257
287
  */
258
288
  vars?: Array<VarDeclaration> | null;
259
289
  vision_input?: VisionInputSpecOverride | null;
@@ -1126,7 +1156,7 @@ export type CallBatchResponse = {
1126
1156
  */
1127
1157
  agent_name: string | null;
1128
1158
  agent_plan?: StoredAgentPlan | null;
1129
- calling_window: CallingWindow | null;
1159
+ calling_window: TimeWindow | null;
1130
1160
  counts: CallBatchCounts;
1131
1161
  /**
1132
1162
  * Created At
@@ -1346,6 +1376,7 @@ export type CallSessionResponse = {
1346
1376
  * Status
1347
1377
  */
1348
1378
  status: string;
1379
+ stream: StreamResponse | null;
1349
1380
  /**
1350
1381
  * Telephony Account Id
1351
1382
  */
@@ -1362,7 +1393,7 @@ export type CallSessionResponse = {
1362
1393
  /**
1363
1394
  * Type
1364
1395
  */
1365
- type: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND';
1396
+ type: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND' | 'STREAM';
1366
1397
  /**
1367
1398
  * Userdata
1368
1399
  */
@@ -1473,6 +1504,10 @@ export type CallSummaryResponse = {
1473
1504
  * Status
1474
1505
  */
1475
1506
  status: string;
1507
+ /**
1508
+ * Stream Connection Id
1509
+ */
1510
+ stream_connection_id?: string | null;
1476
1511
  /**
1477
1512
  * Summary
1478
1513
  */
@@ -1488,7 +1523,7 @@ export type CallSummaryResponse = {
1488
1523
  /**
1489
1524
  * Type
1490
1525
  */
1491
- type: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND';
1526
+ type: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND' | 'STREAM';
1492
1527
  };
1493
1528
  /**
1494
1529
  * CallTeamMemberResponse
@@ -1573,32 +1608,6 @@ export type CallToolResponse = {
1573
1608
  */
1574
1609
  silent?: boolean;
1575
1610
  };
1576
- /**
1577
- * CallingWindow
1578
- *
1579
- * The hours a batch may dial in, on the batch's own clock.
1580
- *
1581
- * A window that crosses midnight (``21:00``–``06:00``) is valid and means
1582
- * exactly what an evening consumer-calling window means: the day check applies
1583
- * to the *start* side, so ``21:00``–``06:00`` on ``days: [5]`` runs Friday
1584
- * 21:00 through Saturday 06:00.
1585
- */
1586
- export type CallingWindow = {
1587
- /**
1588
- * Days
1589
- *
1590
- * ISO weekdays the window opens on, 1 = Monday.
1591
- */
1592
- days?: Array<number>;
1593
- /**
1594
- * End
1595
- */
1596
- end: string;
1597
- /**
1598
- * Start
1599
- */
1600
- start: string;
1601
- };
1602
1611
  /**
1603
1612
  * CatalogResponse
1604
1613
  */
@@ -2417,7 +2426,7 @@ export type CreateCallBatchRequest = {
2417
2426
  * Which version of `agent_id` to run. Omit for the published one. `"draft"` runs the unpublished working copy — validated and tool-pinned at request time, and refused with the publish errors if it does not hold together.
2418
2427
  */
2419
2428
  agent_version?: number | 'draft' | null;
2420
- calling_window?: CallingWindow | null;
2429
+ calling_window?: TimeWindow | null;
2421
2430
  /**
2422
2431
  * From Phone Number Id
2423
2432
  */
@@ -2467,12 +2476,29 @@ export type CreateEmailBatchRequest = {
2467
2476
  * Body Format
2468
2477
  */
2469
2478
  body_format?: 'text' | 'html';
2470
- calling_window?: CallingWindow | null;
2479
+ /**
2480
+ * Draft Attempts
2481
+ */
2482
+ draft_attempts?: number;
2483
+ /**
2484
+ * Draft Concurrency
2485
+ */
2486
+ draft_concurrency?: number;
2487
+ /**
2488
+ * Draft Gap Seconds
2489
+ *
2490
+ * Minimum seconds between STARTING two rows. 0 starts each as a slot frees; raise it when the task calls something that rate-limits.
2491
+ */
2492
+ draft_gap_seconds?: number;
2493
+ /**
2494
+ * Draft Retry After Minutes
2495
+ */
2496
+ draft_retry_after_minutes?: number;
2471
2497
  field_map: FieldMap;
2472
2498
  /**
2473
2499
  * From Email
2474
2500
  *
2475
- * The default sending address. Its domain must be verified on that Resend account; a single send may override this for that press alone.
2501
+ * The default sending address. Its domain must be verified on that Resend account; a send may override this for its own rows alone.
2476
2502
  */
2477
2503
  from_email: string;
2478
2504
  /**
@@ -2485,14 +2511,6 @@ export type CreateEmailBatchRequest = {
2485
2511
  * A connected Resend account.
2486
2512
  */
2487
2513
  integration_id: string;
2488
- /**
2489
- * Max Attempts
2490
- */
2491
- max_attempts?: number;
2492
- /**
2493
- * Max Concurrency
2494
- */
2495
- max_concurrency?: number;
2496
2514
  /**
2497
2515
  * Name
2498
2516
  */
@@ -2506,15 +2524,25 @@ export type CreateEmailBatchRequest = {
2506
2524
  */
2507
2525
  reply_to?: string | null;
2508
2526
  /**
2509
- * Retry After Minutes
2527
+ * Send Attempts
2510
2528
  */
2511
- retry_after_minutes?: number;
2529
+ send_attempts?: number;
2530
+ /**
2531
+ * Send Daily Cap
2532
+ *
2533
+ * Emails this batch may send per local day, across all of its sends. Null is uncapped.
2534
+ */
2535
+ send_daily_cap?: number | null;
2512
2536
  /**
2513
- * Send Sleep Seconds
2537
+ * Send Gap Seconds
2514
2538
  *
2515
- * Seconds slept after each email within one send. One press of 50 rows takes about `50 x this` seconds.
2539
+ * Minimum seconds between STARTING two emails. 60 means one a minute.
2540
+ */
2541
+ send_gap_seconds?: number;
2542
+ /**
2543
+ * Send Retry After Minutes
2516
2544
  */
2517
- send_sleep_seconds?: number;
2545
+ send_retry_after_minutes?: number;
2518
2546
  /**
2519
2547
  * Start At
2520
2548
  */
@@ -2529,6 +2557,86 @@ export type CreateEmailBatchRequest = {
2529
2557
  * Timezone
2530
2558
  */
2531
2559
  timezone: string;
2560
+ /**
2561
+ * When email may LEAVE. Inherited by every send this batch creates.
2562
+ */
2563
+ window?: TimeWindow | null;
2564
+ };
2565
+ /**
2566
+ * CreateEmailSendRequest
2567
+ *
2568
+ * Send these rows. **This is the call that mails real people.**
2569
+ *
2570
+ * Name ``recipient_ids`` or pass ``selection: "all_drafts"``. Everything else
2571
+ * defaults to the batch's own setting; ``window`` and ``send_daily_cap`` accept
2572
+ * an explicit ``null`` to mean "no window" and "uncapped" rather than
2573
+ * "inherit", so the service reads ``model_fields_set``.
2574
+ *
2575
+ * The sender applies to THIS send alone and never writes back to the batch.
2576
+ */
2577
+ export type CreateEmailSendRequest = {
2578
+ /**
2579
+ * From Email
2580
+ */
2581
+ from_email?: string | null;
2582
+ /**
2583
+ * From Name
2584
+ */
2585
+ from_name?: string | null;
2586
+ /**
2587
+ * Recipient Ids
2588
+ */
2589
+ recipient_ids?: Array<string> | null;
2590
+ /**
2591
+ * Reply To
2592
+ */
2593
+ reply_to?: string | null;
2594
+ /**
2595
+ * Selection
2596
+ */
2597
+ selection?: 'all_drafts' | null;
2598
+ /**
2599
+ * Send Attempts
2600
+ */
2601
+ send_attempts?: number | null;
2602
+ /**
2603
+ * Send Daily Cap
2604
+ */
2605
+ send_daily_cap?: number | null;
2606
+ /**
2607
+ * Send Gap Seconds
2608
+ */
2609
+ send_gap_seconds?: number | null;
2610
+ /**
2611
+ * Send Retry After Minutes
2612
+ */
2613
+ send_retry_after_minutes?: number | null;
2614
+ /**
2615
+ * Start At
2616
+ */
2617
+ start_at?: string | null;
2618
+ /**
2619
+ * Timezone
2620
+ */
2621
+ timezone?: string | null;
2622
+ window?: TimeWindow | null;
2623
+ };
2624
+ /**
2625
+ * CreateEmailSendResponse
2626
+ *
2627
+ * The send that was created, and every row that did not go into it.
2628
+ *
2629
+ * Two halves rather than one, because they answer different questions and a
2630
+ * caller needs both: what is now scheduled to go out, and which rows it
2631
+ * refused and why. If NOTHING in the selection could be sent there is no send
2632
+ * to describe, so that case is a 400 naming the reasons instead.
2633
+ */
2634
+ export type CreateEmailSendResponse = {
2635
+ /**
2636
+ * Rejected
2637
+ */
2638
+ rejected: Array<RejectedRecipient>;
2639
+ send: EmailSendResponse;
2532
2640
  };
2533
2641
  /**
2534
2642
  * CreateIntegrationRequest
@@ -2644,6 +2752,29 @@ export type CreateSecretRequest = {
2644
2752
  */
2645
2753
  value: string;
2646
2754
  };
2755
+ /**
2756
+ * CreateStreamConnectionRequest
2757
+ */
2758
+ export type CreateStreamConnectionRequest = {
2759
+ /**
2760
+ * Agent Id
2761
+ *
2762
+ * The published voice agent that answers on this connection.
2763
+ */
2764
+ agent_id: string;
2765
+ /**
2766
+ * Dialect
2767
+ *
2768
+ * Which platform's WebSocket protocol this partner speaks. One of sparktg, twilio, plivo, exotel, vonage.
2769
+ */
2770
+ dialect: 'twilio' | 'sparktg' | 'plivo' | 'exotel' | 'vonage';
2771
+ /**
2772
+ * Name
2773
+ *
2774
+ * What this partner integration is called in the dashboard.
2775
+ */
2776
+ name: string;
2777
+ };
2647
2778
  /**
2648
2779
  * CreateTaskRequest
2649
2780
  */
@@ -2758,7 +2889,7 @@ export type CreateToolRequest = {
2758
2889
  /**
2759
2890
  * Operations
2760
2891
  */
2761
- operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation>;
2892
+ operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation>;
2762
2893
  /**
2763
2894
  * Silent
2764
2895
  */
@@ -2976,6 +3107,25 @@ export type DeliveryResultResponse = {
2976
3107
  */
2977
3108
  webhook_id: string;
2978
3109
  };
3110
+ /**
3111
+ * DraftedVersion
3112
+ *
3113
+ * How many of this batch's rows were written by one version of its task.
3114
+ *
3115
+ * The batch page's whole answer to "did my edit change anything": a list that
3116
+ * reads "1 204 rows on v2, 96 on v3" names both the improvement and exactly
3117
+ * which rows are still on the old prompt.
3118
+ */
3119
+ export type DraftedVersion = {
3120
+ /**
3121
+ * Count
3122
+ */
3123
+ count: number;
3124
+ /**
3125
+ * Version
3126
+ */
3127
+ version: number;
3128
+ };
2979
3129
  /**
2980
3130
  * EmailBatchCounts
2981
3131
  */
@@ -3033,16 +3183,35 @@ export type EmailBatchResponse = {
3033
3183
  * Body Format
3034
3184
  */
3035
3185
  body_format: 'text' | 'html';
3036
- calling_window: CallingWindow | null;
3037
3186
  counts: EmailBatchCounts;
3038
3187
  /**
3039
3188
  * Created At
3040
3189
  */
3041
3190
  created_at: string;
3191
+ /**
3192
+ * Draft Attempts
3193
+ */
3194
+ draft_attempts: number;
3195
+ /**
3196
+ * Draft Concurrency
3197
+ */
3198
+ draft_concurrency: number;
3199
+ /**
3200
+ * Draft Gap Seconds
3201
+ */
3202
+ draft_gap_seconds: number;
3203
+ /**
3204
+ * Draft Retry After Minutes
3205
+ */
3206
+ draft_retry_after_minutes: number;
3042
3207
  /**
3043
3208
  * Drafted At
3044
3209
  */
3045
3210
  drafted_at: string | null;
3211
+ /**
3212
+ * Drafted Versions
3213
+ */
3214
+ drafted_versions: Array<DraftedVersion>;
3046
3215
  /**
3047
3216
  * Failure Reason
3048
3217
  */
@@ -3072,14 +3241,6 @@ export type EmailBatchResponse = {
3072
3241
  * Integration Name
3073
3242
  */
3074
3243
  integration_name: string | null;
3075
- /**
3076
- * Max Attempts
3077
- */
3078
- max_attempts: number;
3079
- /**
3080
- * Max Concurrency
3081
- */
3082
- max_concurrency: number;
3083
3244
  /**
3084
3245
  * Name
3085
3246
  */
@@ -3088,6 +3249,10 @@ export type EmailBatchResponse = {
3088
3249
  * Next Draft At
3089
3250
  */
3090
3251
  next_draft_at: string | null;
3252
+ /**
3253
+ * Next Draft Reason
3254
+ */
3255
+ next_draft_reason: 'start' | 'retry' | null;
3091
3256
  /**
3092
3257
  * Output Columns
3093
3258
  */
@@ -3096,18 +3261,38 @@ export type EmailBatchResponse = {
3096
3261
  * Provider Cost
3097
3262
  */
3098
3263
  provider_cost: number | null;
3264
+ /**
3265
+ * Published Task Version
3266
+ */
3267
+ published_task_version: number | null;
3099
3268
  /**
3100
3269
  * Reply To
3101
3270
  */
3102
3271
  reply_to: string | null;
3103
3272
  /**
3104
- * Retry After Minutes
3273
+ * Send Attempts
3105
3274
  */
3106
- retry_after_minutes: number;
3275
+ send_attempts: number;
3276
+ /**
3277
+ * Send Daily Cap
3278
+ */
3279
+ send_daily_cap: number | null;
3280
+ /**
3281
+ * Send Gap Seconds
3282
+ */
3283
+ send_gap_seconds: number;
3284
+ /**
3285
+ * Send Retry After Minutes
3286
+ */
3287
+ send_retry_after_minutes: number;
3288
+ /**
3289
+ * Sent Today
3290
+ */
3291
+ sent_today: number;
3107
3292
  /**
3108
- * Send Sleep Seconds
3293
+ * Stale Redraftable
3109
3294
  */
3110
- send_sleep_seconds: number;
3295
+ stale_redraftable: number;
3111
3296
  /**
3112
3297
  * Start At
3113
3298
  */
@@ -3132,6 +3317,7 @@ export type EmailBatchResponse = {
3132
3317
  * Timezone
3133
3318
  */
3134
3319
  timezone: string;
3320
+ window: TimeWindow | null;
3135
3321
  };
3136
3322
  /**
3137
3323
  * EmailRecipientInput
@@ -3210,9 +3396,9 @@ export type EmailRecipientResponse = {
3210
3396
  */
3211
3397
  send_attempts: number;
3212
3398
  /**
3213
- * Send Job Id
3399
+ * Send Run Id
3214
3400
  */
3215
- send_job_id: string | null;
3401
+ send_run_id: string | null;
3216
3402
  /**
3217
3403
  * Sent At
3218
3404
  */
@@ -3233,6 +3419,10 @@ export type EmailRecipientResponse = {
3233
3419
  * Task Run Id
3234
3420
  */
3235
3421
  task_run_id: string | null;
3422
+ /**
3423
+ * Task Version
3424
+ */
3425
+ task_version: number | null;
3236
3426
  /**
3237
3427
  * To Email
3238
3428
  */
@@ -3243,86 +3433,204 @@ export type EmailRecipientResponse = {
3243
3433
  updated_at: string;
3244
3434
  };
3245
3435
  /**
3246
- * EndCallConfig
3436
+ * EmailSendCounts
3247
3437
  *
3248
- * No settings: an `end_call` ends the call.
3249
- */
3250
- export type EndCallConfig = {
3251
- [key: string]: never;
3252
- };
3253
- /**
3254
- * EndCallOperation
3438
+ * Where this send's rows are.
3439
+ *
3440
+ * ``total`` is what the send was created with and never changes — a send's row
3441
+ * set is immutable — so ``returned`` is what is left once every other bucket is
3442
+ * accounted for: the rows a cancel or a failure handed back as drafts.
3255
3443
  */
3256
- export type EndCallOperation = {
3257
- config?: EndCallConfig;
3444
+ export type EmailSendCounts = {
3258
3445
  /**
3259
- * Kind
3446
+ * Queued
3260
3447
  */
3261
- kind: 'end_call';
3448
+ queued: number;
3262
3449
  /**
3263
- * On Error
3450
+ * Returned
3264
3451
  */
3265
- on_error?: 'abort' | 'continue';
3266
- };
3267
- /**
3268
- * EndpointingSpec
3269
- *
3270
- * How long a caller's silence must last before the agent takes the turn.
3271
- */
3272
- export type EndpointingSpec = {
3452
+ returned: number;
3273
3453
  /**
3274
- * Max Silence Duration
3275
- *
3276
- * How long to wait instead when the turn detector judges the caller is mid-thought. Only a batch speech-to-text model in one of the turn detector's 14 languages gets that judgement; every other pipeline ends turns on silence and ignores this.
3454
+ * Send Failed
3277
3455
  */
3278
- max_silence_duration?: number;
3456
+ send_failed: number;
3279
3457
  /**
3280
- * Min Silence Duration
3281
- *
3282
- * How long the caller must stay silent, in seconds, before the agent takes the turn. A streaming speech-to-text model may wait longer when it hears the caller is not finished.
3458
+ * Sending
3283
3459
  */
3284
- min_silence_duration?: number;
3285
- };
3286
- /**
3287
- * EndpointingSpecOverride
3288
- *
3289
- * A partial EndpointingSpec: only the fields this call changes. Absent keeps the base value, an explicit null clears it, objects deep-merge and lists replace.
3290
- */
3291
- export type EndpointingSpecOverride = {
3460
+ sending: number;
3292
3461
  /**
3293
- * Max Silence Duration
3294
- *
3295
- * How long to wait instead when the turn detector judges the caller is mid-thought. Only a batch speech-to-text model in one of the turn detector's 14 languages gets that judgement; every other pipeline ends turns on silence and ignores this.
3462
+ * Sent
3296
3463
  */
3297
- max_silence_duration?: number | null;
3464
+ sent: number;
3298
3465
  /**
3299
- * Min Silence Duration
3300
- *
3301
- * How long the caller must stay silent, in seconds, before the agent takes the turn. A streaming speech-to-text model may wait longer when it hears the caller is not finished.
3466
+ * Skipped
3302
3467
  */
3303
- min_silence_duration?: number | null;
3468
+ skipped: number;
3469
+ /**
3470
+ * Total
3471
+ */
3472
+ total: number;
3304
3473
  };
3305
3474
  /**
3306
- * ErrorBody
3307
- *
3308
- * The structured half of our error contract: a human `message` plus a list
3309
- * of individual `errors` (used wherever we surface many problems at once,
3310
- * including tool publish, op-tree checks, and request validation). The global
3311
- * exception handlers normalize every API error to
3312
- * `{detail: {message, errors}}`, so SDKs can parse one shape consistently.
3475
+ * EmailSendResponse
3313
3476
  */
3314
- export type ErrorBody = {
3477
+ export type EmailSendResponse = {
3315
3478
  /**
3316
- * Errors
3479
+ * Batch Id
3317
3480
  */
3318
- errors: Array<string>;
3481
+ batch_id: string;
3482
+ counts: EmailSendCounts;
3319
3483
  /**
3320
- * Message
3484
+ * Created At
3321
3485
  */
3322
- message: string;
3323
- };
3324
- /**
3325
- * ErrorResponse
3486
+ created_at: string;
3487
+ /**
3488
+ * Failure Reason
3489
+ */
3490
+ failure_reason: string | null;
3491
+ /**
3492
+ * Finished At
3493
+ */
3494
+ finished_at: string | null;
3495
+ /**
3496
+ * From Email
3497
+ */
3498
+ from_email: string;
3499
+ /**
3500
+ * From Name
3501
+ */
3502
+ from_name: string | null;
3503
+ /**
3504
+ * Id
3505
+ */
3506
+ id: string;
3507
+ /**
3508
+ * Next Send At
3509
+ */
3510
+ next_send_at: string | null;
3511
+ /**
3512
+ * Next Send Reason
3513
+ */
3514
+ next_send_reason: 'start' | 'window' | 'daily_cap' | 'retry' | 'gap' | null;
3515
+ /**
3516
+ * Reply To
3517
+ */
3518
+ reply_to: string | null;
3519
+ /**
3520
+ * Send Attempts
3521
+ */
3522
+ send_attempts: number;
3523
+ /**
3524
+ * Send Daily Cap
3525
+ */
3526
+ send_daily_cap: number | null;
3527
+ /**
3528
+ * Send Gap Seconds
3529
+ */
3530
+ send_gap_seconds: number;
3531
+ /**
3532
+ * Send Retry After Minutes
3533
+ */
3534
+ send_retry_after_minutes: number;
3535
+ /**
3536
+ * Start At
3537
+ */
3538
+ start_at: string | null;
3539
+ /**
3540
+ * Started At
3541
+ */
3542
+ started_at: string | null;
3543
+ /**
3544
+ * Status
3545
+ */
3546
+ status: 'scheduled' | 'sending' | 'paused' | 'sent' | 'canceled' | 'failed';
3547
+ /**
3548
+ * Timezone
3549
+ */
3550
+ timezone: string;
3551
+ window: TimeWindow | null;
3552
+ };
3553
+ /**
3554
+ * EndCallConfig
3555
+ *
3556
+ * No settings: an `end_call` ends the call.
3557
+ */
3558
+ export type EndCallConfig = {
3559
+ [key: string]: never;
3560
+ };
3561
+ /**
3562
+ * EndCallOperation
3563
+ */
3564
+ export type EndCallOperation = {
3565
+ config?: EndCallConfig;
3566
+ /**
3567
+ * Kind
3568
+ */
3569
+ kind: 'end_call';
3570
+ /**
3571
+ * On Error
3572
+ */
3573
+ on_error?: 'abort' | 'continue';
3574
+ };
3575
+ /**
3576
+ * EndpointingSpec
3577
+ *
3578
+ * How long a caller's silence must last before the agent takes the turn.
3579
+ */
3580
+ export type EndpointingSpec = {
3581
+ /**
3582
+ * Max Silence Duration
3583
+ *
3584
+ * How long to wait instead when the turn detector judges the caller is mid-thought. Only a batch speech-to-text model in one of the turn detector's 14 languages gets that judgement; every other pipeline ends turns on silence and ignores this.
3585
+ */
3586
+ max_silence_duration?: number;
3587
+ /**
3588
+ * Min Silence Duration
3589
+ *
3590
+ * How long the caller must stay silent, in seconds, before the agent takes the turn. A streaming speech-to-text model may wait longer when it hears the caller is not finished.
3591
+ */
3592
+ min_silence_duration?: number;
3593
+ };
3594
+ /**
3595
+ * EndpointingSpecOverride
3596
+ *
3597
+ * A partial EndpointingSpec: only the fields this call changes. Absent keeps the base value, an explicit null clears it, objects deep-merge and lists replace.
3598
+ */
3599
+ export type EndpointingSpecOverride = {
3600
+ /**
3601
+ * Max Silence Duration
3602
+ *
3603
+ * How long to wait instead when the turn detector judges the caller is mid-thought. Only a batch speech-to-text model in one of the turn detector's 14 languages gets that judgement; every other pipeline ends turns on silence and ignores this.
3604
+ */
3605
+ max_silence_duration?: number | null;
3606
+ /**
3607
+ * Min Silence Duration
3608
+ *
3609
+ * How long the caller must stay silent, in seconds, before the agent takes the turn. A streaming speech-to-text model may wait longer when it hears the caller is not finished.
3610
+ */
3611
+ min_silence_duration?: number | null;
3612
+ };
3613
+ /**
3614
+ * ErrorBody
3615
+ *
3616
+ * The structured half of our error contract: a human `message` plus a list
3617
+ * of individual `errors` (used wherever we surface many problems at once,
3618
+ * including tool publish, op-tree checks, and request validation). The global
3619
+ * exception handlers normalize every API error to
3620
+ * `{detail: {message, errors}}`, so SDKs can parse one shape consistently.
3621
+ */
3622
+ export type ErrorBody = {
3623
+ /**
3624
+ * Errors
3625
+ */
3626
+ errors: Array<string>;
3627
+ /**
3628
+ * Message
3629
+ */
3630
+ message: string;
3631
+ };
3632
+ /**
3633
+ * ErrorResponse
3326
3634
  *
3327
3635
  * The body of every error response, at every status code.
3328
3636
  */
@@ -3582,6 +3890,7 @@ export type HandoffTarget = {
3582
3890
  * Liveness of the API process itself.
3583
3891
  */
3584
3892
  export type HealthResponse = {
3893
+ model_registry?: ModelRegistryHealth | null;
3585
3894
  /**
3586
3895
  * Status
3587
3896
  */
@@ -3838,7 +4147,7 @@ export type IfOperation = {
3838
4147
  /**
3839
4148
  * Else
3840
4149
  */
3841
- else?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation> | null;
4150
+ else?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation> | null;
3842
4151
  /**
3843
4152
  * Kind
3844
4153
  */
@@ -3850,7 +4159,7 @@ export type IfOperation = {
3850
4159
  /**
3851
4160
  * Then
3852
4161
  */
3853
- then?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation> | null;
4162
+ then?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation> | null;
3854
4163
  };
3855
4164
  /**
3856
4165
  * ImportPhoneNumbersRequest
@@ -3988,7 +4297,7 @@ export type InlineTool = {
3988
4297
  /**
3989
4298
  * Operations
3990
4299
  */
3991
- operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation>;
4300
+ operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation>;
3992
4301
  /**
3993
4302
  * Silent
3994
4303
  */
@@ -4807,6 +5116,62 @@ export type KbTreeNode = {
4807
5116
  */
4808
5117
  title?: string | null;
4809
5118
  };
5119
+ /**
5120
+ * KeypadInputSpec
5121
+ *
5122
+ * Digits the caller types, delivered as a turn the agent can answer.
5123
+ *
5124
+ * Phone and stream calls only, and only where the platform sends DTMF as an
5125
+ * event — tones inside the audio are not detected. Cleared on any other
5126
+ * channel: a browser has no keypad, so a `video` agent (which is a web call
5127
+ * wearing an avatar) and a `text` agent both have nothing to collect, and only
5128
+ * a `voice` agent can hold a phone number or answer a media stream.
5129
+ */
5130
+ export type KeypadInputSpec = {
5131
+ /**
5132
+ * Enabled
5133
+ *
5134
+ * Let the caller answer with the keypad. Each entry arrives as one labelled user turn, and the first keypress interrupts whatever the agent is saying.
5135
+ */
5136
+ enabled?: boolean;
5137
+ /**
5138
+ * Terminator
5139
+ *
5140
+ * The key that ends an entry. It is not part of the entry, and pressing it on nothing is ignored. Empty means only the quiet timer ends one.
5141
+ */
5142
+ terminator?: '#' | '*' | '';
5143
+ /**
5144
+ * Timeout
5145
+ *
5146
+ * Seconds of quiet before an entry is taken as finished. 0 waits for the terminator however long it takes.
5147
+ */
5148
+ timeout?: number;
5149
+ };
5150
+ /**
5151
+ * KeypadInputSpecOverride
5152
+ *
5153
+ * A partial KeypadInputSpec: only the fields this call changes. Absent keeps the base value, an explicit null clears it, objects deep-merge and lists replace.
5154
+ */
5155
+ export type KeypadInputSpecOverride = {
5156
+ /**
5157
+ * Enabled
5158
+ *
5159
+ * Let the caller answer with the keypad. Each entry arrives as one labelled user turn, and the first keypress interrupts whatever the agent is saying.
5160
+ */
5161
+ enabled?: boolean | null;
5162
+ /**
5163
+ * Terminator
5164
+ *
5165
+ * The key that ends an entry. It is not part of the entry, and pressing it on nothing is ignored. Empty means only the quiet timer ends one.
5166
+ */
5167
+ terminator?: '#' | '*' | '' | null;
5168
+ /**
5169
+ * Timeout
5170
+ *
5171
+ * Seconds of quiet before an entry is taken as finished. 0 waits for the terminator however long it takes.
5172
+ */
5173
+ timeout?: number | null;
5174
+ };
4810
5175
  /**
4811
5176
  * LLMCatalogEntryResponse
4812
5177
  */
@@ -4823,6 +5188,10 @@ export type LLMCatalogEntryResponse = {
4823
5188
  * Channel
4824
5189
  */
4825
5190
  channel: Array<string>;
5191
+ /**
5192
+ * Context Length
5193
+ */
5194
+ context_length: number | null;
4826
5195
  /**
4827
5196
  * Label
4828
5197
  */
@@ -4924,6 +5293,10 @@ export type LLMPriceLine = {
4924
5293
  * Cost
4925
5294
  */
4926
5295
  cost: number;
5296
+ /**
5297
+ * Input Cache Write Tokens
5298
+ */
5299
+ input_cache_write_tokens: number | null;
4927
5300
  /**
4928
5301
  * Input Cached Tokens
4929
5302
  */
@@ -4948,6 +5321,10 @@ export type LLMPriceLine = {
4948
5321
  * Provider
4949
5322
  */
4950
5323
  provider: string;
5324
+ /**
5325
+ * Provider Reported
5326
+ */
5327
+ provider_reported: boolean;
4951
5328
  /**
4952
5329
  * Purpose
4953
5330
  */
@@ -4962,6 +5339,10 @@ export type LLMPriceLine = {
4962
5339
  * LLMPricing
4963
5340
  */
4964
5341
  export type LLMPricing = {
5342
+ /**
5343
+ * Cache Write Per 1M
5344
+ */
5345
+ cache_write_per_1m?: number | null;
4965
5346
  /**
4966
5347
  * Cached Input Per 1M
4967
5348
  */
@@ -5047,6 +5428,10 @@ export type LLMSpecOverride = {
5047
5428
  * billed separately today and are not persisted.
5048
5429
  */
5049
5430
  export type LLMUsage = {
5431
+ /**
5432
+ * Input Cache Write Tokens
5433
+ */
5434
+ input_cache_write_tokens: number;
5050
5435
  /**
5051
5436
  * Input Cached Tokens
5052
5437
  */
@@ -5075,6 +5460,10 @@ export type LLMUsage = {
5075
5460
  * Purpose
5076
5461
  */
5077
5462
  purpose: string;
5463
+ /**
5464
+ * Reported Cost
5465
+ */
5466
+ reported_cost: number | null;
5078
5467
  };
5079
5468
  /**
5080
5469
  * LLMUsageResponse
@@ -5172,6 +5561,50 @@ export type ModelMetadata = {
5172
5561
  model_provider?: string | null;
5173
5562
  [key: string]: unknown;
5174
5563
  };
5564
+ /**
5565
+ * ModelRegistryHealth
5566
+ *
5567
+ * How fresh this process's searched-provider model list is.
5568
+ *
5569
+ * A silently stale registry is the one failure this design trades for
5570
+ * freshness — a refresh that keeps failing holds the last good snapshot
5571
+ * indefinitely, on purpose, because clearing it would take every model of that
5572
+ * provider out of the editor and out of publish validation at once. So its age
5573
+ * has to be readable without opening a log.
5574
+ */
5575
+ export type ModelRegistryHealth = {
5576
+ /**
5577
+ * Age Seconds
5578
+ */
5579
+ age_seconds: number | null;
5580
+ /**
5581
+ * Last Error
5582
+ */
5583
+ last_error: string | null;
5584
+ /**
5585
+ * Models
5586
+ */
5587
+ models: number;
5588
+ };
5589
+ /**
5590
+ * ModelSearchResponse
5591
+ *
5592
+ * One page of a searched provider's models — never the whole registry.
5593
+ *
5594
+ * Ordered by real-world popularity when `q` is empty (OpenRouter ranks its own
5595
+ * list by tokens processed, so the first screen is the models people actually
5596
+ * run) and by match quality when it is not, popularity breaking the ties.
5597
+ */
5598
+ export type ModelSearchResponse = {
5599
+ /**
5600
+ * Models
5601
+ */
5602
+ models: Array<LLMCatalogEntryResponse>;
5603
+ /**
5604
+ * Next Cursor
5605
+ */
5606
+ next_cursor: string | null;
5607
+ };
5175
5608
  /**
5176
5609
  * NodeContentResponse
5177
5610
  */
@@ -6194,6 +6627,27 @@ export type PageEmailRecipientResponse = {
6194
6627
  */
6195
6628
  offset: number;
6196
6629
  };
6630
+ /**
6631
+ * Page[EmailSendResponse]
6632
+ */
6633
+ export type PageEmailSendResponse = {
6634
+ /**
6635
+ * Has More
6636
+ */
6637
+ has_more: boolean;
6638
+ /**
6639
+ * Items
6640
+ */
6641
+ items: Array<EmailSendResponse>;
6642
+ /**
6643
+ * Limit
6644
+ */
6645
+ limit: number;
6646
+ /**
6647
+ * Offset
6648
+ */
6649
+ offset: number;
6650
+ };
6197
6651
  /**
6198
6652
  * Page[IntegrationCatalogItem]
6199
6653
  */
@@ -6362,6 +6816,27 @@ export type PageSecretResponse = {
6362
6816
  */
6363
6817
  offset: number;
6364
6818
  };
6819
+ /**
6820
+ * Page[StreamConnectionResponse]
6821
+ */
6822
+ export type PageStreamConnectionResponse = {
6823
+ /**
6824
+ * Has More
6825
+ */
6826
+ has_more: boolean;
6827
+ /**
6828
+ * Items
6829
+ */
6830
+ items: Array<StreamConnectionResponse>;
6831
+ /**
6832
+ * Limit
6833
+ */
6834
+ limit: number;
6835
+ /**
6836
+ * Offset
6837
+ */
6838
+ offset: number;
6839
+ };
6365
6840
  /**
6366
6841
  * Page[TaskResponse]
6367
6842
  */
@@ -6504,7 +6979,7 @@ export type PatchCallBatchRequest = {
6504
6979
  * Agent Id
6505
6980
  */
6506
6981
  agent_id?: string | null;
6507
- calling_window?: CallingWindow | null;
6982
+ calling_window?: TimeWindow | null;
6508
6983
  /**
6509
6984
  * From Phone Number Id
6510
6985
  */
@@ -6560,21 +7035,37 @@ export type PatchConversationRequest = {
6560
7035
  *
6561
7036
  * Policy edits.
6562
7037
  *
6563
- * ``calling_window`` and ``start_at`` accept an explicit ``null`` to *clear*
6564
- * them — "draft at any hour", "start on the next pass" which is why the
6565
- * service reads ``model_fields_set`` rather than treating absent and null the
6566
- * same way. Every other field keeps the usual PATCH rule: absent means
6567
- * unchanged.
7038
+ * ``window``, ``start_at`` and ``send_daily_cap`` accept an explicit ``null``
7039
+ * to *clear* them — "send at any hour", "start on the next pass", "no daily
7040
+ * ceiling" — which is why the service reads ``model_fields_set`` rather than
7041
+ * treating absent and null the same way. Every other field keeps the usual
7042
+ * PATCH rule: absent means unchanged.
6568
7043
  *
6569
7044
  * Pacing stays editable at any time; identity does not once anything has been
6570
- * sent (see ``service.patch_batch``).
7045
+ * sent (see ``service.patch_batch``). The sending group here is the DEFAULT for
7046
+ * the next send — a run already created carries its own copy.
6571
7047
  */
6572
7048
  export type PatchEmailBatchRequest = {
6573
7049
  /**
6574
7050
  * Body Format
6575
7051
  */
6576
7052
  body_format?: 'text' | 'html' | null;
6577
- calling_window?: CallingWindow | null;
7053
+ /**
7054
+ * Draft Attempts
7055
+ */
7056
+ draft_attempts?: number | null;
7057
+ /**
7058
+ * Draft Concurrency
7059
+ */
7060
+ draft_concurrency?: number | null;
7061
+ /**
7062
+ * Draft Gap Seconds
7063
+ */
7064
+ draft_gap_seconds?: number | null;
7065
+ /**
7066
+ * Draft Retry After Minutes
7067
+ */
7068
+ draft_retry_after_minutes?: number | null;
6578
7069
  field_map?: FieldMap | null;
6579
7070
  /**
6580
7071
  * From Email
@@ -6585,29 +7076,29 @@ export type PatchEmailBatchRequest = {
6585
7076
  */
6586
7077
  from_name?: string | null;
6587
7078
  /**
6588
- * Max Attempts
7079
+ * Name
6589
7080
  */
6590
- max_attempts?: number | null;
7081
+ name?: string | null;
6591
7082
  /**
6592
- * Max Concurrency
7083
+ * Reply To
6593
7084
  */
6594
- max_concurrency?: number | null;
7085
+ reply_to?: string | null;
6595
7086
  /**
6596
- * Name
7087
+ * Send Attempts
6597
7088
  */
6598
- name?: string | null;
7089
+ send_attempts?: number | null;
6599
7090
  /**
6600
- * Reply To
7091
+ * Send Daily Cap
6601
7092
  */
6602
- reply_to?: string | null;
7093
+ send_daily_cap?: number | null;
6603
7094
  /**
6604
- * Retry After Minutes
7095
+ * Send Gap Seconds
6605
7096
  */
6606
- retry_after_minutes?: number | null;
7097
+ send_gap_seconds?: number | null;
6607
7098
  /**
6608
- * Send Sleep Seconds
7099
+ * Send Retry After Minutes
6609
7100
  */
6610
- send_sleep_seconds?: number | null;
7101
+ send_retry_after_minutes?: number | null;
6611
7102
  /**
6612
7103
  * Start At
6613
7104
  */
@@ -6616,6 +7107,7 @@ export type PatchEmailBatchRequest = {
6616
7107
  * Timezone
6617
7108
  */
6618
7109
  timezone?: string | null;
7110
+ window?: TimeWindow | null;
6619
7111
  };
6620
7112
  /**
6621
7113
  * PatchEmailRecipientRequest
@@ -6635,6 +7127,44 @@ export type PatchEmailRecipientRequest = {
6635
7127
  [key: string]: string;
6636
7128
  };
6637
7129
  };
7130
+ /**
7131
+ * PatchEmailSendRequest
7132
+ *
7133
+ * Re-steer one send: its pacing, its hours, its ceiling, its start time.
7134
+ *
7135
+ * It never edits the sender, and it never edits the row set in either
7136
+ * direction. To change what a scheduled send contains, cancel it — every unsent
7137
+ * row comes back as a draft — and create another. A second way to move a row
7138
+ * out of a send would be a second state machine to keep correct for something
7139
+ * cancel already covers.
7140
+ */
7141
+ export type PatchEmailSendRequest = {
7142
+ /**
7143
+ * Send Attempts
7144
+ */
7145
+ send_attempts?: number | null;
7146
+ /**
7147
+ * Send Daily Cap
7148
+ */
7149
+ send_daily_cap?: number | null;
7150
+ /**
7151
+ * Send Gap Seconds
7152
+ */
7153
+ send_gap_seconds?: number | null;
7154
+ /**
7155
+ * Send Retry After Minutes
7156
+ */
7157
+ send_retry_after_minutes?: number | null;
7158
+ /**
7159
+ * Start At
7160
+ */
7161
+ start_at?: string | null;
7162
+ /**
7163
+ * Timezone
7164
+ */
7165
+ timezone?: string | null;
7166
+ window?: TimeWindow | null;
7167
+ };
6638
7168
  /**
6639
7169
  * PatchIntegrationRequest
6640
7170
  */
@@ -6761,6 +7291,23 @@ export type PatchPhoneNumberRequest = {
6761
7291
  */
6762
7292
  status?: 'disabled' | 'pending' | null;
6763
7293
  };
7294
+ /**
7295
+ * PatchStreamConnectionRequest
7296
+ */
7297
+ export type PatchStreamConnectionRequest = {
7298
+ /**
7299
+ * Agent Id
7300
+ */
7301
+ agent_id?: string | null;
7302
+ /**
7303
+ * Name
7304
+ */
7305
+ name?: string | null;
7306
+ /**
7307
+ * Status
7308
+ */
7309
+ status?: 'active' | 'disabled' | null;
7310
+ };
6764
7311
  /**
6765
7312
  * PatchTaskRequest
6766
7313
  *
@@ -6828,7 +7375,7 @@ export type PatchToolRequest = {
6828
7375
  /**
6829
7376
  * Operations
6830
7377
  */
6831
- operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation> | null;
7378
+ operations?: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation> | null;
6832
7379
  /**
6833
7380
  * Silent
6834
7381
  */
@@ -7136,6 +7683,10 @@ export type PromptResponse = {
7136
7683
  * ProviderEntryResponse
7137
7684
  */
7138
7685
  export type ProviderEntryResponse = {
7686
+ /**
7687
+ * Browse
7688
+ */
7689
+ browse: 'list' | 'search';
7139
7690
  /**
7140
7691
  * Enabled
7141
7692
  */
@@ -7293,6 +7844,27 @@ export type PublishResponse = {
7293
7844
  */
7294
7845
  warnings?: Array<string>;
7295
7846
  };
7847
+ /**
7848
+ * PublishTaskResponse
7849
+ */
7850
+ export type PublishTaskResponse = {
7851
+ /**
7852
+ * Published At
7853
+ */
7854
+ published_at: string;
7855
+ /**
7856
+ * Task Id
7857
+ */
7858
+ task_id: string;
7859
+ /**
7860
+ * Version
7861
+ */
7862
+ version: number;
7863
+ /**
7864
+ * Warnings
7865
+ */
7866
+ warnings?: Array<string>;
7867
+ };
7296
7868
  /**
7297
7869
  * PublishToolRequest
7298
7870
  */
@@ -7627,20 +8199,12 @@ export type RealtimeUsageResponse = {
7627
8199
  * RecipientActionResponse
7628
8200
  *
7629
8201
  * Skip-and-report, never a partial silent accept.
7630
- *
7631
- * ``job_id`` is set by `send` alone, so a client can tie a batch of rows that
7632
- * are visibly stuck to the `scheduled_jobs` row the scheduler is complaining
7633
- * about.
7634
8202
  */
7635
8203
  export type RecipientActionResponse = {
7636
8204
  /**
7637
8205
  * Affected
7638
8206
  */
7639
8207
  affected: number;
7640
- /**
7641
- * Job Id
7642
- */
7643
- job_id: string | null;
7644
8208
  /**
7645
8209
  * Rejected
7646
8210
  */
@@ -7752,6 +8316,41 @@ export type RecordingSpecOverride = {
7752
8316
  * What a reader should do about it. `available` is the only playable one.
7753
8317
  */
7754
8318
  export type RecordingState = 'none' | 'available' | 'pending' | 'expired' | 'failed' | 'not_shared' | 'consent_withdrawn' | 'deleted';
8319
+ /**
8320
+ * RedraftRequest
8321
+ *
8322
+ * Draft these rows again, from scratch.
8323
+ *
8324
+ * One verb for "write this row again", whatever put it in the state it is in —
8325
+ * a failed attempt, a prompt that has since improved, a draft nobody liked.
8326
+ * Four selections, and they differ in what they REFUSE as much as in what they
8327
+ * move, because a redraft discards a draft the tenant has already paid for:
8328
+ *
8329
+ * - ``all`` — every row in the batch. Rows already sent or queued come back in
8330
+ * ``rejected``, by name, so a bulk press cannot quietly do less than it said.
8331
+ * - ``failed`` — rows whose drafting failed.
8332
+ * - ``not_sent`` — every row that has not left and is not about to, with
8333
+ * nothing rejected.
8334
+ * - ``stale_version`` — rows drafted by a task version older than the one
8335
+ * published now. The selection that makes "watch the output, improve the
8336
+ * task, publish, redraft the rest" a workflow rather than a wish.
8337
+ */
8338
+ export type RedraftRequest = {
8339
+ /**
8340
+ * Clear Overrides
8341
+ *
8342
+ * Also discard the cells a person edited by hand. Off by default.
8343
+ */
8344
+ clear_overrides?: boolean;
8345
+ /**
8346
+ * Recipient Ids
8347
+ */
8348
+ recipient_ids?: Array<string> | null;
8349
+ /**
8350
+ * Selection
8351
+ */
8352
+ selection?: 'all' | 'failed' | 'not_sent' | 'stale_version' | null;
8353
+ };
7755
8354
  /**
7756
8355
  * RejectedRecipient
7757
8356
  */
@@ -7843,6 +8442,12 @@ export type RunTaskRequest = {
7843
8442
  vars?: {
7844
8443
  [key: string]: string;
7845
8444
  };
8445
+ /**
8446
+ * Version
8447
+ *
8448
+ * Which definition to run. Omitted runs the published version. A number runs that frozen version. 'draft' runs the unpublished config, validated and tool-pinned at request time and refused with the publish errors if it does not hold together.
8449
+ */
8450
+ version?: number | 'draft' | null;
7846
8451
  };
7847
8452
  /**
7848
8453
  * RunToolRequest
@@ -8207,11 +8812,11 @@ export type SecretResponse = {
8207
8812
  /**
8208
8813
  * SelectRecipientsRequest
8209
8814
  *
8210
- * What `skip`, `restore` and `retry` accept — either shape.
8815
+ * What `skip` and `restore` accept — either shape.
8211
8816
  *
8212
- * These keep their bulk shorthand because the rule is about irreversibility,
8213
- * not about bulk: skipping four thousand rows is undone by restoring them,
8214
- * and making curation tedious pushes an operator toward not curating.
8817
+ * Both are reversible, which is why both take a bulk shorthand: skipping four
8818
+ * thousand rows is undone by restoring them, and making curation tedious pushes
8819
+ * an operator toward not curating.
8215
8820
  */
8216
8821
  export type SelectRecipientsRequest = {
8217
8822
  /**
@@ -8221,36 +8826,39 @@ export type SelectRecipientsRequest = {
8221
8826
  /**
8222
8827
  * Selection
8223
8828
  *
8224
- * Every row this verb can act on: `draft` for skip, `skipped` for restore, `draft_failed` for retry.
8829
+ * Every row this verb can act on: `draft` for skip, `skipped` for restore.
8225
8830
  */
8226
8831
  selection?: 'all_eligible' | null;
8227
8832
  };
8228
8833
  /**
8229
- * SendEmailBatchRequest
8230
- *
8231
- * The ONLY shape `send` accepts. 1..50 ids, named.
8232
- *
8233
- * There is deliberately no `selection` shorthand here — see
8234
- * ``MAX_SEND_PER_PRESS``. The three sender fields apply to THIS press alone;
8235
- * each omitted one falls back to the batch's, and none of them writes back.
8834
+ * SendDtmfConfig
8236
8835
  */
8237
- export type SendEmailBatchRequest = {
8238
- /**
8239
- * From Email
8240
- */
8241
- from_email?: string | null;
8836
+ export type SendDtmfConfig = {
8242
8837
  /**
8243
- * From Name
8838
+ * Digits
8839
+ *
8840
+ * Keys to press: 0-9, *, #, A-D. 'w' waits half a second and 'W' one second, for menus that need a pause. Supports {{args.*}} and {{userdata.*}}.
8244
8841
  */
8245
- from_name?: string | null;
8842
+ digits: string;
8843
+ };
8844
+ /**
8845
+ * SendDtmfOperation
8846
+ *
8847
+ * Press keys on the call's keypad, for an IVR on the other end.
8848
+ *
8849
+ * Not terminal, unlike `end_call` and `transfer`: sending digits and then
8850
+ * saying something is the normal case, so a chain carries on afterwards.
8851
+ */
8852
+ export type SendDtmfOperation = {
8853
+ config: SendDtmfConfig;
8246
8854
  /**
8247
- * Recipient Ids
8855
+ * Kind
8248
8856
  */
8249
- recipient_ids: Array<string>;
8857
+ kind: 'send_dtmf';
8250
8858
  /**
8251
- * Reply To
8859
+ * On Error
8252
8860
  */
8253
- reply_to?: string | null;
8861
+ on_error?: 'abort' | 'continue';
8254
8862
  };
8255
8863
  /**
8256
8864
  * SendMessageRequest
@@ -8502,6 +9110,93 @@ export type StoredPlanMember = {
8502
9110
  */
8503
9111
  version: number | null;
8504
9112
  };
9113
+ /**
9114
+ * StreamConnectionResponse
9115
+ *
9116
+ * One connection, as a caller sees it.
9117
+ *
9118
+ * `url` is the whole configuration a partner needs, in full, on every read: it
9119
+ * carries no credential, so there is nothing here to mask and nothing to show
9120
+ * once and never again.
9121
+ */
9122
+ export type StreamConnectionResponse = {
9123
+ /**
9124
+ * Agent Id
9125
+ */
9126
+ agent_id: string;
9127
+ /**
9128
+ * Agent Name
9129
+ */
9130
+ agent_name: string | null;
9131
+ /**
9132
+ * Created At
9133
+ */
9134
+ created_at: string;
9135
+ /**
9136
+ * Dialect
9137
+ */
9138
+ dialect: 'twilio' | 'sparktg' | 'plivo' | 'exotel' | 'vonage';
9139
+ /**
9140
+ * Id
9141
+ */
9142
+ id: string;
9143
+ /**
9144
+ * Name
9145
+ */
9146
+ name: string;
9147
+ /**
9148
+ * Readiness
9149
+ */
9150
+ readiness: 'live' | 'needs_agent' | 'disabled';
9151
+ /**
9152
+ * Status
9153
+ */
9154
+ status: 'active' | 'disabled';
9155
+ /**
9156
+ * Updated At
9157
+ */
9158
+ updated_at: string;
9159
+ /**
9160
+ * Url
9161
+ */
9162
+ url: string;
9163
+ };
9164
+ /**
9165
+ * StreamResponse
9166
+ *
9167
+ * Which partner connection carried this call, and on what.
9168
+ *
9169
+ * Sits beside `transfer` for the same reason it does: it explains something
9170
+ * about the call that no other field can. A `STREAM` call has no phone number
9171
+ * and no carrier account, so without this the "Runtime identifiers" panel is a
9172
+ * row of nulls and there is nothing to say where the audio came from.
9173
+ */
9174
+ export type StreamResponse = {
9175
+ /**
9176
+ * Codec
9177
+ */
9178
+ codec?: string | null;
9179
+ /**
9180
+ * Connection Id
9181
+ */
9182
+ connection_id?: string | null;
9183
+ /**
9184
+ * Connection Name
9185
+ */
9186
+ connection_name?: string | null;
9187
+ /**
9188
+ * Dialect
9189
+ */
9190
+ dialect?: string | null;
9191
+ /**
9192
+ * Platform Call Id
9193
+ */
9194
+ platform_call_id?: string | null;
9195
+ /**
9196
+ * Sample Rate
9197
+ */
9198
+ sample_rate?: number | null;
9199
+ };
8505
9200
  /**
8506
9201
  * SystemVarResponse
8507
9202
  *
@@ -8876,20 +9571,37 @@ export type TTSUsageResponse = {
8876
9571
  /**
8877
9572
  * TaskConfig
8878
9573
  *
8879
- * The task definition. One saved config no versions, no publish step.
9574
+ * LiveKit's `AgentTask`: an agent with a typed result, on someone else's stack.
9575
+ *
9576
+ * It declares no channel, no media and no greeting. Entered by an agent it
9577
+ * speaks with that call's voice and hears with its ears; run on its own from
9578
+ * `POST /tasks/{id}/run` it is an LLM with tools and nobody to talk to. Which
9579
+ * of the two happens is the caller's, never the task's.
8880
9580
  */
8881
9581
  export type TaskConfig = {
9582
+ /**
9583
+ * Finish Without Result Description
9584
+ *
9585
+ * Description of `finish_without_result`, the tool that abandons a task an agent entered. Narrow it if the task gives up too readily. Unused by a standalone run.
9586
+ */
9587
+ finish_without_result_description?: string;
9588
+ /**
9589
+ * Kb Ids
9590
+ *
9591
+ * Knowledge bases to read from: their outline goes into the prompt and pages are fetched on demand.
9592
+ */
9593
+ kb_ids?: Array<string>;
8882
9594
  llm?: LLMSpec;
8883
9595
  /**
8884
9596
  * Max Steps
8885
9597
  *
8886
- * How many LLM -> tools -> LLM rounds the run may take. A round, not a tool call: four tools in one reply cost one step. The runaway-loop guard, not the time budget - lower it and a research task fails with `step_limit`.
9598
+ * How many LLM -> tools -> LLM rounds a standalone run may take. A round, not a tool call: four tools in one reply cost one step. Entered by an agent, the calling call's own limit applies instead.
8887
9599
  */
8888
9600
  max_steps?: number;
8889
9601
  /**
8890
9602
  * Mcps
8891
9603
  *
8892
- * MCP servers whose tools this task may call - each named by the integration that holds its credential, or defined inline.
9604
+ * MCP servers whose tools may be called each named by the integration that holds its credential, or defined inline. Which of a named server's tools may be called is the integration's own `allowed_tools`, not this list.
8893
9605
  */
8894
9606
  mcps?: Array<McpSelection>;
8895
9607
  /**
@@ -8898,40 +9610,49 @@ export type TaskConfig = {
8898
9610
  * Unique in the workspace.
8899
9611
  */
8900
9612
  name: string;
9613
+ on_enter?: ToolSelection | null;
9614
+ on_exit?: ToolSelection | null;
9615
+ on_user_turn_completed?: ToolSelection | null;
8901
9616
  /**
8902
9617
  * Output
8903
9618
  *
8904
- * The typed value this task produces. The model is given a `submit_result` tool built from these fields and told that calling it is how the run finishes.
9619
+ * The typed value this task produces. The model is given a `submit_result` tool built from these fields and told that calling it is how the run finishes. Publishing needs at least one; a draft may be empty.
8905
9620
  */
8906
- output: Array<TaskOutputField>;
9621
+ output?: Array<TaskOutputField>;
8907
9622
  /**
8908
9623
  * Prompt
8909
9624
  *
8910
- * The system prompt. `{{vars.name}}` is substituted from the values the run was started with, so one definition reads differently for every input it is given.
9625
+ * The system prompt. `{{vars.name}}` is substituted from the values the run was started with — or, entered by an agent, from the call's own values and the arguments the model supplied.
8911
9626
  */
8912
9627
  prompt?: string;
9628
+ /**
9629
+ * Submit Result Description
9630
+ *
9631
+ * Description of the generated `submit_result` tool - what the call is, where the output fields describe the values.
9632
+ */
9633
+ submit_result_description?: string;
8913
9634
  /**
8914
9635
  * Timeout Seconds
8915
9636
  *
8916
- * How long the whole run may take before it is abandoned and fails.
9637
+ * How long this may take before it is abandoned. Entered by an agent it is the only bound on how long the caller is held, so keep it short on a voice agent.
8917
9638
  */
8918
9639
  timeout_seconds?: number;
8919
9640
  /**
8920
9641
  * Timezone
8921
9642
  *
8922
- * The IANA timezone this task's clock runs on, e.g. 'Asia/Kolkata'. Required only if the prompt or a tool reads {{system_vars.now}} / .date / .time.
9643
+ * The IANA timezone this clock runs on, e.g. 'Asia/Kolkata'. Set it and the prompt and tools can read {{system_vars.now}}, {{system_vars.date}} and {{system_vars.time}}. Required only if one of those is used.
8923
9644
  */
8924
9645
  timezone?: string | null;
8925
9646
  /**
8926
9647
  * Tools
8927
9648
  *
8928
- * Tools the model may call during the run. A task never pins a tool version - republishing a tool changes every task that uses it, immediately.
9649
+ * Tools the model may call. Publishing pins each one to the tool version live at that moment, so republishing a tool does not change this until it is published again.
8929
9650
  */
8930
9651
  tools?: Array<ToolSelection>;
8931
9652
  /**
8932
9653
  * Vars
8933
9654
  *
8934
- * The inputs this task takes, read as {{vars.name}} in the prompt and in its tools. Whoever starts a run supplies the values; a variable the run omits falls back to its declared default, and a `required` one with neither is refused before the run starts.
9655
+ * The inputs this task takes, read as {{vars.name}} in the prompt and in its tools. Declare only what the caller or the model must supply: anything the task can read for itself ({{userdata.*}}, {{system_vars.*}}) it should read in its prompt instead.
8935
9656
  */
8936
9657
  vars?: Array<VarDeclaration>;
8937
9658
  };
@@ -8980,10 +9701,22 @@ export type TaskResponse = {
8980
9701
  */
8981
9702
  id: string;
8982
9703
  last_run: TaskRunSummary | null;
9704
+ /**
9705
+ * Published At
9706
+ */
9707
+ published_at: string | null;
9708
+ /**
9709
+ * Published Version
9710
+ */
9711
+ published_version: number | null;
8983
9712
  /**
8984
9713
  * Updated At
8985
9714
  */
8986
9715
  updated_at: string;
9716
+ /**
9717
+ * Versions
9718
+ */
9719
+ versions: Array<TaskVersionResponse> | null;
8987
9720
  };
8988
9721
  /**
8989
9722
  * TaskRunError
@@ -8996,7 +9729,7 @@ export type TaskRunError = {
8996
9729
  /**
8997
9730
  * Type
8998
9731
  */
8999
- type: 'missing_vars' | 'no_output' | 'step_limit' | 'timeout' | 'provider_error' | 'configuration' | 'platform';
9732
+ type: 'missing_vars' | 'no_output' | 'step_limit' | 'timeout' | 'provider_error' | 'configuration' | 'platform' | 'canceled';
9000
9733
  };
9001
9734
  /**
9002
9735
  * TaskRunResponse
@@ -9057,6 +9790,10 @@ export type TaskRunResponse = {
9057
9790
  * Task Name
9058
9791
  */
9059
9792
  task_name: string | null;
9793
+ /**
9794
+ * Task Version
9795
+ */
9796
+ task_version: number | null;
9060
9797
  /**
9061
9798
  * Trace
9062
9799
  */
@@ -9105,22 +9842,77 @@ export type TaskRunSummary = {
9105
9842
  status: 'running' | 'completed' | 'failed';
9106
9843
  };
9107
9844
  /**
9108
- * TaskWriteResponse
9845
+ * TaskSelection
9109
9846
  *
9110
- * What `create` and `update` return.
9847
+ * One job this agent can enter and come back from: name a stored task, or
9848
+ * define one inline.
9849
+ */
9850
+ export type TaskSelection = {
9851
+ /**
9852
+ * Description
9853
+ */
9854
+ description: string;
9855
+ /**
9856
+ * Message
9857
+ */
9858
+ message?: string | null;
9859
+ /**
9860
+ * Name
9861
+ */
9862
+ name: string;
9863
+ task?: TaskConfig | null;
9864
+ /**
9865
+ * Task Id
9866
+ */
9867
+ task_id?: string | null;
9868
+ /**
9869
+ * Task Version
9870
+ */
9871
+ task_version?: number | null;
9872
+ };
9873
+ /**
9874
+ * TaskVersionDetailResponse
9875
+ *
9876
+ * One frozen version, unpacked: the definition that ran, beside its metadata.
9877
+ *
9878
+ * `config` comes back through `TaskConfig` rather than as raw JSONB, so a
9879
+ * version and the draft are normalized by the same validator and a diff of the
9880
+ * two cannot report a difference a default invented.
9111
9881
  *
9112
- * `warnings` is the half of validation that must not become a 400 — a prompt
9113
- * that never mentions `submit_result`, a credential built out of `{{args.…}}`.
9114
- * There is no publish screen to show them on, so they come back beside the
9115
- * saved task; dropping them would lose the one signal that catches a task which
9116
- * saves cleanly and then fails every run.
9882
+ * It is the whole definition: the tool versions this publish pinned live in
9883
+ * `config.tools`, and their definitions in `tool_versions`.
9117
9884
  */
9118
- export type TaskWriteResponse = {
9119
- task: TaskResponse;
9885
+ export type TaskVersionDetailResponse = {
9886
+ config: TaskConfig;
9120
9887
  /**
9121
- * Warnings
9888
+ * Published At
9122
9889
  */
9123
- warnings: Array<string>;
9890
+ published_at: string;
9891
+ /**
9892
+ * Published By
9893
+ */
9894
+ published_by?: string | null;
9895
+ /**
9896
+ * Version
9897
+ */
9898
+ version: number;
9899
+ };
9900
+ /**
9901
+ * TaskVersionResponse
9902
+ */
9903
+ export type TaskVersionResponse = {
9904
+ /**
9905
+ * Published At
9906
+ */
9907
+ published_at: string;
9908
+ /**
9909
+ * Published By
9910
+ */
9911
+ published_by?: string | null;
9912
+ /**
9913
+ * Version
9914
+ */
9915
+ version: number;
9124
9916
  };
9125
9917
  /**
9126
9918
  * TelephonyAccountResponse
@@ -9394,13 +10186,45 @@ export type TextMessageResponse = {
9394
10186
  item: ConversationItemResponse;
9395
10187
  };
9396
10188
  /**
9397
- * TocResultResponse
10189
+ * TimeWindow
10190
+ *
10191
+ * The hours a list may run in, on the list's own clock.
10192
+ *
10193
+ * Shared rather than duplicated, for the same reason ``window_state`` is: a
10194
+ * call batch and an email send run store the same three values under the same
10195
+ * names and must not each get their own copy of the rules. The field that
10196
+ * carries one is named for what it gates — ``calling_window`` on a campaign,
10197
+ * ``window`` on an email batch and its runs.
10198
+ *
10199
+ * A window that crosses midnight (``21:00``-``06:00``) is valid and means
10200
+ * exactly what an evening consumer-calling window means: the day check applies
10201
+ * to the *start* side, so ``21:00``-``06:00`` on ``days: [5]`` runs Friday
10202
+ * 21:00 through Saturday 06:00.
9398
10203
  */
9399
- export type TocResultResponse = {
10204
+ export type TimeWindow = {
9400
10205
  /**
9401
- * Ok
9402
- */
9403
- ok?: boolean;
10206
+ * Days
10207
+ *
10208
+ * ISO weekdays the window opens on, 1 = Monday.
10209
+ */
10210
+ days?: Array<number>;
10211
+ /**
10212
+ * End
10213
+ */
10214
+ end: string;
10215
+ /**
10216
+ * Start
10217
+ */
10218
+ start: string;
10219
+ };
10220
+ /**
10221
+ * TocResultResponse
10222
+ */
10223
+ export type TocResultResponse = {
10224
+ /**
10225
+ * Ok
10226
+ */
10227
+ ok?: boolean;
9404
10228
  /**
9405
10229
  * Pages
9406
10230
  */
@@ -9498,7 +10322,7 @@ export type ToolResponse = {
9498
10322
  /**
9499
10323
  * Operations
9500
10324
  */
9501
- operations: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation>;
10325
+ operations: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation>;
9502
10326
  /**
9503
10327
  * Published At
9504
10328
  */
@@ -9574,7 +10398,7 @@ export type ToolVersionDetailResponse = {
9574
10398
  /**
9575
10399
  * Operations
9576
10400
  */
9577
- operations: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation>;
10401
+ operations: Array<HttpOperation | CodeOperation | FrontendRpcOperation | IfOperation | SetVariableOperation | SayOperation | GenerateReplyOperation | AddMessageOperation | EndCallOperation | HandoffOperation | TransferOperation | SendDtmfOperation>;
9578
10402
  /**
9579
10403
  * Published At
9580
10404
  */
@@ -10987,7 +11811,7 @@ export type CallsListData = {
10987
11811
  *
10988
11812
  * how the call reached the agent
10989
11813
  */
10990
- type?: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND' | null;
11814
+ type?: 'WEB' | 'SIP_INBOUND' | 'SIP_OUTBOUND' | 'STREAM' | null;
10991
11815
  /**
10992
11816
  * Status
10993
11817
  *
@@ -11973,6 +12797,47 @@ export type CatalogAvatarsListResults = {
11973
12797
  200: AvatarsResponse;
11974
12798
  };
11975
12799
  export type CatalogAvatarsListResult = CatalogAvatarsListResults[keyof CatalogAvatarsListResults];
12800
+ export type CatalogModelsSearchData = {
12801
+ body?: never;
12802
+ path?: never;
12803
+ query?: {
12804
+ /**
12805
+ * Q
12806
+ */
12807
+ q?: string;
12808
+ /**
12809
+ * Limit
12810
+ */
12811
+ limit?: number;
12812
+ /**
12813
+ * Cursor
12814
+ */
12815
+ cursor?: string;
12816
+ };
12817
+ url: '/v1/catalog/models';
12818
+ };
12819
+ export type CatalogModelsSearchErrors = {
12820
+ /**
12821
+ * Missing credential, or one that is revoked or no longer a member of this organization.
12822
+ */
12823
+ 401: ErrorResponse;
12824
+ /**
12825
+ * The request did not match this operation's schema; `detail.errors` lists each field.
12826
+ */
12827
+ 422: ErrorResponse;
12828
+ /**
12829
+ * Unexpected error. Every error this API returns carries this body.
12830
+ */
12831
+ default: ErrorResponse;
12832
+ };
12833
+ export type CatalogModelsSearchError = CatalogModelsSearchErrors[keyof CatalogModelsSearchErrors];
12834
+ export type CatalogModelsSearchResults = {
12835
+ /**
12836
+ * Successful Response
12837
+ */
12838
+ 200: ModelSearchResponse;
12839
+ };
12840
+ export type CatalogModelsSearchResult = CatalogModelsSearchResults[keyof CatalogModelsSearchResults];
11976
12841
  export type CatalogVoicesListData = {
11977
12842
  body?: never;
11978
12843
  path?: never;
@@ -13254,8 +14119,8 @@ export type EmailBatchesRecipientsUpdateResults = {
13254
14119
  200: EmailRecipientResponse;
13255
14120
  };
13256
14121
  export type EmailBatchesRecipientsUpdateResult = EmailBatchesRecipientsUpdateResults[keyof EmailBatchesRecipientsUpdateResults];
13257
- export type EmailBatchesRecipientsRestoreData = {
13258
- body: SelectRecipientsRequest;
14122
+ export type EmailBatchesRecipientsRedraftData = {
14123
+ body: RedraftRequest;
13259
14124
  path: {
13260
14125
  /**
13261
14126
  * Batch Id
@@ -13263,9 +14128,9 @@ export type EmailBatchesRecipientsRestoreData = {
13263
14128
  batch_id: string;
13264
14129
  };
13265
14130
  query?: never;
13266
- url: '/v1/email/batches/{batch_id}/restore';
14131
+ url: '/v1/email/batches/{batch_id}/redraft';
13267
14132
  };
13268
- export type EmailBatchesRecipientsRestoreErrors = {
14133
+ export type EmailBatchesRecipientsRedraftErrors = {
13269
14134
  /**
13270
14135
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13271
14136
  */
@@ -13295,16 +14160,16 @@ export type EmailBatchesRecipientsRestoreErrors = {
13295
14160
  */
13296
14161
  default: ErrorResponse;
13297
14162
  };
13298
- export type EmailBatchesRecipientsRestoreError = EmailBatchesRecipientsRestoreErrors[keyof EmailBatchesRecipientsRestoreErrors];
13299
- export type EmailBatchesRecipientsRestoreResults = {
14163
+ export type EmailBatchesRecipientsRedraftError = EmailBatchesRecipientsRedraftErrors[keyof EmailBatchesRecipientsRedraftErrors];
14164
+ export type EmailBatchesRecipientsRedraftResults = {
13300
14165
  /**
13301
14166
  * Successful Response
13302
14167
  */
13303
14168
  200: RecipientActionResponse;
13304
14169
  };
13305
- export type EmailBatchesRecipientsRestoreResult = EmailBatchesRecipientsRestoreResults[keyof EmailBatchesRecipientsRestoreResults];
13306
- export type EmailBatchesResumeData = {
13307
- body?: never;
14170
+ export type EmailBatchesRecipientsRedraftResult = EmailBatchesRecipientsRedraftResults[keyof EmailBatchesRecipientsRedraftResults];
14171
+ export type EmailBatchesRecipientsRestoreData = {
14172
+ body: SelectRecipientsRequest;
13308
14173
  path: {
13309
14174
  /**
13310
14175
  * Batch Id
@@ -13312,9 +14177,9 @@ export type EmailBatchesResumeData = {
13312
14177
  batch_id: string;
13313
14178
  };
13314
14179
  query?: never;
13315
- url: '/v1/email/batches/{batch_id}/resume';
14180
+ url: '/v1/email/batches/{batch_id}/restore';
13316
14181
  };
13317
- export type EmailBatchesResumeErrors = {
14182
+ export type EmailBatchesRecipientsRestoreErrors = {
13318
14183
  /**
13319
14184
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13320
14185
  */
@@ -13344,16 +14209,16 @@ export type EmailBatchesResumeErrors = {
13344
14209
  */
13345
14210
  default: ErrorResponse;
13346
14211
  };
13347
- export type EmailBatchesResumeError = EmailBatchesResumeErrors[keyof EmailBatchesResumeErrors];
13348
- export type EmailBatchesResumeResults = {
14212
+ export type EmailBatchesRecipientsRestoreError = EmailBatchesRecipientsRestoreErrors[keyof EmailBatchesRecipientsRestoreErrors];
14213
+ export type EmailBatchesRecipientsRestoreResults = {
13349
14214
  /**
13350
14215
  * Successful Response
13351
14216
  */
13352
- 200: EmailBatchResponse;
14217
+ 200: RecipientActionResponse;
13353
14218
  };
13354
- export type EmailBatchesResumeResult = EmailBatchesResumeResults[keyof EmailBatchesResumeResults];
13355
- export type EmailBatchesRecipientsRetryData = {
13356
- body: SelectRecipientsRequest;
14219
+ export type EmailBatchesRecipientsRestoreResult = EmailBatchesRecipientsRestoreResults[keyof EmailBatchesRecipientsRestoreResults];
14220
+ export type EmailBatchesResumeData = {
14221
+ body?: never;
13357
14222
  path: {
13358
14223
  /**
13359
14224
  * Batch Id
@@ -13361,9 +14226,9 @@ export type EmailBatchesRecipientsRetryData = {
13361
14226
  batch_id: string;
13362
14227
  };
13363
14228
  query?: never;
13364
- url: '/v1/email/batches/{batch_id}/retry';
14229
+ url: '/v1/email/batches/{batch_id}/resume';
13365
14230
  };
13366
- export type EmailBatchesRecipientsRetryErrors = {
14231
+ export type EmailBatchesResumeErrors = {
13367
14232
  /**
13368
14233
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13369
14234
  */
@@ -13393,46 +14258,43 @@ export type EmailBatchesRecipientsRetryErrors = {
13393
14258
  */
13394
14259
  default: ErrorResponse;
13395
14260
  };
13396
- export type EmailBatchesRecipientsRetryError = EmailBatchesRecipientsRetryErrors[keyof EmailBatchesRecipientsRetryErrors];
13397
- export type EmailBatchesRecipientsRetryResults = {
14261
+ export type EmailBatchesResumeError = EmailBatchesResumeErrors[keyof EmailBatchesResumeErrors];
14262
+ export type EmailBatchesResumeResults = {
13398
14263
  /**
13399
14264
  * Successful Response
13400
14265
  */
13401
- 200: RecipientActionResponse;
14266
+ 200: EmailBatchResponse;
13402
14267
  };
13403
- export type EmailBatchesRecipientsRetryResult = EmailBatchesRecipientsRetryResults[keyof EmailBatchesRecipientsRetryResults];
13404
- export type EmailBatchesRecipientsSendData = {
13405
- body: SendEmailBatchRequest;
14268
+ export type EmailBatchesResumeResult = EmailBatchesResumeResults[keyof EmailBatchesResumeResults];
14269
+ export type EmailBatchesSendsListData = {
14270
+ body?: never;
13406
14271
  path: {
13407
14272
  /**
13408
14273
  * Batch Id
13409
14274
  */
13410
14275
  batch_id: string;
13411
14276
  };
13412
- query?: never;
13413
- url: '/v1/email/batches/{batch_id}/send';
14277
+ query?: {
14278
+ /**
14279
+ * Limit
14280
+ */
14281
+ limit?: number;
14282
+ /**
14283
+ * Offset
14284
+ */
14285
+ offset?: number;
14286
+ };
14287
+ url: '/v1/email/batches/{batch_id}/sends';
13414
14288
  };
13415
- export type EmailBatchesRecipientsSendErrors = {
13416
- /**
13417
- * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13418
- */
13419
- 400: ErrorResponse;
14289
+ export type EmailBatchesSendsListErrors = {
13420
14290
  /**
13421
14291
  * Missing credential, or one that is revoked or no longer a member of this organization.
13422
14292
  */
13423
14293
  401: ErrorResponse;
13424
- /**
13425
- * Authenticated, but this organization role may not perform the operation.
13426
- */
13427
- 403: ErrorResponse;
13428
14294
  /**
13429
14295
  * No such resource in this organization.
13430
14296
  */
13431
14297
  404: ErrorResponse;
13432
- /**
13433
- * The resource's current state forbids this — a name already taken, a job already running.
13434
- */
13435
- 409: ErrorResponse;
13436
14298
  /**
13437
14299
  * The request did not match this operation's schema; `detail.errors` lists each field.
13438
14300
  */
@@ -13442,16 +14304,16 @@ export type EmailBatchesRecipientsSendErrors = {
13442
14304
  */
13443
14305
  default: ErrorResponse;
13444
14306
  };
13445
- export type EmailBatchesRecipientsSendError = EmailBatchesRecipientsSendErrors[keyof EmailBatchesRecipientsSendErrors];
13446
- export type EmailBatchesRecipientsSendResults = {
14307
+ export type EmailBatchesSendsListError = EmailBatchesSendsListErrors[keyof EmailBatchesSendsListErrors];
14308
+ export type EmailBatchesSendsListResults = {
13447
14309
  /**
13448
14310
  * Successful Response
13449
14311
  */
13450
- 200: RecipientActionResponse;
14312
+ 200: PageEmailSendResponse;
13451
14313
  };
13452
- export type EmailBatchesRecipientsSendResult = EmailBatchesRecipientsSendResults[keyof EmailBatchesRecipientsSendResults];
13453
- export type EmailBatchesRecipientsSkipData = {
13454
- body: SelectRecipientsRequest;
14314
+ export type EmailBatchesSendsListResult = EmailBatchesSendsListResults[keyof EmailBatchesSendsListResults];
14315
+ export type EmailBatchesSendsCreateData = {
14316
+ body: CreateEmailSendRequest;
13455
14317
  path: {
13456
14318
  /**
13457
14319
  * Batch Id
@@ -13459,9 +14321,9 @@ export type EmailBatchesRecipientsSkipData = {
13459
14321
  batch_id: string;
13460
14322
  };
13461
14323
  query?: never;
13462
- url: '/v1/email/batches/{batch_id}/skip';
14324
+ url: '/v1/email/batches/{batch_id}/sends';
13463
14325
  };
13464
- export type EmailBatchesRecipientsSkipErrors = {
14326
+ export type EmailBatchesSendsCreateErrors = {
13465
14327
  /**
13466
14328
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13467
14329
  */
@@ -13491,32 +14353,38 @@ export type EmailBatchesRecipientsSkipErrors = {
13491
14353
  */
13492
14354
  default: ErrorResponse;
13493
14355
  };
13494
- export type EmailBatchesRecipientsSkipError = EmailBatchesRecipientsSkipErrors[keyof EmailBatchesRecipientsSkipErrors];
13495
- export type EmailBatchesRecipientsSkipResults = {
14356
+ export type EmailBatchesSendsCreateError = EmailBatchesSendsCreateErrors[keyof EmailBatchesSendsCreateErrors];
14357
+ export type EmailBatchesSendsCreateResults = {
13496
14358
  /**
13497
14359
  * Successful Response
13498
14360
  */
13499
- 200: RecipientActionResponse;
14361
+ 201: CreateEmailSendResponse;
13500
14362
  };
13501
- export type EmailBatchesRecipientsSkipResult = EmailBatchesRecipientsSkipResults[keyof EmailBatchesRecipientsSkipResults];
13502
- export type EmailSendersListData = {
14363
+ export type EmailBatchesSendsCreateResult = EmailBatchesSendsCreateResults[keyof EmailBatchesSendsCreateResults];
14364
+ export type EmailBatchesSendsGetData = {
13503
14365
  body?: never;
13504
- path?: never;
13505
- query: {
14366
+ path: {
13506
14367
  /**
13507
- * Integration Id
13508
- *
13509
- * A connected Resend account.
14368
+ * Batch Id
13510
14369
  */
13511
- integration_id: string;
14370
+ batch_id: string;
14371
+ /**
14372
+ * Send Id
14373
+ */
14374
+ send_id: string;
13512
14375
  };
13513
- url: '/v1/email/senders';
14376
+ query?: never;
14377
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}';
13514
14378
  };
13515
- export type EmailSendersListErrors = {
14379
+ export type EmailBatchesSendsGetErrors = {
13516
14380
  /**
13517
14381
  * Missing credential, or one that is revoked or no longer a member of this organization.
13518
14382
  */
13519
14383
  401: ErrorResponse;
14384
+ /**
14385
+ * No such resource in this organization.
14386
+ */
14387
+ 404: ErrorResponse;
13520
14388
  /**
13521
14389
  * The request did not match this operation's schema; `detail.errors` lists each field.
13522
14390
  */
@@ -13526,34 +14394,50 @@ export type EmailSendersListErrors = {
13526
14394
  */
13527
14395
  default: ErrorResponse;
13528
14396
  };
13529
- export type EmailSendersListError = EmailSendersListErrors[keyof EmailSendersListErrors];
13530
- export type EmailSendersListResults = {
14397
+ export type EmailBatchesSendsGetError = EmailBatchesSendsGetErrors[keyof EmailBatchesSendsGetErrors];
14398
+ export type EmailBatchesSendsGetResults = {
13531
14399
  /**
13532
14400
  * Successful Response
13533
14401
  */
13534
- 200: VerifiedSendersResponse;
14402
+ 200: EmailSendResponse;
13535
14403
  };
13536
- export type EmailSendersListResult = EmailSendersListResults[keyof EmailSendersListResults];
13537
- export type IntegrationsListData = {
13538
- body?: never;
13539
- path?: never;
13540
- query?: {
14404
+ export type EmailBatchesSendsGetResult = EmailBatchesSendsGetResults[keyof EmailBatchesSendsGetResults];
14405
+ export type EmailBatchesSendsUpdateData = {
14406
+ body: PatchEmailSendRequest;
14407
+ path: {
13541
14408
  /**
13542
- * Limit
14409
+ * Batch Id
13543
14410
  */
13544
- limit?: number;
14411
+ batch_id: string;
13545
14412
  /**
13546
- * Offset
14413
+ * Send Id
13547
14414
  */
13548
- offset?: number;
14415
+ send_id: string;
13549
14416
  };
13550
- url: '/v1/integrations';
14417
+ query?: never;
14418
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}';
13551
14419
  };
13552
- export type IntegrationsListErrors = {
14420
+ export type EmailBatchesSendsUpdateErrors = {
14421
+ /**
14422
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
14423
+ */
14424
+ 400: ErrorResponse;
13553
14425
  /**
13554
14426
  * Missing credential, or one that is revoked or no longer a member of this organization.
13555
14427
  */
13556
14428
  401: ErrorResponse;
14429
+ /**
14430
+ * Authenticated, but this organization role may not perform the operation.
14431
+ */
14432
+ 403: ErrorResponse;
14433
+ /**
14434
+ * No such resource in this organization.
14435
+ */
14436
+ 404: ErrorResponse;
14437
+ /**
14438
+ * The resource's current state forbids this — a name already taken, a job already running.
14439
+ */
14440
+ 409: ErrorResponse;
13557
14441
  /**
13558
14442
  * The request did not match this operation's schema; `detail.errors` lists each field.
13559
14443
  */
@@ -13563,21 +14447,30 @@ export type IntegrationsListErrors = {
13563
14447
  */
13564
14448
  default: ErrorResponse;
13565
14449
  };
13566
- export type IntegrationsListError = IntegrationsListErrors[keyof IntegrationsListErrors];
13567
- export type IntegrationsListResults = {
14450
+ export type EmailBatchesSendsUpdateError = EmailBatchesSendsUpdateErrors[keyof EmailBatchesSendsUpdateErrors];
14451
+ export type EmailBatchesSendsUpdateResults = {
13568
14452
  /**
13569
14453
  * Successful Response
13570
14454
  */
13571
- 200: PageIntegrationResponse;
14455
+ 200: EmailSendResponse;
13572
14456
  };
13573
- export type IntegrationsListResult = IntegrationsListResults[keyof IntegrationsListResults];
13574
- export type IntegrationsCreateData = {
13575
- body: CreateIntegrationRequest;
13576
- path?: never;
14457
+ export type EmailBatchesSendsUpdateResult = EmailBatchesSendsUpdateResults[keyof EmailBatchesSendsUpdateResults];
14458
+ export type EmailBatchesSendsCancelData = {
14459
+ body?: never;
14460
+ path: {
14461
+ /**
14462
+ * Batch Id
14463
+ */
14464
+ batch_id: string;
14465
+ /**
14466
+ * Send Id
14467
+ */
14468
+ send_id: string;
14469
+ };
13577
14470
  query?: never;
13578
- url: '/v1/integrations';
14471
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/cancel';
13579
14472
  };
13580
- export type IntegrationsCreateErrors = {
14473
+ export type EmailBatchesSendsCancelErrors = {
13581
14474
  /**
13582
14475
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13583
14476
  */
@@ -13590,6 +14483,10 @@ export type IntegrationsCreateErrors = {
13590
14483
  * Authenticated, but this organization role may not perform the operation.
13591
14484
  */
13592
14485
  403: ErrorResponse;
14486
+ /**
14487
+ * No such resource in this organization.
14488
+ */
14489
+ 404: ErrorResponse;
13593
14490
  /**
13594
14491
  * The resource's current state forbids this — a name already taken, a job already running.
13595
14492
  */
@@ -13603,34 +14500,50 @@ export type IntegrationsCreateErrors = {
13603
14500
  */
13604
14501
  default: ErrorResponse;
13605
14502
  };
13606
- export type IntegrationsCreateError = IntegrationsCreateErrors[keyof IntegrationsCreateErrors];
13607
- export type IntegrationsCreateResults = {
14503
+ export type EmailBatchesSendsCancelError = EmailBatchesSendsCancelErrors[keyof EmailBatchesSendsCancelErrors];
14504
+ export type EmailBatchesSendsCancelResults = {
13608
14505
  /**
13609
14506
  * Successful Response
13610
14507
  */
13611
- 201: IntegrationResponse;
14508
+ 200: EmailSendResponse;
13612
14509
  };
13613
- export type IntegrationsCreateResult = IntegrationsCreateResults[keyof IntegrationsCreateResults];
13614
- export type IntegrationsCatalogData = {
14510
+ export type EmailBatchesSendsCancelResult = EmailBatchesSendsCancelResults[keyof EmailBatchesSendsCancelResults];
14511
+ export type EmailBatchesSendsPauseData = {
13615
14512
  body?: never;
13616
- path?: never;
13617
- query?: {
14513
+ path: {
13618
14514
  /**
13619
- * Limit
14515
+ * Batch Id
13620
14516
  */
13621
- limit?: number;
14517
+ batch_id: string;
13622
14518
  /**
13623
- * Offset
14519
+ * Send Id
13624
14520
  */
13625
- offset?: number;
14521
+ send_id: string;
13626
14522
  };
13627
- url: '/v1/integrations/catalog';
14523
+ query?: never;
14524
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/pause';
13628
14525
  };
13629
- export type IntegrationsCatalogErrors = {
14526
+ export type EmailBatchesSendsPauseErrors = {
14527
+ /**
14528
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
14529
+ */
14530
+ 400: ErrorResponse;
13630
14531
  /**
13631
14532
  * Missing credential, or one that is revoked or no longer a member of this organization.
13632
14533
  */
13633
14534
  401: ErrorResponse;
14535
+ /**
14536
+ * Authenticated, but this organization role may not perform the operation.
14537
+ */
14538
+ 403: ErrorResponse;
14539
+ /**
14540
+ * No such resource in this organization.
14541
+ */
14542
+ 404: ErrorResponse;
14543
+ /**
14544
+ * The resource's current state forbids this — a name already taken, a job already running.
14545
+ */
14546
+ 409: ErrorResponse;
13634
14547
  /**
13635
14548
  * The request did not match this operation's schema; `detail.errors` lists each field.
13636
14549
  */
@@ -13640,26 +14553,30 @@ export type IntegrationsCatalogErrors = {
13640
14553
  */
13641
14554
  default: ErrorResponse;
13642
14555
  };
13643
- export type IntegrationsCatalogError = IntegrationsCatalogErrors[keyof IntegrationsCatalogErrors];
13644
- export type IntegrationsCatalogResults = {
14556
+ export type EmailBatchesSendsPauseError = EmailBatchesSendsPauseErrors[keyof EmailBatchesSendsPauseErrors];
14557
+ export type EmailBatchesSendsPauseResults = {
13645
14558
  /**
13646
14559
  * Successful Response
13647
14560
  */
13648
- 200: PageIntegrationCatalogItem;
14561
+ 200: EmailSendResponse;
13649
14562
  };
13650
- export type IntegrationsCatalogResult = IntegrationsCatalogResults[keyof IntegrationsCatalogResults];
13651
- export type IntegrationsDeleteData = {
14563
+ export type EmailBatchesSendsPauseResult = EmailBatchesSendsPauseResults[keyof EmailBatchesSendsPauseResults];
14564
+ export type EmailBatchesSendsResumeData = {
13652
14565
  body?: never;
13653
14566
  path: {
13654
14567
  /**
13655
- * Integration Id
14568
+ * Batch Id
13656
14569
  */
13657
- integration_id: string;
14570
+ batch_id: string;
14571
+ /**
14572
+ * Send Id
14573
+ */
14574
+ send_id: string;
13658
14575
  };
13659
14576
  query?: never;
13660
- url: '/v1/integrations/{integration_id}';
14577
+ url: '/v1/email/batches/{batch_id}/sends/{send_id}/resume';
13661
14578
  };
13662
- export type IntegrationsDeleteErrors = {
14579
+ export type EmailBatchesSendsResumeErrors = {
13663
14580
  /**
13664
14581
  * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
13665
14582
  */
@@ -13689,28 +14606,275 @@ export type IntegrationsDeleteErrors = {
13689
14606
  */
13690
14607
  default: ErrorResponse;
13691
14608
  };
13692
- export type IntegrationsDeleteError = IntegrationsDeleteErrors[keyof IntegrationsDeleteErrors];
13693
- export type IntegrationsDeleteResults = {
14609
+ export type EmailBatchesSendsResumeError = EmailBatchesSendsResumeErrors[keyof EmailBatchesSendsResumeErrors];
14610
+ export type EmailBatchesSendsResumeResults = {
13694
14611
  /**
13695
14612
  * Successful Response
13696
14613
  */
13697
- 200: OkResponse;
14614
+ 200: EmailSendResponse;
13698
14615
  };
13699
- export type IntegrationsDeleteResult = IntegrationsDeleteResults[keyof IntegrationsDeleteResults];
13700
- export type IntegrationsGetData = {
13701
- body?: never;
14616
+ export type EmailBatchesSendsResumeResult = EmailBatchesSendsResumeResults[keyof EmailBatchesSendsResumeResults];
14617
+ export type EmailBatchesRecipientsSkipData = {
14618
+ body: SelectRecipientsRequest;
13702
14619
  path: {
13703
14620
  /**
13704
- * Integration Id
14621
+ * Batch Id
13705
14622
  */
13706
- integration_id: string;
14623
+ batch_id: string;
13707
14624
  };
13708
14625
  query?: never;
13709
- url: '/v1/integrations/{integration_id}';
14626
+ url: '/v1/email/batches/{batch_id}/skip';
13710
14627
  };
13711
- export type IntegrationsGetErrors = {
14628
+ export type EmailBatchesRecipientsSkipErrors = {
13712
14629
  /**
13713
- * Missing credential, or one that is revoked or no longer a member of this organization.
14630
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
14631
+ */
14632
+ 400: ErrorResponse;
14633
+ /**
14634
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14635
+ */
14636
+ 401: ErrorResponse;
14637
+ /**
14638
+ * Authenticated, but this organization role may not perform the operation.
14639
+ */
14640
+ 403: ErrorResponse;
14641
+ /**
14642
+ * No such resource in this organization.
14643
+ */
14644
+ 404: ErrorResponse;
14645
+ /**
14646
+ * The resource's current state forbids this — a name already taken, a job already running.
14647
+ */
14648
+ 409: ErrorResponse;
14649
+ /**
14650
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14651
+ */
14652
+ 422: ErrorResponse;
14653
+ /**
14654
+ * Unexpected error. Every error this API returns carries this body.
14655
+ */
14656
+ default: ErrorResponse;
14657
+ };
14658
+ export type EmailBatchesRecipientsSkipError = EmailBatchesRecipientsSkipErrors[keyof EmailBatchesRecipientsSkipErrors];
14659
+ export type EmailBatchesRecipientsSkipResults = {
14660
+ /**
14661
+ * Successful Response
14662
+ */
14663
+ 200: RecipientActionResponse;
14664
+ };
14665
+ export type EmailBatchesRecipientsSkipResult = EmailBatchesRecipientsSkipResults[keyof EmailBatchesRecipientsSkipResults];
14666
+ export type EmailSendersListData = {
14667
+ body?: never;
14668
+ path?: never;
14669
+ query: {
14670
+ /**
14671
+ * Integration Id
14672
+ *
14673
+ * A connected Resend account.
14674
+ */
14675
+ integration_id: string;
14676
+ };
14677
+ url: '/v1/email/senders';
14678
+ };
14679
+ export type EmailSendersListErrors = {
14680
+ /**
14681
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14682
+ */
14683
+ 401: ErrorResponse;
14684
+ /**
14685
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14686
+ */
14687
+ 422: ErrorResponse;
14688
+ /**
14689
+ * Unexpected error. Every error this API returns carries this body.
14690
+ */
14691
+ default: ErrorResponse;
14692
+ };
14693
+ export type EmailSendersListError = EmailSendersListErrors[keyof EmailSendersListErrors];
14694
+ export type EmailSendersListResults = {
14695
+ /**
14696
+ * Successful Response
14697
+ */
14698
+ 200: VerifiedSendersResponse;
14699
+ };
14700
+ export type EmailSendersListResult = EmailSendersListResults[keyof EmailSendersListResults];
14701
+ export type IntegrationsListData = {
14702
+ body?: never;
14703
+ path?: never;
14704
+ query?: {
14705
+ /**
14706
+ * Limit
14707
+ */
14708
+ limit?: number;
14709
+ /**
14710
+ * Offset
14711
+ */
14712
+ offset?: number;
14713
+ };
14714
+ url: '/v1/integrations';
14715
+ };
14716
+ export type IntegrationsListErrors = {
14717
+ /**
14718
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14719
+ */
14720
+ 401: ErrorResponse;
14721
+ /**
14722
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14723
+ */
14724
+ 422: ErrorResponse;
14725
+ /**
14726
+ * Unexpected error. Every error this API returns carries this body.
14727
+ */
14728
+ default: ErrorResponse;
14729
+ };
14730
+ export type IntegrationsListError = IntegrationsListErrors[keyof IntegrationsListErrors];
14731
+ export type IntegrationsListResults = {
14732
+ /**
14733
+ * Successful Response
14734
+ */
14735
+ 200: PageIntegrationResponse;
14736
+ };
14737
+ export type IntegrationsListResult = IntegrationsListResults[keyof IntegrationsListResults];
14738
+ export type IntegrationsCreateData = {
14739
+ body: CreateIntegrationRequest;
14740
+ path?: never;
14741
+ query?: never;
14742
+ url: '/v1/integrations';
14743
+ };
14744
+ export type IntegrationsCreateErrors = {
14745
+ /**
14746
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
14747
+ */
14748
+ 400: ErrorResponse;
14749
+ /**
14750
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14751
+ */
14752
+ 401: ErrorResponse;
14753
+ /**
14754
+ * Authenticated, but this organization role may not perform the operation.
14755
+ */
14756
+ 403: ErrorResponse;
14757
+ /**
14758
+ * The resource's current state forbids this — a name already taken, a job already running.
14759
+ */
14760
+ 409: ErrorResponse;
14761
+ /**
14762
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14763
+ */
14764
+ 422: ErrorResponse;
14765
+ /**
14766
+ * Unexpected error. Every error this API returns carries this body.
14767
+ */
14768
+ default: ErrorResponse;
14769
+ };
14770
+ export type IntegrationsCreateError = IntegrationsCreateErrors[keyof IntegrationsCreateErrors];
14771
+ export type IntegrationsCreateResults = {
14772
+ /**
14773
+ * Successful Response
14774
+ */
14775
+ 201: IntegrationResponse;
14776
+ };
14777
+ export type IntegrationsCreateResult = IntegrationsCreateResults[keyof IntegrationsCreateResults];
14778
+ export type IntegrationsCatalogData = {
14779
+ body?: never;
14780
+ path?: never;
14781
+ query?: {
14782
+ /**
14783
+ * Limit
14784
+ */
14785
+ limit?: number;
14786
+ /**
14787
+ * Offset
14788
+ */
14789
+ offset?: number;
14790
+ };
14791
+ url: '/v1/integrations/catalog';
14792
+ };
14793
+ export type IntegrationsCatalogErrors = {
14794
+ /**
14795
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14796
+ */
14797
+ 401: ErrorResponse;
14798
+ /**
14799
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14800
+ */
14801
+ 422: ErrorResponse;
14802
+ /**
14803
+ * Unexpected error. Every error this API returns carries this body.
14804
+ */
14805
+ default: ErrorResponse;
14806
+ };
14807
+ export type IntegrationsCatalogError = IntegrationsCatalogErrors[keyof IntegrationsCatalogErrors];
14808
+ export type IntegrationsCatalogResults = {
14809
+ /**
14810
+ * Successful Response
14811
+ */
14812
+ 200: PageIntegrationCatalogItem;
14813
+ };
14814
+ export type IntegrationsCatalogResult = IntegrationsCatalogResults[keyof IntegrationsCatalogResults];
14815
+ export type IntegrationsDeleteData = {
14816
+ body?: never;
14817
+ path: {
14818
+ /**
14819
+ * Integration Id
14820
+ */
14821
+ integration_id: string;
14822
+ };
14823
+ query?: never;
14824
+ url: '/v1/integrations/{integration_id}';
14825
+ };
14826
+ export type IntegrationsDeleteErrors = {
14827
+ /**
14828
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
14829
+ */
14830
+ 400: ErrorResponse;
14831
+ /**
14832
+ * Missing credential, or one that is revoked or no longer a member of this organization.
14833
+ */
14834
+ 401: ErrorResponse;
14835
+ /**
14836
+ * Authenticated, but this organization role may not perform the operation.
14837
+ */
14838
+ 403: ErrorResponse;
14839
+ /**
14840
+ * No such resource in this organization.
14841
+ */
14842
+ 404: ErrorResponse;
14843
+ /**
14844
+ * The resource's current state forbids this — a name already taken, a job already running.
14845
+ */
14846
+ 409: ErrorResponse;
14847
+ /**
14848
+ * The request did not match this operation's schema; `detail.errors` lists each field.
14849
+ */
14850
+ 422: ErrorResponse;
14851
+ /**
14852
+ * Unexpected error. Every error this API returns carries this body.
14853
+ */
14854
+ default: ErrorResponse;
14855
+ };
14856
+ export type IntegrationsDeleteError = IntegrationsDeleteErrors[keyof IntegrationsDeleteErrors];
14857
+ export type IntegrationsDeleteResults = {
14858
+ /**
14859
+ * Successful Response
14860
+ */
14861
+ 200: OkResponse;
14862
+ };
14863
+ export type IntegrationsDeleteResult = IntegrationsDeleteResults[keyof IntegrationsDeleteResults];
14864
+ export type IntegrationsGetData = {
14865
+ body?: never;
14866
+ path: {
14867
+ /**
14868
+ * Integration Id
14869
+ */
14870
+ integration_id: string;
14871
+ };
14872
+ query?: never;
14873
+ url: '/v1/integrations/{integration_id}';
14874
+ };
14875
+ export type IntegrationsGetErrors = {
14876
+ /**
14877
+ * Missing credential, or one that is revoked or no longer a member of this organization.
13714
14878
  */
13715
14879
  401: ErrorResponse;
13716
14880
  /**
@@ -14806,7 +15970,7 @@ export type SecretsDeleteResults = {
14806
15970
  200: OkResponse;
14807
15971
  };
14808
15972
  export type SecretsDeleteResult = SecretsDeleteResults[keyof SecretsDeleteResults];
14809
- export type TasksListData = {
15973
+ export type TelephonyStreamsListData = {
14810
15974
  body?: never;
14811
15975
  path?: never;
14812
15976
  query?: {
@@ -14819,9 +15983,9 @@ export type TasksListData = {
14819
15983
  */
14820
15984
  offset?: number;
14821
15985
  };
14822
- url: '/v1/tasks';
15986
+ url: '/v1/streams';
14823
15987
  };
14824
- export type TasksListErrors = {
15988
+ export type TelephonyStreamsListErrors = {
14825
15989
  /**
14826
15990
  * Missing credential, or one that is revoked or no longer a member of this organization.
14827
15991
  */
@@ -14835,15 +15999,227 @@ export type TasksListErrors = {
14835
15999
  */
14836
16000
  default: ErrorResponse;
14837
16001
  };
14838
- export type TasksListError = TasksListErrors[keyof TasksListErrors];
14839
- export type TasksListResults = {
16002
+ export type TelephonyStreamsListError = TelephonyStreamsListErrors[keyof TelephonyStreamsListErrors];
16003
+ export type TelephonyStreamsListResults = {
14840
16004
  /**
14841
16005
  * Successful Response
14842
16006
  */
14843
- 200: PageTaskResponse;
16007
+ 200: PageStreamConnectionResponse;
14844
16008
  };
14845
- export type TasksListResult = TasksListResults[keyof TasksListResults];
14846
- export type TasksCreateData = {
16009
+ export type TelephonyStreamsListResult = TelephonyStreamsListResults[keyof TelephonyStreamsListResults];
16010
+ export type TelephonyStreamsCreateData = {
16011
+ body: CreateStreamConnectionRequest;
16012
+ path?: never;
16013
+ query?: never;
16014
+ url: '/v1/streams';
16015
+ };
16016
+ export type TelephonyStreamsCreateErrors = {
16017
+ /**
16018
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16019
+ */
16020
+ 400: ErrorResponse;
16021
+ /**
16022
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16023
+ */
16024
+ 401: ErrorResponse;
16025
+ /**
16026
+ * Authenticated, but this organization role may not perform the operation.
16027
+ */
16028
+ 403: ErrorResponse;
16029
+ /**
16030
+ * The resource's current state forbids this — a name already taken, a job already running.
16031
+ */
16032
+ 409: ErrorResponse;
16033
+ /**
16034
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16035
+ */
16036
+ 422: ErrorResponse;
16037
+ /**
16038
+ * Unexpected error. Every error this API returns carries this body.
16039
+ */
16040
+ default: ErrorResponse;
16041
+ };
16042
+ export type TelephonyStreamsCreateError = TelephonyStreamsCreateErrors[keyof TelephonyStreamsCreateErrors];
16043
+ export type TelephonyStreamsCreateResults = {
16044
+ /**
16045
+ * Successful Response
16046
+ */
16047
+ 201: StreamConnectionResponse;
16048
+ };
16049
+ export type TelephonyStreamsCreateResult = TelephonyStreamsCreateResults[keyof TelephonyStreamsCreateResults];
16050
+ export type TelephonyStreamsDeleteData = {
16051
+ body?: never;
16052
+ path: {
16053
+ /**
16054
+ * Connection Id
16055
+ */
16056
+ connection_id: string;
16057
+ };
16058
+ query?: never;
16059
+ url: '/v1/streams/{connection_id}';
16060
+ };
16061
+ export type TelephonyStreamsDeleteErrors = {
16062
+ /**
16063
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16064
+ */
16065
+ 400: ErrorResponse;
16066
+ /**
16067
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16068
+ */
16069
+ 401: ErrorResponse;
16070
+ /**
16071
+ * Authenticated, but this organization role may not perform the operation.
16072
+ */
16073
+ 403: ErrorResponse;
16074
+ /**
16075
+ * No such resource in this organization.
16076
+ */
16077
+ 404: ErrorResponse;
16078
+ /**
16079
+ * The resource's current state forbids this — a name already taken, a job already running.
16080
+ */
16081
+ 409: ErrorResponse;
16082
+ /**
16083
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16084
+ */
16085
+ 422: ErrorResponse;
16086
+ /**
16087
+ * Unexpected error. Every error this API returns carries this body.
16088
+ */
16089
+ default: ErrorResponse;
16090
+ };
16091
+ export type TelephonyStreamsDeleteError = TelephonyStreamsDeleteErrors[keyof TelephonyStreamsDeleteErrors];
16092
+ export type TelephonyStreamsDeleteResults = {
16093
+ /**
16094
+ * Successful Response
16095
+ */
16096
+ 200: OkResponse;
16097
+ };
16098
+ export type TelephonyStreamsDeleteResult = TelephonyStreamsDeleteResults[keyof TelephonyStreamsDeleteResults];
16099
+ export type TelephonyStreamsGetData = {
16100
+ body?: never;
16101
+ path: {
16102
+ /**
16103
+ * Connection Id
16104
+ */
16105
+ connection_id: string;
16106
+ };
16107
+ query?: never;
16108
+ url: '/v1/streams/{connection_id}';
16109
+ };
16110
+ export type TelephonyStreamsGetErrors = {
16111
+ /**
16112
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16113
+ */
16114
+ 401: ErrorResponse;
16115
+ /**
16116
+ * No such resource in this organization.
16117
+ */
16118
+ 404: ErrorResponse;
16119
+ /**
16120
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16121
+ */
16122
+ 422: ErrorResponse;
16123
+ /**
16124
+ * Unexpected error. Every error this API returns carries this body.
16125
+ */
16126
+ default: ErrorResponse;
16127
+ };
16128
+ export type TelephonyStreamsGetError = TelephonyStreamsGetErrors[keyof TelephonyStreamsGetErrors];
16129
+ export type TelephonyStreamsGetResults = {
16130
+ /**
16131
+ * Successful Response
16132
+ */
16133
+ 200: StreamConnectionResponse;
16134
+ };
16135
+ export type TelephonyStreamsGetResult = TelephonyStreamsGetResults[keyof TelephonyStreamsGetResults];
16136
+ export type TelephonyStreamsUpdateData = {
16137
+ body: PatchStreamConnectionRequest;
16138
+ path: {
16139
+ /**
16140
+ * Connection Id
16141
+ */
16142
+ connection_id: string;
16143
+ };
16144
+ query?: never;
16145
+ url: '/v1/streams/{connection_id}';
16146
+ };
16147
+ export type TelephonyStreamsUpdateErrors = {
16148
+ /**
16149
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16150
+ */
16151
+ 400: ErrorResponse;
16152
+ /**
16153
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16154
+ */
16155
+ 401: ErrorResponse;
16156
+ /**
16157
+ * Authenticated, but this organization role may not perform the operation.
16158
+ */
16159
+ 403: ErrorResponse;
16160
+ /**
16161
+ * No such resource in this organization.
16162
+ */
16163
+ 404: ErrorResponse;
16164
+ /**
16165
+ * The resource's current state forbids this — a name already taken, a job already running.
16166
+ */
16167
+ 409: ErrorResponse;
16168
+ /**
16169
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16170
+ */
16171
+ 422: ErrorResponse;
16172
+ /**
16173
+ * Unexpected error. Every error this API returns carries this body.
16174
+ */
16175
+ default: ErrorResponse;
16176
+ };
16177
+ export type TelephonyStreamsUpdateError = TelephonyStreamsUpdateErrors[keyof TelephonyStreamsUpdateErrors];
16178
+ export type TelephonyStreamsUpdateResults = {
16179
+ /**
16180
+ * Successful Response
16181
+ */
16182
+ 200: StreamConnectionResponse;
16183
+ };
16184
+ export type TelephonyStreamsUpdateResult = TelephonyStreamsUpdateResults[keyof TelephonyStreamsUpdateResults];
16185
+ export type TasksListData = {
16186
+ body?: never;
16187
+ path?: never;
16188
+ query?: {
16189
+ /**
16190
+ * Limit
16191
+ */
16192
+ limit?: number;
16193
+ /**
16194
+ * Offset
16195
+ */
16196
+ offset?: number;
16197
+ };
16198
+ url: '/v1/tasks';
16199
+ };
16200
+ export type TasksListErrors = {
16201
+ /**
16202
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16203
+ */
16204
+ 401: ErrorResponse;
16205
+ /**
16206
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16207
+ */
16208
+ 422: ErrorResponse;
16209
+ /**
16210
+ * Unexpected error. Every error this API returns carries this body.
16211
+ */
16212
+ default: ErrorResponse;
16213
+ };
16214
+ export type TasksListError = TasksListErrors[keyof TasksListErrors];
16215
+ export type TasksListResults = {
16216
+ /**
16217
+ * Successful Response
16218
+ */
16219
+ 200: PageTaskResponse;
16220
+ };
16221
+ export type TasksListResult = TasksListResults[keyof TasksListResults];
16222
+ export type TasksCreateData = {
14847
16223
  body: CreateTaskRequest;
14848
16224
  path?: never;
14849
16225
  query?: never;
@@ -14880,7 +16256,7 @@ export type TasksCreateResults = {
14880
16256
  /**
14881
16257
  * Successful Response
14882
16258
  */
14883
- 201: TaskWriteResponse;
16259
+ 201: TaskResponse;
14884
16260
  };
14885
16261
  export type TasksCreateResult = TasksCreateResults[keyof TasksCreateResults];
14886
16262
  export type TasksDeleteData = {
@@ -15015,9 +16391,58 @@ export type TasksUpdateResults = {
15015
16391
  /**
15016
16392
  * Successful Response
15017
16393
  */
15018
- 200: TaskWriteResponse;
16394
+ 200: TaskResponse;
15019
16395
  };
15020
16396
  export type TasksUpdateResult = TasksUpdateResults[keyof TasksUpdateResults];
16397
+ export type TasksPublishData = {
16398
+ body?: never;
16399
+ path: {
16400
+ /**
16401
+ * Task Id
16402
+ */
16403
+ task_id: string;
16404
+ };
16405
+ query?: never;
16406
+ url: '/v1/tasks/{task_id}/publish';
16407
+ };
16408
+ export type TasksPublishErrors = {
16409
+ /**
16410
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16411
+ */
16412
+ 400: ErrorResponse;
16413
+ /**
16414
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16415
+ */
16416
+ 401: ErrorResponse;
16417
+ /**
16418
+ * Authenticated, but this organization role may not perform the operation.
16419
+ */
16420
+ 403: ErrorResponse;
16421
+ /**
16422
+ * No such resource in this organization.
16423
+ */
16424
+ 404: ErrorResponse;
16425
+ /**
16426
+ * The resource's current state forbids this — a name already taken, a job already running.
16427
+ */
16428
+ 409: ErrorResponse;
16429
+ /**
16430
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16431
+ */
16432
+ 422: ErrorResponse;
16433
+ /**
16434
+ * Unexpected error. Every error this API returns carries this body.
16435
+ */
16436
+ default: ErrorResponse;
16437
+ };
16438
+ export type TasksPublishError = TasksPublishErrors[keyof TasksPublishErrors];
16439
+ export type TasksPublishResults = {
16440
+ /**
16441
+ * Successful Response
16442
+ */
16443
+ 200: PublishTaskResponse;
16444
+ };
16445
+ export type TasksPublishResult = TasksPublishResults[keyof TasksPublishResults];
15021
16446
  export type TasksRunsListData = {
15022
16447
  body?: never;
15023
16448
  path: {
@@ -15154,6 +16579,149 @@ export type TasksRunsGetResults = {
15154
16579
  200: TaskRunResponse;
15155
16580
  };
15156
16581
  export type TasksRunsGetResult = TasksRunsGetResults[keyof TasksRunsGetResults];
16582
+ export type TasksValidateData = {
16583
+ body?: never;
16584
+ path: {
16585
+ /**
16586
+ * Task Id
16587
+ */
16588
+ task_id: string;
16589
+ };
16590
+ query?: never;
16591
+ url: '/v1/tasks/{task_id}/validate';
16592
+ };
16593
+ export type TasksValidateErrors = {
16594
+ /**
16595
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16596
+ */
16597
+ 400: ErrorResponse;
16598
+ /**
16599
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16600
+ */
16601
+ 401: ErrorResponse;
16602
+ /**
16603
+ * Authenticated, but this organization role may not perform the operation.
16604
+ */
16605
+ 403: ErrorResponse;
16606
+ /**
16607
+ * No such resource in this organization.
16608
+ */
16609
+ 404: ErrorResponse;
16610
+ /**
16611
+ * The resource's current state forbids this — a name already taken, a job already running.
16612
+ */
16613
+ 409: ErrorResponse;
16614
+ /**
16615
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16616
+ */
16617
+ 422: ErrorResponse;
16618
+ /**
16619
+ * Unexpected error. Every error this API returns carries this body.
16620
+ */
16621
+ default: ErrorResponse;
16622
+ };
16623
+ export type TasksValidateError = TasksValidateErrors[keyof TasksValidateErrors];
16624
+ export type TasksValidateResults = {
16625
+ /**
16626
+ * Successful Response
16627
+ */
16628
+ 200: ValidateResponse;
16629
+ };
16630
+ export type TasksValidateResult = TasksValidateResults[keyof TasksValidateResults];
16631
+ export type TasksVersionsGetData = {
16632
+ body?: never;
16633
+ path: {
16634
+ /**
16635
+ * Task Id
16636
+ */
16637
+ task_id: string;
16638
+ /**
16639
+ * Version
16640
+ */
16641
+ version: number;
16642
+ };
16643
+ query?: never;
16644
+ url: '/v1/tasks/{task_id}/versions/{version}';
16645
+ };
16646
+ export type TasksVersionsGetErrors = {
16647
+ /**
16648
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16649
+ */
16650
+ 401: ErrorResponse;
16651
+ /**
16652
+ * No such resource in this organization.
16653
+ */
16654
+ 404: ErrorResponse;
16655
+ /**
16656
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16657
+ */
16658
+ 422: ErrorResponse;
16659
+ /**
16660
+ * Unexpected error. Every error this API returns carries this body.
16661
+ */
16662
+ default: ErrorResponse;
16663
+ };
16664
+ export type TasksVersionsGetError = TasksVersionsGetErrors[keyof TasksVersionsGetErrors];
16665
+ export type TasksVersionsGetResults = {
16666
+ /**
16667
+ * Successful Response
16668
+ */
16669
+ 200: TaskVersionDetailResponse;
16670
+ };
16671
+ export type TasksVersionsGetResult = TasksVersionsGetResults[keyof TasksVersionsGetResults];
16672
+ export type TasksVersionsRollbackData = {
16673
+ body?: never;
16674
+ path: {
16675
+ /**
16676
+ * Task Id
16677
+ */
16678
+ task_id: string;
16679
+ /**
16680
+ * Version
16681
+ */
16682
+ version: number;
16683
+ };
16684
+ query?: never;
16685
+ url: '/v1/tasks/{task_id}/versions/{version}/rollback';
16686
+ };
16687
+ export type TasksVersionsRollbackErrors = {
16688
+ /**
16689
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
16690
+ */
16691
+ 400: ErrorResponse;
16692
+ /**
16693
+ * Missing credential, or one that is revoked or no longer a member of this organization.
16694
+ */
16695
+ 401: ErrorResponse;
16696
+ /**
16697
+ * Authenticated, but this organization role may not perform the operation.
16698
+ */
16699
+ 403: ErrorResponse;
16700
+ /**
16701
+ * No such resource in this organization.
16702
+ */
16703
+ 404: ErrorResponse;
16704
+ /**
16705
+ * The resource's current state forbids this — a name already taken, a job already running.
16706
+ */
16707
+ 409: ErrorResponse;
16708
+ /**
16709
+ * The request did not match this operation's schema; `detail.errors` lists each field.
16710
+ */
16711
+ 422: ErrorResponse;
16712
+ /**
16713
+ * Unexpected error. Every error this API returns carries this body.
16714
+ */
16715
+ default: ErrorResponse;
16716
+ };
16717
+ export type TasksVersionsRollbackError = TasksVersionsRollbackErrors[keyof TasksVersionsRollbackErrors];
16718
+ export type TasksVersionsRollbackResults = {
16719
+ /**
16720
+ * Successful Response
16721
+ */
16722
+ 200: TaskResponse;
16723
+ };
16724
+ export type TasksVersionsRollbackResult = TasksVersionsRollbackResults[keyof TasksVersionsRollbackResults];
15157
16725
  export type TelephonyAccountsListData = {
15158
16726
  body?: never;
15159
16727
  path?: never;