@simonpeacocks/peacockery-voice-client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2628 @@
1
+ export interface paths {
2
+ "/health": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ /** Health */
10
+ get: {
11
+ parameters: {
12
+ query?: never;
13
+ header?: never;
14
+ path?: never;
15
+ cookie?: never;
16
+ };
17
+ requestBody?: never;
18
+ responses: {
19
+ /** @description Worker health. */
20
+ 200: {
21
+ headers: {
22
+ [name: string]: unknown;
23
+ };
24
+ content: {
25
+ "application/json": components["schemas"]["HealthResponse"];
26
+ };
27
+ };
28
+ /** @description Invalid request. */
29
+ 400: {
30
+ headers: {
31
+ [name: string]: unknown;
32
+ };
33
+ content: {
34
+ "application/json": components["schemas"]["ErrorResponse"];
35
+ };
36
+ };
37
+ /** @description Unauthorized. */
38
+ 401: {
39
+ headers: {
40
+ [name: string]: unknown;
41
+ };
42
+ content: {
43
+ "application/json": components["schemas"]["ErrorResponse"];
44
+ };
45
+ };
46
+ };
47
+ };
48
+ put?: never;
49
+ post?: never;
50
+ delete?: never;
51
+ options?: never;
52
+ head?: never;
53
+ patch?: never;
54
+ trace?: never;
55
+ };
56
+ "/v1/admin/api-keys": {
57
+ parameters: {
58
+ query?: never;
59
+ header?: never;
60
+ path?: never;
61
+ cookie?: never;
62
+ };
63
+ /** List API credentials */
64
+ get: {
65
+ parameters: {
66
+ query?: never;
67
+ header?: never;
68
+ path?: never;
69
+ cookie?: never;
70
+ };
71
+ requestBody?: never;
72
+ responses: {
73
+ /** @description API-key and managed-token metadata without secrets. */
74
+ 200: {
75
+ headers: {
76
+ [name: string]: unknown;
77
+ };
78
+ content: {
79
+ "application/json": {
80
+ credentials: components["schemas"]["ApiKeyView"][];
81
+ };
82
+ };
83
+ };
84
+ /** @description Unauthorized. */
85
+ 401: {
86
+ headers: {
87
+ [name: string]: unknown;
88
+ };
89
+ content: {
90
+ "application/json": components["schemas"]["ErrorResponse"];
91
+ };
92
+ };
93
+ /** @description Admin auth is not configured. */
94
+ 503: {
95
+ headers: {
96
+ [name: string]: unknown;
97
+ };
98
+ content: {
99
+ "application/json": components["schemas"]["ErrorResponse"];
100
+ };
101
+ };
102
+ };
103
+ };
104
+ put?: never;
105
+ /** Mint a scoped API key */
106
+ post: {
107
+ parameters: {
108
+ query?: never;
109
+ header?: never;
110
+ path?: never;
111
+ cookie?: never;
112
+ };
113
+ requestBody: {
114
+ content: {
115
+ "application/json": components["schemas"]["CreateApiKeyRequest"];
116
+ };
117
+ };
118
+ responses: {
119
+ /** @description Created API key. The plaintext key is returned once. */
120
+ 201: {
121
+ headers: {
122
+ [name: string]: unknown;
123
+ };
124
+ content: {
125
+ "application/json": components["schemas"]["CreatedApiKeyResponse"];
126
+ };
127
+ };
128
+ /** @description Invalid request. */
129
+ 400: {
130
+ headers: {
131
+ [name: string]: unknown;
132
+ };
133
+ content: {
134
+ "application/json": components["schemas"]["ErrorResponse"];
135
+ };
136
+ };
137
+ /** @description Unauthorized. */
138
+ 401: {
139
+ headers: {
140
+ [name: string]: unknown;
141
+ };
142
+ content: {
143
+ "application/json": components["schemas"]["ErrorResponse"];
144
+ };
145
+ };
146
+ /** @description Admin auth is not configured. */
147
+ 503: {
148
+ headers: {
149
+ [name: string]: unknown;
150
+ };
151
+ content: {
152
+ "application/json": components["schemas"]["ErrorResponse"];
153
+ };
154
+ };
155
+ };
156
+ };
157
+ delete?: never;
158
+ options?: never;
159
+ head?: never;
160
+ patch?: never;
161
+ trace?: never;
162
+ };
163
+ "/v1/admin/api-keys/{credential_id}": {
164
+ parameters: {
165
+ query?: never;
166
+ header?: never;
167
+ path?: never;
168
+ cookie?: never;
169
+ };
170
+ get?: never;
171
+ put?: never;
172
+ post?: never;
173
+ /** Revoke an API credential */
174
+ delete: {
175
+ parameters: {
176
+ query?: never;
177
+ header?: never;
178
+ path: {
179
+ credential_id: string;
180
+ };
181
+ cookie?: never;
182
+ };
183
+ requestBody?: never;
184
+ responses: {
185
+ /** @description Credential revocation result. */
186
+ 200: {
187
+ headers: {
188
+ [name: string]: unknown;
189
+ };
190
+ content: {
191
+ "application/json": {
192
+ credential_id: string;
193
+ revoked: boolean;
194
+ };
195
+ };
196
+ };
197
+ /** @description Unauthorized. */
198
+ 401: {
199
+ headers: {
200
+ [name: string]: unknown;
201
+ };
202
+ content: {
203
+ "application/json": components["schemas"]["ErrorResponse"];
204
+ };
205
+ };
206
+ /** @description Admin auth is not configured. */
207
+ 503: {
208
+ headers: {
209
+ [name: string]: unknown;
210
+ };
211
+ content: {
212
+ "application/json": components["schemas"]["ErrorResponse"];
213
+ };
214
+ };
215
+ };
216
+ };
217
+ options?: never;
218
+ head?: never;
219
+ patch?: never;
220
+ trace?: never;
221
+ };
222
+ "/v1/admin/hosted-voice-entitlements/{installation_id}": {
223
+ parameters: {
224
+ query?: never;
225
+ header?: never;
226
+ path?: never;
227
+ cookie?: never;
228
+ };
229
+ /** Inspect a hosted voice entitlement */
230
+ get: {
231
+ parameters: {
232
+ query?: never;
233
+ header?: never;
234
+ path: {
235
+ installation_id: string;
236
+ };
237
+ cookie?: never;
238
+ };
239
+ requestBody?: never;
240
+ responses: {
241
+ /** @description Hosted voice entitlement metadata. */
242
+ 200: {
243
+ headers: {
244
+ [name: string]: unknown;
245
+ };
246
+ content: {
247
+ "application/json": components["schemas"]["HostedVoiceEntitlementResponse"];
248
+ };
249
+ };
250
+ /** @description Unauthorized. */
251
+ 401: {
252
+ headers: {
253
+ [name: string]: unknown;
254
+ };
255
+ content: {
256
+ "application/json": components["schemas"]["ErrorResponse"];
257
+ };
258
+ };
259
+ /** @description Entitlement not found. */
260
+ 404: {
261
+ headers: {
262
+ [name: string]: unknown;
263
+ };
264
+ content: {
265
+ "application/json": components["schemas"]["ErrorResponse"];
266
+ };
267
+ };
268
+ };
269
+ };
270
+ /** Grant a hosted voice entitlement */
271
+ put: {
272
+ parameters: {
273
+ query?: never;
274
+ header?: never;
275
+ path: {
276
+ installation_id: string;
277
+ };
278
+ cookie?: never;
279
+ };
280
+ requestBody: {
281
+ content: {
282
+ "application/json": components["schemas"]["HostedVoiceEntitlementRequest"];
283
+ };
284
+ };
285
+ responses: {
286
+ /** @description Hosted voice entitlement granted or refreshed. */
287
+ 200: {
288
+ headers: {
289
+ [name: string]: unknown;
290
+ };
291
+ content: {
292
+ "application/json": components["schemas"]["HostedVoiceEntitlementResponse"];
293
+ };
294
+ };
295
+ /** @description Invalid request. */
296
+ 400: {
297
+ headers: {
298
+ [name: string]: unknown;
299
+ };
300
+ content: {
301
+ "application/json": components["schemas"]["ErrorResponse"];
302
+ };
303
+ };
304
+ /** @description Unauthorized. */
305
+ 401: {
306
+ headers: {
307
+ [name: string]: unknown;
308
+ };
309
+ content: {
310
+ "application/json": components["schemas"]["ErrorResponse"];
311
+ };
312
+ };
313
+ /** @description Attested installation not found. */
314
+ 404: {
315
+ headers: {
316
+ [name: string]: unknown;
317
+ };
318
+ content: {
319
+ "application/json": components["schemas"]["ErrorResponse"];
320
+ };
321
+ };
322
+ };
323
+ };
324
+ post?: never;
325
+ /** Revoke a hosted voice entitlement */
326
+ delete: {
327
+ parameters: {
328
+ query?: never;
329
+ header?: never;
330
+ path: {
331
+ installation_id: string;
332
+ };
333
+ cookie?: never;
334
+ };
335
+ requestBody?: never;
336
+ responses: {
337
+ /** @description Entitlement revocation result. */
338
+ 200: {
339
+ headers: {
340
+ [name: string]: unknown;
341
+ };
342
+ content: {
343
+ "application/json": {
344
+ installation_id: string;
345
+ revoked: boolean;
346
+ };
347
+ };
348
+ };
349
+ /** @description Unauthorized. */
350
+ 401: {
351
+ headers: {
352
+ [name: string]: unknown;
353
+ };
354
+ content: {
355
+ "application/json": components["schemas"]["ErrorResponse"];
356
+ };
357
+ };
358
+ };
359
+ };
360
+ options?: never;
361
+ head?: never;
362
+ patch?: never;
363
+ trace?: never;
364
+ };
365
+ "/v1/admin/model-inventory": {
366
+ parameters: {
367
+ query?: never;
368
+ header?: never;
369
+ path?: never;
370
+ cookie?: never;
371
+ };
372
+ /** Inspect provider model inventory */
373
+ get: {
374
+ parameters: {
375
+ query?: never;
376
+ header?: never;
377
+ path?: never;
378
+ cookie?: never;
379
+ };
380
+ requestBody?: never;
381
+ responses: {
382
+ /** @description Provider model inventory compared with the curated Peacockery Voice catalog. */
383
+ 200: {
384
+ headers: {
385
+ [name: string]: unknown;
386
+ };
387
+ content: {
388
+ "application/json": components["schemas"]["ProviderInventoryResponse"];
389
+ };
390
+ };
391
+ /** @description Unauthorized. */
392
+ 401: {
393
+ headers: {
394
+ [name: string]: unknown;
395
+ };
396
+ content: {
397
+ "application/json": components["schemas"]["ErrorResponse"];
398
+ };
399
+ };
400
+ /** @description Admin auth is not configured. */
401
+ 503: {
402
+ headers: {
403
+ [name: string]: unknown;
404
+ };
405
+ content: {
406
+ "application/json": components["schemas"]["ErrorResponse"];
407
+ };
408
+ };
409
+ };
410
+ };
411
+ put?: never;
412
+ post?: never;
413
+ delete?: never;
414
+ options?: never;
415
+ head?: never;
416
+ patch?: never;
417
+ trace?: never;
418
+ };
419
+ "/v1/admin/resources/validate": {
420
+ parameters: {
421
+ query?: never;
422
+ header?: never;
423
+ path?: never;
424
+ cookie?: never;
425
+ };
426
+ get?: never;
427
+ put?: never;
428
+ /** Validate deployed Cloudflare resources */
429
+ post: {
430
+ parameters: {
431
+ query?: never;
432
+ header?: never;
433
+ path?: never;
434
+ cookie?: never;
435
+ };
436
+ requestBody?: never;
437
+ responses: {
438
+ /** @description Runtime validation result for bound Cloudflare resources. */
439
+ 200: {
440
+ headers: {
441
+ [name: string]: unknown;
442
+ };
443
+ content: {
444
+ "application/json": components["schemas"]["ResourceValidationResponse"];
445
+ };
446
+ };
447
+ /** @description Unauthorized. */
448
+ 401: {
449
+ headers: {
450
+ [name: string]: unknown;
451
+ };
452
+ content: {
453
+ "application/json": components["schemas"]["ErrorResponse"];
454
+ };
455
+ };
456
+ /** @description Admin auth is not configured. */
457
+ 503: {
458
+ headers: {
459
+ [name: string]: unknown;
460
+ };
461
+ content: {
462
+ "application/json": components["schemas"]["ErrorResponse"];
463
+ };
464
+ };
465
+ };
466
+ };
467
+ delete?: never;
468
+ options?: never;
469
+ head?: never;
470
+ patch?: never;
471
+ trace?: never;
472
+ };
473
+ "/v1/admin/storage/audit": {
474
+ parameters: {
475
+ query?: never;
476
+ header?: never;
477
+ path?: never;
478
+ cookie?: never;
479
+ };
480
+ /** Audit the audio-only R2 invariant */
481
+ get: {
482
+ parameters: {
483
+ query?: never;
484
+ header?: never;
485
+ path?: never;
486
+ cookie?: never;
487
+ };
488
+ requestBody?: never;
489
+ responses: {
490
+ /** @description R2 object inventory grouped by audio and structured data. */
491
+ 200: {
492
+ headers: {
493
+ [name: string]: unknown;
494
+ };
495
+ content: {
496
+ "application/json": {
497
+ audio: {
498
+ key: string;
499
+ size: number;
500
+ }[];
501
+ other: {
502
+ key: string;
503
+ size: number;
504
+ }[];
505
+ structured: {
506
+ key: string;
507
+ size: number;
508
+ }[];
509
+ total_bytes: number;
510
+ total_objects: number;
511
+ };
512
+ };
513
+ };
514
+ /** @description Unauthorized. */
515
+ 401: {
516
+ headers: {
517
+ [name: string]: unknown;
518
+ };
519
+ content: {
520
+ "application/json": components["schemas"]["ErrorResponse"];
521
+ };
522
+ };
523
+ };
524
+ };
525
+ put?: never;
526
+ post?: never;
527
+ delete?: never;
528
+ options?: never;
529
+ head?: never;
530
+ patch?: never;
531
+ trace?: never;
532
+ };
533
+ "/v1/admin/storage/purge-unreferenced-non-audio": {
534
+ parameters: {
535
+ query?: never;
536
+ header?: never;
537
+ path?: never;
538
+ cookie?: never;
539
+ };
540
+ get?: never;
541
+ put?: never;
542
+ /** Purge unreferenced non-audio R2 objects */
543
+ post: {
544
+ parameters: {
545
+ query?: never;
546
+ header?: never;
547
+ path?: never;
548
+ cookie?: never;
549
+ };
550
+ requestBody: {
551
+ content: {
552
+ "application/json": {
553
+ /** @enum {string} */
554
+ confirm: "delete-unreferenced-non-audio-r2-objects";
555
+ };
556
+ };
557
+ };
558
+ responses: {
559
+ /** @description Deleted non-audio objects only after proving they have no D1 reference. */
560
+ 200: {
561
+ headers: {
562
+ [name: string]: unknown;
563
+ };
564
+ content: {
565
+ "application/json": {
566
+ deleted: {
567
+ key: string;
568
+ size: number;
569
+ }[];
570
+ protected: {
571
+ key: string;
572
+ size: number;
573
+ }[];
574
+ };
575
+ };
576
+ };
577
+ /** @description Invalid request. */
578
+ 400: {
579
+ headers: {
580
+ [name: string]: unknown;
581
+ };
582
+ content: {
583
+ "application/json": components["schemas"]["ErrorResponse"];
584
+ };
585
+ };
586
+ /** @description Unauthorized. */
587
+ 401: {
588
+ headers: {
589
+ [name: string]: unknown;
590
+ };
591
+ content: {
592
+ "application/json": components["schemas"]["ErrorResponse"];
593
+ };
594
+ };
595
+ };
596
+ };
597
+ delete?: never;
598
+ options?: never;
599
+ head?: never;
600
+ patch?: never;
601
+ trace?: never;
602
+ };
603
+ "/v1/admin/usage/daily": {
604
+ parameters: {
605
+ query?: never;
606
+ header?: never;
607
+ path?: never;
608
+ cookie?: never;
609
+ };
610
+ /** Get admin daily usage */
611
+ get: {
612
+ parameters: {
613
+ query?: {
614
+ from?: string;
615
+ kind?: "asr" | "llm" | "realtime_asr";
616
+ limit?: number;
617
+ to?: string;
618
+ account_key?: string;
619
+ };
620
+ header?: never;
621
+ path?: never;
622
+ cookie?: never;
623
+ };
624
+ requestBody?: never;
625
+ responses: {
626
+ /** @description Admin usage rows. */
627
+ 200: {
628
+ headers: {
629
+ [name: string]: unknown;
630
+ };
631
+ content: {
632
+ "application/json": components["schemas"]["UsageDailyResponse"];
633
+ };
634
+ };
635
+ /** @description Invalid request. */
636
+ 400: {
637
+ headers: {
638
+ [name: string]: unknown;
639
+ };
640
+ content: {
641
+ "application/json": components["schemas"]["ErrorResponse"];
642
+ };
643
+ };
644
+ /** @description Unauthorized. */
645
+ 401: {
646
+ headers: {
647
+ [name: string]: unknown;
648
+ };
649
+ content: {
650
+ "application/json": components["schemas"]["ErrorResponse"];
651
+ };
652
+ };
653
+ /** @description Admin auth is not configured. */
654
+ 503: {
655
+ headers: {
656
+ [name: string]: unknown;
657
+ };
658
+ content: {
659
+ "application/json": components["schemas"]["ErrorResponse"];
660
+ };
661
+ };
662
+ };
663
+ };
664
+ put?: never;
665
+ post?: never;
666
+ delete?: never;
667
+ options?: never;
668
+ head?: never;
669
+ patch?: never;
670
+ trace?: never;
671
+ };
672
+ "/v1/admin/usage/summary": {
673
+ parameters: {
674
+ query?: never;
675
+ header?: never;
676
+ path?: never;
677
+ cookie?: never;
678
+ };
679
+ /** Get admin usage summary */
680
+ get: {
681
+ parameters: {
682
+ query?: {
683
+ from?: string;
684
+ kind?: "asr" | "llm" | "realtime_asr";
685
+ limit?: number;
686
+ to?: string;
687
+ account_key?: string;
688
+ };
689
+ header?: never;
690
+ path?: never;
691
+ cookie?: never;
692
+ };
693
+ requestBody?: never;
694
+ responses: {
695
+ /** @description Admin usage summary and recent request logs. */
696
+ 200: {
697
+ headers: {
698
+ [name: string]: unknown;
699
+ };
700
+ content: {
701
+ "application/json": components["schemas"]["UsageSummaryResponse"];
702
+ };
703
+ };
704
+ /** @description Invalid request. */
705
+ 400: {
706
+ headers: {
707
+ [name: string]: unknown;
708
+ };
709
+ content: {
710
+ "application/json": components["schemas"]["ErrorResponse"];
711
+ };
712
+ };
713
+ /** @description Unauthorized. */
714
+ 401: {
715
+ headers: {
716
+ [name: string]: unknown;
717
+ };
718
+ content: {
719
+ "application/json": components["schemas"]["ErrorResponse"];
720
+ };
721
+ };
722
+ /** @description Admin auth is not configured. */
723
+ 503: {
724
+ headers: {
725
+ [name: string]: unknown;
726
+ };
727
+ content: {
728
+ "application/json": components["schemas"]["ErrorResponse"];
729
+ };
730
+ };
731
+ };
732
+ };
733
+ put?: never;
734
+ post?: never;
735
+ delete?: never;
736
+ options?: never;
737
+ head?: never;
738
+ patch?: never;
739
+ trace?: never;
740
+ };
741
+ "/v1/app-installations/attestations": {
742
+ parameters: {
743
+ query?: never;
744
+ header?: never;
745
+ path?: never;
746
+ cookie?: never;
747
+ };
748
+ get?: never;
749
+ put?: never;
750
+ /** Register an attested app installation */
751
+ post: {
752
+ parameters: {
753
+ query?: never;
754
+ header?: never;
755
+ path?: never;
756
+ cookie?: never;
757
+ };
758
+ requestBody: {
759
+ content: {
760
+ "application/json": components["schemas"]["AppInstallationAttestationRequest"];
761
+ };
762
+ };
763
+ responses: {
764
+ /** @description App installation was already registered. */
765
+ 200: {
766
+ headers: {
767
+ [name: string]: unknown;
768
+ };
769
+ content: {
770
+ "application/json": components["schemas"]["AppInstallationAttestationResponse"];
771
+ };
772
+ };
773
+ /** @description App installation registered. */
774
+ 201: {
775
+ headers: {
776
+ [name: string]: unknown;
777
+ };
778
+ content: {
779
+ "application/json": components["schemas"]["AppInstallationAttestationResponse"];
780
+ };
781
+ };
782
+ /** @description Invalid request. */
783
+ 400: {
784
+ headers: {
785
+ [name: string]: unknown;
786
+ };
787
+ content: {
788
+ "application/json": components["schemas"]["ErrorResponse"];
789
+ };
790
+ };
791
+ /** @description Attestation rejected. */
792
+ 401: {
793
+ headers: {
794
+ [name: string]: unknown;
795
+ };
796
+ content: {
797
+ "application/json": components["schemas"]["ErrorResponse"];
798
+ };
799
+ };
800
+ /** @description Binding conflict. */
801
+ 409: {
802
+ headers: {
803
+ [name: string]: unknown;
804
+ };
805
+ content: {
806
+ "application/json": components["schemas"]["ErrorResponse"];
807
+ };
808
+ };
809
+ /** @description App Attest unavailable. */
810
+ 503: {
811
+ headers: {
812
+ [name: string]: unknown;
813
+ };
814
+ content: {
815
+ "application/json": components["schemas"]["ErrorResponse"];
816
+ };
817
+ };
818
+ };
819
+ };
820
+ delete?: never;
821
+ options?: never;
822
+ head?: never;
823
+ patch?: never;
824
+ trace?: never;
825
+ };
826
+ "/v1/app-installations/challenges": {
827
+ parameters: {
828
+ query?: never;
829
+ header?: never;
830
+ path?: never;
831
+ cookie?: never;
832
+ };
833
+ get?: never;
834
+ put?: never;
835
+ /** Issue an App Attest challenge */
836
+ post: {
837
+ parameters: {
838
+ query?: never;
839
+ header?: never;
840
+ path?: never;
841
+ cookie?: never;
842
+ };
843
+ requestBody: {
844
+ content: {
845
+ "application/json": components["schemas"]["AppAttestChallengeRequest"];
846
+ };
847
+ };
848
+ responses: {
849
+ /** @description One-use App Attest challenge. */
850
+ 201: {
851
+ headers: {
852
+ [name: string]: unknown;
853
+ };
854
+ content: {
855
+ "application/json": components["schemas"]["AppAttestChallengeResponse"];
856
+ };
857
+ };
858
+ /** @description Invalid request. */
859
+ 400: {
860
+ headers: {
861
+ [name: string]: unknown;
862
+ };
863
+ content: {
864
+ "application/json": components["schemas"]["ErrorResponse"];
865
+ };
866
+ };
867
+ /** @description Challenge rate limit. */
868
+ 429: {
869
+ headers: {
870
+ [name: string]: unknown;
871
+ };
872
+ content: {
873
+ "application/json": components["schemas"]["ErrorResponse"];
874
+ };
875
+ };
876
+ };
877
+ };
878
+ delete?: never;
879
+ options?: never;
880
+ head?: never;
881
+ patch?: never;
882
+ trace?: never;
883
+ };
884
+ "/v1/app-installations/store/challenges": {
885
+ parameters: {
886
+ query?: never;
887
+ header?: never;
888
+ path?: never;
889
+ cookie?: never;
890
+ };
891
+ get?: never;
892
+ put?: never;
893
+ /** Issue a macOS App Store installation challenge */
894
+ post: {
895
+ parameters: {
896
+ query?: never;
897
+ header?: never;
898
+ path?: never;
899
+ cookie?: never;
900
+ };
901
+ requestBody: {
902
+ content: {
903
+ "application/json": components["schemas"]["AppStoreInstallationChallengeRequest"];
904
+ };
905
+ };
906
+ responses: {
907
+ /** @description One-use DPoP bootstrap challenge. */
908
+ 201: {
909
+ headers: {
910
+ [name: string]: unknown;
911
+ };
912
+ content: {
913
+ "application/json": components["schemas"]["AppStoreInstallationChallengeResponse"];
914
+ };
915
+ };
916
+ /** @description Invalid request. */
917
+ 400: {
918
+ headers: {
919
+ [name: string]: unknown;
920
+ };
921
+ content: {
922
+ "application/json": components["schemas"]["ErrorResponse"];
923
+ };
924
+ };
925
+ /** @description Challenge rate limit. */
926
+ 429: {
927
+ headers: {
928
+ [name: string]: unknown;
929
+ };
930
+ content: {
931
+ "application/json": components["schemas"]["ErrorResponse"];
932
+ };
933
+ };
934
+ /** @description Enrollment unavailable. */
935
+ 503: {
936
+ headers: {
937
+ [name: string]: unknown;
938
+ };
939
+ content: {
940
+ "application/json": components["schemas"]["ErrorResponse"];
941
+ };
942
+ };
943
+ };
944
+ };
945
+ delete?: never;
946
+ options?: never;
947
+ head?: never;
948
+ patch?: never;
949
+ trace?: never;
950
+ };
951
+ "/v1/app-installations/store/receipts": {
952
+ parameters: {
953
+ query?: never;
954
+ header?: never;
955
+ path?: never;
956
+ cookie?: never;
957
+ };
958
+ get?: never;
959
+ put?: never;
960
+ /** Register a macOS App Store installation */
961
+ post: {
962
+ parameters: {
963
+ query?: never;
964
+ header?: never;
965
+ path?: never;
966
+ cookie?: never;
967
+ };
968
+ requestBody: {
969
+ content: {
970
+ "application/json": components["schemas"]["AppStoreInstallationReceiptRequest"];
971
+ };
972
+ };
973
+ responses: {
974
+ /** @description Installation registered and short-lived DPoP token issued. */
975
+ 201: {
976
+ headers: {
977
+ [name: string]: unknown;
978
+ };
979
+ content: {
980
+ "application/json": components["schemas"]["EntitledClientTokenResponse"];
981
+ };
982
+ };
983
+ /** @description Invalid request. */
984
+ 400: {
985
+ headers: {
986
+ [name: string]: unknown;
987
+ };
988
+ content: {
989
+ "application/json": components["schemas"]["ErrorResponse"];
990
+ };
991
+ };
992
+ /** @description Receipt or proof rejected. */
993
+ 401: {
994
+ headers: {
995
+ [name: string]: unknown;
996
+ };
997
+ content: {
998
+ "application/json": components["schemas"]["ErrorResponse"];
999
+ };
1000
+ };
1001
+ /** @description Binding or replay conflict. */
1002
+ 409: {
1003
+ headers: {
1004
+ [name: string]: unknown;
1005
+ };
1006
+ content: {
1007
+ "application/json": components["schemas"]["ErrorResponse"];
1008
+ };
1009
+ };
1010
+ /** @description Enrollment unavailable. */
1011
+ 503: {
1012
+ headers: {
1013
+ [name: string]: unknown;
1014
+ };
1015
+ content: {
1016
+ "application/json": components["schemas"]["ErrorResponse"];
1017
+ };
1018
+ };
1019
+ };
1020
+ };
1021
+ delete?: never;
1022
+ options?: never;
1023
+ head?: never;
1024
+ patch?: never;
1025
+ trace?: never;
1026
+ };
1027
+ "/v1/app-installations/store/tokens": {
1028
+ parameters: {
1029
+ query?: never;
1030
+ header?: never;
1031
+ path?: never;
1032
+ cookie?: never;
1033
+ };
1034
+ get?: never;
1035
+ put?: never;
1036
+ /** Refresh a macOS App Store installation token */
1037
+ post: {
1038
+ parameters: {
1039
+ query?: never;
1040
+ header?: never;
1041
+ path?: never;
1042
+ cookie?: never;
1043
+ };
1044
+ requestBody: {
1045
+ content: {
1046
+ "application/json": components["schemas"]["AppStoreInstallationTokenRequest"];
1047
+ };
1048
+ };
1049
+ responses: {
1050
+ /** @description Short-lived DPoP-bound hosted-voice token. */
1051
+ 201: {
1052
+ headers: {
1053
+ [name: string]: unknown;
1054
+ };
1055
+ content: {
1056
+ "application/json": components["schemas"]["EntitledClientTokenResponse"];
1057
+ };
1058
+ };
1059
+ /** @description Invalid request. */
1060
+ 400: {
1061
+ headers: {
1062
+ [name: string]: unknown;
1063
+ };
1064
+ content: {
1065
+ "application/json": components["schemas"]["ErrorResponse"];
1066
+ };
1067
+ };
1068
+ /** @description Installation or proof rejected. */
1069
+ 401: {
1070
+ headers: {
1071
+ [name: string]: unknown;
1072
+ };
1073
+ content: {
1074
+ "application/json": components["schemas"]["ErrorResponse"];
1075
+ };
1076
+ };
1077
+ /** @description Entitlement required. */
1078
+ 402: {
1079
+ headers: {
1080
+ [name: string]: unknown;
1081
+ };
1082
+ content: {
1083
+ "application/json": components["schemas"]["ErrorResponse"];
1084
+ };
1085
+ };
1086
+ /** @description Replay or stale request. */
1087
+ 409: {
1088
+ headers: {
1089
+ [name: string]: unknown;
1090
+ };
1091
+ content: {
1092
+ "application/json": components["schemas"]["ErrorResponse"];
1093
+ };
1094
+ };
1095
+ };
1096
+ };
1097
+ delete?: never;
1098
+ options?: never;
1099
+ head?: never;
1100
+ patch?: never;
1101
+ trace?: never;
1102
+ };
1103
+ "/v1/app-installations/tokens": {
1104
+ parameters: {
1105
+ query?: never;
1106
+ header?: never;
1107
+ path?: never;
1108
+ cookie?: never;
1109
+ };
1110
+ get?: never;
1111
+ put?: never;
1112
+ /** Mint an entitled device-bound client token */
1113
+ post: {
1114
+ parameters: {
1115
+ query?: never;
1116
+ header?: never;
1117
+ path?: never;
1118
+ cookie?: never;
1119
+ };
1120
+ requestBody: {
1121
+ content: {
1122
+ "application/json": components["schemas"]["EntitledClientTokenRequest"];
1123
+ };
1124
+ };
1125
+ responses: {
1126
+ /** @description Short-lived DPoP-bound hosted-voice token. */
1127
+ 201: {
1128
+ headers: {
1129
+ [name: string]: unknown;
1130
+ };
1131
+ content: {
1132
+ "application/json": components["schemas"]["EntitledClientTokenResponse"];
1133
+ };
1134
+ };
1135
+ /** @description Invalid request. */
1136
+ 400: {
1137
+ headers: {
1138
+ [name: string]: unknown;
1139
+ };
1140
+ content: {
1141
+ "application/json": components["schemas"]["ErrorResponse"];
1142
+ };
1143
+ };
1144
+ /** @description Assertion rejected. */
1145
+ 401: {
1146
+ headers: {
1147
+ [name: string]: unknown;
1148
+ };
1149
+ content: {
1150
+ "application/json": components["schemas"]["ErrorResponse"];
1151
+ };
1152
+ };
1153
+ /** @description Entitlement required. */
1154
+ 402: {
1155
+ headers: {
1156
+ [name: string]: unknown;
1157
+ };
1158
+ content: {
1159
+ "application/json": components["schemas"]["ErrorResponse"];
1160
+ };
1161
+ };
1162
+ /** @description Replay or stale request. */
1163
+ 409: {
1164
+ headers: {
1165
+ [name: string]: unknown;
1166
+ };
1167
+ content: {
1168
+ "application/json": components["schemas"]["ErrorResponse"];
1169
+ };
1170
+ };
1171
+ /** @description App Attest unavailable. */
1172
+ 503: {
1173
+ headers: {
1174
+ [name: string]: unknown;
1175
+ };
1176
+ content: {
1177
+ "application/json": components["schemas"]["ErrorResponse"];
1178
+ };
1179
+ };
1180
+ };
1181
+ };
1182
+ delete?: never;
1183
+ options?: never;
1184
+ head?: never;
1185
+ patch?: never;
1186
+ trace?: never;
1187
+ };
1188
+ "/v1/auth/client-tokens": {
1189
+ parameters: {
1190
+ query?: never;
1191
+ header?: never;
1192
+ path?: never;
1193
+ cookie?: never;
1194
+ };
1195
+ get?: never;
1196
+ put?: never;
1197
+ /** Mint a managed client token */
1198
+ post: {
1199
+ parameters: {
1200
+ query?: never;
1201
+ header?: {
1202
+ dpop?: string;
1203
+ };
1204
+ path?: never;
1205
+ cookie?: never;
1206
+ };
1207
+ requestBody: {
1208
+ content: {
1209
+ "application/json": components["schemas"]["ClientTokenRequest"];
1210
+ };
1211
+ };
1212
+ responses: {
1213
+ /** @description Short-lived installation token, optionally bound to the DPoP proof key. */
1214
+ 201: {
1215
+ headers: {
1216
+ [name: string]: unknown;
1217
+ };
1218
+ content: {
1219
+ "application/json": components["schemas"]["ClientTokenResponse"];
1220
+ };
1221
+ };
1222
+ /** @description Unauthorized. */
1223
+ 401: {
1224
+ headers: {
1225
+ [name: string]: unknown;
1226
+ };
1227
+ content: {
1228
+ "application/json": components["schemas"]["ErrorResponse"];
1229
+ };
1230
+ };
1231
+ /** @description Scope escalation denied. */
1232
+ 403: {
1233
+ headers: {
1234
+ [name: string]: unknown;
1235
+ };
1236
+ content: {
1237
+ "application/json": components["schemas"]["ErrorResponse"];
1238
+ };
1239
+ };
1240
+ };
1241
+ };
1242
+ delete?: never;
1243
+ options?: never;
1244
+ head?: never;
1245
+ patch?: never;
1246
+ trace?: never;
1247
+ };
1248
+ "/v1/jobs/{job_id}": {
1249
+ parameters: {
1250
+ query?: never;
1251
+ header?: never;
1252
+ path?: never;
1253
+ cookie?: never;
1254
+ };
1255
+ /** Get job */
1256
+ get: {
1257
+ parameters: {
1258
+ query?: never;
1259
+ header?: never;
1260
+ path: {
1261
+ job_id: string;
1262
+ };
1263
+ cookie?: never;
1264
+ };
1265
+ requestBody?: never;
1266
+ responses: {
1267
+ /** @description Job state and canonical result JSON. */
1268
+ 200: {
1269
+ headers: {
1270
+ [name: string]: unknown;
1271
+ };
1272
+ content: {
1273
+ "application/json": components["schemas"]["JobView"];
1274
+ };
1275
+ };
1276
+ /** @description Unauthorized. */
1277
+ 401: {
1278
+ headers: {
1279
+ [name: string]: unknown;
1280
+ };
1281
+ content: {
1282
+ "application/json": components["schemas"]["ErrorResponse"];
1283
+ };
1284
+ };
1285
+ /** @description Job not found. */
1286
+ 404: {
1287
+ headers: {
1288
+ [name: string]: unknown;
1289
+ };
1290
+ content: {
1291
+ "application/json": components["schemas"]["ErrorResponse"];
1292
+ };
1293
+ };
1294
+ };
1295
+ };
1296
+ put?: never;
1297
+ post?: never;
1298
+ delete?: never;
1299
+ options?: never;
1300
+ head?: never;
1301
+ patch?: never;
1302
+ trace?: never;
1303
+ };
1304
+ "/v1/models": {
1305
+ parameters: {
1306
+ query?: never;
1307
+ header?: never;
1308
+ path?: never;
1309
+ cookie?: never;
1310
+ };
1311
+ /** List supported models */
1312
+ get: {
1313
+ parameters: {
1314
+ query?: never;
1315
+ header?: never;
1316
+ path?: never;
1317
+ cookie?: never;
1318
+ };
1319
+ requestBody?: never;
1320
+ responses: {
1321
+ /** @description Supported Peacockery Voice model catalog. */
1322
+ 200: {
1323
+ headers: {
1324
+ [name: string]: unknown;
1325
+ };
1326
+ content: {
1327
+ "application/json": components["schemas"]["ModelsResponse"];
1328
+ };
1329
+ };
1330
+ /** @description Unauthorized. */
1331
+ 401: {
1332
+ headers: {
1333
+ [name: string]: unknown;
1334
+ };
1335
+ content: {
1336
+ "application/json": components["schemas"]["ErrorResponse"];
1337
+ };
1338
+ };
1339
+ };
1340
+ };
1341
+ put?: never;
1342
+ post?: never;
1343
+ delete?: never;
1344
+ options?: never;
1345
+ head?: never;
1346
+ patch?: never;
1347
+ trace?: never;
1348
+ };
1349
+ "/v1/realtime": {
1350
+ parameters: {
1351
+ query?: never;
1352
+ header?: never;
1353
+ path?: never;
1354
+ cookie?: never;
1355
+ };
1356
+ /** Open realtime ASR session */
1357
+ get: {
1358
+ parameters: {
1359
+ query?: {
1360
+ audio_format?: string;
1361
+ channels?: number;
1362
+ detect_entities?: "true" | "false";
1363
+ diarize?: "true" | "false";
1364
+ diarize_model?: "latest" | "v1";
1365
+ dictation?: "true" | "false";
1366
+ encoding?: string;
1367
+ endpointing?: string;
1368
+ filler_words?: "true" | "false";
1369
+ interim_results?: "true" | "false";
1370
+ keyterm?: string;
1371
+ keywords?: string;
1372
+ language?: string;
1373
+ location_hint?: "wnam" | "enam" | "sam" | "weur" | "eeur" | "apac" | "oc" | "afr" | "me";
1374
+ mip_opt_out?: "true" | "false";
1375
+ model?: string;
1376
+ multichannel?: "true" | "false";
1377
+ numerals?: "true" | "false";
1378
+ profanity_filter?: "true" | "false";
1379
+ punctuate?: "true" | "false";
1380
+ redact?: string;
1381
+ replace?: string;
1382
+ sample_rate?: number;
1383
+ search?: string;
1384
+ smart_format?: "true" | "false";
1385
+ tag?: string;
1386
+ target_streaming_delay_ms?: number;
1387
+ utterance_end_ms?: number;
1388
+ vad_events?: "true" | "false";
1389
+ version?: string;
1390
+ };
1391
+ header?: never;
1392
+ path?: never;
1393
+ cookie?: never;
1394
+ };
1395
+ requestBody?: never;
1396
+ responses: {
1397
+ /** @description WebSocket upgrade accepted. */
1398
+ 101: {
1399
+ headers: {
1400
+ [name: string]: unknown;
1401
+ };
1402
+ content?: never;
1403
+ };
1404
+ /** @description Invalid realtime query. */
1405
+ 400: {
1406
+ headers: {
1407
+ [name: string]: unknown;
1408
+ };
1409
+ content: {
1410
+ "application/json": components["schemas"]["ErrorResponse"];
1411
+ };
1412
+ };
1413
+ /** @description Unauthorized. */
1414
+ 401: {
1415
+ headers: {
1416
+ [name: string]: unknown;
1417
+ };
1418
+ content: {
1419
+ "application/json": components["schemas"]["ErrorResponse"];
1420
+ };
1421
+ };
1422
+ /** @description Expected WebSocket upgrade. */
1423
+ 426: {
1424
+ headers: {
1425
+ [name: string]: unknown;
1426
+ };
1427
+ content?: never;
1428
+ };
1429
+ };
1430
+ };
1431
+ put?: never;
1432
+ post?: never;
1433
+ delete?: never;
1434
+ options?: never;
1435
+ head?: never;
1436
+ patch?: never;
1437
+ trace?: never;
1438
+ };
1439
+ "/v1/realtime/sessions/{session_id}": {
1440
+ parameters: {
1441
+ query?: never;
1442
+ header?: never;
1443
+ path?: never;
1444
+ cookie?: never;
1445
+ };
1446
+ /** Recover realtime ASR session result */
1447
+ get: {
1448
+ parameters: {
1449
+ query?: never;
1450
+ header?: never;
1451
+ path: {
1452
+ session_id: string;
1453
+ };
1454
+ cookie?: never;
1455
+ };
1456
+ requestBody?: never;
1457
+ responses: {
1458
+ /** @description Persisted terminal result for a realtime ASR session. */
1459
+ 200: {
1460
+ headers: {
1461
+ [name: string]: unknown;
1462
+ };
1463
+ content: {
1464
+ "application/json": components["schemas"]["RealtimeSessionResult"];
1465
+ };
1466
+ };
1467
+ /** @description Unauthorized. */
1468
+ 401: {
1469
+ headers: {
1470
+ [name: string]: unknown;
1471
+ };
1472
+ content: {
1473
+ "application/json": components["schemas"]["ErrorResponse"];
1474
+ };
1475
+ };
1476
+ /** @description Session not found. */
1477
+ 404: {
1478
+ headers: {
1479
+ [name: string]: unknown;
1480
+ };
1481
+ content: {
1482
+ "application/json": components["schemas"]["ErrorResponse"];
1483
+ };
1484
+ };
1485
+ /** @description Stored transcription artifact is unavailable or invalid. */
1486
+ 500: {
1487
+ headers: {
1488
+ [name: string]: unknown;
1489
+ };
1490
+ content: {
1491
+ "application/json": components["schemas"]["ErrorResponse"];
1492
+ };
1493
+ };
1494
+ };
1495
+ };
1496
+ put?: never;
1497
+ post?: never;
1498
+ delete?: never;
1499
+ options?: never;
1500
+ head?: never;
1501
+ patch?: never;
1502
+ trace?: never;
1503
+ };
1504
+ "/v1/text": {
1505
+ parameters: {
1506
+ query?: never;
1507
+ header?: never;
1508
+ path?: never;
1509
+ cookie?: never;
1510
+ };
1511
+ get?: never;
1512
+ put?: never;
1513
+ /** Generate text or structured output */
1514
+ post: {
1515
+ parameters: {
1516
+ query?: never;
1517
+ header?: never;
1518
+ path?: never;
1519
+ cookie?: never;
1520
+ };
1521
+ requestBody: {
1522
+ content: {
1523
+ "application/json": components["schemas"]["TextRequest"];
1524
+ };
1525
+ };
1526
+ responses: {
1527
+ /** @description Language-model text or structured result. */
1528
+ 200: {
1529
+ headers: {
1530
+ [name: string]: unknown;
1531
+ };
1532
+ content: {
1533
+ "application/json": components["schemas"]["TextResponse"];
1534
+ };
1535
+ };
1536
+ /** @description Invalid request. */
1537
+ 400: {
1538
+ headers: {
1539
+ [name: string]: unknown;
1540
+ };
1541
+ content: {
1542
+ "application/json": components["schemas"]["ErrorResponse"];
1543
+ };
1544
+ };
1545
+ /** @description Unauthorized. */
1546
+ 401: {
1547
+ headers: {
1548
+ [name: string]: unknown;
1549
+ };
1550
+ content: {
1551
+ "application/json": components["schemas"]["ErrorResponse"];
1552
+ };
1553
+ };
1554
+ };
1555
+ };
1556
+ delete?: never;
1557
+ options?: never;
1558
+ head?: never;
1559
+ patch?: never;
1560
+ trace?: never;
1561
+ };
1562
+ "/v1/text/stream": {
1563
+ parameters: {
1564
+ query?: never;
1565
+ header?: never;
1566
+ path?: never;
1567
+ cookie?: never;
1568
+ };
1569
+ get?: never;
1570
+ put?: never;
1571
+ /** Stream text generation */
1572
+ post: {
1573
+ parameters: {
1574
+ query?: never;
1575
+ header?: never;
1576
+ path?: never;
1577
+ cookie?: never;
1578
+ };
1579
+ requestBody: {
1580
+ content: {
1581
+ "application/json": components["schemas"]["TextStreamRequest"];
1582
+ };
1583
+ };
1584
+ responses: {
1585
+ /** @description Provider-neutral SSE events: stream.started, text.delta, then stream.completed or stream.failed. */
1586
+ 200: {
1587
+ headers: {
1588
+ [name: string]: unknown;
1589
+ };
1590
+ content: {
1591
+ "text/event-stream": string;
1592
+ };
1593
+ };
1594
+ /** @description Invalid request. */
1595
+ 400: {
1596
+ headers: {
1597
+ [name: string]: unknown;
1598
+ };
1599
+ content: {
1600
+ "application/json": components["schemas"]["ErrorResponse"];
1601
+ };
1602
+ };
1603
+ /** @description Unauthorized. */
1604
+ 401: {
1605
+ headers: {
1606
+ [name: string]: unknown;
1607
+ };
1608
+ content: {
1609
+ "application/json": components["schemas"]["ErrorResponse"];
1610
+ };
1611
+ };
1612
+ };
1613
+ };
1614
+ delete?: never;
1615
+ options?: never;
1616
+ head?: never;
1617
+ patch?: never;
1618
+ trace?: never;
1619
+ };
1620
+ "/v1/transcriptions": {
1621
+ parameters: {
1622
+ query?: never;
1623
+ header?: never;
1624
+ path?: never;
1625
+ cookie?: never;
1626
+ };
1627
+ get?: never;
1628
+ put?: never;
1629
+ /** Create transcription job */
1630
+ post: {
1631
+ parameters: {
1632
+ query?: never;
1633
+ header?: {
1634
+ "idempotency-key"?: string;
1635
+ };
1636
+ path?: never;
1637
+ cookie?: never;
1638
+ };
1639
+ requestBody: {
1640
+ content: {
1641
+ "application/json": components["schemas"]["TranscriptionRequest"];
1642
+ };
1643
+ };
1644
+ responses: {
1645
+ /** @description Existing idempotent job. */
1646
+ 200: {
1647
+ headers: {
1648
+ [name: string]: unknown;
1649
+ };
1650
+ content: {
1651
+ "application/json": components["schemas"]["JobView"];
1652
+ };
1653
+ };
1654
+ /** @description Queued transcription job. */
1655
+ 202: {
1656
+ headers: {
1657
+ [name: string]: unknown;
1658
+ };
1659
+ content: {
1660
+ "application/json": components["schemas"]["JobView"];
1661
+ };
1662
+ };
1663
+ /** @description Invalid request. */
1664
+ 400: {
1665
+ headers: {
1666
+ [name: string]: unknown;
1667
+ };
1668
+ content: {
1669
+ "application/json": components["schemas"]["ErrorResponse"];
1670
+ };
1671
+ };
1672
+ /** @description Unauthorized. */
1673
+ 401: {
1674
+ headers: {
1675
+ [name: string]: unknown;
1676
+ };
1677
+ content: {
1678
+ "application/json": components["schemas"]["ErrorResponse"];
1679
+ };
1680
+ };
1681
+ /** @description Upload not found. */
1682
+ 404: {
1683
+ headers: {
1684
+ [name: string]: unknown;
1685
+ };
1686
+ content: {
1687
+ "application/json": components["schemas"]["ErrorResponse"];
1688
+ };
1689
+ };
1690
+ };
1691
+ };
1692
+ delete?: never;
1693
+ options?: never;
1694
+ head?: never;
1695
+ patch?: never;
1696
+ trace?: never;
1697
+ };
1698
+ "/v1/uploads": {
1699
+ parameters: {
1700
+ query?: never;
1701
+ header?: never;
1702
+ path?: never;
1703
+ cookie?: never;
1704
+ };
1705
+ get?: never;
1706
+ put?: never;
1707
+ /** Reserve direct R2 upload */
1708
+ post: {
1709
+ parameters: {
1710
+ query?: never;
1711
+ header?: never;
1712
+ path?: never;
1713
+ cookie?: never;
1714
+ };
1715
+ requestBody: {
1716
+ content: {
1717
+ "application/json": components["schemas"]["UploadReservationRequest"];
1718
+ };
1719
+ };
1720
+ responses: {
1721
+ /** @description Direct R2 upload reservation. */
1722
+ 201: {
1723
+ headers: {
1724
+ [name: string]: unknown;
1725
+ };
1726
+ content: {
1727
+ "application/json": components["schemas"]["UploadReservationResponse"];
1728
+ };
1729
+ };
1730
+ /** @description Invalid request. */
1731
+ 400: {
1732
+ headers: {
1733
+ [name: string]: unknown;
1734
+ };
1735
+ content: {
1736
+ "application/json": components["schemas"]["ErrorResponse"];
1737
+ };
1738
+ };
1739
+ /** @description Unauthorized. */
1740
+ 401: {
1741
+ headers: {
1742
+ [name: string]: unknown;
1743
+ };
1744
+ content: {
1745
+ "application/json": components["schemas"]["ErrorResponse"];
1746
+ };
1747
+ };
1748
+ /** @description Unsupported media type. */
1749
+ 415: {
1750
+ headers: {
1751
+ [name: string]: unknown;
1752
+ };
1753
+ content: {
1754
+ "application/json": components["schemas"]["ErrorResponse"];
1755
+ };
1756
+ };
1757
+ };
1758
+ };
1759
+ delete?: never;
1760
+ options?: never;
1761
+ head?: never;
1762
+ patch?: never;
1763
+ trace?: never;
1764
+ };
1765
+ "/v1/uploads/{upload_id}/complete": {
1766
+ parameters: {
1767
+ query?: never;
1768
+ header?: never;
1769
+ path?: never;
1770
+ cookie?: never;
1771
+ };
1772
+ get?: never;
1773
+ put?: never;
1774
+ /** Complete direct R2 upload */
1775
+ post: {
1776
+ parameters: {
1777
+ query?: never;
1778
+ header?: never;
1779
+ path: {
1780
+ upload_id: string;
1781
+ };
1782
+ cookie?: never;
1783
+ };
1784
+ requestBody: {
1785
+ content: {
1786
+ "application/json": components["schemas"]["UploadCompletionRequest"];
1787
+ };
1788
+ };
1789
+ responses: {
1790
+ /** @description Verified R2 upload. */
1791
+ 200: {
1792
+ headers: {
1793
+ [name: string]: unknown;
1794
+ };
1795
+ content: {
1796
+ "application/json": components["schemas"]["UploadCompletionResponse"];
1797
+ };
1798
+ };
1799
+ /** @description Invalid request. */
1800
+ 400: {
1801
+ headers: {
1802
+ [name: string]: unknown;
1803
+ };
1804
+ content: {
1805
+ "application/json": components["schemas"]["ErrorResponse"];
1806
+ };
1807
+ };
1808
+ /** @description Unauthorized. */
1809
+ 401: {
1810
+ headers: {
1811
+ [name: string]: unknown;
1812
+ };
1813
+ content: {
1814
+ "application/json": components["schemas"]["ErrorResponse"];
1815
+ };
1816
+ };
1817
+ /** @description Upload not found. */
1818
+ 404: {
1819
+ headers: {
1820
+ [name: string]: unknown;
1821
+ };
1822
+ content: {
1823
+ "application/json": components["schemas"]["ErrorResponse"];
1824
+ };
1825
+ };
1826
+ /** @description Uploaded object does not match the reservation. */
1827
+ 409: {
1828
+ headers: {
1829
+ [name: string]: unknown;
1830
+ };
1831
+ content: {
1832
+ "application/json": components["schemas"]["ErrorResponse"];
1833
+ };
1834
+ };
1835
+ };
1836
+ };
1837
+ delete?: never;
1838
+ options?: never;
1839
+ head?: never;
1840
+ patch?: never;
1841
+ trace?: never;
1842
+ };
1843
+ "/v1/usage/daily": {
1844
+ parameters: {
1845
+ query?: never;
1846
+ header?: never;
1847
+ path?: never;
1848
+ cookie?: never;
1849
+ };
1850
+ /** Get account daily usage */
1851
+ get: {
1852
+ parameters: {
1853
+ query?: {
1854
+ from?: string;
1855
+ kind?: "asr" | "llm" | "realtime_asr";
1856
+ limit?: number;
1857
+ to?: string;
1858
+ };
1859
+ header?: never;
1860
+ path?: never;
1861
+ cookie?: never;
1862
+ };
1863
+ requestBody?: never;
1864
+ responses: {
1865
+ /** @description Usage rows for the authenticated account. */
1866
+ 200: {
1867
+ headers: {
1868
+ [name: string]: unknown;
1869
+ };
1870
+ content: {
1871
+ "application/json": components["schemas"]["UsageDailyResponse"];
1872
+ };
1873
+ };
1874
+ /** @description Invalid request. */
1875
+ 400: {
1876
+ headers: {
1877
+ [name: string]: unknown;
1878
+ };
1879
+ content: {
1880
+ "application/json": components["schemas"]["ErrorResponse"];
1881
+ };
1882
+ };
1883
+ /** @description Unauthorized. */
1884
+ 401: {
1885
+ headers: {
1886
+ [name: string]: unknown;
1887
+ };
1888
+ content: {
1889
+ "application/json": components["schemas"]["ErrorResponse"];
1890
+ };
1891
+ };
1892
+ /** @description Admin auth is not configured. */
1893
+ 503: {
1894
+ headers: {
1895
+ [name: string]: unknown;
1896
+ };
1897
+ content: {
1898
+ "application/json": components["schemas"]["ErrorResponse"];
1899
+ };
1900
+ };
1901
+ };
1902
+ };
1903
+ put?: never;
1904
+ post?: never;
1905
+ delete?: never;
1906
+ options?: never;
1907
+ head?: never;
1908
+ patch?: never;
1909
+ trace?: never;
1910
+ };
1911
+ }
1912
+ export type webhooks = Record<string, never>;
1913
+ export interface components {
1914
+ schemas: {
1915
+ HealthResponse: {
1916
+ /** @enum {string} */
1917
+ environment: "lab" | "production";
1918
+ ok: boolean;
1919
+ /** @enum {string} */
1920
+ provider_policy: "internal" | "official";
1921
+ service: string;
1922
+ };
1923
+ ErrorResponse: {
1924
+ error: string;
1925
+ issues?: unknown[];
1926
+ };
1927
+ UploadReservationResponse: {
1928
+ input_key: string;
1929
+ transfer: {
1930
+ headers: {
1931
+ [key: string]: string;
1932
+ };
1933
+ /** @enum {string} */
1934
+ kind: "single";
1935
+ /** Format: uri */
1936
+ url: string;
1937
+ } | {
1938
+ /** @enum {string} */
1939
+ kind: "multipart";
1940
+ part_size_bytes: number;
1941
+ parts: {
1942
+ headers: {
1943
+ [key: string]: string;
1944
+ };
1945
+ part_number: number;
1946
+ /** Format: uri */
1947
+ url: string;
1948
+ }[];
1949
+ };
1950
+ upload_id: string;
1951
+ };
1952
+ UploadReservationRequest: {
1953
+ content_type: string;
1954
+ filename?: string;
1955
+ size_bytes: number;
1956
+ };
1957
+ UploadCompletionResponse: {
1958
+ input_key: string;
1959
+ size_bytes: number;
1960
+ };
1961
+ UploadCompletionRequest: {
1962
+ /** @default [] */
1963
+ parts: {
1964
+ etag: string;
1965
+ part_number: number;
1966
+ }[];
1967
+ };
1968
+ ModelsResponse: {
1969
+ models: components["schemas"]["ModelSpec"][];
1970
+ /** @enum {number} */
1971
+ presentation_schema_version: 1;
1972
+ };
1973
+ ModelSpec: {
1974
+ accuracy?: components["schemas"]["ModelAccuracyPresentationSpec"];
1975
+ id: string;
1976
+ intelligence?: components["schemas"]["LanguageModelIntelligenceSpec"];
1977
+ /** @enum {string} */
1978
+ kind: "language" | "transcription";
1979
+ provider: string;
1980
+ /** @enum {string} */
1981
+ reasoning_profile?: "low" | "medium" | "minimal" | "none";
1982
+ routes?: {
1983
+ batch?: components["schemas"]["AsrRouteSpec"];
1984
+ realtime?: components["schemas"]["AsrRouteSpec"];
1985
+ };
1986
+ speed?: components["schemas"]["ModelSpeedPresentationSpec"];
1987
+ upstream_model: string;
1988
+ };
1989
+ ModelAccuracyPresentationSpec: {
1990
+ benchmark: string;
1991
+ /** @enum {string} */
1992
+ metric: "wer";
1993
+ /** @enum {string} */
1994
+ source: "fluid-audio" | "provider-published" | "route-capability" | "peacockery-voice-benchmark";
1995
+ value: number;
1996
+ };
1997
+ LanguageModelIntelligenceSpec: {
1998
+ display_score: number;
1999
+ index: number;
2000
+ measured_at: string;
2001
+ profile: string;
2002
+ /** @enum {string} */
2003
+ source: "artificial-analysis";
2004
+ source_version: string;
2005
+ };
2006
+ AsrRouteSpec: {
2007
+ model: string;
2008
+ provider: string;
2009
+ supported_languages: string[];
2010
+ supports_automatic_language: boolean;
2011
+ supports_diarization: boolean;
2012
+ upstream_model: string;
2013
+ };
2014
+ ModelSpeedPresentationSpec: {
2015
+ approximate: boolean;
2016
+ /** @enum {string} */
2017
+ kind: "effective-tps" | "realtime" | "rtfx";
2018
+ measured_at?: string;
2019
+ profile?: string;
2020
+ /** @enum {string} */
2021
+ source: "fluid-audio" | "provider-published" | "route-capability" | "peacockery-voice-benchmark";
2022
+ value?: number;
2023
+ };
2024
+ JobView: {
2025
+ completed_at: string | null;
2026
+ created_at: string;
2027
+ error: string | null;
2028
+ job_id: string;
2029
+ /** @enum {string} */
2030
+ kind: "transcription";
2031
+ progress: number;
2032
+ queued_at: string | null;
2033
+ result: components["schemas"]["TranscriptionArtifact"] | null;
2034
+ started_at: string | null;
2035
+ /** @enum {string} */
2036
+ status: "pending" | "queued" | "running" | "succeeded" | "failed";
2037
+ updated_at: string;
2038
+ };
2039
+ TranscriptionArtifact: {
2040
+ content: {
2041
+ audio_events: {
2042
+ /** @enum {string} */
2043
+ availability: "available" | "not_requested" | "provider_omitted" | "unsupported";
2044
+ /** @enum {string|null} */
2045
+ source: "derived" | "provider" | null;
2046
+ items: {
2047
+ end_seconds: number | null;
2048
+ start_seconds: number | null;
2049
+ text: string;
2050
+ }[];
2051
+ };
2052
+ segments: {
2053
+ /** @enum {string} */
2054
+ availability: "available" | "not_requested" | "provider_omitted" | "unsupported";
2055
+ /** @enum {string|null} */
2056
+ source: "derived" | "provider" | null;
2057
+ items: {
2058
+ end_seconds: number;
2059
+ scores: {
2060
+ confidence: number | null;
2061
+ log_probability: number | null;
2062
+ probability: number | null;
2063
+ score: number | null;
2064
+ speaker_confidence: number | null;
2065
+ } | null;
2066
+ speaker: string | number | null;
2067
+ start_seconds: number;
2068
+ text: string;
2069
+ }[];
2070
+ };
2071
+ speaker_turns: {
2072
+ /** @enum {string} */
2073
+ availability: "available" | "not_requested" | "provider_omitted" | "unsupported";
2074
+ /** @enum {string|null} */
2075
+ source: "derived" | "provider" | null;
2076
+ items: {
2077
+ end_seconds: number;
2078
+ speaker: string | number | null;
2079
+ start_seconds: number;
2080
+ text: string;
2081
+ scores: null;
2082
+ }[];
2083
+ };
2084
+ tokens: {
2085
+ /** @enum {string} */
2086
+ availability: "available" | "not_requested" | "provider_omitted" | "unsupported";
2087
+ /** @enum {string|null} */
2088
+ source: "derived" | "provider" | null;
2089
+ items: {
2090
+ end_seconds: number | null;
2091
+ kind: string | null;
2092
+ scores: {
2093
+ confidence: number | null;
2094
+ log_probability: number | null;
2095
+ probability: number | null;
2096
+ score: number | null;
2097
+ speaker_confidence: number | null;
2098
+ } | null;
2099
+ speaker: string | number | null;
2100
+ start_seconds: number | null;
2101
+ text: string;
2102
+ token_id: number | null;
2103
+ }[];
2104
+ };
2105
+ words: {
2106
+ /** @enum {string} */
2107
+ availability: "available" | "not_requested" | "provider_omitted" | "unsupported";
2108
+ /** @enum {string|null} */
2109
+ source: "derived" | "provider" | null;
2110
+ items: {
2111
+ end_seconds: number;
2112
+ scores: {
2113
+ confidence: number | null;
2114
+ log_probability: number | null;
2115
+ probability: number | null;
2116
+ score: number | null;
2117
+ speaker_confidence: number | null;
2118
+ } | null;
2119
+ speaker: string | number | null;
2120
+ start_seconds: number;
2121
+ text: string;
2122
+ }[];
2123
+ };
2124
+ };
2125
+ language: {
2126
+ confidence: number | null;
2127
+ detected: string | null;
2128
+ requested: string | null;
2129
+ };
2130
+ metrics: {
2131
+ audio_duration_seconds: number | null;
2132
+ decoder_seconds: number | null;
2133
+ encoder_seconds: number | null;
2134
+ first_result_latency_ms: number | null;
2135
+ gpu_utilization: number | null;
2136
+ normalization_latency_ms: number | null;
2137
+ peak_memory_mb: number | null;
2138
+ preprocessor_seconds: number | null;
2139
+ processing_seconds: number | null;
2140
+ provider_latency_ms: number | null;
2141
+ queue_delay_ms: number | null;
2142
+ realtime_speed_factor: number | null;
2143
+ tokens_per_second: number | null;
2144
+ usage: {
2145
+ input_tokens: number | null;
2146
+ output_tokens: number | null;
2147
+ total_tokens: number | null;
2148
+ };
2149
+ wall_latency_ms: number | null;
2150
+ };
2151
+ provenance: {
2152
+ completed_at: string;
2153
+ /** @enum {string} */
2154
+ executor: "cloud" | "local";
2155
+ library_name: string | null;
2156
+ library_version: string | null;
2157
+ model: string;
2158
+ provider: string;
2159
+ provider_request_id: string | null;
2160
+ run_id: string;
2161
+ started_at: string;
2162
+ /** @enum {string} */
2163
+ transport: "batch" | "realtime";
2164
+ upstream_model: string;
2165
+ };
2166
+ provider_capture: {
2167
+ metadata: {
2168
+ [key: string]: unknown;
2169
+ };
2170
+ response: {
2171
+ /** @enum {string} */
2172
+ media_type: "application/json";
2173
+ payload: {
2174
+ [key: string]: unknown;
2175
+ };
2176
+ };
2177
+ };
2178
+ /** @enum {number} */
2179
+ schema_version: 2;
2180
+ text: string;
2181
+ warnings: {
2182
+ code: string;
2183
+ message: string;
2184
+ }[];
2185
+ };
2186
+ TranscriptionRequest: {
2187
+ asr_model: string;
2188
+ diarize?: boolean;
2189
+ input_key: string;
2190
+ language?: string;
2191
+ provider_options?: {
2192
+ [key: string]: {
2193
+ [key: string]: unknown;
2194
+ };
2195
+ };
2196
+ sync?: boolean;
2197
+ };
2198
+ TextResponse: {
2199
+ finishReason: string;
2200
+ model: string;
2201
+ provider: string;
2202
+ providerLatencyMs: number;
2203
+ upstreamModel: string;
2204
+ usage: {
2205
+ inputTokens?: number;
2206
+ outputTokens?: number;
2207
+ totalTokens?: number;
2208
+ };
2209
+ warnings?: unknown[];
2210
+ output: {
2211
+ [key: string]: unknown;
2212
+ };
2213
+ /** @enum {string} */
2214
+ outputType: "object";
2215
+ } | {
2216
+ finishReason: string;
2217
+ model: string;
2218
+ provider: string;
2219
+ providerLatencyMs: number;
2220
+ upstreamModel: string;
2221
+ usage: {
2222
+ inputTokens?: number;
2223
+ outputTokens?: number;
2224
+ totalTokens?: number;
2225
+ };
2226
+ warnings?: unknown[];
2227
+ /** @enum {string} */
2228
+ outputType: "text";
2229
+ text: string;
2230
+ };
2231
+ TextRequest: {
2232
+ maxOutputTokens?: number;
2233
+ messages: components["schemas"]["TextMessage"][];
2234
+ model: string;
2235
+ output?: {
2236
+ description?: string;
2237
+ name?: string;
2238
+ schema: {
2239
+ [key: string]: unknown;
2240
+ };
2241
+ /** @enum {string} */
2242
+ type: "object";
2243
+ };
2244
+ providerOptions?: {
2245
+ [key: string]: unknown;
2246
+ };
2247
+ temperature?: number;
2248
+ };
2249
+ TextMessage: {
2250
+ content: string;
2251
+ /** @enum {string} */
2252
+ role: "assistant" | "system" | "user";
2253
+ };
2254
+ TextStreamRequest: {
2255
+ maxOutputTokens?: number;
2256
+ messages: components["schemas"]["TextMessage"][];
2257
+ model: string;
2258
+ providerOptions?: {
2259
+ [key: string]: unknown;
2260
+ };
2261
+ temperature?: number;
2262
+ };
2263
+ RealtimeSessionResult: {
2264
+ /** @enum {number} */
2265
+ protocol_version: 1;
2266
+ result: components["schemas"]["TranscriptionArtifact"];
2267
+ sequence: number;
2268
+ session_id: string;
2269
+ /** @enum {string} */
2270
+ status: "succeeded";
2271
+ /** @enum {string} */
2272
+ type: "session.completed";
2273
+ } | {
2274
+ /** @enum {number} */
2275
+ protocol_version: 1;
2276
+ result: components["schemas"]["TranscriptionArtifact"];
2277
+ sequence: number;
2278
+ session_id: string;
2279
+ error: {
2280
+ /** @enum {string} */
2281
+ code: "provider_error" | "session_error";
2282
+ message: string;
2283
+ retryable: boolean;
2284
+ };
2285
+ /** @enum {string} */
2286
+ status: "failed";
2287
+ /** @enum {string} */
2288
+ type: "session.failed";
2289
+ };
2290
+ UsageDailyResponse: {
2291
+ rows: components["schemas"]["UsageDailyRow"][];
2292
+ totals: components["schemas"]["UsageTotals"];
2293
+ };
2294
+ UsageDailyRow: {
2295
+ account_key: string;
2296
+ asr_seconds: number;
2297
+ day: string;
2298
+ estimated_cost_complete: boolean;
2299
+ /** @description Estimated provider cost in millionths of one US dollar. This is not an invoice amount. */
2300
+ estimated_cost_micro_usd: number;
2301
+ estimated_cost_request_count: number;
2302
+ /** @description Estimated provider cost in US dollars. This is not an invoice amount. */
2303
+ estimated_cost_usd: number;
2304
+ input_tokens: number;
2305
+ kind: string;
2306
+ model: string;
2307
+ output_tokens: number;
2308
+ provider: string;
2309
+ provider_latency_ms: number;
2310
+ request_count: number;
2311
+ total_tokens: number;
2312
+ unpriced_request_count: number;
2313
+ upstream_model: string | null;
2314
+ usage_unavailable_request_count: number;
2315
+ };
2316
+ UsageTotals: {
2317
+ asr_seconds: number;
2318
+ /** @description True only when every included request has both measured usage and a matching price. */
2319
+ estimated_cost_complete: boolean;
2320
+ /** @description Estimated provider cost in millionths of one US dollar. This is not an invoice amount. */
2321
+ estimated_cost_micro_usd: number;
2322
+ estimated_cost_request_count: number;
2323
+ /** @description Estimated provider cost in US dollars. This is not an invoice amount. */
2324
+ estimated_cost_usd: number;
2325
+ input_tokens: number;
2326
+ output_tokens: number;
2327
+ provider_latency_ms: number;
2328
+ request_count: number;
2329
+ total_tokens: number;
2330
+ unpriced_request_count: number;
2331
+ usage_unavailable_request_count: number;
2332
+ };
2333
+ UsageSummaryResponse: components["schemas"]["UsageDailyResponse"] & {
2334
+ recent_request_logs: {
2335
+ account_key: string;
2336
+ asr_seconds: number | null;
2337
+ created_at: string;
2338
+ error: string | null;
2339
+ /** @description Estimated provider cost in millionths of one US dollar. This is not an invoice amount. */
2340
+ estimated_cost_micro_usd: number | null;
2341
+ /** @enum {string} */
2342
+ estimated_cost_status: "estimated" | "unpriced_model" | "usage_unavailable";
2343
+ /** @description Estimated provider cost in US dollars. This is not an invoice amount. */
2344
+ estimated_cost_usd: number | null;
2345
+ id: string;
2346
+ input_tokens: number | null;
2347
+ /** @enum {string} */
2348
+ kind: "asr" | "llm" | "realtime_asr";
2349
+ model: string;
2350
+ output_tokens: number | null;
2351
+ price_basis: string | null;
2352
+ price_effective_at: string | null;
2353
+ price_input_micro_usd_per_unit: number | null;
2354
+ price_output_micro_usd_per_unit: number | null;
2355
+ price_source: string | null;
2356
+ /** @enum {string|null} */
2357
+ price_unit: "audio_second" | "token" | null;
2358
+ provider: string;
2359
+ provider_latency_ms: number | null;
2360
+ route: string | null;
2361
+ status: number | null;
2362
+ total_tokens: number | null;
2363
+ upstream_model: string | null;
2364
+ }[];
2365
+ };
2366
+ AppStoreInstallationChallengeResponse: {
2367
+ challenge_id: string;
2368
+ dpop_nonce: string;
2369
+ expires_at: string;
2370
+ };
2371
+ AppStoreInstallationChallengeRequest: {
2372
+ app_bundle_id: string;
2373
+ dpop_jkt: string;
2374
+ /** Format: uuid */
2375
+ installation_id: string;
2376
+ /** @enum {string} */
2377
+ purpose: "enrollment" | "token";
2378
+ };
2379
+ EntitledClientTokenResponse: {
2380
+ credential_id: string;
2381
+ dpop_jkt: string;
2382
+ environment: string;
2383
+ expires_at: string;
2384
+ key: string;
2385
+ key_prefix: string;
2386
+ scopes: string[];
2387
+ /** @enum {string} */
2388
+ token_type: "DPoP";
2389
+ };
2390
+ AppStoreInstallationReceiptRequest: {
2391
+ app_bundle_id: string;
2392
+ challenge_id: string;
2393
+ dpop_jkt: string;
2394
+ dpop_proof: string;
2395
+ /** Format: uuid */
2396
+ installation_id: string;
2397
+ metadata: {
2398
+ app_id?: string;
2399
+ app_version?: string;
2400
+ client_version?: string;
2401
+ device_model?: string;
2402
+ os_version?: string;
2403
+ platform?: string;
2404
+ };
2405
+ receipt_data: string;
2406
+ };
2407
+ AppStoreInstallationTokenRequest: {
2408
+ app_bundle_id: string;
2409
+ challenge_id: string;
2410
+ dpop_jkt: string;
2411
+ dpop_proof: string;
2412
+ /** Format: uuid */
2413
+ installation_id: string;
2414
+ };
2415
+ AppAttestChallengeResponse: {
2416
+ challenge: string;
2417
+ challenge_id: string;
2418
+ expires_at: string;
2419
+ };
2420
+ AppAttestChallengeRequest: {
2421
+ app_attest_key_id: string;
2422
+ dpop_jkt: string;
2423
+ /** Format: uuid */
2424
+ installation_id: string;
2425
+ /** @enum {string} */
2426
+ purpose: "attestation" | "token";
2427
+ };
2428
+ AppInstallationAttestationResponse: {
2429
+ attested_at: string;
2430
+ installation_id: string;
2431
+ /** @enum {boolean} */
2432
+ registered: true;
2433
+ };
2434
+ AppInstallationAttestationRequest: {
2435
+ app_attest_key_id: string;
2436
+ attestation_object: string;
2437
+ challenge: string;
2438
+ challenge_id: string;
2439
+ dpop_jkt: string;
2440
+ /** Format: uuid */
2441
+ installation_id: string;
2442
+ metadata: {
2443
+ app_id?: string;
2444
+ app_version?: string;
2445
+ client_version?: string;
2446
+ device_model?: string;
2447
+ os_version?: string;
2448
+ platform?: string;
2449
+ };
2450
+ };
2451
+ EntitledClientTokenRequest: {
2452
+ app_attest_key_id: string;
2453
+ assertion_object: string;
2454
+ challenge: string;
2455
+ challenge_id: string;
2456
+ dpop_jkt: string;
2457
+ /** Format: uuid */
2458
+ installation_id: string;
2459
+ };
2460
+ ProviderInventoryResponse: {
2461
+ catalog: components["schemas"]["ProviderInventoryCatalogModel"][];
2462
+ checked_at: string;
2463
+ drift: {
2464
+ catalog_models_without_provider_match: {
2465
+ id: string;
2466
+ provider: string;
2467
+ reason: string;
2468
+ upstream_model: string;
2469
+ }[];
2470
+ provider_models_not_in_catalog: {
2471
+ /** @enum {string} */
2472
+ kind?: "language" | "transcription";
2473
+ provider: string;
2474
+ transports?: ("batch" | "realtime")[];
2475
+ upstream_model: string;
2476
+ }[];
2477
+ sources_unavailable: {
2478
+ provider: string;
2479
+ reason?: string;
2480
+ /** @enum {string} */
2481
+ status: "skipped" | "failed";
2482
+ }[];
2483
+ };
2484
+ sources: components["schemas"]["ProviderInventorySource"][];
2485
+ };
2486
+ ProviderInventoryCatalogModel: {
2487
+ accepted_options?: {
2488
+ batch?: string[];
2489
+ realtime?: string[];
2490
+ };
2491
+ execution_model: string;
2492
+ execution_provider: string;
2493
+ id: string;
2494
+ /** @enum {string} */
2495
+ kind: "language" | "transcription";
2496
+ provider: string;
2497
+ routes?: {
2498
+ batch?: components["schemas"]["ProviderInventoryAsrRouteSpec"];
2499
+ realtime?: components["schemas"]["ProviderInventoryAsrRouteSpec"];
2500
+ };
2501
+ supported_languages?: string[];
2502
+ transports?: ("batch" | "realtime")[];
2503
+ upstream_model: string;
2504
+ };
2505
+ ProviderInventoryAsrRouteSpec: {
2506
+ accepted_options?: string[];
2507
+ execution_model: string;
2508
+ execution_provider: string;
2509
+ model: string;
2510
+ provider: string;
2511
+ supported_languages?: string[];
2512
+ supports_automatic_language: boolean;
2513
+ upstream_model: string;
2514
+ };
2515
+ ProviderInventorySource: {
2516
+ checked_at: string;
2517
+ models: components["schemas"]["ProviderInventoryModel"][];
2518
+ provider: string;
2519
+ reason?: string;
2520
+ /** @enum {string} */
2521
+ source_kind: "api" | "contract" | "manual";
2522
+ /** @enum {string} */
2523
+ status: "ok" | "skipped" | "failed";
2524
+ url?: string;
2525
+ };
2526
+ ProviderInventoryModel: {
2527
+ display_name?: string;
2528
+ /** @enum {string} */
2529
+ kind?: "language" | "transcription";
2530
+ transports?: ("batch" | "realtime")[];
2531
+ upstream_model: string;
2532
+ };
2533
+ ResourceValidationResponse: {
2534
+ checks: {
2535
+ [key: string]: {
2536
+ detail?: string;
2537
+ ok: boolean;
2538
+ };
2539
+ };
2540
+ ok: boolean;
2541
+ validation_id: string;
2542
+ };
2543
+ CreatedApiKeyResponse: {
2544
+ credential_id: string;
2545
+ /** @enum {string} */
2546
+ environment: "*" | "lab" | "production";
2547
+ expires_at: string | null;
2548
+ key: string;
2549
+ key_prefix: string;
2550
+ /** @enum {string} */
2551
+ kind: "api_key";
2552
+ scopes: ("*" | "admin" | "client_tokens:mint" | "models:read" | "text:write" | "transcriptions:read" | "transcriptions:write" | "usage:read")[];
2553
+ };
2554
+ CreateApiKeyRequest: {
2555
+ /** @enum {string} */
2556
+ environment: "*" | "lab" | "production";
2557
+ label: string;
2558
+ scopes: ("*" | "admin" | "client_tokens:mint" | "models:read" | "text:write" | "transcriptions:read" | "transcriptions:write" | "usage:read")[];
2559
+ user_id?: string;
2560
+ };
2561
+ ApiKeyView: {
2562
+ created_at: string;
2563
+ credential_id: string;
2564
+ dpop_jkt: string | null;
2565
+ environment: string;
2566
+ expires_at: string | null;
2567
+ installation_id: string | null;
2568
+ key_prefix: string | null;
2569
+ kind: string;
2570
+ label: string | null;
2571
+ last_seen_at: string | null;
2572
+ parent_credential_id: string | null;
2573
+ revoked_at: string | null;
2574
+ scopes: ("*" | "admin" | "client_tokens:mint" | "models:read" | "text:write" | "transcriptions:read" | "transcriptions:write" | "usage:read")[];
2575
+ status: string;
2576
+ user_id: string | null;
2577
+ };
2578
+ HostedVoiceEntitlementResponse: {
2579
+ deployment_environment: string;
2580
+ expires_at: string | null;
2581
+ granted_at: string;
2582
+ installation_id: string;
2583
+ product_id: string | null;
2584
+ provider_customer_id: string | null;
2585
+ /** @enum {string} */
2586
+ source: "app_store" | "internal" | "revenuecat";
2587
+ status: string;
2588
+ updated_at: string;
2589
+ };
2590
+ HostedVoiceEntitlementRequest: {
2591
+ /** Format: date-time */
2592
+ expires_at?: string | null;
2593
+ product_id?: string | null;
2594
+ provider_customer_id?: string | null;
2595
+ /** @enum {string} */
2596
+ source: "app_store" | "internal" | "revenuecat";
2597
+ };
2598
+ ClientTokenResponse: {
2599
+ credential_id: string;
2600
+ dpop_jkt: string | null;
2601
+ environment: string;
2602
+ expires_at: string;
2603
+ key: string;
2604
+ key_prefix: string;
2605
+ scopes: ("models:read" | "text:write" | "transcriptions:read" | "transcriptions:write" | "usage:read")[];
2606
+ /** @enum {string} */
2607
+ token_type: "Bearer" | "DPoP";
2608
+ };
2609
+ ClientTokenRequest: {
2610
+ installation_id: string;
2611
+ scopes: ("models:read" | "text:write" | "transcriptions:read" | "transcriptions:write" | "usage:read")[];
2612
+ /**
2613
+ * @default bearer
2614
+ * @enum {string}
2615
+ */
2616
+ token_binding: "bearer" | "dpop";
2617
+ /** @default 3600 */
2618
+ ttl_seconds: number;
2619
+ };
2620
+ };
2621
+ responses: never;
2622
+ parameters: never;
2623
+ requestBodies: never;
2624
+ headers: never;
2625
+ pathItems: never;
2626
+ }
2627
+ export type $defs = Record<string, never>;
2628
+ export type operations = Record<string, never>;