@globalscoutme/api-client 1.0.26 → 1.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.
package/README.md CHANGED
@@ -46,6 +46,7 @@ import {
46
46
  Training,
47
47
  Invitations,
48
48
  Storage,
49
+ Subscriptions,
49
50
  } from '@globalscoutme/api-client';
50
51
 
51
52
  // Auth
@@ -191,6 +192,31 @@ const kycStatus = await Kyc.getKycStatus({
191
192
  // status: 'pending' | 'capture_started' | 'processing' | 'approved' | 'rejected' | 'blocked'
192
193
  // Older API clients may still see legacy 'in_progress', which maps to 'capture_started'.
193
194
 
195
+ // Subscriptions (Stripe recurring billing)
196
+ const plans = await Subscriptions.getSubscriptionPlans();
197
+ // Returns: { plans: [{ id, code, name, price, currency, billingInterval, trialDays, features, displayOrder }] }
198
+
199
+ const mySubscription = await Subscriptions.getMySubscription();
200
+ // Returns: { status, isActive, planId, planName, billingInterval,
201
+ // currentPeriodStart, currentPeriodEnd, cancelAtPeriodEnd, canceledAt, gracePeriodUntil }
202
+ // status: 'inactive' when the user has never subscribed
203
+
204
+ // Start a subscription — redirect the user to the returned URL
205
+ const checkout = await Subscriptions.createCheckout({
206
+ body: {
207
+ providerProductId: 'billing-provider-products-uuid', // pick from billing_provider_products table
208
+ successUrl: 'https://yourapp.com/subscription/success', // or a mobile deep-link
209
+ cancelUrl: 'https://yourapp.com/subscription/cancel',
210
+ },
211
+ });
212
+ // redirect user to checkout.url
213
+
214
+ // Open the Stripe Billing Portal (manage / cancel subscription)
215
+ const portal = await Subscriptions.createPortal({
216
+ body: { returnUrl: 'https://yourapp.com/account' },
217
+ });
218
+ // redirect user to portal.url
219
+
194
220
  // Storage — get a signed upload URL, then PUT the file directly to Supabase Storage
195
221
  const { uploadUrl, token, path, bucket, expiresIn } =
196
222
  await Storage.createUploadUrl({
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Achievements, Auth, Body, Challenges, Clubs, Dashboard, Documents, GlobalScoutMeClient, Index, Invitations, Kyc, Notifications, Offers, type Options, Organizations, Players, Profile, Storage, Training, Videos, } from './sdk.gen.js';
2
- export type { AchievementCatalogDto, AuthMeResponseDto, BodyMeasurementResponseDto, CancelKycRequestDto, CareerAchievementDto, ChallengeCatalogDto, ClientOptions, ClubResponseDto, ConversationDetailDto, ConversationItemDto, ConversationListResultDto, ConversationOrganizationDto, ConversationParticipantDto, CountryDto, CreateBodyMeasurementDto, CreateClubDto, CreateConversationDto, CreateDocumentDto, CreateUploadUrlDto, CreateVideoDto, DashboardResponseDto, DashboardStatsDto, DashboardVideoCardDto, DeactivatePushDeviceDto, DeleteApiClubsMeByIdData, DeleteApiClubsMeByIdErrors, DeleteApiClubsMeByIdResponse, DeleteApiClubsMeByIdResponses, DeleteApiInvitationsByIdData, DeleteApiInvitationsByIdErrors, DeleteApiInvitationsByIdResponse, DeleteApiInvitationsByIdResponses, DeleteApiNotificationsDevicesCurrentData, DeleteApiNotificationsDevicesCurrentResponse, DeleteApiNotificationsDevicesCurrentResponses, DeleteApiPlayersMeData, DeleteApiPlayersMeErrors, DeleteApiPlayersMeResponse, DeleteApiPlayersMeResponses, DeleteApiVideosByIdData, DeleteApiVideosByIdErrors, DeleteApiVideosByIdResponse, DeleteApiVideosByIdResponses, DivisionDto, DocumentResponseDto, GetApiAchievementsData, GetApiAchievementsMeData, GetApiAchievementsMeErrors, GetApiAchievementsMeResponse, GetApiAchievementsMeResponses, GetApiAchievementsResponse, GetApiAchievementsResponses, GetApiAuthMeData, GetApiAuthMeErrors, GetApiAuthMeResponse, GetApiAuthMeResponses, GetApiBodyMeasurementsMeData, GetApiBodyMeasurementsMeErrors, GetApiBodyMeasurementsMeResponse, GetApiBodyMeasurementsMeResponses, GetApiChallengesData, GetApiChallengesErrors, GetApiChallengesMeData, GetApiChallengesMeErrors, GetApiChallengesMeResponse, GetApiChallengesMeResponses, GetApiChallengesResponse, GetApiChallengesResponses, GetApiClubsMeData, GetApiClubsMeErrors, GetApiClubsMeResponse, GetApiClubsMeResponses, GetApiDashboardMeData, GetApiDashboardMeErrors, GetApiDashboardMeResponse, GetApiDashboardMeResponses, GetApiDashboardVideosByIdPlayUrlData, GetApiDashboardVideosByIdPlayUrlErrors, GetApiDashboardVideosByIdPlayUrlResponse, GetApiDashboardVideosByIdPlayUrlResponses, GetApiDocumentsMeData, GetApiDocumentsMeErrors, GetApiDocumentsMeResponse, GetApiDocumentsMeResponses, GetApiIndexByTableNameData, GetApiIndexByTableNameErrors, GetApiIndexByTableNameResponse, GetApiIndexByTableNameResponses, GetApiIndexCountriesData, GetApiIndexCountriesErrors, GetApiIndexCountriesResponse, GetApiIndexCountriesResponses, GetApiInvitationsData, GetApiInvitationsResponse, GetApiInvitationsResponses, GetApiKycStatusByUserIdData, GetApiKycStatusByUserIdErrors, GetApiKycStatusByUserIdResponse, GetApiKycStatusByUserIdResponses, GetApiNotificationsPreferencesData, GetApiNotificationsPreferencesResponse, GetApiNotificationsPreferencesResponses, GetApiOffersConversationsByIdMessagesData, GetApiOffersConversationsByIdMessagesErrors, GetApiOffersConversationsByIdMessagesResponse, GetApiOffersConversationsByIdMessagesResponses, GetApiOffersConversationsData, GetApiOffersConversationsErrors, GetApiOffersConversationsResponse, GetApiOffersConversationsResponses, GetApiOrganizationsMeData, GetApiOrganizationsMeErrors, GetApiOrganizationsMeResponse, GetApiOrganizationsMeResponses, GetApiPlayersByIdData, GetApiPlayersByIdErrors, GetApiPlayersByIdResponse, GetApiPlayersByIdResponses, GetApiPlayersMeDashboardData, GetApiPlayersMeDashboardErrors, GetApiPlayersMeDashboardResponse, GetApiPlayersMeDashboardResponses, GetApiPlayersMeData, GetApiPlayersMeErrors, GetApiPlayersMeResponse, GetApiPlayersMeResponses, GetApiProfileMeData, GetApiProfileMeErrors, GetApiProfileMeResponse, GetApiProfileMeResponses, GetApiTrainingByIdData, GetApiTrainingByIdErrors, GetApiTrainingByIdResponse, GetApiTrainingByIdResponses, GetApiTrainingData, GetApiTrainingErrors, GetApiTrainingGroupedData, GetApiTrainingGroupedErrors, GetApiTrainingGroupedResponse, GetApiTrainingGroupedResponses, GetApiTrainingResponse, GetApiTrainingResponses, GetApiVideosByIdPlayUrlData, GetApiVideosByIdPlayUrlErrors, GetApiVideosByIdPlayUrlResponse, GetApiVideosByIdPlayUrlResponses, GetApiVideosMeData, GetApiVideosMeErrors, GetApiVideosMeResponse, GetApiVideosMeResponses, HeartbeatDto, HeartbeatResponseDto, IndexItemDto, InvitationResponseDto, KycStatusDto, KycWebhookDto, MarkSubmittedKycRequestDto, MessageItemDto, MessageListResultDto, MessageSenderDto, MyChallengeDto, NotificationPreferencesDto, OkDto, OrganizationResponseDto, PaginatedTrainingContentDto, PatchApiClubsMeByIdData, PatchApiClubsMeByIdErrors, PatchApiClubsMeByIdResponse, PatchApiClubsMeByIdResponses, PatchApiNotificationsPreferencesData, PatchApiNotificationsPreferencesResponse, PatchApiNotificationsPreferencesResponses, PatchApiOffersConversationsByIdReadData, PatchApiOffersConversationsByIdReadErrors, PatchApiOffersConversationsByIdReadResponses, PatchApiPlayersMeData, PatchApiPlayersMeErrors, PatchApiPlayersMeResponse, PatchApiPlayersMeResponses, PlayerAchievementDto, PlayerByIdDto, PlayerClubDto, PlayerResponseDto, PlayerSearchItemDto, PlayerSearchRequestDto, PlayerSearchResultDto, PlayerVideoDto, PlayUrlResponseDto, PostApiBodyMeasurementsData, PostApiBodyMeasurementsErrors, PostApiBodyMeasurementsResponse, PostApiBodyMeasurementsResponses, PostApiClubsMeData, PostApiClubsMeErrors, PostApiClubsMeResponse, PostApiClubsMeResponses, PostApiDocumentsData, PostApiDocumentsErrors, PostApiDocumentsResponse, PostApiDocumentsResponses, PostApiInvitationsAcceptData, PostApiInvitationsAcceptResponse, PostApiInvitationsAcceptResponses, PostApiInvitationsByIdResendData, PostApiInvitationsByIdResendErrors, PostApiInvitationsByIdResendResponse, PostApiInvitationsByIdResendResponses, PostApiInvitationsData, PostApiInvitationsErrors, PostApiInvitationsResponse, PostApiInvitationsResponses, PostApiKycCancelData, PostApiKycCancelErrors, PostApiKycCancelResponse, PostApiKycCancelResponses, PostApiKycMarkSubmittedData, PostApiKycMarkSubmittedErrors, PostApiKycMarkSubmittedResponse, PostApiKycMarkSubmittedResponses, PostApiKycStartData, PostApiKycStartErrors, PostApiKycStartResponse, PostApiKycStartResponses, PostApiKycWebhookData, PostApiKycWebhookErrors, PostApiKycWebhookResponses, PostApiNotificationsDevicesData, PostApiNotificationsDevicesResponse, PostApiNotificationsDevicesResponses, PostApiOffersConversationsByIdMessagesData, PostApiOffersConversationsByIdMessagesErrors, PostApiOffersConversationsByIdMessagesResponse, PostApiOffersConversationsByIdMessagesResponses, PostApiOffersConversationsData, PostApiOffersConversationsErrors, PostApiOffersConversationsResponse, PostApiOffersConversationsResponses, PostApiOrganizationsRegisterAgentData, PostApiOrganizationsRegisterAgentErrors, PostApiOrganizationsRegisterAgentResponse, PostApiOrganizationsRegisterAgentResponses, PostApiOrganizationsRegisterClubData, PostApiOrganizationsRegisterClubErrors, PostApiOrganizationsRegisterClubResponse, PostApiOrganizationsRegisterClubResponses, PostApiPlayersMeHeartbeatData, PostApiPlayersMeHeartbeatErrors, PostApiPlayersMeHeartbeatResponse, PostApiPlayersMeHeartbeatResponses, PostApiPlayersSearchData, PostApiPlayersSearchErrors, PostApiPlayersSearchResponse, PostApiPlayersSearchResponses, PostApiStorageUploadUrlData, PostApiStorageUploadUrlErrors, PostApiStorageUploadUrlResponse, PostApiStorageUploadUrlResponses, PostApiVideosData, PostApiVideosErrors, PostApiVideosResponse, PostApiVideosResponses, PreviousClubDto, ProfileResponseDto, PushDeviceRegistrationResultDto, PutApiOrganizationsMeData, PutApiOrganizationsMeErrors, PutApiOrganizationsMeResponse, PutApiOrganizationsMeResponses, PutApiProfileMeData, PutApiProfileMeErrors, PutApiProfileMeResponse, PutApiProfileMeResponses, RegisterAgentDto, RegisterAgentResponseDto, RegisterClubDto, RegisterClubResponseDto, RegisterPushDeviceDto, ScoutDashboardResponseDto, SendInvitationRequestDto, SendMessageDto, StartKycRequestDto, StartKycResponseDto, TrainingCategoryGroupDto, TrainingContentDetailDto, TrainingContentListItemDto, UpdateClubDto, UpdateNotificationPreferencesDto, UpdateOrganizationDto, UpdatePlayerDto, UpdateProfileDto, UploadUrlResponseDto, UserAchievementResponseDto, VideoResponseDto, WatchingOrgDto, WebhookPartnerParamsDto, } from './types.gen.js';
1
+ export { Achievements, Auth, Body, Challenges, Clubs, Dashboard, Documents, GlobalScoutMeClient, Index, Invitations, Kyc, Notifications, Offers, type Options, Organizations, Players, Profile, Storage, Subscriptions, Training, Videos, } from './sdk.gen.js';
2
+ export type { AchievementCatalogDto, AuthMeResponseDto, BodyMeasurementResponseDto, CancelKycRequestDto, CareerAchievementDto, ChallengeCatalogDto, CheckoutResultDto, ClientOptions, ClubResponseDto, ConversationDetailDto, ConversationItemDto, ConversationListResultDto, ConversationOrganizationDto, ConversationParticipantDto, CountryDto, CreateBodyMeasurementDto, CreateCheckoutDto, CreateClubDto, CreateConversationDto, CreateDocumentDto, CreatePortalDto, CreateUploadUrlDto, CreateVideoDto, DashboardResponseDto, DashboardStatsDto, DashboardVideoCardDto, DeactivatePushDeviceDto, DeleteApiClubsMeByIdData, DeleteApiClubsMeByIdErrors, DeleteApiClubsMeByIdResponse, DeleteApiClubsMeByIdResponses, DeleteApiInvitationsByIdData, DeleteApiInvitationsByIdErrors, DeleteApiInvitationsByIdResponse, DeleteApiInvitationsByIdResponses, DeleteApiNotificationsDevicesCurrentData, DeleteApiNotificationsDevicesCurrentResponse, DeleteApiNotificationsDevicesCurrentResponses, DeleteApiPlayersMeData, DeleteApiPlayersMeErrors, DeleteApiPlayersMeResponse, DeleteApiPlayersMeResponses, DeleteApiVideosByIdData, DeleteApiVideosByIdErrors, DeleteApiVideosByIdResponse, DeleteApiVideosByIdResponses, DivisionDto, DocumentResponseDto, GetApiAchievementsData, GetApiAchievementsMeData, GetApiAchievementsMeErrors, GetApiAchievementsMeResponse, GetApiAchievementsMeResponses, GetApiAchievementsResponse, GetApiAchievementsResponses, GetApiAuthMeData, GetApiAuthMeErrors, GetApiAuthMeResponse, GetApiAuthMeResponses, GetApiBodyMeasurementsMeData, GetApiBodyMeasurementsMeErrors, GetApiBodyMeasurementsMeResponse, GetApiBodyMeasurementsMeResponses, GetApiChallengesData, GetApiChallengesErrors, GetApiChallengesMeData, GetApiChallengesMeErrors, GetApiChallengesMeResponse, GetApiChallengesMeResponses, GetApiChallengesResponse, GetApiChallengesResponses, GetApiClubsMeData, GetApiClubsMeErrors, GetApiClubsMeResponse, GetApiClubsMeResponses, GetApiDashboardMeData, GetApiDashboardMeErrors, GetApiDashboardMeResponse, GetApiDashboardMeResponses, GetApiDashboardVideosByIdPlayUrlData, GetApiDashboardVideosByIdPlayUrlErrors, GetApiDashboardVideosByIdPlayUrlResponse, GetApiDashboardVideosByIdPlayUrlResponses, GetApiDocumentsMeData, GetApiDocumentsMeErrors, GetApiDocumentsMeResponse, GetApiDocumentsMeResponses, GetApiIndexByTableNameData, GetApiIndexByTableNameErrors, GetApiIndexByTableNameResponse, GetApiIndexByTableNameResponses, GetApiIndexCountriesData, GetApiIndexCountriesErrors, GetApiIndexCountriesResponse, GetApiIndexCountriesResponses, GetApiInvitationsData, GetApiInvitationsResponse, GetApiInvitationsResponses, GetApiKycStatusByUserIdData, GetApiKycStatusByUserIdErrors, GetApiKycStatusByUserIdResponse, GetApiKycStatusByUserIdResponses, GetApiNotificationsPreferencesData, GetApiNotificationsPreferencesResponse, GetApiNotificationsPreferencesResponses, GetApiOffersConversationsByIdMessagesData, GetApiOffersConversationsByIdMessagesErrors, GetApiOffersConversationsByIdMessagesResponse, GetApiOffersConversationsByIdMessagesResponses, GetApiOffersConversationsData, GetApiOffersConversationsErrors, GetApiOffersConversationsResponse, GetApiOffersConversationsResponses, GetApiOrganizationsMeData, GetApiOrganizationsMeErrors, GetApiOrganizationsMeResponse, GetApiOrganizationsMeResponses, GetApiPlayersByIdData, GetApiPlayersByIdErrors, GetApiPlayersByIdResponse, GetApiPlayersByIdResponses, GetApiPlayersMeDashboardData, GetApiPlayersMeDashboardErrors, GetApiPlayersMeDashboardResponse, GetApiPlayersMeDashboardResponses, GetApiPlayersMeData, GetApiPlayersMeErrors, GetApiPlayersMeResponse, GetApiPlayersMeResponses, GetApiProfileMeData, GetApiProfileMeErrors, GetApiProfileMeResponse, GetApiProfileMeResponses, GetApiSubscriptionsMeData, GetApiSubscriptionsMeResponse, GetApiSubscriptionsMeResponses, GetApiSubscriptionsPlansData, GetApiSubscriptionsPlansResponse, GetApiSubscriptionsPlansResponses, GetApiTrainingByIdData, GetApiTrainingByIdErrors, GetApiTrainingByIdResponse, GetApiTrainingByIdResponses, GetApiTrainingData, GetApiTrainingErrors, GetApiTrainingGroupedData, GetApiTrainingGroupedErrors, GetApiTrainingGroupedResponse, GetApiTrainingGroupedResponses, GetApiTrainingResponse, GetApiTrainingResponses, GetApiVideosByIdPlayUrlData, GetApiVideosByIdPlayUrlErrors, GetApiVideosByIdPlayUrlResponse, GetApiVideosByIdPlayUrlResponses, GetApiVideosMeData, GetApiVideosMeErrors, GetApiVideosMeResponse, GetApiVideosMeResponses, HeartbeatDto, HeartbeatResponseDto, IndexItemDto, InvitationResponseDto, KycStatusDto, KycWebhookDto, MarkSubmittedKycRequestDto, MessageItemDto, MessageListResultDto, MessageSenderDto, MyChallengeDto, MySubscriptionDto, NotificationPreferencesDto, OkDto, OrganizationResponseDto, PaginatedTrainingContentDto, PatchApiClubsMeByIdData, PatchApiClubsMeByIdErrors, PatchApiClubsMeByIdResponse, PatchApiClubsMeByIdResponses, PatchApiNotificationsPreferencesData, PatchApiNotificationsPreferencesResponse, PatchApiNotificationsPreferencesResponses, PatchApiOffersConversationsByIdReadData, PatchApiOffersConversationsByIdReadErrors, PatchApiOffersConversationsByIdReadResponses, PatchApiPlayersMeData, PatchApiPlayersMeErrors, PatchApiPlayersMeResponse, PatchApiPlayersMeResponses, PlansListDto, PlayerAchievementDto, PlayerByIdDto, PlayerClubDto, PlayerResponseDto, PlayerSearchItemDto, PlayerSearchRequestDto, PlayerSearchResultDto, PlayerVideoDto, PlayUrlResponseDto, PortalResultDto, PostApiBodyMeasurementsData, PostApiBodyMeasurementsErrors, PostApiBodyMeasurementsResponse, PostApiBodyMeasurementsResponses, PostApiClubsMeData, PostApiClubsMeErrors, PostApiClubsMeResponse, PostApiClubsMeResponses, PostApiDocumentsData, PostApiDocumentsErrors, PostApiDocumentsResponse, PostApiDocumentsResponses, PostApiInvitationsAcceptData, PostApiInvitationsAcceptResponse, PostApiInvitationsAcceptResponses, PostApiInvitationsByIdResendData, PostApiInvitationsByIdResendErrors, PostApiInvitationsByIdResendResponse, PostApiInvitationsByIdResendResponses, PostApiInvitationsData, PostApiInvitationsErrors, PostApiInvitationsResponse, PostApiInvitationsResponses, PostApiKycCancelData, PostApiKycCancelErrors, PostApiKycCancelResponse, PostApiKycCancelResponses, PostApiKycMarkSubmittedData, PostApiKycMarkSubmittedErrors, PostApiKycMarkSubmittedResponse, PostApiKycMarkSubmittedResponses, PostApiKycStartData, PostApiKycStartErrors, PostApiKycStartResponse, PostApiKycStartResponses, PostApiKycWebhookData, PostApiKycWebhookErrors, PostApiKycWebhookResponses, PostApiNotificationsDevicesData, PostApiNotificationsDevicesResponse, PostApiNotificationsDevicesResponses, PostApiOffersConversationsByIdMessagesData, PostApiOffersConversationsByIdMessagesErrors, PostApiOffersConversationsByIdMessagesResponse, PostApiOffersConversationsByIdMessagesResponses, PostApiOffersConversationsData, PostApiOffersConversationsErrors, PostApiOffersConversationsResponse, PostApiOffersConversationsResponses, PostApiOrganizationsRegisterAgentData, PostApiOrganizationsRegisterAgentErrors, PostApiOrganizationsRegisterAgentResponse, PostApiOrganizationsRegisterAgentResponses, PostApiOrganizationsRegisterClubData, PostApiOrganizationsRegisterClubErrors, PostApiOrganizationsRegisterClubResponse, PostApiOrganizationsRegisterClubResponses, PostApiPlayersMeHeartbeatData, PostApiPlayersMeHeartbeatErrors, PostApiPlayersMeHeartbeatResponse, PostApiPlayersMeHeartbeatResponses, PostApiPlayersSearchData, PostApiPlayersSearchErrors, PostApiPlayersSearchResponse, PostApiPlayersSearchResponses, PostApiStorageUploadUrlData, PostApiStorageUploadUrlErrors, PostApiStorageUploadUrlResponse, PostApiStorageUploadUrlResponses, PostApiSubscriptionsCheckoutData, PostApiSubscriptionsCheckoutErrors, PostApiSubscriptionsCheckoutResponse, PostApiSubscriptionsCheckoutResponses, PostApiSubscriptionsPortalData, PostApiSubscriptionsPortalErrors, PostApiSubscriptionsPortalResponse, PostApiSubscriptionsPortalResponses, PostApiSubscriptionsWebhookData, PostApiSubscriptionsWebhookErrors, PostApiSubscriptionsWebhookResponses, PostApiVideosData, PostApiVideosErrors, PostApiVideosResponse, PostApiVideosResponses, PreviousClubDto, ProfileResponseDto, PushDeviceRegistrationResultDto, PutApiOrganizationsMeData, PutApiOrganizationsMeErrors, PutApiOrganizationsMeResponse, PutApiOrganizationsMeResponses, PutApiProfileMeData, PutApiProfileMeErrors, PutApiProfileMeResponse, PutApiProfileMeResponses, RegisterAgentDto, RegisterAgentResponseDto, RegisterClubDto, RegisterClubResponseDto, RegisterPushDeviceDto, ScoutDashboardResponseDto, SendInvitationRequestDto, SendMessageDto, StartKycRequestDto, StartKycResponseDto, SubscriptionPlanDto, TrainingCategoryGroupDto, TrainingContentDetailDto, TrainingContentListItemDto, UpdateClubDto, UpdateNotificationPreferencesDto, UpdateOrganizationDto, UpdatePlayerDto, UpdateProfileDto, UploadUrlResponseDto, UserAchievementResponseDto, VideoResponseDto, WatchingOrgDto, WebhookPartnerParamsDto, } from './types.gen.js';
3
3
  export { client, type CreateClientConfig } from './client.gen.js';
4
4
  export type { GetApiOffersConversationsData as GetOffersConversationsData } from './types.gen.js';
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
- export { Achievements, Auth, Body, Challenges, Clubs, Dashboard, Documents, GlobalScoutMeClient, Index, Invitations, Kyc, Notifications, Offers, Organizations, Players, Profile, Storage, Training, Videos, } from './sdk.gen.js';
2
+ export { Achievements, Auth, Body, Challenges, Clubs, Dashboard, Documents, GlobalScoutMeClient, Index, Invitations, Kyc, Notifications, Offers, Organizations, Players, Profile, Storage, Subscriptions, Training, Videos, } from './sdk.gen.js';
3
3
  export { client } from './client.gen.js';
package/dist/sdk.gen.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Client, Options as Options2, TDataShape } from './client/index.js';
2
- import type { DeleteApiClubsMeByIdData, DeleteApiClubsMeByIdErrors, DeleteApiClubsMeByIdResponses, DeleteApiInvitationsByIdData, DeleteApiInvitationsByIdErrors, DeleteApiInvitationsByIdResponses, DeleteApiNotificationsDevicesCurrentData, DeleteApiNotificationsDevicesCurrentResponses, DeleteApiPlayersMeData, DeleteApiPlayersMeErrors, DeleteApiPlayersMeResponses, DeleteApiVideosByIdData, DeleteApiVideosByIdErrors, DeleteApiVideosByIdResponses, GetApiAchievementsData, GetApiAchievementsMeData, GetApiAchievementsMeErrors, GetApiAchievementsMeResponses, GetApiAchievementsResponses, GetApiAuthMeData, GetApiAuthMeErrors, GetApiAuthMeResponses, GetApiBodyMeasurementsMeData, GetApiBodyMeasurementsMeErrors, GetApiBodyMeasurementsMeResponses, GetApiChallengesData, GetApiChallengesErrors, GetApiChallengesMeData, GetApiChallengesMeErrors, GetApiChallengesMeResponses, GetApiChallengesResponses, GetApiClubsMeData, GetApiClubsMeErrors, GetApiClubsMeResponses, GetApiDashboardMeData, GetApiDashboardMeErrors, GetApiDashboardMeResponses, GetApiDashboardVideosByIdPlayUrlData, GetApiDashboardVideosByIdPlayUrlErrors, GetApiDashboardVideosByIdPlayUrlResponses, GetApiDocumentsMeData, GetApiDocumentsMeErrors, GetApiDocumentsMeResponses, GetApiIndexByTableNameData, GetApiIndexByTableNameErrors, GetApiIndexByTableNameResponses, GetApiIndexCountriesData, GetApiIndexCountriesErrors, GetApiIndexCountriesResponses, GetApiInvitationsData, GetApiInvitationsResponses, GetApiKycStatusByUserIdData, GetApiKycStatusByUserIdErrors, GetApiKycStatusByUserIdResponses, GetApiNotificationsPreferencesData, GetApiNotificationsPreferencesResponses, GetApiOffersConversationsByIdMessagesData, GetApiOffersConversationsByIdMessagesErrors, GetApiOffersConversationsByIdMessagesResponses, GetApiOffersConversationsData, GetApiOffersConversationsErrors, GetApiOffersConversationsResponses, GetApiOrganizationsMeData, GetApiOrganizationsMeErrors, GetApiOrganizationsMeResponses, GetApiPlayersByIdData, GetApiPlayersByIdErrors, GetApiPlayersByIdResponses, GetApiPlayersMeDashboardData, GetApiPlayersMeDashboardErrors, GetApiPlayersMeDashboardResponses, GetApiPlayersMeData, GetApiPlayersMeErrors, GetApiPlayersMeResponses, GetApiProfileMeData, GetApiProfileMeErrors, GetApiProfileMeResponses, GetApiTrainingByIdData, GetApiTrainingByIdErrors, GetApiTrainingByIdResponses, GetApiTrainingData, GetApiTrainingErrors, GetApiTrainingGroupedData, GetApiTrainingGroupedErrors, GetApiTrainingGroupedResponses, GetApiTrainingResponses, GetApiVideosByIdPlayUrlData, GetApiVideosByIdPlayUrlErrors, GetApiVideosByIdPlayUrlResponses, GetApiVideosMeData, GetApiVideosMeErrors, GetApiVideosMeResponses, PatchApiClubsMeByIdData, PatchApiClubsMeByIdErrors, PatchApiClubsMeByIdResponses, PatchApiNotificationsPreferencesData, PatchApiNotificationsPreferencesResponses, PatchApiOffersConversationsByIdReadData, PatchApiOffersConversationsByIdReadErrors, PatchApiOffersConversationsByIdReadResponses, PatchApiPlayersMeData, PatchApiPlayersMeErrors, PatchApiPlayersMeResponses, PostApiBodyMeasurementsData, PostApiBodyMeasurementsErrors, PostApiBodyMeasurementsResponses, PostApiClubsMeData, PostApiClubsMeErrors, PostApiClubsMeResponses, PostApiDocumentsData, PostApiDocumentsErrors, PostApiDocumentsResponses, PostApiInvitationsAcceptData, PostApiInvitationsAcceptResponses, PostApiInvitationsByIdResendData, PostApiInvitationsByIdResendErrors, PostApiInvitationsByIdResendResponses, PostApiInvitationsData, PostApiInvitationsErrors, PostApiInvitationsResponses, PostApiKycCancelData, PostApiKycCancelErrors, PostApiKycCancelResponses, PostApiKycMarkSubmittedData, PostApiKycMarkSubmittedErrors, PostApiKycMarkSubmittedResponses, PostApiKycStartData, PostApiKycStartErrors, PostApiKycStartResponses, PostApiKycWebhookData, PostApiKycWebhookErrors, PostApiKycWebhookResponses, PostApiNotificationsDevicesData, PostApiNotificationsDevicesResponses, PostApiOffersConversationsByIdMessagesData, PostApiOffersConversationsByIdMessagesErrors, PostApiOffersConversationsByIdMessagesResponses, PostApiOffersConversationsData, PostApiOffersConversationsErrors, PostApiOffersConversationsResponses, PostApiOrganizationsRegisterAgentData, PostApiOrganizationsRegisterAgentErrors, PostApiOrganizationsRegisterAgentResponses, PostApiOrganizationsRegisterClubData, PostApiOrganizationsRegisterClubErrors, PostApiOrganizationsRegisterClubResponses, PostApiPlayersMeHeartbeatData, PostApiPlayersMeHeartbeatErrors, PostApiPlayersMeHeartbeatResponses, PostApiPlayersSearchData, PostApiPlayersSearchErrors, PostApiPlayersSearchResponses, PostApiStorageUploadUrlData, PostApiStorageUploadUrlErrors, PostApiStorageUploadUrlResponses, PostApiVideosData, PostApiVideosErrors, PostApiVideosResponses, PutApiOrganizationsMeData, PutApiOrganizationsMeErrors, PutApiOrganizationsMeResponses, PutApiProfileMeData, PutApiProfileMeErrors, PutApiProfileMeResponses } from './types.gen.js';
2
+ import type { DeleteApiClubsMeByIdData, DeleteApiClubsMeByIdErrors, DeleteApiClubsMeByIdResponses, DeleteApiInvitationsByIdData, DeleteApiInvitationsByIdErrors, DeleteApiInvitationsByIdResponses, DeleteApiNotificationsDevicesCurrentData, DeleteApiNotificationsDevicesCurrentResponses, DeleteApiPlayersMeData, DeleteApiPlayersMeErrors, DeleteApiPlayersMeResponses, DeleteApiVideosByIdData, DeleteApiVideosByIdErrors, DeleteApiVideosByIdResponses, GetApiAchievementsData, GetApiAchievementsMeData, GetApiAchievementsMeErrors, GetApiAchievementsMeResponses, GetApiAchievementsResponses, GetApiAuthMeData, GetApiAuthMeErrors, GetApiAuthMeResponses, GetApiBodyMeasurementsMeData, GetApiBodyMeasurementsMeErrors, GetApiBodyMeasurementsMeResponses, GetApiChallengesData, GetApiChallengesErrors, GetApiChallengesMeData, GetApiChallengesMeErrors, GetApiChallengesMeResponses, GetApiChallengesResponses, GetApiClubsMeData, GetApiClubsMeErrors, GetApiClubsMeResponses, GetApiDashboardMeData, GetApiDashboardMeErrors, GetApiDashboardMeResponses, GetApiDashboardVideosByIdPlayUrlData, GetApiDashboardVideosByIdPlayUrlErrors, GetApiDashboardVideosByIdPlayUrlResponses, GetApiDocumentsMeData, GetApiDocumentsMeErrors, GetApiDocumentsMeResponses, GetApiIndexByTableNameData, GetApiIndexByTableNameErrors, GetApiIndexByTableNameResponses, GetApiIndexCountriesData, GetApiIndexCountriesErrors, GetApiIndexCountriesResponses, GetApiInvitationsData, GetApiInvitationsResponses, GetApiKycStatusByUserIdData, GetApiKycStatusByUserIdErrors, GetApiKycStatusByUserIdResponses, GetApiNotificationsPreferencesData, GetApiNotificationsPreferencesResponses, GetApiOffersConversationsByIdMessagesData, GetApiOffersConversationsByIdMessagesErrors, GetApiOffersConversationsByIdMessagesResponses, GetApiOffersConversationsData, GetApiOffersConversationsErrors, GetApiOffersConversationsResponses, GetApiOrganizationsMeData, GetApiOrganizationsMeErrors, GetApiOrganizationsMeResponses, GetApiPlayersByIdData, GetApiPlayersByIdErrors, GetApiPlayersByIdResponses, GetApiPlayersMeDashboardData, GetApiPlayersMeDashboardErrors, GetApiPlayersMeDashboardResponses, GetApiPlayersMeData, GetApiPlayersMeErrors, GetApiPlayersMeResponses, GetApiProfileMeData, GetApiProfileMeErrors, GetApiProfileMeResponses, GetApiSubscriptionsMeData, GetApiSubscriptionsMeResponses, GetApiSubscriptionsPlansData, GetApiSubscriptionsPlansResponses, GetApiTrainingByIdData, GetApiTrainingByIdErrors, GetApiTrainingByIdResponses, GetApiTrainingData, GetApiTrainingErrors, GetApiTrainingGroupedData, GetApiTrainingGroupedErrors, GetApiTrainingGroupedResponses, GetApiTrainingResponses, GetApiVideosByIdPlayUrlData, GetApiVideosByIdPlayUrlErrors, GetApiVideosByIdPlayUrlResponses, GetApiVideosMeData, GetApiVideosMeErrors, GetApiVideosMeResponses, PatchApiClubsMeByIdData, PatchApiClubsMeByIdErrors, PatchApiClubsMeByIdResponses, PatchApiNotificationsPreferencesData, PatchApiNotificationsPreferencesResponses, PatchApiOffersConversationsByIdReadData, PatchApiOffersConversationsByIdReadErrors, PatchApiOffersConversationsByIdReadResponses, PatchApiPlayersMeData, PatchApiPlayersMeErrors, PatchApiPlayersMeResponses, PostApiBodyMeasurementsData, PostApiBodyMeasurementsErrors, PostApiBodyMeasurementsResponses, PostApiClubsMeData, PostApiClubsMeErrors, PostApiClubsMeResponses, PostApiDocumentsData, PostApiDocumentsErrors, PostApiDocumentsResponses, PostApiInvitationsAcceptData, PostApiInvitationsAcceptResponses, PostApiInvitationsByIdResendData, PostApiInvitationsByIdResendErrors, PostApiInvitationsByIdResendResponses, PostApiInvitationsData, PostApiInvitationsErrors, PostApiInvitationsResponses, PostApiKycCancelData, PostApiKycCancelErrors, PostApiKycCancelResponses, PostApiKycMarkSubmittedData, PostApiKycMarkSubmittedErrors, PostApiKycMarkSubmittedResponses, PostApiKycStartData, PostApiKycStartErrors, PostApiKycStartResponses, PostApiKycWebhookData, PostApiKycWebhookErrors, PostApiKycWebhookResponses, PostApiNotificationsDevicesData, PostApiNotificationsDevicesResponses, PostApiOffersConversationsByIdMessagesData, PostApiOffersConversationsByIdMessagesErrors, PostApiOffersConversationsByIdMessagesResponses, PostApiOffersConversationsData, PostApiOffersConversationsErrors, PostApiOffersConversationsResponses, PostApiOrganizationsRegisterAgentData, PostApiOrganizationsRegisterAgentErrors, PostApiOrganizationsRegisterAgentResponses, PostApiOrganizationsRegisterClubData, PostApiOrganizationsRegisterClubErrors, PostApiOrganizationsRegisterClubResponses, PostApiPlayersMeHeartbeatData, PostApiPlayersMeHeartbeatErrors, PostApiPlayersMeHeartbeatResponses, PostApiPlayersSearchData, PostApiPlayersSearchErrors, PostApiPlayersSearchResponses, PostApiStorageUploadUrlData, PostApiStorageUploadUrlErrors, PostApiStorageUploadUrlResponses, PostApiSubscriptionsCheckoutData, PostApiSubscriptionsCheckoutErrors, PostApiSubscriptionsCheckoutResponses, PostApiSubscriptionsPortalData, PostApiSubscriptionsPortalErrors, PostApiSubscriptionsPortalResponses, PostApiSubscriptionsWebhookData, PostApiSubscriptionsWebhookErrors, PostApiSubscriptionsWebhookResponses, PostApiVideosData, PostApiVideosErrors, PostApiVideosResponses, PutApiOrganizationsMeData, PutApiOrganizationsMeErrors, PutApiOrganizationsMeResponses, PutApiProfileMeData, PutApiProfileMeErrors, PutApiProfileMeResponses } from './types.gen.js';
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -157,6 +157,28 @@ export declare class Dashboard extends HeyApiClient {
157
157
  */
158
158
  getScoutVideoPlayUrl<ThrowOnError extends boolean = false>(options: Options<GetApiDashboardVideosByIdPlayUrlData, ThrowOnError>): import("./client/types.gen.js").RequestResult<GetApiDashboardVideosByIdPlayUrlResponses, GetApiDashboardVideosByIdPlayUrlErrors, ThrowOnError, "fields">;
159
159
  }
160
+ export declare class Subscriptions extends HeyApiClient {
161
+ /**
162
+ * List available subscription plans
163
+ */
164
+ getSubscriptionPlans<ThrowOnError extends boolean = false>(options?: Options<GetApiSubscriptionsPlansData, ThrowOnError>): import("./client/types.gen.js").RequestResult<GetApiSubscriptionsPlansResponses, unknown, ThrowOnError, "fields">;
165
+ /**
166
+ * Get the current user's subscription status
167
+ */
168
+ getMySubscription<ThrowOnError extends boolean = false>(options?: Options<GetApiSubscriptionsMeData, ThrowOnError>): import("./client/types.gen.js").RequestResult<GetApiSubscriptionsMeResponses, unknown, ThrowOnError, "fields">;
169
+ /**
170
+ * Create a Stripe Checkout Session — redirect the user to the returned URL
171
+ */
172
+ createCheckout<ThrowOnError extends boolean = false>(options: Options<PostApiSubscriptionsCheckoutData, ThrowOnError>): import("./client/types.gen.js").RequestResult<PostApiSubscriptionsCheckoutResponses, PostApiSubscriptionsCheckoutErrors, ThrowOnError, "fields">;
173
+ /**
174
+ * Create a Stripe Billing Portal Session — redirect the user to the returned URL
175
+ */
176
+ createPortal<ThrowOnError extends boolean = false>(options: Options<PostApiSubscriptionsPortalData, ThrowOnError>): import("./client/types.gen.js").RequestResult<PostApiSubscriptionsPortalResponses, PostApiSubscriptionsPortalErrors, ThrowOnError, "fields">;
177
+ /**
178
+ * Stripe webhook endpoint — receives signed events (public, signature-verified)
179
+ */
180
+ stripeWebhook<ThrowOnError extends boolean = false>(options: Options<PostApiSubscriptionsWebhookData, ThrowOnError>): import("./client/types.gen.js").RequestResult<PostApiSubscriptionsWebhookResponses, PostApiSubscriptionsWebhookErrors, ThrowOnError, "fields">;
181
+ }
160
182
  export declare class GlobalScoutMeClient extends HeyApiClient {
161
183
  static readonly __registry: HeyApiRegistry<GlobalScoutMeClient>;
162
184
  constructor(args?: {
@@ -199,5 +221,7 @@ export declare class GlobalScoutMeClient extends HeyApiClient {
199
221
  get videos(): Videos;
200
222
  private _dashboard?;
201
223
  get dashboard(): Dashboard;
224
+ private _subscriptions?;
225
+ get subscriptions(): Subscriptions;
202
226
  }
203
227
  export {};
package/dist/sdk.gen.js CHANGED
@@ -428,6 +428,52 @@ export class Dashboard extends HeyApiClient {
428
428
  return (options.client ?? this.client).get({ url: '/api/dashboard/videos/{id}/play-url', ...options });
429
429
  }
430
430
  }
431
+ export class Subscriptions extends HeyApiClient {
432
+ /**
433
+ * List available subscription plans
434
+ */
435
+ getSubscriptionPlans(options) {
436
+ return (options?.client ?? this.client).get({ url: '/api/subscriptions/plans', ...options });
437
+ }
438
+ /**
439
+ * Get the current user's subscription status
440
+ */
441
+ getMySubscription(options) {
442
+ return (options?.client ?? this.client).get({ url: '/api/subscriptions/me', ...options });
443
+ }
444
+ /**
445
+ * Create a Stripe Checkout Session — redirect the user to the returned URL
446
+ */
447
+ createCheckout(options) {
448
+ return (options.client ?? this.client).post({
449
+ url: '/api/subscriptions/checkout',
450
+ ...options,
451
+ headers: {
452
+ 'Content-Type': 'application/json',
453
+ ...options.headers,
454
+ },
455
+ });
456
+ }
457
+ /**
458
+ * Create a Stripe Billing Portal Session — redirect the user to the returned URL
459
+ */
460
+ createPortal(options) {
461
+ return (options.client ?? this.client).post({
462
+ url: '/api/subscriptions/portal',
463
+ ...options,
464
+ headers: {
465
+ 'Content-Type': 'application/json',
466
+ ...options.headers,
467
+ },
468
+ });
469
+ }
470
+ /**
471
+ * Stripe webhook endpoint — receives signed events (public, signature-verified)
472
+ */
473
+ stripeWebhook(options) {
474
+ return (options.client ?? this.client).post({ url: '/api/subscriptions/webhook', ...options });
475
+ }
476
+ }
431
477
  export class GlobalScoutMeClient extends HeyApiClient {
432
478
  constructor(args) {
433
479
  super(args);
@@ -487,5 +533,8 @@ export class GlobalScoutMeClient extends HeyApiClient {
487
533
  get dashboard() {
488
534
  return (this._dashboard ?? (this._dashboard = new Dashboard({ client: this.client })));
489
535
  }
536
+ get subscriptions() {
537
+ return (this._subscriptions ?? (this._subscriptions = new Subscriptions({ client: this.client })));
538
+ }
490
539
  }
491
540
  GlobalScoutMeClient.__registry = new HeyApiRegistry();
@@ -715,20 +715,25 @@ export type UserAchievementResponseDto = {
715
715
  export type BodyMeasurementResponseDto = {
716
716
  id: string;
717
717
  userId: string;
718
- measurementDate?: string | null;
719
- imageUrl?: string | null;
720
- shoulderWidthCm?: number | null;
721
- chestCircumferenceCm?: number | null;
722
- waistCircumferenceCm?: number | null;
723
- hipCircumferenceCm?: number | null;
718
+ imagePath?: string | null;
724
719
  processingStatus?: string | null;
720
+ selfReportedHeightCm?: number | null;
721
+ wingspanToSkeletonRatio?: number | null;
722
+ legToTorsoRatio?: number | null;
723
+ femurToTibiaRatio?: number | null;
724
+ shoulderToHipRatio?: number | null;
725
+ qualityStatus?: string | null;
725
726
  createdAt?: string | null;
726
727
  };
727
728
  export type CreateBodyMeasurementDto = {
728
729
  /**
729
- * Image URL or path
730
+ * Storage path of the body image
730
731
  */
731
- imageUrl?: string;
732
+ imagePath?: string;
733
+ /**
734
+ * Self-reported height in centimetres
735
+ */
736
+ selfReportedHeightCm?: number;
732
737
  };
733
738
  export type ChallengeCatalogDto = {
734
739
  id: string;
@@ -1496,6 +1501,66 @@ export type ScoutDashboardResponseDto = {
1496
1501
  */
1497
1502
  lastVideosWatched: Array<DashboardVideoCardDto>;
1498
1503
  };
1504
+ export type SubscriptionPlanDto = {
1505
+ id: string;
1506
+ code?: string | null;
1507
+ name: string;
1508
+ price: number;
1509
+ currency: string;
1510
+ billingInterval?: string | null;
1511
+ trialDays?: number | null;
1512
+ features?: {
1513
+ [key: string]: unknown;
1514
+ };
1515
+ displayOrder?: number | null;
1516
+ };
1517
+ export type PlansListDto = {
1518
+ plans: Array<SubscriptionPlanDto>;
1519
+ };
1520
+ export type MySubscriptionDto = {
1521
+ status: string;
1522
+ isActive: boolean;
1523
+ planId?: string | null;
1524
+ planName?: string | null;
1525
+ billingInterval?: string | null;
1526
+ currentPeriodStart?: string | null;
1527
+ currentPeriodEnd?: string | null;
1528
+ cancelAtPeriodEnd: boolean;
1529
+ canceledAt?: string | null;
1530
+ gracePeriodUntil?: string | null;
1531
+ };
1532
+ export type CreateCheckoutDto = {
1533
+ /**
1534
+ * billing_provider_products.id for the desired plan and surface
1535
+ */
1536
+ providerProductId: string;
1537
+ /**
1538
+ * URL or deep-link to redirect to after successful checkout
1539
+ */
1540
+ successUrl: string;
1541
+ /**
1542
+ * URL or deep-link to redirect to if checkout is cancelled
1543
+ */
1544
+ cancelUrl: string;
1545
+ };
1546
+ export type CheckoutResultDto = {
1547
+ /**
1548
+ * Stripe Checkout Session URL — redirect the user here
1549
+ */
1550
+ url: string;
1551
+ };
1552
+ export type CreatePortalDto = {
1553
+ /**
1554
+ * URL or deep-link to return to when leaving the portal
1555
+ */
1556
+ returnUrl: string;
1557
+ };
1558
+ export type PortalResultDto = {
1559
+ /**
1560
+ * Stripe Billing Portal URL — redirect the user here
1561
+ */
1562
+ url: string;
1563
+ };
1499
1564
  export type GetApiAuthMeData = {
1500
1565
  body?: never;
1501
1566
  path?: never;
@@ -2588,3 +2653,76 @@ export type GetApiDashboardVideosByIdPlayUrlResponses = {
2588
2653
  200: PlayUrlResponseDto;
2589
2654
  };
2590
2655
  export type GetApiDashboardVideosByIdPlayUrlResponse = GetApiDashboardVideosByIdPlayUrlResponses[keyof GetApiDashboardVideosByIdPlayUrlResponses];
2656
+ export type GetApiSubscriptionsPlansData = {
2657
+ body?: never;
2658
+ path?: never;
2659
+ query?: never;
2660
+ url: '/api/subscriptions/plans';
2661
+ };
2662
+ export type GetApiSubscriptionsPlansResponses = {
2663
+ 200: PlansListDto;
2664
+ };
2665
+ export type GetApiSubscriptionsPlansResponse = GetApiSubscriptionsPlansResponses[keyof GetApiSubscriptionsPlansResponses];
2666
+ export type GetApiSubscriptionsMeData = {
2667
+ body?: never;
2668
+ path?: never;
2669
+ query?: never;
2670
+ url: '/api/subscriptions/me';
2671
+ };
2672
+ export type GetApiSubscriptionsMeResponses = {
2673
+ 200: MySubscriptionDto;
2674
+ };
2675
+ export type GetApiSubscriptionsMeResponse = GetApiSubscriptionsMeResponses[keyof GetApiSubscriptionsMeResponses];
2676
+ export type PostApiSubscriptionsCheckoutData = {
2677
+ body: CreateCheckoutDto;
2678
+ path?: never;
2679
+ query?: never;
2680
+ url: '/api/subscriptions/checkout';
2681
+ };
2682
+ export type PostApiSubscriptionsCheckoutErrors = {
2683
+ /**
2684
+ * Plan not available
2685
+ */
2686
+ 404: unknown;
2687
+ };
2688
+ export type PostApiSubscriptionsCheckoutResponses = {
2689
+ 200: CheckoutResultDto;
2690
+ };
2691
+ export type PostApiSubscriptionsCheckoutResponse = PostApiSubscriptionsCheckoutResponses[keyof PostApiSubscriptionsCheckoutResponses];
2692
+ export type PostApiSubscriptionsPortalData = {
2693
+ body: CreatePortalDto;
2694
+ path?: never;
2695
+ query?: never;
2696
+ url: '/api/subscriptions/portal';
2697
+ };
2698
+ export type PostApiSubscriptionsPortalErrors = {
2699
+ /**
2700
+ * No active subscription found
2701
+ */
2702
+ 404: unknown;
2703
+ };
2704
+ export type PostApiSubscriptionsPortalResponses = {
2705
+ 200: PortalResultDto;
2706
+ };
2707
+ export type PostApiSubscriptionsPortalResponse = PostApiSubscriptionsPortalResponses[keyof PostApiSubscriptionsPortalResponses];
2708
+ export type PostApiSubscriptionsWebhookData = {
2709
+ body?: never;
2710
+ headers: {
2711
+ 'stripe-signature': string;
2712
+ };
2713
+ path?: never;
2714
+ query?: never;
2715
+ url: '/api/subscriptions/webhook';
2716
+ };
2717
+ export type PostApiSubscriptionsWebhookErrors = {
2718
+ /**
2719
+ * Invalid signature
2720
+ */
2721
+ 400: unknown;
2722
+ };
2723
+ export type PostApiSubscriptionsWebhookResponses = {
2724
+ /**
2725
+ * Acknowledged
2726
+ */
2727
+ 200: unknown;
2728
+ };
package/index.ts CHANGED
@@ -19,6 +19,7 @@ export {
19
19
  Players,
20
20
  Profile,
21
21
  Storage,
22
+ Subscriptions,
22
23
  Training,
23
24
  Videos,
24
25
  } from './sdk.gen.js';
@@ -29,6 +30,7 @@ export type {
29
30
  CancelKycRequestDto,
30
31
  CareerAchievementDto,
31
32
  ChallengeCatalogDto,
33
+ CheckoutResultDto,
32
34
  ClientOptions,
33
35
  ClubResponseDto,
34
36
  ConversationDetailDto,
@@ -38,9 +40,11 @@ export type {
38
40
  ConversationParticipantDto,
39
41
  CountryDto,
40
42
  CreateBodyMeasurementDto,
43
+ CreateCheckoutDto,
41
44
  CreateClubDto,
42
45
  CreateConversationDto,
43
46
  CreateDocumentDto,
47
+ CreatePortalDto,
44
48
  CreateUploadUrlDto,
45
49
  CreateVideoDto,
46
50
  DashboardResponseDto,
@@ -153,6 +157,12 @@ export type {
153
157
  GetApiProfileMeErrors,
154
158
  GetApiProfileMeResponse,
155
159
  GetApiProfileMeResponses,
160
+ GetApiSubscriptionsMeData,
161
+ GetApiSubscriptionsMeResponse,
162
+ GetApiSubscriptionsMeResponses,
163
+ GetApiSubscriptionsPlansData,
164
+ GetApiSubscriptionsPlansResponse,
165
+ GetApiSubscriptionsPlansResponses,
156
166
  GetApiTrainingByIdData,
157
167
  GetApiTrainingByIdErrors,
158
168
  GetApiTrainingByIdResponse,
@@ -184,6 +194,7 @@ export type {
184
194
  MessageListResultDto,
185
195
  MessageSenderDto,
186
196
  MyChallengeDto,
197
+ MySubscriptionDto,
187
198
  NotificationPreferencesDto,
188
199
  OkDto,
189
200
  OrganizationResponseDto,
@@ -202,6 +213,7 @@ export type {
202
213
  PatchApiPlayersMeErrors,
203
214
  PatchApiPlayersMeResponse,
204
215
  PatchApiPlayersMeResponses,
216
+ PlansListDto,
205
217
  PlayerAchievementDto,
206
218
  PlayerByIdDto,
207
219
  PlayerClubDto,
@@ -211,6 +223,7 @@ export type {
211
223
  PlayerSearchResultDto,
212
224
  PlayerVideoDto,
213
225
  PlayUrlResponseDto,
226
+ PortalResultDto,
214
227
  PostApiBodyMeasurementsData,
215
228
  PostApiBodyMeasurementsErrors,
216
229
  PostApiBodyMeasurementsResponse,
@@ -280,6 +293,17 @@ export type {
280
293
  PostApiStorageUploadUrlErrors,
281
294
  PostApiStorageUploadUrlResponse,
282
295
  PostApiStorageUploadUrlResponses,
296
+ PostApiSubscriptionsCheckoutData,
297
+ PostApiSubscriptionsCheckoutErrors,
298
+ PostApiSubscriptionsCheckoutResponse,
299
+ PostApiSubscriptionsCheckoutResponses,
300
+ PostApiSubscriptionsPortalData,
301
+ PostApiSubscriptionsPortalErrors,
302
+ PostApiSubscriptionsPortalResponse,
303
+ PostApiSubscriptionsPortalResponses,
304
+ PostApiSubscriptionsWebhookData,
305
+ PostApiSubscriptionsWebhookErrors,
306
+ PostApiSubscriptionsWebhookResponses,
283
307
  PostApiVideosData,
284
308
  PostApiVideosErrors,
285
309
  PostApiVideosResponse,
@@ -305,6 +329,7 @@ export type {
305
329
  SendMessageDto,
306
330
  StartKycRequestDto,
307
331
  StartKycResponseDto,
332
+ SubscriptionPlanDto,
308
333
  TrainingCategoryGroupDto,
309
334
  TrainingContentDetailDto,
310
335
  TrainingContentListItemDto,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@globalscoutme/api-client",
3
- "version": "1.0.26",
3
+ "version": "1.1.0",
4
4
  "description": "GlobalScoutMe API client (generated)",
5
5
  "author": "GlobalScoutMe",
6
6
  "license": "UNLICENSED",
package/sdk.gen.ts CHANGED
@@ -84,6 +84,10 @@ import type {
84
84
  GetApiProfileMeData,
85
85
  GetApiProfileMeErrors,
86
86
  GetApiProfileMeResponses,
87
+ GetApiSubscriptionsMeData,
88
+ GetApiSubscriptionsMeResponses,
89
+ GetApiSubscriptionsPlansData,
90
+ GetApiSubscriptionsPlansResponses,
87
91
  GetApiTrainingByIdData,
88
92
  GetApiTrainingByIdErrors,
89
93
  GetApiTrainingByIdResponses,
@@ -162,6 +166,15 @@ import type {
162
166
  PostApiStorageUploadUrlData,
163
167
  PostApiStorageUploadUrlErrors,
164
168
  PostApiStorageUploadUrlResponses,
169
+ PostApiSubscriptionsCheckoutData,
170
+ PostApiSubscriptionsCheckoutErrors,
171
+ PostApiSubscriptionsCheckoutResponses,
172
+ PostApiSubscriptionsPortalData,
173
+ PostApiSubscriptionsPortalErrors,
174
+ PostApiSubscriptionsPortalResponses,
175
+ PostApiSubscriptionsWebhookData,
176
+ PostApiSubscriptionsWebhookErrors,
177
+ PostApiSubscriptionsWebhookResponses,
165
178
  PostApiVideosData,
166
179
  PostApiVideosErrors,
167
180
  PostApiVideosResponses,
@@ -1024,6 +1037,87 @@ export class Dashboard extends HeyApiClient {
1024
1037
  }
1025
1038
  }
1026
1039
 
1040
+ export class Subscriptions extends HeyApiClient {
1041
+ /**
1042
+ * List available subscription plans
1043
+ */
1044
+ public getSubscriptionPlans<ThrowOnError extends boolean = false>(
1045
+ options?: Options<GetApiSubscriptionsPlansData, ThrowOnError>,
1046
+ ) {
1047
+ return (options?.client ?? this.client).get<
1048
+ GetApiSubscriptionsPlansResponses,
1049
+ unknown,
1050
+ ThrowOnError
1051
+ >({ url: '/api/subscriptions/plans', ...options });
1052
+ }
1053
+
1054
+ /**
1055
+ * Get the current user's subscription status
1056
+ */
1057
+ public getMySubscription<ThrowOnError extends boolean = false>(
1058
+ options?: Options<GetApiSubscriptionsMeData, ThrowOnError>,
1059
+ ) {
1060
+ return (options?.client ?? this.client).get<
1061
+ GetApiSubscriptionsMeResponses,
1062
+ unknown,
1063
+ ThrowOnError
1064
+ >({ url: '/api/subscriptions/me', ...options });
1065
+ }
1066
+
1067
+ /**
1068
+ * Create a Stripe Checkout Session — redirect the user to the returned URL
1069
+ */
1070
+ public createCheckout<ThrowOnError extends boolean = false>(
1071
+ options: Options<PostApiSubscriptionsCheckoutData, ThrowOnError>,
1072
+ ) {
1073
+ return (options.client ?? this.client).post<
1074
+ PostApiSubscriptionsCheckoutResponses,
1075
+ PostApiSubscriptionsCheckoutErrors,
1076
+ ThrowOnError
1077
+ >({
1078
+ url: '/api/subscriptions/checkout',
1079
+ ...options,
1080
+ headers: {
1081
+ 'Content-Type': 'application/json',
1082
+ ...options.headers,
1083
+ },
1084
+ });
1085
+ }
1086
+
1087
+ /**
1088
+ * Create a Stripe Billing Portal Session — redirect the user to the returned URL
1089
+ */
1090
+ public createPortal<ThrowOnError extends boolean = false>(
1091
+ options: Options<PostApiSubscriptionsPortalData, ThrowOnError>,
1092
+ ) {
1093
+ return (options.client ?? this.client).post<
1094
+ PostApiSubscriptionsPortalResponses,
1095
+ PostApiSubscriptionsPortalErrors,
1096
+ ThrowOnError
1097
+ >({
1098
+ url: '/api/subscriptions/portal',
1099
+ ...options,
1100
+ headers: {
1101
+ 'Content-Type': 'application/json',
1102
+ ...options.headers,
1103
+ },
1104
+ });
1105
+ }
1106
+
1107
+ /**
1108
+ * Stripe webhook endpoint — receives signed events (public, signature-verified)
1109
+ */
1110
+ public stripeWebhook<ThrowOnError extends boolean = false>(
1111
+ options: Options<PostApiSubscriptionsWebhookData, ThrowOnError>,
1112
+ ) {
1113
+ return (options.client ?? this.client).post<
1114
+ PostApiSubscriptionsWebhookResponses,
1115
+ PostApiSubscriptionsWebhookErrors,
1116
+ ThrowOnError
1117
+ >({ url: '/api/subscriptions/webhook', ...options });
1118
+ }
1119
+ }
1120
+
1027
1121
  export class GlobalScoutMeClient extends HeyApiClient {
1028
1122
  public static readonly __registry = new HeyApiRegistry<GlobalScoutMeClient>();
1029
1123
 
@@ -1121,4 +1215,9 @@ export class GlobalScoutMeClient extends HeyApiClient {
1121
1215
  get dashboard(): Dashboard {
1122
1216
  return (this._dashboard ??= new Dashboard({ client: this.client }));
1123
1217
  }
1218
+
1219
+ private _subscriptions?: Subscriptions;
1220
+ get subscriptions(): Subscriptions {
1221
+ return (this._subscriptions ??= new Subscriptions({ client: this.client }));
1222
+ }
1124
1223
  }
package/types.gen.ts CHANGED
@@ -752,21 +752,26 @@ export type UserAchievementResponseDto = {
752
752
  export type BodyMeasurementResponseDto = {
753
753
  id: string;
754
754
  userId: string;
755
- measurementDate?: string | null;
756
- imageUrl?: string | null;
757
- shoulderWidthCm?: number | null;
758
- chestCircumferenceCm?: number | null;
759
- waistCircumferenceCm?: number | null;
760
- hipCircumferenceCm?: number | null;
755
+ imagePath?: string | null;
761
756
  processingStatus?: string | null;
757
+ selfReportedHeightCm?: number | null;
758
+ wingspanToSkeletonRatio?: number | null;
759
+ legToTorsoRatio?: number | null;
760
+ femurToTibiaRatio?: number | null;
761
+ shoulderToHipRatio?: number | null;
762
+ qualityStatus?: string | null;
762
763
  createdAt?: string | null;
763
764
  };
764
765
 
765
766
  export type CreateBodyMeasurementDto = {
766
767
  /**
767
- * Image URL or path
768
+ * Storage path of the body image
768
769
  */
769
- imageUrl?: string;
770
+ imagePath?: string;
771
+ /**
772
+ * Self-reported height in centimetres
773
+ */
774
+ selfReportedHeightCm?: number;
770
775
  };
771
776
 
772
777
  export type ChallengeCatalogDto = {
@@ -1599,6 +1604,73 @@ export type ScoutDashboardResponseDto = {
1599
1604
  lastVideosWatched: Array<DashboardVideoCardDto>;
1600
1605
  };
1601
1606
 
1607
+ export type SubscriptionPlanDto = {
1608
+ id: string;
1609
+ code?: string | null;
1610
+ name: string;
1611
+ price: number;
1612
+ currency: string;
1613
+ billingInterval?: string | null;
1614
+ trialDays?: number | null;
1615
+ features?: {
1616
+ [key: string]: unknown;
1617
+ };
1618
+ displayOrder?: number | null;
1619
+ };
1620
+
1621
+ export type PlansListDto = {
1622
+ plans: Array<SubscriptionPlanDto>;
1623
+ };
1624
+
1625
+ export type MySubscriptionDto = {
1626
+ status: string;
1627
+ isActive: boolean;
1628
+ planId?: string | null;
1629
+ planName?: string | null;
1630
+ billingInterval?: string | null;
1631
+ currentPeriodStart?: string | null;
1632
+ currentPeriodEnd?: string | null;
1633
+ cancelAtPeriodEnd: boolean;
1634
+ canceledAt?: string | null;
1635
+ gracePeriodUntil?: string | null;
1636
+ };
1637
+
1638
+ export type CreateCheckoutDto = {
1639
+ /**
1640
+ * billing_provider_products.id for the desired plan and surface
1641
+ */
1642
+ providerProductId: string;
1643
+ /**
1644
+ * URL or deep-link to redirect to after successful checkout
1645
+ */
1646
+ successUrl: string;
1647
+ /**
1648
+ * URL or deep-link to redirect to if checkout is cancelled
1649
+ */
1650
+ cancelUrl: string;
1651
+ };
1652
+
1653
+ export type CheckoutResultDto = {
1654
+ /**
1655
+ * Stripe Checkout Session URL — redirect the user here
1656
+ */
1657
+ url: string;
1658
+ };
1659
+
1660
+ export type CreatePortalDto = {
1661
+ /**
1662
+ * URL or deep-link to return to when leaving the portal
1663
+ */
1664
+ returnUrl: string;
1665
+ };
1666
+
1667
+ export type PortalResultDto = {
1668
+ /**
1669
+ * Stripe Billing Portal URL — redirect the user here
1670
+ */
1671
+ url: string;
1672
+ };
1673
+
1602
1674
  export type GetApiAuthMeData = {
1603
1675
  body?: never;
1604
1676
  path?: never;
@@ -2964,3 +3036,97 @@ export type GetApiDashboardVideosByIdPlayUrlResponses = {
2964
3036
 
2965
3037
  export type GetApiDashboardVideosByIdPlayUrlResponse =
2966
3038
  GetApiDashboardVideosByIdPlayUrlResponses[keyof GetApiDashboardVideosByIdPlayUrlResponses];
3039
+
3040
+ export type GetApiSubscriptionsPlansData = {
3041
+ body?: never;
3042
+ path?: never;
3043
+ query?: never;
3044
+ url: '/api/subscriptions/plans';
3045
+ };
3046
+
3047
+ export type GetApiSubscriptionsPlansResponses = {
3048
+ 200: PlansListDto;
3049
+ };
3050
+
3051
+ export type GetApiSubscriptionsPlansResponse =
3052
+ GetApiSubscriptionsPlansResponses[keyof GetApiSubscriptionsPlansResponses];
3053
+
3054
+ export type GetApiSubscriptionsMeData = {
3055
+ body?: never;
3056
+ path?: never;
3057
+ query?: never;
3058
+ url: '/api/subscriptions/me';
3059
+ };
3060
+
3061
+ export type GetApiSubscriptionsMeResponses = {
3062
+ 200: MySubscriptionDto;
3063
+ };
3064
+
3065
+ export type GetApiSubscriptionsMeResponse =
3066
+ GetApiSubscriptionsMeResponses[keyof GetApiSubscriptionsMeResponses];
3067
+
3068
+ export type PostApiSubscriptionsCheckoutData = {
3069
+ body: CreateCheckoutDto;
3070
+ path?: never;
3071
+ query?: never;
3072
+ url: '/api/subscriptions/checkout';
3073
+ };
3074
+
3075
+ export type PostApiSubscriptionsCheckoutErrors = {
3076
+ /**
3077
+ * Plan not available
3078
+ */
3079
+ 404: unknown;
3080
+ };
3081
+
3082
+ export type PostApiSubscriptionsCheckoutResponses = {
3083
+ 200: CheckoutResultDto;
3084
+ };
3085
+
3086
+ export type PostApiSubscriptionsCheckoutResponse =
3087
+ PostApiSubscriptionsCheckoutResponses[keyof PostApiSubscriptionsCheckoutResponses];
3088
+
3089
+ export type PostApiSubscriptionsPortalData = {
3090
+ body: CreatePortalDto;
3091
+ path?: never;
3092
+ query?: never;
3093
+ url: '/api/subscriptions/portal';
3094
+ };
3095
+
3096
+ export type PostApiSubscriptionsPortalErrors = {
3097
+ /**
3098
+ * No active subscription found
3099
+ */
3100
+ 404: unknown;
3101
+ };
3102
+
3103
+ export type PostApiSubscriptionsPortalResponses = {
3104
+ 200: PortalResultDto;
3105
+ };
3106
+
3107
+ export type PostApiSubscriptionsPortalResponse =
3108
+ PostApiSubscriptionsPortalResponses[keyof PostApiSubscriptionsPortalResponses];
3109
+
3110
+ export type PostApiSubscriptionsWebhookData = {
3111
+ body?: never;
3112
+ headers: {
3113
+ 'stripe-signature': string;
3114
+ };
3115
+ path?: never;
3116
+ query?: never;
3117
+ url: '/api/subscriptions/webhook';
3118
+ };
3119
+
3120
+ export type PostApiSubscriptionsWebhookErrors = {
3121
+ /**
3122
+ * Invalid signature
3123
+ */
3124
+ 400: unknown;
3125
+ };
3126
+
3127
+ export type PostApiSubscriptionsWebhookResponses = {
3128
+ /**
3129
+ * Acknowledged
3130
+ */
3131
+ 200: unknown;
3132
+ };