@globalscoutme/api-client 1.1.1 → 1.1.3

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.
@@ -296,6 +296,17 @@ export type PlayerSearchResultDto = {
296
296
  page: number;
297
297
  pageSize: number;
298
298
  };
299
+ export type PlayerReportViewDto = {
300
+ technicalPillar: string;
301
+ physicalPillar: string;
302
+ tacticalPillar: string;
303
+ mentalPillar: string;
304
+ };
305
+ export type PlayerReportResponseDto = {
306
+ reportReferenceId: string;
307
+ generatedAt?: string | null;
308
+ scouterView: PlayerReportViewDto;
309
+ };
299
310
  export type PlayerClubDto = {
300
311
  clubName: string;
301
312
  /**
@@ -400,6 +411,254 @@ export type PlayerByIdDto = {
400
411
  */
401
412
  phone?: string | null;
402
413
  };
414
+ export type BillingProviderProductDto = {
415
+ provider: string;
416
+ environment: string;
417
+ surface: string;
418
+ providerProductType: string;
419
+ productId?: string | null;
420
+ priceId?: string | null;
421
+ basePlanId?: string | null;
422
+ offerId?: string | null;
423
+ lookupKey?: string | null;
424
+ displayName?: string | null;
425
+ };
426
+ export type BillingPlanDto = {
427
+ id: string;
428
+ code: string;
429
+ name: string;
430
+ billingInterval: string;
431
+ price: number;
432
+ currency: string;
433
+ trialDays?: number | null;
434
+ providerProducts: Array<BillingProviderProductDto>;
435
+ };
436
+ export type BillingPlansResponseDto = {
437
+ plans: Array<BillingPlanDto>;
438
+ };
439
+ export type BillingProductDto = {
440
+ id: string;
441
+ code: string;
442
+ name: string;
443
+ productType: string;
444
+ fulfillmentType: string;
445
+ purchasePolicy: string;
446
+ price: number;
447
+ currency: string;
448
+ providerProducts: Array<BillingProviderProductDto>;
449
+ };
450
+ export type BillingProductsResponseDto = {
451
+ products: Array<BillingProductDto>;
452
+ };
453
+ export type BillingManageActionDto = {
454
+ type: {
455
+ [key: string]: unknown;
456
+ };
457
+ url?: string | null;
458
+ };
459
+ export type BillingEntitlementResponseDto = {
460
+ hasAccess: boolean;
461
+ status: string;
462
+ provider?: string | null;
463
+ plan?: BillingPlanDto | null;
464
+ currentPeriodEnd?: string | null;
465
+ gracePeriodUntil?: string | null;
466
+ blockingReason?: string | null;
467
+ manageAction: BillingManageActionDto;
468
+ };
469
+ export type RedeemAccessCodeDto = {
470
+ code: string;
471
+ };
472
+ export type ReportPurchaseDto = {
473
+ id: string;
474
+ paymentStatus: string;
475
+ fulfillmentStatus: string;
476
+ failureReason?: string | null;
477
+ reportReferenceId?: string | null;
478
+ generationStartedAt?: string | null;
479
+ generationFailedAt?: string | null;
480
+ fulfilledAt?: string | null;
481
+ createdAt?: string | null;
482
+ updatedAt?: string | null;
483
+ };
484
+ export type ReportPrerequisiteDto = {
485
+ code: string;
486
+ label: string;
487
+ satisfied: boolean;
488
+ blocking: boolean;
489
+ };
490
+ export type ReportPurchaseStatusResponseDto = {
491
+ purchase?: ReportPurchaseDto | null;
492
+ prerequisites: Array<ReportPrerequisiteDto>;
493
+ };
494
+ export type AiReportViewDto = {
495
+ technicalPillar: string;
496
+ physicalPillar: string;
497
+ tacticalPillar: string;
498
+ mentalPillar: string;
499
+ };
500
+ export type AiReportClipTargetDto = {
501
+ timestampS: number;
502
+ tapXPct: number;
503
+ tapYPct: number;
504
+ };
505
+ export type AiReportClipDto = {
506
+ clipIndex: number;
507
+ storagePath?: string | null;
508
+ target: AiReportClipTargetDto;
509
+ };
510
+ export type AiReportMetaDto = {
511
+ schemaVersion?: string | null;
512
+ promptVersion?: string | null;
513
+ llmProvider?: string | null;
514
+ llmModel?: string | null;
515
+ processingTimeMs?: number | null;
516
+ clips: Array<AiReportClipDto>;
517
+ };
518
+ export type AiReportResultResponseDto = {
519
+ purchaseId: string;
520
+ reportReferenceId: string;
521
+ status: string;
522
+ generatedAt?: string | null;
523
+ playerView: AiReportViewDto;
524
+ scouterView: AiReportViewDto;
525
+ meta: AiReportMetaDto;
526
+ };
527
+ export type ReportPlayerCandidateTargetDto = {
528
+ timestampS: number;
529
+ tapXPct: number;
530
+ tapYPct: number;
531
+ };
532
+ export type StartReportGenerationClipDto = {
533
+ videoId: string;
534
+ target: ReportPlayerCandidateTargetDto;
535
+ };
536
+ export type StartReportGenerationRequestDto = {
537
+ clips: Array<StartReportGenerationClipDto>;
538
+ };
539
+ export type ReportGenerationStartResponseDto = {
540
+ purchaseId: string;
541
+ fulfillmentStatus: string;
542
+ prerequisites: Array<ReportPrerequisiteDto>;
543
+ };
544
+ export type ReportPlayerCandidatesRequestDto = {
545
+ videoIds?: Array<string>;
546
+ jerseyNumberHint?: string;
547
+ };
548
+ export type ReportPlayerCandidateBboxDto = {
549
+ xPct: number;
550
+ yPct: number;
551
+ widthPct: number;
552
+ heightPct: number;
553
+ };
554
+ export type ReportPlayerCandidateDto = {
555
+ candidateId: string;
556
+ rank: number;
557
+ confidence: number;
558
+ target: ReportPlayerCandidateTargetDto;
559
+ bbox: ReportPlayerCandidateBboxDto;
560
+ frameWidthPx?: number | null;
561
+ frameHeightPx?: number | null;
562
+ framePreviewDataUrl?: string | null;
563
+ playerCropDataUrl?: string | null;
564
+ label: string;
565
+ reasonCodes: Array<string>;
566
+ };
567
+ export type ReportVideoCandidatesDto = {
568
+ videoId: string;
569
+ title: string;
570
+ thumbnailUrl?: string | null;
571
+ fallbackRequired: boolean;
572
+ fallbackReason: string;
573
+ candidates: Array<ReportPlayerCandidateDto>;
574
+ };
575
+ export type ReportPlayerCandidatesResponseDto = {
576
+ videos: Array<ReportVideoCandidatesDto>;
577
+ };
578
+ export type ProviderCheckoutRequestDto = {
579
+ productCode?: string;
580
+ returnUrl?: string;
581
+ };
582
+ export type StorePurchaseSyncRequestDto = {
583
+ productId: string;
584
+ basePlanId?: string;
585
+ offerId?: string;
586
+ transactionId?: string;
587
+ purchaseToken?: string;
588
+ signedTransactionInfo?: string;
589
+ packageName?: string;
590
+ };
591
+ export type NotificationPreferencesDto = {
592
+ pushEnabled: boolean;
593
+ offersEnabled: boolean;
594
+ messagesEnabled: boolean;
595
+ };
596
+ export type UpdateNotificationPreferencesDto = {
597
+ pushEnabled?: boolean;
598
+ offersEnabled?: boolean;
599
+ messagesEnabled?: boolean;
600
+ };
601
+ export type RegisterPushDeviceDto = {
602
+ fcmToken: string;
603
+ platform: 'ios' | 'android';
604
+ installId: string;
605
+ appVersion?: string;
606
+ buildNumber?: string;
607
+ locale?: string;
608
+ timezone?: string;
609
+ };
610
+ export type PushDeviceRegistrationResultDto = {
611
+ pushEnabled: boolean;
612
+ offersEnabled: boolean;
613
+ messagesEnabled: boolean;
614
+ id: string;
615
+ };
616
+ export type DeactivatePushDeviceDto = {
617
+ fcmToken: string;
618
+ };
619
+ export type OkDto = {
620
+ ok: boolean;
621
+ };
622
+ export type CreateUploadUrlDto = {
623
+ /**
624
+ * Target storage bucket
625
+ */
626
+ bucket: 'videos' | 'avatars' | 'documents';
627
+ /**
628
+ * MIME type of the file being uploaded
629
+ */
630
+ contentType: string;
631
+ /**
632
+ * Size of the file in bytes
633
+ */
634
+ sizeBytes: number;
635
+ /**
636
+ * Optional filename hint (not used for path)
637
+ */
638
+ filenameHint?: string;
639
+ };
640
+ export type UploadUrlResponseDto = {
641
+ /**
642
+ * Signed URL the client PUTs raw bytes to
643
+ */
644
+ uploadUrl: string;
645
+ /**
646
+ * Signed-upload token (opaque)
647
+ */
648
+ token: string;
649
+ /**
650
+ * Storage path (persist this as video_path / file_path)
651
+ */
652
+ path: string;
653
+ /**
654
+ * Bucket the upload targets
655
+ */
656
+ bucket: string;
657
+ /**
658
+ * URL validity window in seconds
659
+ */
660
+ expiresIn: number;
661
+ };
403
662
  export type PreviousClubDto = {
404
663
  /**
405
664
  * Club name
@@ -715,14 +974,43 @@ export type UserAchievementResponseDto = {
715
974
  export type BodyMeasurementResponseDto = {
716
975
  id: string;
717
976
  userId: string;
977
+ measurementDate?: string | null;
978
+ imageUrl?: string | null;
718
979
  imagePath?: string | null;
719
- processingStatus?: string | null;
720
980
  selfReportedHeightCm?: number | null;
721
981
  wingspanToSkeletonRatio?: number | null;
722
982
  legToTorsoRatio?: number | null;
723
983
  femurToTibiaRatio?: number | null;
724
984
  shoulderToHipRatio?: number | null;
725
985
  qualityStatus?: string | null;
986
+ analysisReliability?: string | null;
987
+ metricStatus?: {
988
+ [key: string]: unknown;
989
+ };
990
+ poseLandmarksContext?: {
991
+ [key: string]: unknown;
992
+ };
993
+ heightCm?: number | null;
994
+ shoulderWidthCm?: number | null;
995
+ hipWidthCm?: number | null;
996
+ reachSpanCm?: number | null;
997
+ apeIndex?: number | null;
998
+ shoulderToHip?: number | null;
999
+ legToTorso?: number | null;
1000
+ headCircumferenceCm?: number | null;
1001
+ neckCircumferenceCm?: number | null;
1002
+ chestCircumferenceCm?: number | null;
1003
+ waistCircumferenceCm?: number | null;
1004
+ hipCircumferenceCm?: number | null;
1005
+ footLengthCm?: number | null;
1006
+ footWidthCm?: number | null;
1007
+ warnings?: Array<string>;
1008
+ isUsable?: boolean;
1009
+ needsRetake?: boolean;
1010
+ source?: {
1011
+ [key: string]: unknown;
1012
+ };
1013
+ processingStatus?: string | null;
726
1014
  createdAt?: string | null;
727
1015
  };
728
1016
  export type CreateBodyMeasurementDto = {
@@ -730,10 +1018,57 @@ export type CreateBodyMeasurementDto = {
730
1018
  * Storage path of the body image
731
1019
  */
732
1020
  imagePath?: string;
1021
+ /**
1022
+ * Image URL or path
1023
+ */
1024
+ imageUrl?: string;
733
1025
  /**
734
1026
  * Self-reported height in centimetres
735
1027
  */
736
1028
  selfReportedHeightCm?: number;
1029
+ /**
1030
+ * Head circumference in centimetres
1031
+ */
1032
+ headCircumferenceCm?: number;
1033
+ /**
1034
+ * Neck circumference in centimetres
1035
+ */
1036
+ neckCircumferenceCm?: number;
1037
+ /**
1038
+ * Chest circumference in centimetres
1039
+ */
1040
+ chestCircumferenceCm?: number;
1041
+ /**
1042
+ * Waist circumference in centimetres
1043
+ */
1044
+ waistCircumferenceCm?: number;
1045
+ /**
1046
+ * Hip circumference in centimetres
1047
+ */
1048
+ hipCircumferenceCm?: number;
1049
+ /**
1050
+ * Foot length in centimetres
1051
+ */
1052
+ footLengthCm?: number;
1053
+ /**
1054
+ * Foot width in centimetres
1055
+ */
1056
+ footWidthCm?: number;
1057
+ };
1058
+ export type CmjMeasurementResponseDto = {
1059
+ id: string;
1060
+ userId: string;
1061
+ measurementDate?: string | null;
1062
+ verticalJumpCm?: number | null;
1063
+ jumpHeightCmBest?: number | null;
1064
+ qualityTier?: string | null;
1065
+ retakeReason?: string | null;
1066
+ captureReliability?: string | null;
1067
+ confidenceLabel?: string | null;
1068
+ isUsable?: boolean;
1069
+ needsRetake?: boolean;
1070
+ source?: string;
1071
+ createdAt?: string | null;
737
1072
  };
