@devicecloud.dev/dcd 4.2.6 → 4.3.1

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.
@@ -3,22 +3,6 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
  export interface paths {
6
- "/uploads/binary": {
7
- parameters: {
8
- query?: never;
9
- header?: never;
10
- path?: never;
11
- cookie?: never;
12
- };
13
- get?: never;
14
- put?: never;
15
- post: operations["UploadsController_createBinary"];
16
- delete?: never;
17
- options?: never;
18
- head?: never;
19
- patch?: never;
20
- trace?: never;
21
- };
22
6
  "/uploads/getBinaryUploadUrl": {
23
7
  parameters: {
24
8
  query?: never;
@@ -147,6 +131,22 @@ export interface paths {
147
131
  patch?: never;
148
132
  trace?: never;
149
133
  };
134
+ "/uploads/list": {
135
+ parameters: {
136
+ query?: never;
137
+ header?: never;
138
+ path?: never;
139
+ cookie?: never;
140
+ };
141
+ get: operations["UploadsController_listUploads"];
142
+ put?: never;
143
+ post?: never;
144
+ delete?: never;
145
+ options?: never;
146
+ head?: never;
147
+ patch?: never;
148
+ trace?: never;
149
+ };
150
150
  "/uploads/{uploadId}": {
151
151
  parameters: {
152
152
  query?: never;
@@ -243,6 +243,22 @@ export interface paths {
243
243
  patch?: never;
244
244
  trace?: never;
245
245
  };
246
+ "/results/{resultId}/html-report-single": {
247
+ parameters: {
248
+ query?: never;
249
+ header?: never;
250
+ path?: never;
251
+ cookie?: never;
252
+ };
253
+ get: operations["ResultsController_downloadSingleHtmlReport"];
254
+ put?: never;
255
+ post?: never;
256
+ delete?: never;
257
+ options?: never;
258
+ head?: never;
259
+ patch?: never;
260
+ trace?: never;
261
+ };
246
262
  "/results/compatibility/data": {
247
263
  parameters: {
248
264
  query?: never;
@@ -327,7 +343,7 @@ export interface paths {
327
343
  patch?: never;
328
344
  trace?: never;
329
345
  };
330
- "/org/increase_credits": {
346
+ "/org/paddle-webhook": {
331
347
  parameters: {
332
348
  query?: never;
333
349
  header?: never;
@@ -336,7 +352,7 @@ export interface paths {
336
352
  };
337
353
  get?: never;
338
354
  put?: never;
339
- post: operations["OrgController_paddleTransactionCompleted"];
355
+ post: operations["OrgController_handlePaddleWebhook"];
340
356
  delete?: never;
341
357
  options?: never;
342
358
  head?: never;
@@ -391,6 +407,54 @@ export interface paths {
391
407
  patch?: never;
392
408
  trace?: never;
393
409
  };
410
+ "/org/subscriptions": {
411
+ parameters: {
412
+ query?: never;
413
+ header?: never;
414
+ path?: never;
415
+ cookie?: never;
416
+ };
417
+ get?: never;
418
+ put?: never;
419
+ post: operations["OrgController_getAllSubscriptions"];
420
+ delete?: never;
421
+ options?: never;
422
+ head?: never;
423
+ patch?: never;
424
+ trace?: never;
425
+ };
426
+ "/org/update-overage-limit": {
427
+ parameters: {
428
+ query?: never;
429
+ header?: never;
430
+ path?: never;
431
+ cookie?: never;
432
+ };
433
+ get?: never;
434
+ put?: never;
435
+ post: operations["OrgController_updateOverageLimit"];
436
+ delete?: never;
437
+ options?: never;
438
+ head?: never;
439
+ patch?: never;
440
+ trace?: never;
441
+ };
442
+ "/org/usage-history": {
443
+ parameters: {
444
+ query?: never;
445
+ header?: never;
446
+ path?: never;
447
+ cookie?: never;
448
+ };
449
+ get?: never;
450
+ put?: never;
451
+ post: operations["OrgController_getUsageHistory"];
452
+ delete?: never;
453
+ options?: never;
454
+ head?: never;
455
+ patch?: never;
456
+ trace?: never;
457
+ };
394
458
  "/frontend/check-domain-saml": {
395
459
  parameters: {
396
460
  query?: never;
@@ -407,6 +471,22 @@ export interface paths {
407
471
  patch?: never;
408
472
  trace?: never;
409
473
  };
474
+ "/frontend/validate-email": {
475
+ parameters: {
476
+ query?: never;
477
+ header?: never;
478
+ path?: never;
479
+ cookie?: never;
480
+ };
481
+ get?: never;
482
+ put?: never;
483
+ post: operations["FrontendController_validateEmail"];
484
+ delete?: never;
485
+ options?: never;
486
+ head?: never;
487
+ patch?: never;
488
+ trace?: never;
489
+ };
410
490
  "/health": {
411
491
  parameters: {
412
492
  query?: never;
@@ -423,6 +503,38 @@ export interface paths {
423
503
  patch?: never;
424
504
  trace?: never;
425
505
  };
506
+ "/billing/create-subscription": {
507
+ parameters: {
508
+ query?: never;
509
+ header?: never;
510
+ path?: never;
511
+ cookie?: never;
512
+ };
513
+ get?: never;
514
+ put?: never;
515
+ post: operations["BillingController_createSubscription"];
516
+ delete?: never;
517
+ options?: never;
518
+ head?: never;
519
+ patch?: never;
520
+ trace?: never;
521
+ };
522
+ "/stats/marketing": {
523
+ parameters: {
524
+ query?: never;
525
+ header?: never;
526
+ path?: never;
527
+ cookie?: never;
528
+ };
529
+ get: operations["StatsController_getMarketingStats"];
530
+ put?: never;
531
+ post?: never;
532
+ delete?: never;
533
+ options?: never;
534
+ head?: never;
535
+ patch?: never;
536
+ trace?: never;
537
+ };
426
538
  }
427
539
  export type webhooks = Record<string, never>;
428
540
  export interface components {
@@ -440,20 +552,16 @@ export interface components {
440
552
  test_file_name: string;
441
553
  test_upload_id: string;
442
554
  };
443
- ICreateBinaryUploadArgs: {
555
+ IGetBinaryUploadUrlArgs: {
444
556
  /**
445
- * Format: binary
446
- * @description This file must either be an apk or a zip file
557
+ * @description Platform for the binary upload (ios or android)
558
+ * @enum {string}
447
559
  */
448
- file: string;
449
- };
450
- ICreateBinaryResponse: {
451
- message: string;
452
- binaryId: string;
453
- };
454
- IGetBinaryUploadUrlArgs: {
455
- platform: Record<string, never>;
456
- fileSize: number;
560
+ platform: "ios" | "android";
561
+ /** @description File size in bytes (optional, for Backblaze upload strategy) */
562
+ fileSize?: number;
563
+ /** @description Whether client uses TUS resumable uploads (true for new clients, undefined/false for legacy) */
564
+ useTus?: boolean;
457
565
  };
458
566
  B2SimpleUpload: {
459
567
  uploadUrl: string;
@@ -485,8 +593,11 @@ export interface components {
485
593
  id: string;
486
594
  /** @description Backblaze upload strategy if configured */
487
595
  b2?: components["schemas"]["B2UploadStrategy"];
596
+ /** @description Signed upload URL token for legacy clients (deprecated) */
597
+ token?: string;
488
598
  };
489
599
  ICheckForExistingUploadArgs: {
600
+ /** @description SHA-256 hash of the binary file */
490
601
  sha: string;
491
602
  };
492
603
  ICheckForExistingUploadResponse: {
@@ -494,8 +605,14 @@ export interface components {
494
605
  exists: boolean;
495
606
  };
496
607
  IFinaliseUploadArgs: {
497
- /** @description Final path where file should be moved to (for TUS uploads) */
498
- finalPath?: string;
608
+ /** @description Unique upload identifier */
609
+ id: string;
610
+ /** @description Storage path for the uploaded file */
611
+ path: string;
612
+ /** @description File metadata (bundle ID, package name, platform) - required for new clients */
613
+ metadata?: Record<string, never>;
614
+ /** @description SHA-256 hash of the file - required for new clients */
615
+ sha?: string;
499
616
  /**
500
617
  * @description Whether the Supabase upload was successful
501
618
  * @default true
@@ -506,10 +623,10 @@ export interface components {
506
623
  * @default false
507
624
  */
508
625
  backblazeSuccess: boolean;
509
- id: string;
510
- path: string;
511
- metadata: Record<string, never>;
512
- sha: string;
626
+ /** @description Whether client uses TUS resumable uploads (true for new clients, undefined/false for legacy) */
627
+ useTus?: boolean;
628
+ /** @description File size in bytes */
629
+ bytes?: number;
513
630
  };
514
631
  IFinaliseUploadResponse: Record<string, never>;
515
632
  IFinishLargeFileArgs: {
@@ -537,31 +654,33 @@ export interface components {
537
654
  * @description This file must be a zip file
538
655
  */
539
656
  file: string;
657
+ testFileNames?: string;
658
+ sequentialFlows?: string;
540
659
  /** @enum {string} */
541
660
  androidApiLevel?: "29" | "30" | "31" | "32" | "33" | "34" | "35" | "36";
542
661
  /** @enum {string} */
543
662
  androidDevice?: "pixel-6" | "pixel-6-pro" | "pixel-7" | "pixel-7-pro" | "generic-tablet";
544
663
  apiKey?: string;
545
664
  apiUrl?: string;
665
+ appBinaryId: string;
546
666
  appFile?: string;
667
+ env: string;
547
668
  /** @enum {string} */
548
669
  iOSVersion?: "16" | "17" | "18" | "26";
549
670
  /** @enum {string} */
550
- iOSDevice?: "iphone-14" | "iphone-14-pro" | "iphone-15" | "iphone-15-pro" | "iphone-16" | "iphone-16-plus" | "iphone-16-pro" | "iphone-16-pro-max" | "ipad-pro-6th-gen";
671
+ iOSDevice?: "iphone-14" | "iphone-15" | "iphone-16" | "iphone-16-plus" | "iphone-16-pro" | "iphone-16-pro-max" | "ipad-pro-6th-gen";
551
672
  platform?: string;
673
+ googlePlay: boolean;
674
+ config: string;
675
+ name?: string;
552
676
  /** @enum {string} */
553
677
  runnerType?: "m4" | "m1" | "default" | "gpu1" | "cpu1";
554
678
  metadata?: string;
555
679
  workspaceConfig?: string;
556
680
  flowMetadata?: string;
557
681
  testFileOverrides?: string;
558
- testFileNames?: string;
559
- sequentialFlows?: string;
560
- appBinaryId: string;
561
- env: string;
562
- googlePlay: boolean;
563
- config: string;
564
- name: string;
682
+ /** @description SHA-256 hash of the flow ZIP file */
683
+ sha?: string;
565
684
  };
566
685
  IRetryTestArgs: {
567
686
  resultId: number;
@@ -592,6 +711,18 @@ export interface components {
592
711
  */
593
712
  name: string;
594
713
  };
714
+ AcceptInviteDto: {
715
+ /**
716
+ * @description Organization ID
717
+ * @example 1
718
+ */
719
+ orgId: string;
720
+ /**
721
+ * @description User email address
722
+ * @example user@example.com
723
+ */
724
+ email: string;
725
+ };
595
726
  };
596
727
  responses: never;
597
728
  parameters: never;
@@ -601,44 +732,6 @@ export interface components {
601
732
  }
602
733
  export type $defs = Record<string, never>;
603
734
  export interface operations {
604
- UploadsController_createBinary: {
605
- parameters: {
606
- query?: never;
607
- header: {
608
- "x-app-api-key": string;
609
- };
610
- path?: never;
611
- cookie?: never;
612
- };
613
- requestBody: {
614
- content: {
615
- "multipart/form-data": components["schemas"]["ICreateBinaryUploadArgs"];
616
- };
617
- };
618
- responses: {
619
- /**
620
- * @description The record has been successfully created.
621
- * @example {
622
- * "message": "Binary uploaded successfully",
623
- * "binaryId": "binary-123-abc-def"
624
- * }
625
- */
626
- 201: {
627
- headers: {
628
- [name: string]: unknown;
629
- };
630
- content: {
631
- /**
632
- * @example {
633
- * "message": "Binary uploaded successfully",
634
- * "binaryId": "binary-123-abc-def"
635
- * }
636
- */
637
- "application/json": components["schemas"]["ICreateBinaryResponse"];
638
- };
639
- };
640
- };
641
- };
642
735
  UploadsController_getBinaryUploadUrl: {
643
736
  parameters: {
644
737
  query?: never;
@@ -871,6 +964,64 @@ export interface operations {
871
964
  };
872
965
  };
873
966
  };
967
+ UploadsController_listUploads: {
968
+ parameters: {
969
+ query?: {
970
+ /** @description Filter by upload name (supports * wildcard) */
971
+ name?: string;
972
+ /** @description Filter uploads created on or after this date (ISO 8601) */
973
+ from?: string;
974
+ /** @description Filter uploads created on or before this date (ISO 8601) */
975
+ to?: string;
976
+ /** @description Maximum number of uploads to return (default: 20) */
977
+ limit?: number;
978
+ /** @description Number of uploads to skip (default: 0) */
979
+ offset?: number;
980
+ };
981
+ header: {
982
+ "x-app-api-key": string;
983
+ };
984
+ path?: never;
985
+ cookie?: never;
986
+ };
987
+ requestBody?: never;
988
+ responses: {
989
+ /** @description List of flow uploads. Use GET /uploads/status for detailed test results. */
990
+ 200: {
991
+ headers: {
992
+ [name: string]: unknown;
993
+ };
994
+ content: {
995
+ /**
996
+ * @example {
997
+ * "uploads": [
998
+ * {
999
+ * "id": "upload-123",
1000
+ * "name": "Test Upload",
1001
+ * "created_at": "2024-01-01T00:00:00Z",
1002
+ * "consoleUrl": "https://console.devicecloud.dev/results/upload-123"
1003
+ * }
1004
+ * ],
1005
+ * "total": 1,
1006
+ * "limit": 20,
1007
+ * "offset": 0
1008
+ * }
1009
+ */
1010
+ "application/json": {
1011
+ uploads?: {
1012
+ id?: string;
1013
+ name?: string | null;
1014
+ created_at?: string;
1015
+ consoleUrl?: string;
1016
+ }[];
1017
+ total?: number;
1018
+ limit?: number;
1019
+ offset?: number;
1020
+ };
1021
+ };
1022
+ };
1023
+ };
1024
+ };
874
1025
  UploadsController_deleteUpload: {
875
1026
  parameters: {
876
1027
  query?: never;
@@ -1013,7 +1164,31 @@ export interface operations {
1013
1164
  };
1014
1165
  requestBody?: never;
1015
1166
  responses: {
1016
- /** @description Download combined HTML test report (report.html) for the upload */
1167
+ /** @description Download combined HTML test report with assets (report.zip) for the upload */
1168
+ 200: {
1169
+ headers: {
1170
+ [name: string]: unknown;
1171
+ };
1172
+ content: {
1173
+ "application/json": string;
1174
+ };
1175
+ };
1176
+ };
1177
+ };
1178
+ ResultsController_downloadSingleHtmlReport: {
1179
+ parameters: {
1180
+ query?: never;
1181
+ header: {
1182
+ "x-app-api-key": string;
1183
+ };
1184
+ path: {
1185
+ resultId: string;
1186
+ };
1187
+ cookie?: never;
1188
+ };
1189
+ requestBody?: never;
1190
+ responses: {
1191
+ /** @description Download HTML test report with assets (report.zip) for a single result */
1017
1192
  200: {
1018
1193
  headers: {
1019
1194
  [name: string]: unknown;
@@ -1049,17 +1224,6 @@ export interface operations {
1049
1224
  * "iphone-14": {
1050
1225
  * "name": "iPhone 14",
1051
1226
  * "versions": [
1052
- * "15",
1053
- * "16",
1054
- * "17",
1055
- * "18"
1056
- * ],
1057
- * "deprecated": false
1058
- * },
1059
- * "iphone-14-pro": {
1060
- * "name": "iPhone 14 Pro",
1061
- * "versions": [
1062
- * "15",
1063
1227
  * "16",
1064
1228
  * "17",
1065
1229
  * "18"
@@ -1069,77 +1233,47 @@ export interface operations {
1069
1233
  * "iphone-15": {
1070
1234
  * "name": "iPhone 15",
1071
1235
  * "versions": [
1072
- * "16",
1073
- * "17",
1074
- * "18"
1075
- * ],
1076
- * "deprecated": false
1077
- * },
1078
- * "iphone-15-pro": {
1079
- * "name": "iPhone 15 Pro",
1080
- * "versions": [
1081
- * "16",
1082
- * "17",
1083
- * "18"
1236
+ * "17"
1084
1237
  * ],
1085
1238
  * "deprecated": false
1086
1239
  * },
1087
1240
  * "iphone-16": {
1088
1241
  * "name": "iPhone 16",
1089
1242
  * "versions": [
1090
- * "17",
1091
- * "18"
1243
+ * "18",
1244
+ * "26"
1092
1245
  * ],
1093
1246
  * "deprecated": false
1094
1247
  * },
1095
1248
  * "iphone-16-plus": {
1096
1249
  * "name": "iPhone 16 Plus",
1097
1250
  * "versions": [
1098
- * "17",
1099
- * "18"
1251
+ * "18",
1252
+ * "26"
1100
1253
  * ],
1101
1254
  * "deprecated": false
1102
1255
  * },
1103
1256
  * "iphone-16-pro": {
1104
1257
  * "name": "iPhone 16 Pro",
1105
1258
  * "versions": [
1106
- * "17",
1107
- * "18"
1259
+ * "18",
1260
+ * "26"
1108
1261
  * ],
1109
1262
  * "deprecated": false
1110
1263
  * },
1111
1264
  * "iphone-16-pro-max": {
1112
1265
  * "name": "iPhone 16 Pro Max",
1113
1266
  * "versions": [
1114
- * "17",
1115
- * "18"
1116
- * ],
1117
- * "deprecated": false
1118
- * },
1119
- * "iphone-13": {
1120
- * "name": "iPhone 13",
1121
- * "versions": [
1122
- * "15",
1123
- * "16",
1124
- * "17"
1125
- * ],
1126
- * "deprecated": true
1127
- * },
1128
- * "ipad-air": {
1129
- * "name": "iPad Air",
1130
- * "versions": [
1131
- * "15",
1132
- * "16",
1133
- * "17"
1267
+ * "18",
1268
+ * "26"
1134
1269
  * ],
1135
1270
  * "deprecated": false
1136
1271
  * },
1137
1272
  * "ipad-pro-6th-gen": {
1138
1273
  * "name": "iPad Pro (6th gen)",
1139
1274
  * "versions": [
1140
- * "16",
1141
- * "17",
1142
- * "18"
1275
+ * "18",
1276
+ * "26"
1143
1277
  * ],
1144
1278
  * "deprecated": false
1145
1279
  * }
@@ -1152,53 +1286,50 @@ export interface operations {
1152
1286
  * "30",
1153
1287
  * "31",
1154
1288
  * "32",
1155
- * "33"
1289
+ * "33",
1290
+ * "34",
1291
+ * "35",
1292
+ * "36"
1156
1293
  * ],
1157
1294
  * "deprecated": false
1158
1295
  * },
1159
1296
  * "pixel-6-pro": {
1160
1297
  * "name": "Pixel 6 Pro",
1161
1298
  * "apiLevels": [
1162
- * "29",
1163
- * "30",
1164
- * "31",
1165
- * "32",
1166
- * "33"
1299
+ * "33",
1300
+ * "34",
1301
+ * "35",
1302
+ * "36"
1167
1303
  * ],
1168
1304
  * "deprecated": false
1169
1305
  * },
1170
1306
  * "pixel-7": {
1171
1307
  * "name": "Pixel 7",
1172
1308
  * "apiLevels": [
1173
- * "30",
1174
- * "31",
1175
- * "32",
1176
1309
  * "33",
1177
- * "34"
1310
+ * "34",
1311
+ * "35",
1312
+ * "36"
1178
1313
  * ],
1179
1314
  * "deprecated": false
1180
1315
  * },
1181
1316
  * "pixel-7-pro": {
1182
1317
  * "name": "Pixel 7 Pro",
1183
1318
  * "apiLevels": [
1184
- * "30",
1185
- * "31",
1186
- * "32",
1187
1319
  * "33",
1188
- * "34"
1320
+ * "34",
1321
+ * "35",
1322
+ * "36"
1189
1323
  * ],
1190
1324
  * "deprecated": false
1191
1325
  * },
1192
1326
  * "generic-tablet": {
1193
1327
  * "name": "Generic Tablet",
1194
1328
  * "apiLevels": [
1195
- * "29",
1196
- * "30",
1197
- * "31",
1198
- * "32",
1199
1329
  * "33",
1200
1330
  * "34",
1201
- * "35"
1331
+ * "35",
1332
+ * "36"
1202
1333
  * ],
1203
1334
  * "deprecated": false
1204
1335
  * }
@@ -1207,22 +1338,18 @@ export interface operations {
1207
1338
  * "pixel-6": {
1208
1339
  * "name": "Pixel 6 (Google Play)",
1209
1340
  * "apiLevels": [
1210
- * "29",
1211
- * "30",
1212
- * "31",
1213
- * "32",
1214
- * "33"
1341
+ * "34",
1342
+ * "35",
1343
+ * "36"
1215
1344
  * ],
1216
1345
  * "deprecated": false
1217
1346
  * },
1218
1347
  * "pixel-7": {
1219
1348
  * "name": "Pixel 7 (Google Play)",
1220
1349
  * "apiLevels": [
1221
- * "30",
1222
- * "31",
1223
- * "32",
1224
- * "33",
1225
- * "34"
1350
+ * "34",
1351
+ * "35",
1352
+ * "36"
1226
1353
  * ],
1227
1354
  * "deprecated": false
1228
1355
  * }
@@ -1239,10 +1366,11 @@ export interface operations {
1239
1366
  * "2.0.2",
1240
1367
  * "2.0.3",
1241
1368
  * "2.0.4",
1242
- * "2.0.9"
1369
+ * "2.0.9",
1370
+ * "2.1.0"
1243
1371
  * ],
1244
1372
  * "defaultVersion": "1.41.0",
1245
- * "latestVersion": "2.0.9"
1373
+ * "latestVersion": "2.1.0"
1246
1374
  * }
1247
1375
  * }
1248
1376
  * }
@@ -1436,7 +1564,7 @@ export interface operations {
1436
1564
  };
1437
1565
  };
1438
1566
  };
1439
- OrgController_paddleTransactionCompleted: {
1567
+ OrgController_handlePaddleWebhook: {
1440
1568
  parameters: {
1441
1569
  query?: never;
1442
1570
  header: {
@@ -1447,7 +1575,7 @@ export interface operations {
1447
1575
  };
1448
1576
  requestBody?: never;
1449
1577
  responses: {
1450
- /** @description Success. */
1578
+ /** @description Paddle webhook handler. */
1451
1579
  201: {
1452
1580
  headers: {
1453
1581
  [name: string]: unknown;
@@ -1517,6 +1645,32 @@ export interface operations {
1517
1645
  };
1518
1646
  };
1519
1647
  OrgController_acceptInvite: {
1648
+ parameters: {
1649
+ query?: never;
1650
+ header: {
1651
+ authorization: string;
1652
+ };
1653
+ path?: never;
1654
+ cookie?: never;
1655
+ };
1656
+ requestBody: {
1657
+ content: {
1658
+ "application/json": components["schemas"]["AcceptInviteDto"];
1659
+ };
1660
+ };
1661
+ responses: {
1662
+ /** @description Team invite accepted successfully. */
1663
+ 201: {
1664
+ headers: {
1665
+ [name: string]: unknown;
1666
+ };
1667
+ content: {
1668
+ "application/json": boolean;
1669
+ };
1670
+ };
1671
+ };
1672
+ };
1673
+ OrgController_getAllSubscriptions: {
1520
1674
  parameters: {
1521
1675
  query?: never;
1522
1676
  header: {
@@ -1529,18 +1683,80 @@ export interface operations {
1529
1683
  content: {
1530
1684
  "application/json": {
1531
1685
  orgId: string;
1532
- email: string;
1533
1686
  };
1534
1687
  };
1535
1688
  };
1536
1689
  responses: {
1537
- /** @description Team invite accepted successfully. */
1690
+ /** @description All subscription data fetched successfully. */
1538
1691
  201: {
1539
1692
  headers: {
1540
1693
  [name: string]: unknown;
1541
1694
  };
1542
1695
  content: {
1543
- "application/json": boolean;
1696
+ "application/json": Record<string, never>;
1697
+ };
1698
+ };
1699
+ };
1700
+ };
1701
+ OrgController_updateOverageLimit: {
1702
+ parameters: {
1703
+ query?: never;
1704
+ header: {
1705
+ "x-app-api-key": string;
1706
+ };
1707
+ path?: never;
1708
+ cookie?: never;
1709
+ };
1710
+ requestBody: {
1711
+ content: {
1712
+ "application/json": {
1713
+ orgId: string;
1714
+ overageLimit: number;
1715
+ };
1716
+ };
1717
+ };
1718
+ responses: {
1719
+ /** @description Overage limit updated successfully. */
1720
+ 201: {
1721
+ headers: {
1722
+ [name: string]: unknown;
1723
+ };
1724
+ content: {
1725
+ "application/json": Record<string, never>;
1726
+ };
1727
+ };
1728
+ };
1729
+ };
1730
+ OrgController_getUsageHistory: {
1731
+ parameters: {
1732
+ query?: never;
1733
+ header: {
1734
+ "x-app-api-key": string;
1735
+ };
1736
+ path?: never;
1737
+ cookie?: never;
1738
+ };
1739
+ requestBody: {
1740
+ content: {
1741
+ "application/json": {
1742
+ orgId: string;
1743
+ /** @enum {string} */
1744
+ format?: "json" | "csv";
1745
+ /** Format: date-time */
1746
+ startDate?: string;
1747
+ /** Format: date-time */
1748
+ endDate?: string;
1749
+ };
1750
+ };
1751
+ };
1752
+ responses: {
1753
+ /** @description Usage history fetched successfully. */
1754
+ 201: {
1755
+ headers: {
1756
+ [name: string]: unknown;
1757
+ };
1758
+ content: {
1759
+ "application/json": unknown[];
1544
1760
  };
1545
1761
  };
1546
1762
  };
@@ -1592,6 +1808,54 @@ export interface operations {
1592
1808
  };
1593
1809
  };
1594
1810
  };
1811
+ FrontendController_validateEmail: {
1812
+ parameters: {
1813
+ query?: never;
1814
+ header?: never;
1815
+ path?: never;
1816
+ cookie?: never;
1817
+ };
1818
+ /** @description Email address to validate */
1819
+ requestBody: {
1820
+ content: {
1821
+ "application/json": {
1822
+ /** @example user@example.com */
1823
+ email: string;
1824
+ };
1825
+ };
1826
+ };
1827
+ responses: {
1828
+ /** @description Email validation result */
1829
+ 200: {
1830
+ headers: {
1831
+ [name: string]: unknown;
1832
+ };
1833
+ content: {
1834
+ "application/json": {
1835
+ valid?: boolean;
1836
+ reason?: string;
1837
+ };
1838
+ };
1839
+ };
1840
+ 201: {
1841
+ headers: {
1842
+ [name: string]: unknown;
1843
+ };
1844
+ content?: never;
1845
+ };
1846
+ /** @description Bad request - invalid email or API error */
1847
+ 400: {
1848
+ headers: {
1849
+ [name: string]: unknown;
1850
+ };
1851
+ content: {
1852
+ "application/json": {
1853
+ error?: string;
1854
+ };
1855
+ };
1856
+ };
1857
+ };
1858
+ };
1595
1859
  HealthController_health: {
1596
1860
  parameters: {
1597
1861
  query?: never;
@@ -1620,4 +1884,64 @@ export interface operations {
1620
1884
  };
1621
1885
  };
1622
1886
  };
1887
+ BillingController_createSubscription: {
1888
+ parameters: {
1889
+ query?: never;
1890
+ header?: never;
1891
+ path?: never;
1892
+ cookie?: never;
1893
+ };
1894
+ requestBody: {
1895
+ content: {
1896
+ "application/json": {
1897
+ items: {
1898
+ price_id?: string;
1899
+ quantity?: number;
1900
+ }[];
1901
+ customer_email?: string;
1902
+ custom_data?: {
1903
+ orgId?: string;
1904
+ userId?: string;
1905
+ };
1906
+ billing_details?: {
1907
+ enable_checkout?: boolean;
1908
+ };
1909
+ };
1910
+ };
1911
+ };
1912
+ responses: {
1913
+ /** @description Subscription created successfully. */
1914
+ 201: {
1915
+ headers: {
1916
+ [name: string]: unknown;
1917
+ };
1918
+ content: {
1919
+ "application/json": Record<string, never>;
1920
+ };
1921
+ };
1922
+ };
1923
+ };
1924
+ StatsController_getMarketingStats: {
1925
+ parameters: {
1926
+ query?: never;
1927
+ header?: never;
1928
+ path?: never;
1929
+ cookie?: never;
1930
+ };
1931
+ requestBody?: never;
1932
+ responses: {
1933
+ /** @description Public marketing statistics */
1934
+ 200: {
1935
+ headers: {
1936
+ [name: string]: unknown;
1937
+ };
1938
+ content: {
1939
+ "application/json": {
1940
+ /** @example 150000 */
1941
+ total_count?: number;
1942
+ };
1943
+ };
1944
+ };
1945
+ };
1946
+ };
1623
1947
  }