738
1073
  export type ChallengeCatalogDto = {
739
1074
  id: string;
@@ -995,37 +1330,6 @@ export type SendMessageDto = {
995
1330
  */
996
1331
  body: string;
997
1332
  };
998
- export type NotificationPreferencesDto = {
999
- pushEnabled: boolean;
1000
- offersEnabled: boolean;
1001
- messagesEnabled: boolean;
1002
- };
1003
- export type UpdateNotificationPreferencesDto = {
1004
- pushEnabled?: boolean;
1005
- offersEnabled?: boolean;
1006
- messagesEnabled?: boolean;
1007
- };
1008
- export type RegisterPushDeviceDto = {
1009
- fcmToken: string;
1010
- platform: 'ios' | 'android';
1011
- installId: string;
1012
- appVersion?: string;
1013
- buildNumber?: string;
1014
- locale?: string;
1015
- timezone?: string;
1016
- };
1017
- export type PushDeviceRegistrationResultDto = {
1018
- pushEnabled: boolean;
1019
- offersEnabled: boolean;
1020
- messagesEnabled: boolean;
1021
- id: string;
1022
- };
1023
- export type DeactivatePushDeviceDto = {
1024
- fcmToken: string;
1025
- };
1026
- export type OkDto = {
1027
- ok: boolean;
1028
- };
1029
1333
  export type RegisterClubDto = {
1030
1334
  /**
1031
1335
  * Club name
@@ -1210,46 +1514,6 @@ export type UpdateOrganizationDto = {
1210
1514
  */
1211
1515
  phone?: string;
1212
1516
  };
1213
- export type CreateUploadUrlDto = {
1214
- /**
1215
- * Target storage bucket
1216
- */
1217
- bucket: 'videos' | 'avatars' | 'documents';
1218
- /**
1219
- * MIME type of the file being uploaded
1220
- */
1221
- contentType: string;
1222
- /**
1223
- * Size of the file in bytes
1224
- */
1225
- sizeBytes: number;
1226
- /**
1227
- * Optional filename hint (not used for path)
1228
- */
1229
- filenameHint?: string;
1230
- };
1231
- export type UploadUrlResponseDto = {
1232
- /**
1233
- * Signed URL the client PUTs raw bytes to
1234
- */
1235
- uploadUrl: string;
1236
- /**
1237
- * Signed-upload token (opaque)
1238
- */
1239
- token: string;
1240
- /**
1241
- * Storage path (persist this as video_path / file_path)
1242
- */
1243
- path: string;
1244
- /**
1245
- * Bucket the upload targets
1246
- */
1247
- bucket: string;
1248
- /**
1249
- * URL validity window in seconds
1250
- */
1251
- expiresIn: number;
1252
- };
1253
1517
  export type SendInvitationRequestDto = {
1254
1518
  email: string;
1255
1519
  };
@@ -1349,6 +1613,95 @@ export type CancelKycRequestDto = {
1349
1613
  */
1350
1614
  jobId: string;
1351
1615
  };
1616
+ export type BodyMeasurementProfileDto = {
1617
+ id: string;
1618
+ createdAt?: string | null;
1619
+ selfReportedHeightCm?: number | null;
1620
+ wingspanToSkeletonRatio?: number | null;
1621
+ legToTorsoRatio?: number | null;
1622
+ femurToTibiaRatio?: number | null;
1623
+ shoulderToHipRatio?: number | null;
1624
+ headCircumferenceCm?: number | null;
1625
+ neckCircumferenceCm?: number | null;
1626
+ chestCircumferenceCm?: number | null;
1627
+ waistCircumferenceCm?: number | null;
1628
+ hipCircumferenceCm?: number | null;
1629
+ footLengthCm?: number | null;
1630
+ footWidthCm?: number | null;
1631
+ qualityStatus?: string | null;
1632
+ metricStatus?: {
1633
+ [key: string]: unknown;
1634
+ };
1635
+ poseLandmarksContext?: {
1636
+ [key: string]: unknown;
1637
+ };
1638
+ isUsable: boolean;
1639
+ };
1640
+ export type CmjMeasurementProfileDto = {
1641
+ id: string;
1642
+ createdAt?: string | null;
1643
+ verticalJumpCm?: number | null;
1644
+ qualityTier?: string | null;
1645
+ retakeReason?: string | null;
1646
+ isUsable: boolean;
1647
+ };
1648
+ export type MeasurementSessionMetricsDto = {
1649
+ selfReportedHeightCm?: number | null;
1650
+ verticalJumpCm?: number | null;
1651
+ wingspanToSkeletonRatio?: number | null;
1652
+ legToTorsoRatio?: number | null;
1653
+ femurToTibiaRatio?: number | null;
1654
+ shoulderToHipRatio?: number | null;
1655
+ };
1656
+ export type MeasurementTagEvaluationDto = {
1657
+ key?: string;
1658
+ status?: string;
1659
+ label?: string;
1660
+ };
1661
+ export type MeasurementSessionDto = {
1662
+ id: string;
1663
+ bodyMeasurementId: string;
1664
+ jumpMeasurementId: string;
1665
+ contractVersion?: string | null;
1666
+ schemaVersion?: string | null;
1667
+ rulesetId?: string | null;
1668
+ rulesetVersion?: string | null;
1669
+ metrics: MeasurementSessionMetricsDto;
1670
+ declaredPositions?: {
1671
+ [key: string]: unknown;
1672
+ };
1673
+ biomechanicalAlignment?: {
1674
+ [key: string]: unknown;
1675
+ };
1676
+ biomechanicalAlignmentCopyKeys?: Array<string>;
1677
+ checkedTagKeys?: Array<string>;
1678
+ tagEvaluations?: Array<MeasurementTagEvaluationDto>;
1679
+ qualitySummary?: {
1680
+ [key: string]: unknown;
1681
+ };
1682
+ playerDisplay?: {
1683
+ [key: string]: unknown;
1684
+ };
1685
+ scoutDisplay?: {
1686
+ [key: string]: unknown;
1687
+ };
1688
+ metricDefinitions?: {
1689
+ [key: string]: unknown;
1690
+ };
1691
+ createdAt?: string | null;
1692
+ updatedAt?: string | null;
1693
+ };
1694
+ export type MeasurementProfileResponseDto = {
1695
+ status: 'missing' | 'partial' | 'ready' | 'needs_update';
1696
+ body?: BodyMeasurementProfileDto | null;
1697
+ cmj?: CmjMeasurementProfileDto | null;
1698
+ session?: MeasurementSessionDto | null;
1699
+ updatedAt?: string | null;
1700
+ };
1701
+ export type CreateMeasurementPlayerSessionDto = {
1702
+ bodyMeasurementId: string;
1703
+ jumpMeasurementId: string;
1704
+ };
1352
1705
  export type TrainingContentListItemDto = {
1353
1706
  id: string;
1354
1707
  title: string;
@@ -1397,6 +1750,14 @@ export type VideoResponseDto = {
1397
1750
  thumbnailUrl?: string | null;
1398
1751
  videoType?: string | null;
1399
1752
  durationSeconds?: number | null;
1753
+ /**
1754
+ * Original uploaded file size in bytes, when known.
1755
+ */
1756
+ fileSizeBytes?: number | null;
1757
+ /**
1758
+ * Original client-side file name, when known.
1759
+ */
1760
+ originalFileName?: string | null;
1400
1761
  uploadStatus?: string | null;
1401
1762
  processingStatus?: string | null;
1402
1763
  isPublic?: boolean | null;
@@ -1427,6 +1788,14 @@ export type CreateVideoDto = {
1427
1788
  * Duration in seconds
1428
1789
  */
1429
1790
  durationSeconds?: number;
1791
+ /**
1792
+ * Original uploaded file size in bytes, used for duplicate warnings
1793
+ */
1794
+ fileSizeBytes?: number;
1795
+ /**
1796
+ * Original client-side file name, used for duplicate warnings
1797
+ */
1798
+ originalFileName?: string;
1430
1799
  /**
1431
1800
  * Make video public
1432
1801
  */
@@ -1678,6 +2047,28 @@ export type PostApiPlayersSearchResponses = {
1678
2047
  200: PlayerSearchResultDto;
1679
2048
  };
1680
2049
  export type PostApiPlayersSearchResponse = PostApiPlayersSearchResponses[keyof PostApiPlayersSearchResponses];
2050
+ export type GetApiPlayersByIdReportData = {
2051
+ body?: never;
2052
+ path: {
2053
+ id: string;
2054
+ };
2055
+ query?: never;
2056
+ url: '/api/players/{id}/report';
2057
+ };
2058
+ export type GetApiPlayersByIdReportErrors = {
2059
+ /**
2060
+ * Unauthorized
2061
+ */
2062
+ 401: unknown;
2063
+ /**
2064
+ * Player or report not found
2065
+ */
2066
+ 404: unknown;
2067
+ };
2068
+ export type GetApiPlayersByIdReportResponses = {
2069
+ 200: PlayerReportResponseDto;
2070
+ };
2071
+ export type GetApiPlayersByIdReportResponse = GetApiPlayersByIdReportResponses[keyof GetApiPlayersByIdReportResponses];
1681
2072
  export type GetApiPlayersByIdData = {
1682
2073
  body?: never;
1683
2074
  path: {
@@ -1700,6 +2091,221 @@ export type GetApiPlayersByIdResponses = {
1700
2091
  200: PlayerByIdDto;
1701
2092
  };
1702
2093
  export type GetApiPlayersByIdResponse = GetApiPlayersByIdResponses[keyof GetApiPlayersByIdResponses];
2094
+ export type GetApiBillingPlansData = {
2095
+ body?: never;
2096
+ path?: never;
2097
+ query?: {
2098
+ surface?: 'web' | 'ios' | 'android';
2099
+ };
2100
+ url: '/api/billing/plans';
2101
+ };
2102
+ export type GetApiBillingPlansResponses = {
2103
+ /**
2104
+ * Player billing plans
2105
+ */
2106
+ 200: BillingPlansResponseDto;
2107
+ };
2108
+ export type GetApiBillingPlansResponse = GetApiBillingPlansResponses[keyof GetApiBillingPlansResponses];
2109
+ export type GetApiBillingProductsData = {
2110
+ body?: never;
2111
+ path?: never;
2112
+ query?: {
2113
+ surface?: 'web' | 'ios' | 'android';
2114
+ };
2115
+ url: '/api/billing/products';
2116
+ };
2117
+ export type GetApiBillingProductsResponses = {
2118
+ /**
2119
+ * Player one-time billing products
2120
+ */
2121
+ 200: BillingProductsResponseDto;
2122
+ };
2123
+ export type GetApiBillingProductsResponse = GetApiBillingProductsResponses[keyof GetApiBillingProductsResponses];
2124
+ export type GetApiBillingMeData = {
2125
+ body?: never;
2126
+ path?: never;
2127
+ query?: never;
2128
+ url: '/api/billing/me';
2129
+ };
2130
+ export type GetApiBillingMeResponses = {
2131
+ /**
2132
+ * Current player billing access
2133
+ */
2134
+ 200: BillingEntitlementResponseDto;
2135
+ };
2136
+ export type GetApiBillingMeResponse = GetApiBillingMeResponses[keyof GetApiBillingMeResponses];
2137
+ export type PostApiBillingAccessCodesRedeemData = {
2138
+ body: RedeemAccessCodeDto;
2139
+ path?: never;
2140
+ query?: never;
2141
+ url: '/api/billing/access-codes/redeem';
2142
+ };
2143
+ export type PostApiBillingAccessCodesRedeemResponses = {
2144
+ /**
2145
+ * Redeemed access entitlement
2146
+ */
2147
+ 201: BillingEntitlementResponseDto;
2148
+ };
2149
+ export type PostApiBillingAccessCodesRedeemResponse = PostApiBillingAccessCodesRedeemResponses[keyof PostApiBillingAccessCodesRedeemResponses];
2150
+ export type GetApiBillingReportPurchasesCurrentData = {
2151
+ body?: never;
2152
+ path?: never;
2153
+ query?: never;
2154
+ url: '/api/billing/report-purchases/current';
2155
+ };
2156
+ export type GetApiBillingReportPurchasesCurrentResponses = {
2157
+ /**
2158
+ * Current open AI report purchase credit and prerequisites
2159
+ */
2160
+ 200: ReportPurchaseStatusResponseDto;
2161
+ };
2162
+ export type GetApiBillingReportPurchasesCurrentResponse = GetApiBillingReportPurchasesCurrentResponses[keyof GetApiBillingReportPurchasesCurrentResponses];
2163
+ export type GetApiBillingReportPurchasesByIdReportData = {
2164
+ body?: never;
2165
+ path: {
2166
+ id: string;
2167
+ };
2168
+ query?: never;
2169
+ url: '/api/billing/report-purchases/{id}/report';
2170
+ };
2171
+ export type GetApiBillingReportPurchasesByIdReportResponses = {
2172
+ /**
2173
+ * Fulfilled AI report result
2174
+ */
2175
+ 200: AiReportResultResponseDto;
2176
+ };
2177
+ export type GetApiBillingReportPurchasesByIdReportResponse = GetApiBillingReportPurchasesByIdReportResponses[keyof GetApiBillingReportPurchasesByIdReportResponses];
2178
+ export type PostApiBillingReportPurchasesByIdStartGenerationData = {
2179
+ body: StartReportGenerationRequestDto;
2180
+ path: {
2181
+ id: string;
2182
+ };
2183
+ query?: never;
2184
+ url: '/api/billing/report-purchases/{id}/start-generation';
2185
+ };
2186
+ export type PostApiBillingReportPurchasesByIdStartGenerationResponses = {
2187
+ /**
2188
+ * Report generation started
2189
+ */
2190
+ 201: ReportGenerationStartResponseDto;
2191
+ };
2192
+ export type PostApiBillingReportPurchasesByIdStartGenerationResponse = PostApiBillingReportPurchasesByIdStartGenerationResponses[keyof PostApiBillingReportPurchasesByIdStartGenerationResponses];
2193
+ export type PostApiBillingReportPurchasesPlayerCandidatesData = {
2194
+ body: ReportPlayerCandidatesRequestDto;
2195
+ path?: never;
2196
+ query?: never;
2197
+ url: '/api/billing/report-purchases/player-candidates';
2198
+ };
2199
+ export type PostApiBillingReportPurchasesPlayerCandidatesResponses = {
2200
+ /**
2201
+ * Candidate player selections grouped by report video
2202
+ */
2203
+ 200: ReportPlayerCandidatesResponseDto;
2204
+ };
2205
+ export type PostApiBillingReportPurchasesPlayerCandidatesResponse = PostApiBillingReportPurchasesPlayerCandidatesResponses[keyof PostApiBillingReportPurchasesPlayerCandidatesResponses];
2206
+ export type PostApiBillingStripeCheckoutSessionData = {
2207
+ body: ProviderCheckoutRequestDto;
2208
+ path?: never;
2209
+ query?: never;
2210
+ url: '/api/billing/stripe/checkout-session';
2211
+ };
2212
+ export type PostApiBillingStripeCheckoutSessionResponses = {
2213
+ 201: unknown;
2214
+ };
2215
+ export type PostApiBillingStripePortalSessionData = {
2216
+ body?: never;
2217
+ path?: never;
2218
+ query?: never;
2219
+ url: '/api/billing/stripe/portal-session';
2220
+ };
2221
+ export type PostApiBillingStripePortalSessionResponses = {
2222
+ 201: unknown;
2223
+ };
2224
+ export type PostApiBillingAppleSyncPurchaseData = {
2225
+ body: StorePurchaseSyncRequestDto;
2226
+ path?: never;
2227
+ query?: never;
2228
+ url: '/api/billing/apple/sync-purchase';
2229
+ };
2230
+ export type PostApiBillingAppleSyncPurchaseResponses = {
2231
+ 201: unknown;
2232
+ };
2233
+ export type PostApiBillingGoogleSyncPurchaseData = {
2234
+ body: StorePurchaseSyncRequestDto;
2235
+ path?: never;
2236
+ query?: never;
2237
+ url: '/api/billing/google/sync-purchase';
2238
+ };
2239
+ export type PostApiBillingGoogleSyncPurchaseResponses = {
2240
+ 201: unknown;
2241
+ };
2242
+ export type GetApiNotificationsPreferencesData = {
2243
+ body?: never;
2244
+ path?: never;
2245
+ query?: never;
2246
+ url: '/api/notifications/preferences';
2247
+ };
2248
+ export type GetApiNotificationsPreferencesResponses = {
2249
+ 200: NotificationPreferencesDto;
2250
+ };
2251
+ export type GetApiNotificationsPreferencesResponse = GetApiNotificationsPreferencesResponses[keyof GetApiNotificationsPreferencesResponses];
2252
+ export type PatchApiNotificationsPreferencesData = {
2253
+ body: UpdateNotificationPreferencesDto;
2254
+ path?: never;
2255
+ query?: never;
2256
+ url: '/api/notifications/preferences';
2257
+ };
2258
+ export type PatchApiNotificationsPreferencesResponses = {
2259
+ 200: NotificationPreferencesDto;
2260
+ };
2261
+ export type PatchApiNotificationsPreferencesResponse = PatchApiNotificationsPreferencesResponses[keyof PatchApiNotificationsPreferencesResponses];
2262
+ export type PostApiNotificationsDevicesData = {
2263
+ body: RegisterPushDeviceDto;
2264
+ path?: never;
2265
+ query?: never;
2266
+ url: '/api/notifications/devices';
2267
+ };
2268
+ export type PostApiNotificationsDevicesResponses = {
2269
+ 201: PushDeviceRegistrationResultDto;
2270
+ };
2271
+ export type PostApiNotificationsDevicesResponse = PostApiNotificationsDevicesResponses[keyof PostApiNotificationsDevicesResponses];
2272
+ export type DeleteApiNotificationsDevicesCurrentData = {
2273
+ body: DeactivatePushDeviceDto;
2274
+ path?: never;
2275
+ query?: never;
2276
+ url: '/api/notifications/devices/current';
2277
+ };
2278
+ export type DeleteApiNotificationsDevicesCurrentResponses = {
2279
+ 200: OkDto;
2280
+ };
2281
+ export type DeleteApiNotificationsDevicesCurrentResponse = DeleteApiNotificationsDevicesCurrentResponses[keyof DeleteApiNotificationsDevicesCurrentResponses];
2282
+ export type PostApiStorageUploadUrlData = {
2283
+ body: CreateUploadUrlDto;
2284
+ path?: never;
2285
+ query?: never;
2286
+ url: '/api/storage/upload-url';
2287
+ };
2288
+ export type PostApiStorageUploadUrlErrors = {
2289
+ /**
2290
+ * Unknown bucket or disallowed MIME
2291
+ */
2292
+ 400: unknown;
2293
+ /**
2294
+ * Unauthorized
2295
+ */
2296
+ 401: unknown;
2297
+ /**
2298
+ * File too large for bucket
2299
+ */
2300
+ 413: unknown;
2301
+ };
2302
+ export type PostApiStorageUploadUrlResponses = {
2303
+ /**
2304
+ * Signed upload URL issued
2305
+ */
2306
+ 201: UploadUrlResponseDto;
2307
+ };
2308
+ export type PostApiStorageUploadUrlResponse = PostApiStorageUploadUrlResponses[keyof PostApiStorageUploadUrlResponses];
1703
2309
  export type GetApiProfileMeData = {
1704
2310
  body?: never;
1705
2311
  path?: never;
@@ -1810,6 +2416,29 @@ export type PostApiBodyMeasurementsResponses = {
1810
2416
  201: BodyMeasurementResponseDto;
1811
2417
  };
1812
2418
  export type PostApiBodyMeasurementsResponse = PostApiBodyMeasurementsResponses[keyof PostApiBodyMeasurementsResponses];
2419
+ export type GetApiCmjMeasurementsMeData = {
2420
+ body?: never;
2421
+ path?: never;
2422
+ query?: never;
2423
+ url: '/api/cmj/measurements/me';
2424
+ };
2425
+ export type GetApiCmjMeasurementsMeErrors = {
2426
+ /**
2427
+ * Unauthorized
2428
+ */
2429
+ 401: unknown;
2430
+ /**
2431
+ * No measurement found
2432
+ */
2433
+ 404: unknown;
2434
+ };
2435
+ export type GetApiCmjMeasurementsMeResponses = {
2436
+ /**
2437
+ * Latest CMJ measurement
2438
+ */
2439
+ 200: CmjMeasurementResponseDto;
2440
+ };
2441
+ export type GetApiCmjMeasurementsMeResponse = GetApiCmjMeasurementsMeResponses[keyof GetApiCmjMeasurementsMeResponses];
1813
2442
  export type GetApiChallengesData = {
1814
2443
  body?: never;
1815
2444
  path?: never;
@@ -2127,46 +2756,6 @@ export type PatchApiOffersConversationsByIdReadErrors = {
2127
2756
  export type PatchApiOffersConversationsByIdReadResponses = {
2128
2757
  200: unknown;
2129
2758
  };
2130
- export type GetApiNotificationsPreferencesData = {
2131
- body?: never;
2132
- path?: never;
2133
- query?: never;
2134
- url: '/api/notifications/preferences';
2135
- };
2136
- export type GetApiNotificationsPreferencesResponses = {
2137
- 200: NotificationPreferencesDto;
2138
- };
2139
- export type GetApiNotificationsPreferencesResponse = GetApiNotificationsPreferencesResponses[keyof GetApiNotificationsPreferencesResponses];
2140
- export type PatchApiNotificationsPreferencesData = {
2141
- body: UpdateNotificationPreferencesDto;
2142
- path?: never;
2143
- query?: never;
2144
- url: '/api/notifications/preferences';
2145
- };
2146
- export type PatchApiNotificationsPreferencesResponses = {
2147
- 200: NotificationPreferencesDto;
2148
- };
2149
- export type PatchApiNotificationsPreferencesResponse = PatchApiNotificationsPreferencesResponses[keyof PatchApiNotificationsPreferencesResponses];
2150
- export type PostApiNotificationsDevicesData = {
2151
- body: RegisterPushDeviceDto;
2152
- path?: never;
2153
- query?: never;
2154
- url: '/api/notifications/devices';
2155
- };
2156
- export type PostApiNotificationsDevicesResponses = {
2157
- 201: PushDeviceRegistrationResultDto;
2158
- };
2159
- export type PostApiNotificationsDevicesResponse = PostApiNotificationsDevicesResponses[keyof PostApiNotificationsDevicesResponses];
2160
- export type DeleteApiNotificationsDevicesCurrentData = {
2161
- body: DeactivatePushDeviceDto;
2162
- path?: never;
2163
- query?: never;
2164
- url: '/api/notifications/devices/current';
2165
- };
2166
- export type DeleteApiNotificationsDevicesCurrentResponses = {
2167
- 200: OkDto;
2168
- };
2169
- export type DeleteApiNotificationsDevicesCurrentResponse = DeleteApiNotificationsDevicesCurrentResponses[keyof DeleteApiNotificationsDevicesCurrentResponses];
2170
2759
  export type PostApiOrganizationsRegisterClubData = {
2171
2760
  body: RegisterClubDto;
2172
2761
  path?: never;
@@ -2247,33 +2836,6 @@ export type PutApiOrganizationsMeResponses = {
2247
2836
  200: OrganizationResponseDto;
2248
2837
  };
2249
2838
  export type PutApiOrganizationsMeResponse = PutApiOrganizationsMeResponses[keyof PutApiOrganizationsMeResponses];
2250
- export type PostApiStorageUploadUrlData = {
2251
- body: CreateUploadUrlDto;
2252
- path?: never;
2253
- query?: never;
2254
- url: '/api/storage/upload-url';
2255
- };
2256
- export type PostApiStorageUploadUrlErrors = {
2257
- /**
2258
- * Unknown bucket or disallowed MIME
2259
- */
2260
- 400: unknown;
2261
- /**
2262
- * Unauthorized
2263
- */
2264
- 401: unknown;
2265
- /**
2266
- * File too large for bucket
2267
- */
2268
- 413: unknown;
2269
- };
2270
- export type PostApiStorageUploadUrlResponses = {
2271
- /**
2272
- * Signed upload URL issued
2273
- */
2274
- 201: UploadUrlResponseDto;
2275
- };
2276
- export type PostApiStorageUploadUrlResponse = PostApiStorageUploadUrlResponses[keyof PostApiStorageUploadUrlResponses];
2277
2839
  export type GetApiInvitationsData = {
2278
2840
  body?: never;
2279
2841
  path?: never;
@@ -2464,6 +3026,56 @@ export type GetApiKycStatusByUserIdResponses = {
2464
3026
  200: KycStatusDto;
2465
3027
  };
2466
3028
  export type GetApiKycStatusByUserIdResponse = GetApiKycStatusByUserIdResponses[keyof GetApiKycStatusByUserIdResponses];
3029
+ export type GetApiMeasurementsProfileMeData = {
3030
+ body?: never;
3031
+ path?: never;
3032
+ query?: never;
3033
+ url: '/api/measurements/profile/me';
3034
+ };
3035
+ export type GetApiMeasurementsProfileMeErrors = {
3036
+ /**
3037
+ * Unauthorized
3038
+ */
3039
+ 401: unknown;
3040
+ };
3041
+ export type GetApiMeasurementsProfileMeResponses = {
3042
+ /**
3043
+ * Latest combined measurement profile
3044
+ */
3045
+ 200: MeasurementProfileResponseDto;
3046
+ };
3047
+ export type GetApiMeasurementsProfileMeResponse = GetApiMeasurementsProfileMeResponses[keyof GetApiMeasurementsProfileMeResponses];
3048
+ export type PostApiMeasurementsPlayerSessionMeData = {
3049
+ body: CreateMeasurementPlayerSessionDto;
3050
+ path?: never;
3051
+ query?: never;
3052
+ url: '/api/measurements/player-session/me';
3053
+ };
3054
+ export type PostApiMeasurementsPlayerSessionMeErrors = {
3055
+ /**
3056
+ * Missing measurement ids
3057
+ */
3058
+ 400: unknown;
3059
+ /**
3060
+ * Unauthorized
3061
+ */
3062
+ 401: unknown;
3063
+ /**
3064
+ * Missing body or CMJ measurement
3065
+ */
3066
+ 409: unknown;
3067
+ /**
3068
+ * Interpretation service down
3069
+ */
3070
+ 503: unknown;
3071
+ };
3072
+ export type PostApiMeasurementsPlayerSessionMeResponses = {
3073
+ /**
3074
+ * Combined measurement player session
3075
+ */
3076
+ 201: MeasurementSessionDto;
3077
+ };
3078
+ export type PostApiMeasurementsPlayerSessionMeResponse = PostApiMeasurementsPlayerSessionMeResponses[keyof PostApiMeasurementsPlayerSessionMeResponses];
2467
3079
  export type GetApiTrainingGroupedData = {
2468
3080
  body?: never;
2469
3081
  path?: never;