{"items":[{"type":"link","fsPath":"1.intro.md","metadata":{"type":"markdown"},"label":"PERS API Documentation","link":"/1.intro","routeSlug":"/1.intro","relativePathFromDirectory":"1.intro.md"},{"type":"link","fsPath":"2.platform-overview.md","metadata":{"type":"markdown"},"label":"PERS Platform Overview","link":"/2.platform-overview","routeSlug":"/2.platform-overview","relativePathFromDirectory":"2.platform-overview.md"},{"type":"link","fsPath":"3.dictionary.md","metadata":{"type":"markdown"},"label":"PERS Terminology Dictionary","link":"/3.dictionary","routeSlug":"/3.dictionary","relativePathFromDirectory":"3.dictionary.md"},{"type":"link","fsPath":"4.tokenomics.md","metadata":{"type":"markdown"},"label":"PERS Tokenomics","link":"/4.tokenomics","routeSlug":"/4.tokenomics","relativePathFromDirectory":"4.tokenomics.md"},{"type":"link","fsPath":"5.authentication-guide.md","metadata":{"type":"markdown"},"label":"PERS Authentication Guide","link":"/5.authentication-guide","routeSlug":"/5.authentication-guide","relativePathFromDirectory":"5.authentication-guide.md"},{"type":"link","fsPath":"6.developer-resources.md","metadata":{"type":"markdown"},"label":"PERS Developer Resources","link":"/6.developer-resources","routeSlug":"/6.developer-resources","relativePathFromDirectory":"6.developer-resources.md"},{"type":"link","fsPath":"7.counterfactual-wallets-guide.md","metadata":{"type":"markdown"},"label":"Counterfactual Wallets & Signing Accounts","link":"/7.counterfactual-wallets-guide","routeSlug":"/7.counterfactual-wallets-guide","relativePathFromDirectory":"7.counterfactual-wallets-guide.md"},{"type":"link","fsPath":"8.error-handling.md","metadata":{"type":"markdown"},"label":"PERS Error Handling","link":"/8.error-handling","routeSlug":"/8.error-handling","relativePathFromDirectory":"8.error-handling.md"},{"type":"link","fsPath":"9.changelog.md","metadata":{"type":"markdown"},"label":"PERS API Changelog","link":"/9.changelog","routeSlug":"/9.changelog","relativePathFromDirectory":"9.changelog.md"},{"type":"link","fsPath":"10.image-cdn.md","metadata":{"type":"markdown"},"label":"Image CDN","link":"/10.image-cdn","routeSlug":"/10.image-cdn","relativePathFromDirectory":"10.image-cdn.md"},{"type":"link","fsPath":"sdk-intro-react-native.md","metadata":{"type":"markdown"},"label":"PERS SDK React Native Introduction","link":"/sdk-intro-react-native","routeSlug":"/sdk-intro-react-native","relativePathFromDirectory":"sdk-intro-react-native.md"},{"type":"link","fsPath":"sdk-intro.md","metadata":{"type":"markdown"},"label":"PERS SDK Introduction","link":"/sdk-intro","routeSlug":"/sdk-intro","relativePathFromDirectory":"sdk-intro.md"},{"type":"group","label":"sdk-reference","items":[{"type":"group","label":"classes","items":[{"type":"link","fsPath":"sdk-reference/classes/AnalyticsApi.md","metadata":{"type":"markdown"},"label":"Class: AnalyticsApi","link":"/sdk-reference/classes/analyticsapi","routeSlug":"/sdk-reference/classes/analyticsapi","relativePathFromDirectory":"sdk-reference/classes/AnalyticsApi.md"},{"type":"link","fsPath":"sdk-reference/classes/AnalyticsManager.md","metadata":{"type":"markdown"},"label":"Class: AnalyticsManager","link":"/sdk-reference/classes/analyticsmanager","routeSlug":"/sdk-reference/classes/analyticsmanager","relativePathFromDirectory":"sdk-reference/classes/AnalyticsManager.md"},{"type":"link","fsPath":"sdk-reference/classes/AnalyticsService.md","metadata":{"type":"markdown"},"label":"Class: AnalyticsService","link":"/sdk-reference/classes/analyticsservice","routeSlug":"/sdk-reference/classes/analyticsservice","relativePathFromDirectory":"sdk-reference/classes/AnalyticsService.md"},{"type":"link","fsPath":"sdk-reference/classes/AngularHttpClientAdapter.md","metadata":{"type":"markdown"},"label":"Class: AngularHttpClientAdapter","link":"/sdk-reference/classes/angularhttpclientadapter","routeSlug":"/sdk-reference/classes/angularhttpclientadapter","relativePathFromDirectory":"sdk-reference/classes/AngularHttpClientAdapter.md"},{"type":"link","fsPath":"sdk-reference/classes/ApiKeyApi.md","metadata":{"type":"markdown"},"label":"Class: ApiKeyApi","link":"/sdk-reference/classes/apikeyapi","routeSlug":"/sdk-reference/classes/apikeyapi","relativePathFromDirectory":"sdk-reference/classes/ApiKeyApi.md"},{"type":"link","fsPath":"sdk-reference/classes/ApiKeyManager.md","metadata":{"type":"markdown"},"label":"Class: ApiKeyManager","link":"/sdk-reference/classes/apikeymanager","routeSlug":"/sdk-reference/classes/apikeymanager","relativePathFromDirectory":"sdk-reference/classes/ApiKeyManager.md"},{"type":"link","fsPath":"sdk-reference/classes/AuthApi.md","metadata":{"type":"markdown"},"label":"Class: AuthApi","link":"/sdk-reference/classes/authapi","routeSlug":"/sdk-reference/classes/authapi","relativePathFromDirectory":"sdk-reference/classes/AuthApi.md"},{"type":"link","fsPath":"sdk-reference/classes/AuthenticationError.md","metadata":{"type":"markdown"},"label":"Class: AuthenticationError","link":"/sdk-reference/classes/authenticationerror","routeSlug":"/sdk-reference/classes/authenticationerror","relativePathFromDirectory":"sdk-reference/classes/AuthenticationError.md"},{"type":"link","fsPath":"sdk-reference/classes/AuthManager.md","metadata":{"type":"markdown"},"label":"Class: AuthManager","link":"/sdk-reference/classes/authmanager","routeSlug":"/sdk-reference/classes/authmanager","relativePathFromDirectory":"sdk-reference/classes/AuthManager.md"},{"type":"link","fsPath":"sdk-reference/classes/AuthService.md","metadata":{"type":"markdown"},"label":"Class: AuthService","link":"/sdk-reference/classes/authservice","routeSlug":"/sdk-reference/classes/authservice","relativePathFromDirectory":"sdk-reference/classes/AuthService.md"},{"type":"link","fsPath":"sdk-reference/classes/AuthTokenManager.md","metadata":{"type":"markdown"},"label":"Class: AuthTokenManager","link":"/sdk-reference/classes/authtokenmanager","routeSlug":"/sdk-reference/classes/authtokenmanager","relativePathFromDirectory":"sdk-reference/classes/AuthTokenManager.md"},{"type":"link","fsPath":"sdk-reference/classes/BaseTokenService.md","metadata":{"type":"markdown"},"label":"Class: BaseTokenService","link":"/sdk-reference/classes/basetokenservice","routeSlug":"/sdk-reference/classes/basetokenservice","relativePathFromDirectory":"sdk-reference/classes/BaseTokenService.md"},{"type":"link","fsPath":"sdk-reference/classes/BookingApi.md","metadata":{"type":"markdown"},"label":"Class: BookingApi","link":"/sdk-reference/classes/bookingapi","routeSlug":"/sdk-reference/classes/bookingapi","relativePathFromDirectory":"sdk-reference/classes/BookingApi.md"},{"type":"link","fsPath":"sdk-reference/classes/BookingManager.md","metadata":{"type":"markdown"},"label":"Class: BookingManager","link":"/sdk-reference/classes/bookingmanager","routeSlug":"/sdk-reference/classes/bookingmanager","relativePathFromDirectory":"sdk-reference/classes/BookingManager.md"},{"type":"link","fsPath":"sdk-reference/classes/BookingService.md","metadata":{"type":"markdown"},"label":"Class: BookingService","link":"/sdk-reference/classes/bookingservice","routeSlug":"/sdk-reference/classes/bookingservice","relativePathFromDirectory":"sdk-reference/classes/BookingService.md"},{"type":"link","fsPath":"sdk-reference/classes/BrowserFetchClientAdapter.md","metadata":{"type":"markdown"},"label":"Class: BrowserFetchClientAdapter","link":"/sdk-reference/classes/browserfetchclientadapter","routeSlug":"/sdk-reference/classes/browserfetchclientadapter","relativePathFromDirectory":"sdk-reference/classes/BrowserFetchClientAdapter.md"},{"type":"link","fsPath":"sdk-reference/classes/BusinessApi.md","metadata":{"type":"markdown"},"label":"Class: BusinessApi","link":"/sdk-reference/classes/businessapi","routeSlug":"/sdk-reference/classes/businessapi","relativePathFromDirectory":"sdk-reference/classes/BusinessApi.md"},{"type":"link","fsPath":"sdk-reference/classes/BusinessManager.md","metadata":{"type":"markdown"},"label":"Class: BusinessManager","link":"/sdk-reference/classes/businessmanager","routeSlug":"/sdk-reference/classes/businessmanager","relativePathFromDirectory":"sdk-reference/classes/BusinessManager.md"},{"type":"link","fsPath":"sdk-reference/classes/BusinessMembershipApi.md","metadata":{"type":"markdown"},"label":"Class: BusinessMembershipApi","link":"/sdk-reference/classes/businessmembershipapi","routeSlug":"/sdk-reference/classes/businessmembershipapi","relativePathFromDirectory":"sdk-reference/classes/BusinessMembershipApi.md"},{"type":"link","fsPath":"sdk-reference/classes/BusinessMembershipService.md","metadata":{"type":"markdown"},"label":"Class: BusinessMembershipService","link":"/sdk-reference/classes/businessmembershipservice","routeSlug":"/sdk-reference/classes/businessmembershipservice","relativePathFromDirectory":"sdk-reference/classes/BusinessMembershipService.md"},{"type":"link","fsPath":"sdk-reference/classes/BusinessService.md","metadata":{"type":"markdown"},"label":"Class: BusinessService","link":"/sdk-reference/classes/businessservice","routeSlug":"/sdk-reference/classes/businessservice","relativePathFromDirectory":"sdk-reference/classes/BusinessService.md"},{"type":"link","fsPath":"sdk-reference/classes/CacheService.md","metadata":{"type":"markdown"},"label":"Class: CacheService","link":"/sdk-reference/classes/cacheservice","routeSlug":"/sdk-reference/classes/cacheservice","relativePathFromDirectory":"sdk-reference/classes/CacheService.md"},{"type":"link","fsPath":"sdk-reference/classes/CampaignApi.md","metadata":{"type":"markdown"},"label":"Class: CampaignApi","link":"/sdk-reference/classes/campaignapi","routeSlug":"/sdk-reference/classes/campaignapi","relativePathFromDirectory":"sdk-reference/classes/CampaignApi.md"},{"type":"link","fsPath":"sdk-reference/classes/CampaignManager.md","metadata":{"type":"markdown"},"label":"Class: CampaignManager","link":"/sdk-reference/classes/campaignmanager","routeSlug":"/sdk-reference/classes/campaignmanager","relativePathFromDirectory":"sdk-reference/classes/CampaignManager.md"},{"type":"link","fsPath":"sdk-reference/classes/CampaignService.md","metadata":{"type":"markdown"},"label":"Class: CampaignService","link":"/sdk-reference/classes/campaignservice","routeSlug":"/sdk-reference/classes/campaignservice","relativePathFromDirectory":"sdk-reference/classes/CampaignService.md"},{"type":"link","fsPath":"sdk-reference/classes/CustomFieldDefinitionManager.md","metadata":{"type":"markdown"},"label":"Class: CustomFieldDefinitionManager","link":"/sdk-reference/classes/customfielddefinitionmanager","routeSlug":"/sdk-reference/classes/customfielddefinitionmanager","relativePathFromDirectory":"sdk-reference/classes/CustomFieldDefinitionManager.md"},{"type":"link","fsPath":"sdk-reference/classes/DefaultAuthProvider.md","metadata":{"type":"markdown"},"label":"Class: DefaultAuthProvider","link":"/sdk-reference/classes/defaultauthprovider","routeSlug":"/sdk-reference/classes/defaultauthprovider","relativePathFromDirectory":"sdk-reference/classes/DefaultAuthProvider.md"},{"type":"link","fsPath":"sdk-reference/classes/DonationApi.md","metadata":{"type":"markdown"},"label":"Class: DonationApi","link":"/sdk-reference/classes/donationapi","routeSlug":"/sdk-reference/classes/donationapi","relativePathFromDirectory":"sdk-reference/classes/DonationApi.md"},{"type":"link","fsPath":"sdk-reference/classes/DonationManager.md","metadata":{"type":"markdown"},"label":"Class: DonationManager","link":"/sdk-reference/classes/donationmanager","routeSlug":"/sdk-reference/classes/donationmanager","relativePathFromDirectory":"sdk-reference/classes/DonationManager.md"},{"type":"link","fsPath":"sdk-reference/classes/DonationService.md","metadata":{"type":"markdown"},"label":"Class: DonationService","link":"/sdk-reference/classes/donationservice","routeSlug":"/sdk-reference/classes/donationservice","relativePathFromDirectory":"sdk-reference/classes/DonationService.md"},{"type":"link","fsPath":"sdk-reference/classes/DPoPManager.md","metadata":{"type":"markdown"},"label":"Class: DPoPManager","link":"/sdk-reference/classes/dpopmanager","routeSlug":"/sdk-reference/classes/dpopmanager","relativePathFromDirectory":"sdk-reference/classes/DPoPManager.md"},{"type":"link","fsPath":"sdk-reference/classes/ErrorUtils.md","metadata":{"type":"markdown"},"label":"Class: ErrorUtils","link":"/sdk-reference/classes/errorutils","routeSlug":"/sdk-reference/classes/errorutils","relativePathFromDirectory":"sdk-reference/classes/ErrorUtils.md"},{"type":"link","fsPath":"sdk-reference/classes/FileApi.md","metadata":{"type":"markdown"},"label":"Class: FileApi","link":"/sdk-reference/classes/fileapi","routeSlug":"/sdk-reference/classes/fileapi","relativePathFromDirectory":"sdk-reference/classes/FileApi.md"},{"type":"link","fsPath":"sdk-reference/classes/FileManager.md","metadata":{"type":"markdown"},"label":"Class: FileManager","link":"/sdk-reference/classes/filemanager","routeSlug":"/sdk-reference/classes/filemanager","relativePathFromDirectory":"sdk-reference/classes/FileManager.md"},{"type":"link","fsPath":"sdk-reference/classes/FileService.md","metadata":{"type":"markdown"},"label":"Class: FileService","link":"/sdk-reference/classes/fileservice","routeSlug":"/sdk-reference/classes/fileservice","relativePathFromDirectory":"sdk-reference/classes/FileService.md"},{"type":"link","fsPath":"sdk-reference/classes/IndexedDBTokenStorage.md","metadata":{"type":"markdown"},"label":"Class: IndexedDBTokenStorage","link":"/sdk-reference/classes/indexeddbtokenstorage","routeSlug":"/sdk-reference/classes/indexeddbtokenstorage","relativePathFromDirectory":"sdk-reference/classes/IndexedDBTokenStorage.md"},{"type":"link","fsPath":"sdk-reference/classes/LocalStorageTokenStorage.md","metadata":{"type":"markdown"},"label":"Class: LocalStorageTokenStorage","link":"/sdk-reference/classes/localstoragetokenstorage","routeSlug":"/sdk-reference/classes/localstoragetokenstorage","relativePathFromDirectory":"sdk-reference/classes/LocalStorageTokenStorage.md"},{"type":"link","fsPath":"sdk-reference/classes/LogoutRequired.md","metadata":{"type":"markdown"},"label":"Class: LogoutRequired","link":"/sdk-reference/classes/logoutrequired","routeSlug":"/sdk-reference/classes/logoutrequired","relativePathFromDirectory":"sdk-reference/classes/LogoutRequired.md"},{"type":"link","fsPath":"sdk-reference/classes/MemoryTokenStorage.md","metadata":{"type":"markdown"},"label":"Class: MemoryTokenStorage","link":"/sdk-reference/classes/memorytokenstorage","routeSlug":"/sdk-reference/classes/memorytokenstorage","relativePathFromDirectory":"sdk-reference/classes/MemoryTokenStorage.md"},{"type":"link","fsPath":"sdk-reference/classes/NetworkError.md","metadata":{"type":"markdown"},"label":"Class: NetworkError","link":"/sdk-reference/classes/networkerror","routeSlug":"/sdk-reference/classes/networkerror","relativePathFromDirectory":"sdk-reference/classes/NetworkError.md"},{"type":"link","fsPath":"sdk-reference/classes/NodeHttpClientAdapter.md","metadata":{"type":"markdown"},"label":"Class: NodeHttpClientAdapter","link":"/sdk-reference/classes/nodehttpclientadapter","routeSlug":"/sdk-reference/classes/nodehttpclientadapter","relativePathFromDirectory":"sdk-reference/classes/NodeHttpClientAdapter.md"},{"type":"link","fsPath":"sdk-reference/classes/NotificationApi.md","metadata":{"type":"markdown"},"label":"Class: NotificationApi","link":"/sdk-reference/classes/notificationapi","routeSlug":"/sdk-reference/classes/notificationapi","relativePathFromDirectory":"sdk-reference/classes/NotificationApi.md"},{"type":"link","fsPath":"sdk-reference/classes/NotificationManager.md","metadata":{"type":"markdown"},"label":"Class: NotificationManager","link":"/sdk-reference/classes/notificationmanager","routeSlug":"/sdk-reference/classes/notificationmanager","relativePathFromDirectory":"sdk-reference/classes/NotificationManager.md"},{"type":"link","fsPath":"sdk-reference/classes/NotificationService.md","metadata":{"type":"markdown"},"label":"Class: NotificationService","link":"/sdk-reference/classes/notificationservice","routeSlug":"/sdk-reference/classes/notificationservice","relativePathFromDirectory":"sdk-reference/classes/NotificationService.md"},{"type":"link","fsPath":"sdk-reference/classes/PaymentApi.md","metadata":{"type":"markdown"},"label":"Class: PaymentApi","link":"/sdk-reference/classes/paymentapi","routeSlug":"/sdk-reference/classes/paymentapi","relativePathFromDirectory":"sdk-reference/classes/PaymentApi.md"},{"type":"link","fsPath":"sdk-reference/classes/PaymentService.md","metadata":{"type":"markdown"},"label":"Class: PaymentService","link":"/sdk-reference/classes/paymentservice","routeSlug":"/sdk-reference/classes/paymentservice","relativePathFromDirectory":"sdk-reference/classes/PaymentService.md"},{"type":"link","fsPath":"sdk-reference/classes/PersApiClient.md","metadata":{"type":"markdown"},"label":"Class: PersApiClient","link":"/sdk-reference/classes/persapiclient","routeSlug":"/sdk-reference/classes/persapiclient","relativePathFromDirectory":"sdk-reference/classes/PersApiClient.md"},{"type":"link","fsPath":"sdk-reference/classes/PersApiError.md","metadata":{"type":"markdown"},"label":"Class: PersApiError","link":"/sdk-reference/classes/persapierror","routeSlug":"/sdk-reference/classes/persapierror","relativePathFromDirectory":"sdk-reference/classes/PersApiError.md"},{"type":"link","fsPath":"sdk-reference/classes/PersEventEmitter.md","metadata":{"type":"markdown"},"label":"Class: PersEventEmitter","link":"/sdk-reference/classes/perseventemitter","routeSlug":"/sdk-reference/classes/perseventemitter","relativePathFromDirectory":"sdk-reference/classes/PersEventEmitter.md"},{"type":"link","fsPath":"sdk-reference/classes/PersEventsClient.md","metadata":{"type":"markdown"},"label":"Class: PersEventsClient","link":"/sdk-reference/classes/perseventsclient","routeSlug":"/sdk-reference/classes/perseventsclient","relativePathFromDirectory":"sdk-reference/classes/PersEventsClient.md"},{"type":"link","fsPath":"sdk-reference/classes/PersSDK.md","metadata":{"type":"markdown"},"label":"Class: PersSDK","link":"/sdk-reference/classes/perssdk","routeSlug":"/sdk-reference/classes/perssdk","relativePathFromDirectory":"sdk-reference/classes/PersSDK.md"},{"type":"link","fsPath":"sdk-reference/classes/ProviderTokenRefreshNeeded.md","metadata":{"type":"markdown"},"label":"Class: ProviderTokenRefreshNeeded","link":"/sdk-reference/classes/providertokenrefreshneeded","routeSlug":"/sdk-reference/classes/providertokenrefreshneeded","relativePathFromDirectory":"sdk-reference/classes/ProviderTokenRefreshNeeded.md"},{"type":"link","fsPath":"sdk-reference/classes/PurchaseManager.md","metadata":{"type":"markdown"},"label":"Class: PurchaseManager","link":"/sdk-reference/classes/purchasemanager","routeSlug":"/sdk-reference/classes/purchasemanager","relativePathFromDirectory":"sdk-reference/classes/PurchaseManager.md"},{"type":"link","fsPath":"sdk-reference/classes/RedemptionApi.md","metadata":{"type":"markdown"},"label":"Class: RedemptionApi","link":"/sdk-reference/classes/redemptionapi","routeSlug":"/sdk-reference/classes/redemptionapi","relativePathFromDirectory":"sdk-reference/classes/RedemptionApi.md"},{"type":"link","fsPath":"sdk-reference/classes/RedemptionManager.md","metadata":{"type":"markdown"},"label":"Class: RedemptionManager","link":"/sdk-reference/classes/redemptionmanager","routeSlug":"/sdk-reference/classes/redemptionmanager","relativePathFromDirectory":"sdk-reference/classes/RedemptionManager.md"},{"type":"link","fsPath":"sdk-reference/classes/RedemptionService.md","metadata":{"type":"markdown"},"label":"Class: RedemptionService","link":"/sdk-reference/classes/redemptionservice","routeSlug":"/sdk-reference/classes/redemptionservice","relativePathFromDirectory":"sdk-reference/classes/RedemptionService.md"},{"type":"link","fsPath":"sdk-reference/classes/StaticJwtAuthProvider.md","metadata":{"type":"markdown"},"label":"Class: StaticJwtAuthProvider","link":"/sdk-reference/classes/staticjwtauthprovider","routeSlug":"/sdk-reference/classes/staticjwtauthprovider","relativePathFromDirectory":"sdk-reference/classes/StaticJwtAuthProvider.md"},{"type":"link","fsPath":"sdk-reference/classes/TenantApi.md","metadata":{"type":"markdown"},"label":"Class: TenantApi","link":"/sdk-reference/classes/tenantapi","routeSlug":"/sdk-reference/classes/tenantapi","relativePathFromDirectory":"sdk-reference/classes/TenantApi.md"},{"type":"link","fsPath":"sdk-reference/classes/TenantManager.md","metadata":{"type":"markdown"},"label":"Class: TenantManager","link":"/sdk-reference/classes/tenantmanager","routeSlug":"/sdk-reference/classes/tenantmanager","relativePathFromDirectory":"sdk-reference/classes/TenantManager.md"},{"type":"link","fsPath":"sdk-reference/classes/TenantService.md","metadata":{"type":"markdown"},"label":"Class: TenantService","link":"/sdk-reference/classes/tenantservice","routeSlug":"/sdk-reference/classes/tenantservice","relativePathFromDirectory":"sdk-reference/classes/TenantService.md"},{"type":"link","fsPath":"sdk-reference/classes/TokenApi.md","metadata":{"type":"markdown"},"label":"Class: TokenApi","link":"/sdk-reference/classes/tokenapi","routeSlug":"/sdk-reference/classes/tokenapi","relativePathFromDirectory":"sdk-reference/classes/TokenApi.md"},{"type":"link","fsPath":"sdk-reference/classes/TokenManager.md","metadata":{"type":"markdown"},"label":"Class: TokenManager","link":"/sdk-reference/classes/tokenmanager","routeSlug":"/sdk-reference/classes/tokenmanager","relativePathFromDirectory":"sdk-reference/classes/TokenManager.md"},{"type":"link","fsPath":"sdk-reference/classes/TokenRefreshNeeded.md","metadata":{"type":"markdown"},"label":"Class: TokenRefreshNeeded","link":"/sdk-reference/classes/tokenrefreshneeded","routeSlug":"/sdk-reference/classes/tokenrefreshneeded","relativePathFromDirectory":"sdk-reference/classes/TokenRefreshNeeded.md"},{"type":"link","fsPath":"sdk-reference/classes/TokenSDK.md","metadata":{"type":"markdown"},"label":"Class: TokenSDK","link":"/sdk-reference/classes/tokensdk","routeSlug":"/sdk-reference/classes/tokensdk","relativePathFromDirectory":"sdk-reference/classes/TokenSDK.md"},{"type":"link","fsPath":"sdk-reference/classes/TokenService.md","metadata":{"type":"markdown"},"label":"Class: TokenService","link":"/sdk-reference/classes/tokenservice","routeSlug":"/sdk-reference/classes/tokenservice","relativePathFromDirectory":"sdk-reference/classes/TokenService.md"},{"type":"link","fsPath":"sdk-reference/classes/TrackingManager.md","metadata":{"type":"markdown"},"label":"Class: TrackingManager","link":"/sdk-reference/classes/trackingmanager","routeSlug":"/sdk-reference/classes/trackingmanager","relativePathFromDirectory":"sdk-reference/classes/TrackingManager.md"},{"type":"link","fsPath":"sdk-reference/classes/TransactionApi.md","metadata":{"type":"markdown"},"label":"Class: TransactionApi","link":"/sdk-reference/classes/transactionapi","routeSlug":"/sdk-reference/classes/transactionapi","relativePathFromDirectory":"sdk-reference/classes/TransactionApi.md"},{"type":"link","fsPath":"sdk-reference/classes/TransactionManager.md","metadata":{"type":"markdown"},"label":"Class: TransactionManager","link":"/sdk-reference/classes/transactionmanager","routeSlug":"/sdk-reference/classes/transactionmanager","relativePathFromDirectory":"sdk-reference/classes/TransactionManager.md"},{"type":"link","fsPath":"sdk-reference/classes/TransactionService.md","metadata":{"type":"markdown"},"label":"Class: TransactionService","link":"/sdk-reference/classes/transactionservice","routeSlug":"/sdk-reference/classes/transactionservice","relativePathFromDirectory":"sdk-reference/classes/TransactionService.md"},{"type":"link","fsPath":"sdk-reference/classes/TriggerSourceApi.md","metadata":{"type":"markdown"},"label":"Class: TriggerSourceApi","link":"/sdk-reference/classes/triggersourceapi","routeSlug":"/sdk-reference/classes/triggersourceapi","relativePathFromDirectory":"sdk-reference/classes/TriggerSourceApi.md"},{"type":"link","fsPath":"sdk-reference/classes/TriggerSourceManager.md","metadata":{"type":"markdown"},"label":"Class: TriggerSourceManager","link":"/sdk-reference/classes/triggersourcemanager","routeSlug":"/sdk-reference/classes/triggersourcemanager","relativePathFromDirectory":"sdk-reference/classes/TriggerSourceManager.md"},{"type":"link","fsPath":"sdk-reference/classes/TriggerSourceService.md","metadata":{"type":"markdown"},"label":"Class: TriggerSourceService","link":"/sdk-reference/classes/triggersourceservice","routeSlug":"/sdk-reference/classes/triggersourceservice","relativePathFromDirectory":"sdk-reference/classes/TriggerSourceService.md"},{"type":"link","fsPath":"sdk-reference/classes/UserApi.md","metadata":{"type":"markdown"},"label":"Class: UserApi","link":"/sdk-reference/classes/userapi","routeSlug":"/sdk-reference/classes/userapi","relativePathFromDirectory":"sdk-reference/classes/UserApi.md"},{"type":"link","fsPath":"sdk-reference/classes/UserManager.md","metadata":{"type":"markdown"},"label":"Class: UserManager","link":"/sdk-reference/classes/usermanager","routeSlug":"/sdk-reference/classes/usermanager","relativePathFromDirectory":"sdk-reference/classes/UserManager.md"},{"type":"link","fsPath":"sdk-reference/classes/UserService.md","metadata":{"type":"markdown"},"label":"Class: UserService","link":"/sdk-reference/classes/userservice","routeSlug":"/sdk-reference/classes/userservice","relativePathFromDirectory":"sdk-reference/classes/UserService.md"},{"type":"link","fsPath":"sdk-reference/classes/UserStatusApi.md","metadata":{"type":"markdown"},"label":"Class: UserStatusApi","link":"/sdk-reference/classes/userstatusapi","routeSlug":"/sdk-reference/classes/userstatusapi","relativePathFromDirectory":"sdk-reference/classes/UserStatusApi.md"},{"type":"link","fsPath":"sdk-reference/classes/UserStatusManager.md","metadata":{"type":"markdown"},"label":"Class: UserStatusManager","link":"/sdk-reference/classes/userstatusmanager","routeSlug":"/sdk-reference/classes/userstatusmanager","relativePathFromDirectory":"sdk-reference/classes/UserStatusManager.md"},{"type":"link","fsPath":"sdk-reference/classes/UserStatusService.md","metadata":{"type":"markdown"},"label":"Class: UserStatusService","link":"/sdk-reference/classes/userstatusservice","routeSlug":"/sdk-reference/classes/userstatusservice","relativePathFromDirectory":"sdk-reference/classes/UserStatusService.md"},{"type":"link","fsPath":"sdk-reference/classes/WalletEventsManager.md","metadata":{"type":"markdown"},"label":"Class: WalletEventsManager","link":"/sdk-reference/classes/walleteventsmanager","routeSlug":"/sdk-reference/classes/walleteventsmanager","relativePathFromDirectory":"sdk-reference/classes/WalletEventsManager.md"},{"type":"link","fsPath":"sdk-reference/classes/WebDPoPCryptoProvider.md","metadata":{"type":"markdown"},"label":"Class: WebDPoPCryptoProvider","link":"/sdk-reference/classes/webdpopcryptoprovider","routeSlug":"/sdk-reference/classes/webdpopcryptoprovider","relativePathFromDirectory":"sdk-reference/classes/WebDPoPCryptoProvider.md"},{"type":"link","fsPath":"sdk-reference/classes/WebhookApi.md","metadata":{"type":"markdown"},"label":"Class: WebhookApi","link":"/sdk-reference/classes/webhookapi","routeSlug":"/sdk-reference/classes/webhookapi","relativePathFromDirectory":"sdk-reference/classes/WebhookApi.md"},{"type":"link","fsPath":"sdk-reference/classes/WebhookManager.md","metadata":{"type":"markdown"},"label":"Class: WebhookManager","link":"/sdk-reference/classes/webhookmanager","routeSlug":"/sdk-reference/classes/webhookmanager","relativePathFromDirectory":"sdk-reference/classes/WebhookManager.md"},{"type":"link","fsPath":"sdk-reference/classes/WebhookService.md","metadata":{"type":"markdown"},"label":"Class: WebhookService","link":"/sdk-reference/classes/webhookservice","routeSlug":"/sdk-reference/classes/webhookservice","relativePathFromDirectory":"sdk-reference/classes/WebhookService.md"}]},{"type":"group","label":"enums","items":[{"type":"link","fsPath":"sdk-reference/enums/AuthStatus.md","metadata":{"type":"markdown"},"label":"Enumeration: AuthStatus","link":"/sdk-reference/enums/authstatus","routeSlug":"/sdk-reference/enums/authstatus","relativePathFromDirectory":"sdk-reference/enums/AuthStatus.md"}]},{"type":"group","label":"interfaces","items":[{"type":"link","fsPath":"sdk-reference/interfaces/ApiResponse.md","metadata":{"type":"markdown"},"label":"Interface: ApiResponse<T>","link":"/sdk-reference/interfaces/apiresponse","routeSlug":"/sdk-reference/interfaces/apiresponse","relativePathFromDirectory":"sdk-reference/interfaces/ApiResponse.md"},{"type":"link","fsPath":"sdk-reference/interfaces/ApprovalSettingsDTO.md","metadata":{"type":"markdown"},"label":"Interface: ApprovalSettingsDTO","link":"/sdk-reference/interfaces/approvalsettingsdto","routeSlug":"/sdk-reference/interfaces/approvalsettingsdto","relativePathFromDirectory":"sdk-reference/interfaces/ApprovalSettingsDTO.md"},{"type":"link","fsPath":"sdk-reference/interfaces/AuthConfig.md","metadata":{"type":"markdown"},"label":"Interface: AuthConfig","link":"/sdk-reference/interfaces/authconfig","routeSlug":"/sdk-reference/interfaces/authconfig","relativePathFromDirectory":"sdk-reference/interfaces/AuthConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/BookingQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: BookingQueryOptions","link":"/sdk-reference/interfaces/bookingqueryoptions","routeSlug":"/sdk-reference/interfaces/bookingqueryoptions","relativePathFromDirectory":"sdk-reference/interfaces/BookingQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/BookingValidationOptions.md","metadata":{"type":"markdown"},"label":"Interface: BookingValidationOptions","link":"/sdk-reference/interfaces/bookingvalidationoptions","routeSlug":"/sdk-reference/interfaces/bookingvalidationoptions","relativePathFromDirectory":"sdk-reference/interfaces/BookingValidationOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/BusinessAuthOptions.md","metadata":{"type":"markdown"},"label":"Interface: BusinessAuthOptions","link":"/sdk-reference/interfaces/businessauthoptions","routeSlug":"/sdk-reference/interfaces/businessauthoptions","relativePathFromDirectory":"sdk-reference/interfaces/BusinessAuthOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/CacheConfig.md","metadata":{"type":"markdown"},"label":"Interface: CacheConfig","link":"/sdk-reference/interfaces/cacheconfig","routeSlug":"/sdk-reference/interfaces/cacheconfig","relativePathFromDirectory":"sdk-reference/interfaces/CacheConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/CustomFieldQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: CustomFieldQueryOptions","link":"/sdk-reference/interfaces/customfieldqueryoptions","routeSlug":"/sdk-reference/interfaces/customfieldqueryoptions","relativePathFromDirectory":"sdk-reference/interfaces/CustomFieldQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/DPoPCryptoProvider.md","metadata":{"type":"markdown"},"label":"Interface: DPoPCryptoProvider","link":"/sdk-reference/interfaces/dpopcryptoprovider","routeSlug":"/sdk-reference/interfaces/dpopcryptoprovider","relativePathFromDirectory":"sdk-reference/interfaces/DPoPCryptoProvider.md"},{"type":"link","fsPath":"sdk-reference/interfaces/DPoPKeyPair.md","metadata":{"type":"markdown"},"label":"Interface: DPoPKeyPair","link":"/sdk-reference/interfaces/dpopkeypair","routeSlug":"/sdk-reference/interfaces/dpopkeypair","relativePathFromDirectory":"sdk-reference/interfaces/DPoPKeyPair.md"},{"type":"link","fsPath":"sdk-reference/interfaces/DPoPManagerCallbacks.md","metadata":{"type":"markdown"},"label":"Interface: DPoPManagerCallbacks","link":"/sdk-reference/interfaces/dpopmanagercallbacks","routeSlug":"/sdk-reference/interfaces/dpopmanagercallbacks","relativePathFromDirectory":"sdk-reference/interfaces/DPoPManagerCallbacks.md"},{"type":"link","fsPath":"sdk-reference/interfaces/DPoPProofOptions.md","metadata":{"type":"markdown"},"label":"Interface: DPoPProofOptions","link":"/sdk-reference/interfaces/dpopproofoptions","routeSlug":"/sdk-reference/interfaces/dpopproofoptions","relativePathFromDirectory":"sdk-reference/interfaces/DPoPProofOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/EnvironmentInfo.md","metadata":{"type":"markdown"},"label":"Interface: EnvironmentInfo","link":"/sdk-reference/interfaces/environmentinfo","routeSlug":"/sdk-reference/interfaces/environmentinfo","relativePathFromDirectory":"sdk-reference/interfaces/EnvironmentInfo.md"},{"type":"link","fsPath":"sdk-reference/interfaces/ErrorEvent.md","metadata":{"type":"markdown"},"label":"Interface: ErrorEvent","link":"/sdk-reference/interfaces/errorevent","routeSlug":"/sdk-reference/interfaces/errorevent","relativePathFromDirectory":"sdk-reference/interfaces/ErrorEvent.md"},{"type":"link","fsPath":"sdk-reference/interfaces/EventFilter.md","metadata":{"type":"markdown"},"label":"Interface: EventFilter","link":"/sdk-reference/interfaces/eventfilter","routeSlug":"/sdk-reference/interfaces/eventfilter","relativePathFromDirectory":"sdk-reference/interfaces/EventFilter.md"},{"type":"link","fsPath":"sdk-reference/interfaces/EventsClientConfig.md","metadata":{"type":"markdown"},"label":"Interface: EventsClientConfig","link":"/sdk-reference/interfaces/eventsclientconfig","routeSlug":"/sdk-reference/interfaces/eventsclientconfig","relativePathFromDirectory":"sdk-reference/interfaces/EventsClientConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/ExtendedTokenStorageProvider.md","metadata":{"type":"markdown"},"label":"Interface: ExtendedTokenStorageProvider","link":"/sdk-reference/interfaces/extendedtokenstorageprovider","routeSlug":"/sdk-reference/interfaces/extendedtokenstorageprovider","relativePathFromDirectory":"sdk-reference/interfaces/ExtendedTokenStorageProvider.md"},{"type":"link","fsPath":"sdk-reference/interfaces/FileOptimizeRequest.md","metadata":{"type":"markdown"},"label":"Interface: FileOptimizeRequest","link":"/sdk-reference/interfaces/fileoptimizerequest","routeSlug":"/sdk-reference/interfaces/fileoptimizerequest","relativePathFromDirectory":"sdk-reference/interfaces/FileOptimizeRequest.md"},{"type":"link","fsPath":"sdk-reference/interfaces/FileOptimizeResponse.md","metadata":{"type":"markdown"},"label":"Interface: FileOptimizeResponse","link":"/sdk-reference/interfaces/fileoptimizeresponse","routeSlug":"/sdk-reference/interfaces/fileoptimizeresponse","relativePathFromDirectory":"sdk-reference/interfaces/FileOptimizeResponse.md"},{"type":"link","fsPath":"sdk-reference/interfaces/GetBusinessMembersOptions.md","metadata":{"type":"markdown"},"label":"Interface: GetBusinessMembersOptions","link":"/sdk-reference/interfaces/getbusinessmembersoptions","routeSlug":"/sdk-reference/interfaces/getbusinessmembersoptions","relativePathFromDirectory":"sdk-reference/interfaces/GetBusinessMembersOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/HttpClient.md","metadata":{"type":"markdown"},"label":"Interface: HttpClient","link":"/sdk-reference/interfaces/httpclient","routeSlug":"/sdk-reference/interfaces/httpclient","relativePathFromDirectory":"sdk-reference/interfaces/HttpClient.md"},{"type":"link","fsPath":"sdk-reference/interfaces/HttpResponse.md","metadata":{"type":"markdown"},"label":"Interface: HttpResponse<T>","link":"/sdk-reference/interfaces/httpresponse","routeSlug":"/sdk-reference/interfaces/httpresponse","relativePathFromDirectory":"sdk-reference/interfaces/HttpResponse.md"},{"type":"link","fsPath":"sdk-reference/interfaces/NotificationContext.md","metadata":{"type":"markdown"},"label":"Interface: NotificationContext","link":"/sdk-reference/interfaces/notificationcontext","routeSlug":"/sdk-reference/interfaces/notificationcontext","relativePathFromDirectory":"sdk-reference/interfaces/NotificationContext.md"},{"type":"link","fsPath":"sdk-reference/interfaces/NotificationQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: NotificationQueryOptions","link":"/sdk-reference/interfaces/notificationqueryoptions","routeSlug":"/sdk-reference/interfaces/notificationqueryoptions","relativePathFromDirectory":"sdk-reference/interfaces/NotificationQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/PaginationWithFilters.md","metadata":{"type":"markdown"},"label":"Interface: PaginationWithFilters","link":"/sdk-reference/interfaces/paginationwithfilters","routeSlug":"/sdk-reference/interfaces/paginationwithfilters","relativePathFromDirectory":"sdk-reference/interfaces/PaginationWithFilters.md"},{"type":"link","fsPath":"sdk-reference/interfaces/PaymentIntentUpdateDTO.md","metadata":{"type":"markdown"},"label":"Interface: PaymentIntentUpdateDTO","link":"/sdk-reference/interfaces/paymentintentupdatedto","routeSlug":"/sdk-reference/interfaces/paymentintentupdatedto","relativePathFromDirectory":"sdk-reference/interfaces/PaymentIntentUpdateDTO.md"},{"type":"link","fsPath":"sdk-reference/interfaces/PendingTransactionParams.md","metadata":{"type":"markdown"},"label":"Interface: PendingTransactionParams","link":"/sdk-reference/interfaces/pendingtransactionparams","routeSlug":"/sdk-reference/interfaces/pendingtransactionparams","relativePathFromDirectory":"sdk-reference/interfaces/PendingTransactionParams.md"},{"type":"link","fsPath":"sdk-reference/interfaces/PersAuthProvider.md","metadata":{"type":"markdown"},"label":"Interface: PersAuthProvider","link":"/sdk-reference/interfaces/persauthprovider","routeSlug":"/sdk-reference/interfaces/persauthprovider","relativePathFromDirectory":"sdk-reference/interfaces/PersAuthProvider.md"},{"type":"link","fsPath":"sdk-reference/interfaces/PersConfig.md","metadata":{"type":"markdown"},"label":"Interface: PersConfig","link":"/sdk-reference/interfaces/persconfig","routeSlug":"/sdk-reference/interfaces/persconfig","relativePathFromDirectory":"sdk-reference/interfaces/PersConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/POSAuthorizationOptions.md","metadata":{"type":"markdown"},"label":"Interface: POSAuthorizationOptions","link":"/sdk-reference/interfaces/posauthorizationoptions","routeSlug":"/sdk-reference/interfaces/posauthorizationoptions","relativePathFromDirectory":"sdk-reference/interfaces/POSAuthorizationOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/RawUserData.md","metadata":{"type":"markdown"},"label":"Interface: RawUserData","link":"/sdk-reference/interfaces/rawuserdata","routeSlug":"/sdk-reference/interfaces/rawuserdata","relativePathFromDirectory":"sdk-reference/interfaces/RawUserData.md"},{"type":"link","fsPath":"sdk-reference/interfaces/RequestOptions.md","metadata":{"type":"markdown"},"label":"Interface: RequestOptions","link":"/sdk-reference/interfaces/requestoptions","routeSlug":"/sdk-reference/interfaces/requestoptions","relativePathFromDirectory":"sdk-reference/interfaces/RequestOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/SignedPutUrlRequest.md","metadata":{"type":"markdown"},"label":"Interface: SignedPutUrlRequest","link":"/sdk-reference/interfaces/signedputurlrequest","routeSlug":"/sdk-reference/interfaces/signedputurlrequest","relativePathFromDirectory":"sdk-reference/interfaces/SignedPutUrlRequest.md"},{"type":"link","fsPath":"sdk-reference/interfaces/SignedUrlRequest.md","metadata":{"type":"markdown"},"label":"Interface: SignedUrlRequest","link":"/sdk-reference/interfaces/signedurlrequest","routeSlug":"/sdk-reference/interfaces/signedurlrequest","relativePathFromDirectory":"sdk-reference/interfaces/SignedUrlRequest.md"},{"type":"link","fsPath":"sdk-reference/interfaces/SignedUrlResponse.md","metadata":{"type":"markdown"},"label":"Interface: SignedUrlResponse","link":"/sdk-reference/interfaces/signedurlresponse","routeSlug":"/sdk-reference/interfaces/signedurlresponse","relativePathFromDirectory":"sdk-reference/interfaces/SignedUrlResponse.md"},{"type":"link","fsPath":"sdk-reference/interfaces/StaticJwtAuthProviderConfig.md","metadata":{"type":"markdown"},"label":"Interface: StaticJwtAuthProviderConfig","link":"/sdk-reference/interfaces/staticjwtauthproviderconfig","routeSlug":"/sdk-reference/interfaces/staticjwtauthproviderconfig","relativePathFromDirectory":"sdk-reference/interfaces/StaticJwtAuthProviderConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/SuccessEvent.md","metadata":{"type":"markdown"},"label":"Interface: SuccessEvent","link":"/sdk-reference/interfaces/successevent","routeSlug":"/sdk-reference/interfaces/successevent","relativePathFromDirectory":"sdk-reference/interfaces/SuccessEvent.md"},{"type":"link","fsPath":"sdk-reference/interfaces/TenantAuthOptions.md","metadata":{"type":"markdown"},"label":"Interface: TenantAuthOptions","link":"/sdk-reference/interfaces/tenantauthoptions","routeSlug":"/sdk-reference/interfaces/tenantauthoptions","relativePathFromDirectory":"sdk-reference/interfaces/TenantAuthOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/TokenMetadata.md","metadata":{"type":"markdown"},"label":"Interface: TokenMetadata","link":"/sdk-reference/interfaces/tokenmetadata","routeSlug":"/sdk-reference/interfaces/tokenmetadata","relativePathFromDirectory":"sdk-reference/interfaces/TokenMetadata.md"},{"type":"link","fsPath":"sdk-reference/interfaces/TokenStorage.md","metadata":{"type":"markdown"},"label":"Interface: TokenStorage","link":"/sdk-reference/interfaces/tokenstorage","routeSlug":"/sdk-reference/interfaces/tokenstorage","relativePathFromDirectory":"sdk-reference/interfaces/TokenStorage.md"},{"type":"link","fsPath":"sdk-reference/interfaces/TokenStorageProvider.md","metadata":{"type":"markdown"},"label":"Interface: TokenStorageProvider","link":"/sdk-reference/interfaces/tokenstorageprovider","routeSlug":"/sdk-reference/interfaces/tokenstorageprovider","relativePathFromDirectory":"sdk-reference/interfaces/TokenStorageProvider.md"},{"type":"link","fsPath":"sdk-reference/interfaces/TriggerSourceQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: TriggerSourceQueryOptions","link":"/sdk-reference/interfaces/triggersourcequeryoptions","routeSlug":"/sdk-reference/interfaces/triggersourcequeryoptions","relativePathFromDirectory":"sdk-reference/interfaces/TriggerSourceQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/UserPublicProfileDTO.md","metadata":{"type":"markdown"},"label":"Interface: UserPublicProfileDTO","link":"/sdk-reference/interfaces/userpublicprofiledto","routeSlug":"/sdk-reference/interfaces/userpublicprofiledto","relativePathFromDirectory":"sdk-reference/interfaces/UserPublicProfileDTO.md"},{"type":"link","fsPath":"sdk-reference/interfaces/WalletEventsConfig.md","metadata":{"type":"markdown"},"label":"Interface: WalletEventsConfig","link":"/sdk-reference/interfaces/walleteventsconfig","routeSlug":"/sdk-reference/interfaces/walleteventsconfig","relativePathFromDirectory":"sdk-reference/interfaces/WalletEventsConfig.md"},{"type":"link","fsPath":"sdk-reference/interfaces/WebhookExecutionQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: WebhookExecutionQueryOptions","link":"/sdk-reference/interfaces/webhookexecutionqueryoptions","routeSlug":"/sdk-reference/interfaces/webhookexecutionqueryoptions","relativePathFromDirectory":"sdk-reference/interfaces/WebhookExecutionQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/WebhookQueryOptions.md","metadata":{"type":"markdown"},"label":"Interface: WebhookQueryOptions","link":"/sdk-reference/interfaces/webhookqueryoptions","routeSlug":"/sdk-reference/interfaces/webhookqueryoptions","relativePathFromDirectory":"sdk-reference/interfaces/WebhookQueryOptions.md"},{"type":"link","fsPath":"sdk-reference/interfaces/WebhookTriggerRequest.md","metadata":{"type":"markdown"},"label":"Interface: WebhookTriggerRequest","link":"/sdk-reference/interfaces/webhooktriggerrequest","routeSlug":"/sdk-reference/interfaces/webhooktriggerrequest","relativePathFromDirectory":"sdk-reference/interfaces/WebhookTriggerRequest.md"}]},{"type":"link","fsPath":"sdk-reference/modules.md","metadata":{"type":"markdown"},"label":"PERS SDK - v2.3.26","link":"/sdk-reference/modules","routeSlug":"/sdk-reference/modules","relativePathFromDirectory":"sdk-reference/modules.md"},{"type":"link","fsPath":"sdk-reference/README.md","metadata":{"type":"markdown"},"label":"PERS SDK Introduction","link":"/sdk-reference/readme","routeSlug":"/sdk-reference/readme","relativePathFromDirectory":"sdk-reference/README.md"}]},{"type":"group","label":"sdk-reference-react-native","items":[{"type":"group","label":"classes","items":[{"type":"link","fsPath":"sdk-reference-react-native/classes/AsyncStorageTokenStorage.md","metadata":{"type":"markdown"},"label":"Class: AsyncStorageTokenStorage","link":"/sdk-reference-react-native/classes/asyncstoragetokenstorage","routeSlug":"/sdk-reference-react-native/classes/asyncstoragetokenstorage","relativePathFromDirectory":"sdk-reference-react-native/classes/AsyncStorageTokenStorage.md"},{"type":"link","fsPath":"sdk-reference-react-native/classes/ReactNativeDPoPProvider.md","metadata":{"type":"markdown"},"label":"Class: ReactNativeDPoPProvider","link":"/sdk-reference-react-native/classes/reactnativedpopprovider","routeSlug":"/sdk-reference-react-native/classes/reactnativedpopprovider","relativePathFromDirectory":"sdk-reference-react-native/classes/ReactNativeDPoPProvider.md"},{"type":"link","fsPath":"sdk-reference-react-native/classes/ReactNativeHttpClient.md","metadata":{"type":"markdown"},"label":"Class: ReactNativeHttpClient","link":"/sdk-reference-react-native/classes/reactnativehttpclient","routeSlug":"/sdk-reference-react-native/classes/reactnativehttpclient","relativePathFromDirectory":"sdk-reference-react-native/classes/ReactNativeHttpClient.md"},{"type":"link","fsPath":"sdk-reference-react-native/classes/ReactNativeSecureStorage.md","metadata":{"type":"markdown"},"label":"Class: ReactNativeSecureStorage","link":"/sdk-reference-react-native/classes/reactnativesecurestorage","routeSlug":"/sdk-reference-react-native/classes/reactnativesecurestorage","relativePathFromDirectory":"sdk-reference-react-native/classes/ReactNativeSecureStorage.md"}]},{"type":"group","label":"interfaces","items":[{"type":"link","fsPath":"sdk-reference-react-native/interfaces/BookingHook.md","metadata":{"type":"markdown"},"label":"Interface: BookingHook","link":"/sdk-reference-react-native/interfaces/bookinghook","routeSlug":"/sdk-reference-react-native/interfaces/bookinghook","relativePathFromDirectory":"sdk-reference-react-native/interfaces/BookingHook.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/EventsHook.md","metadata":{"type":"markdown"},"label":"Interface: EventsHook","link":"/sdk-reference-react-native/interfaces/eventshook","routeSlug":"/sdk-reference-react-native/interfaces/eventshook","relativePathFromDirectory":"sdk-reference-react-native/interfaces/EventsHook.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/GetCampaignsOptions.md","metadata":{"type":"markdown"},"label":"Interface: GetCampaignsOptions","link":"/sdk-reference-react-native/interfaces/getcampaignsoptions","routeSlug":"/sdk-reference-react-native/interfaces/getcampaignsoptions","relativePathFromDirectory":"sdk-reference-react-native/interfaces/GetCampaignsOptions.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/GetRedemptionsOptions.md","metadata":{"type":"markdown"},"label":"Interface: GetRedemptionsOptions","link":"/sdk-reference-react-native/interfaces/getredemptionsoptions","routeSlug":"/sdk-reference-react-native/interfaces/getredemptionsoptions","relativePathFromDirectory":"sdk-reference-react-native/interfaces/GetRedemptionsOptions.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/HttpClient.md","metadata":{"type":"markdown"},"label":"Interface: HttpClient","link":"/sdk-reference-react-native/interfaces/httpclient","routeSlug":"/sdk-reference-react-native/interfaces/httpclient","relativePathFromDirectory":"sdk-reference-react-native/interfaces/HttpClient.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/PersSDKContext.md","metadata":{"type":"markdown"},"label":"Interface: PersSDKContext","link":"/sdk-reference-react-native/interfaces/perssdkcontext","routeSlug":"/sdk-reference-react-native/interfaces/perssdkcontext","relativePathFromDirectory":"sdk-reference-react-native/interfaces/PersSDKContext.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/ReactNativeAuthConfig.md","metadata":{"type":"markdown"},"label":"Interface: ReactNativeAuthConfig","link":"/sdk-reference-react-native/interfaces/reactnativeauthconfig","routeSlug":"/sdk-reference-react-native/interfaces/reactnativeauthconfig","relativePathFromDirectory":"sdk-reference-react-native/interfaces/ReactNativeAuthConfig.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/RequestOptions.md","metadata":{"type":"markdown"},"label":"Interface: RequestOptions","link":"/sdk-reference-react-native/interfaces/requestoptions","routeSlug":"/sdk-reference-react-native/interfaces/requestoptions","relativePathFromDirectory":"sdk-reference-react-native/interfaces/RequestOptions.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/TokenBalanceWithToken.md","metadata":{"type":"markdown"},"label":"Interface: TokenBalanceWithToken","link":"/sdk-reference-react-native/interfaces/tokenbalancewithtoken","routeSlug":"/sdk-reference-react-native/interfaces/tokenbalancewithtoken","relativePathFromDirectory":"sdk-reference-react-native/interfaces/TokenBalanceWithToken.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/TransactionSignerHook.md","metadata":{"type":"markdown"},"label":"Interface: TransactionSignerHook","link":"/sdk-reference-react-native/interfaces/transactionsignerhook","routeSlug":"/sdk-reference-react-native/interfaces/transactionsignerhook","relativePathFromDirectory":"sdk-reference-react-native/interfaces/TransactionSignerHook.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/UseTokenBalancesOptions.md","metadata":{"type":"markdown"},"label":"Interface: UseTokenBalancesOptions","link":"/sdk-reference-react-native/interfaces/usetokenbalancesoptions","routeSlug":"/sdk-reference-react-native/interfaces/usetokenbalancesoptions","relativePathFromDirectory":"sdk-reference-react-native/interfaces/UseTokenBalancesOptions.md"},{"type":"link","fsPath":"sdk-reference-react-native/interfaces/UseTokenBalancesResult.md","metadata":{"type":"markdown"},"label":"Interface: UseTokenBalancesResult","link":"/sdk-reference-react-native/interfaces/usetokenbalancesresult","routeSlug":"/sdk-reference-react-native/interfaces/usetokenbalancesresult","relativePathFromDirectory":"sdk-reference-react-native/interfaces/UseTokenBalancesResult.md"}]},{"type":"link","fsPath":"sdk-reference-react-native/modules.md","metadata":{"type":"markdown"},"label":"PERS SDK React Native - v2.3.7","link":"/sdk-reference-react-native/modules","routeSlug":"/sdk-reference-react-native/modules","relativePathFromDirectory":"sdk-reference-react-native/modules.md"},{"type":"link","fsPath":"sdk-reference-react-native/README.md","metadata":{"type":"markdown"},"label":"PERS SDK React Native Introduction","link":"/sdk-reference-react-native/readme","routeSlug":"/sdk-reference-react-native/readme","relativePathFromDirectory":"sdk-reference-react-native/README.md"}]},{"type":"link","label":"PERS-api Documentation","link":"/swagger","routeSlug":"/swagger"},{"type":"link","label":"Error Handling","link":"/swagger/section/error-handling","routeSlug":"/swagger/section/error-handling"},{"type":"group","label":"Tenants","link":"/swagger/tenants","routeSlug":"/swagger/tenants","items":[{"type":"link","label":"Tenant Management","link":"/swagger/tenants/tenant-management","routeSlug":"/swagger/tenants/tenant-management"},{"label":"Create new tenant","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_createtenant","routeSlug":"/swagger/tenants/tenantscontroller_createtenant","metadata":{"seo":{"title":"Create new tenant","description":"Create a new tenant (project) in the system. This is the initial setup step for new organizations."}},"httpPath":"/tenants"},{"label":"Update tenant configuration","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_updatetenant","routeSlug":"/swagger/tenants/tenantscontroller_updatetenant","metadata":{"seo":{"title":"Update tenant configuration","description":"ADMIN: Update tenant information and settings"}},"httpPath":"/tenants"},{"label":"Get client configuration","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_getclientconfig","routeSlug":"/swagger/tenants/tenantscontroller_getclientconfig","metadata":{"seo":{"title":"Get client configuration","description":"Retrieve client-side configuration for the project"}},"httpPath":"/tenants/client-config"},{"label":"Get login token","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_getlogintoken","routeSlug":"/swagger/tenants/tenantscontroller_getlogintoken","metadata":{"seo":{"title":"Get login token","description":"Generate a login token for the project"}},"httpPath":"/tenants/login-token"},{"label":"Get current tenant information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_getcurrenttenant","routeSlug":"/swagger/tenants/tenantscontroller_getcurrenttenant","metadata":{"seo":{"title":"Get current tenant information","description":"Context-aware endpoint for retrieving your own tenant information."}},"httpPath":"/tenants/me"},{"label":"Get tenant information by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_gettenantbyid","routeSlug":"/swagger/tenants/tenantscontroller_gettenantbyid","metadata":{"seo":{"title":"Get tenant information by ID","description":"Context-aware tenant information retrieval:"}},"httpPath":"/tenants/{id}"},{"label":"Ensure the tenant has a dedicated EOA wallet","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tenants/tenantscontroller_ensuretenantwallet","routeSlug":"/swagger/tenants/tenantscontroller_ensuretenantwallet","metadata":{"seo":{"title":"Ensure the tenant has a dedicated EOA wallet","description":"ADMIN: Generates a dedicated EOA for the tenant and stores it in AWS Secrets Manager if one does not already exist. Idempotent — safe to call multiple times."}},"httpPath":"/tenants/wallet"}]},{"type":"group","label":"Admins","link":"/swagger/admins","routeSlug":"/swagger/admins","items":[{"type":"link","label":"Administrative Management","link":"/swagger/admins/administrative-management","routeSlug":"/swagger/admins/administrative-management"},{"label":"Get current admin profile","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/admins/adminscontroller_getcurrentadmin","routeSlug":"/swagger/admins/adminscontroller_getcurrentadmin","metadata":{"seo":{"title":"Get current admin profile","description":"ADMIN: Retrieve the currently authenticated admin profile"}},"httpPath":"/admins/me"},{"label":"Get all admins","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/admins/adminscontroller_getadmins","routeSlug":"/swagger/admins/adminscontroller_getadmins","metadata":{"seo":{"title":"Get all admins","description":"ADMIN: Retrieve all admins associated with the current tenant. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/admins"},{"label":"Create or update admin","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/admins/adminscontroller_createorupdateadmin","routeSlug":"/swagger/admins/adminscontroller_createorupdateadmin","metadata":{"seo":{"title":"Create or update admin","description":"ADMIN: Create a new admin or update an existing admin within the tenant scope"}},"httpPath":"/admins"},{"label":"Toggle admin-tenant association","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/admins/adminscontroller_toggleadmintenantassociation","routeSlug":"/swagger/admins/adminscontroller_toggleadmintenantassociation","metadata":{"seo":{"title":"Toggle admin-tenant association","description":"ADMIN: Associate or disassociate the specified admin with the current tenant. This affects admin tenant access."}},"httpPath":"/admins/{adminId}/tenant"}]},{"type":"group","label":"Tokens","link":"/swagger/tokens","routeSlug":"/swagger/tokens","items":[{"type":"link","label":"Token Management System","link":"/swagger/tokens/token-management-system","routeSlug":"/swagger/tokens/token-management-system"},{"label":"Get all token contracts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getalltokens","routeSlug":"/swagger/tokens/tokenscontroller_getalltokens","metadata":{"seo":{"title":"Get all token contracts","description":"Retrieve all token contracts for the project. Only admins can access inactive tokens via ?active=false parameter. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/tokens"},{"label":"Create new token contract","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_createtoken","routeSlug":"/swagger/tokens/tokenscontroller_createtoken","metadata":{"seo":{"title":"Create new token contract","description":"ADMIN: Create a new testnet token contract for the project. This can later be converted to mainnet."}},"httpPath":"/tokens"},{"label":"Get token by contract address","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_gettokenbyaddress","routeSlug":"/swagger/tokens/tokenscontroller_gettokenbyaddress","metadata":{"seo":{"title":"Get token by contract address","description":"Retrieve token information by contract address"}},"httpPath":"/tokens/address/{contractAddress}"},{"label":"Get active point token","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getactivepointtoken","routeSlug":"/swagger/tokens/tokenscontroller_getactivepointtoken","metadata":{"seo":{"title":"Get active point token","description":"Retrieve the active point token contract for the project"}},"httpPath":"/tokens/points"},{"label":"Get all reward tokens","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getrewardtokens","routeSlug":"/swagger/tokens/tokenscontroller_getrewardtokens","metadata":{"seo":{"title":"Get all reward tokens","description":"Retrieve all reward token contracts (ERC1155 tokens). Only admins can access inactive tokens via ?active=false parameter. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/tokens/rewards"},{"label":"Get all stamp tokens","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getstamptokens","routeSlug":"/swagger/tokens/tokenscontroller_getstamptokens","metadata":{"seo":{"title":"Get all stamp tokens","description":"Retrieve all stamp token contracts (ERC721 tokens). Only admins can access inactive tokens via ?active=false parameter. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/tokens/stamps"},{"label":"Get all token types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getalltokentypes","routeSlug":"/swagger/tokens/tokenscontroller_getalltokentypes","metadata":{"seo":{"title":"Get all token types","description":"Retrieve all available token types for the project. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/tokens/types"},{"label":"Create new token type","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_createtokentype","routeSlug":"/swagger/tokens/tokenscontroller_createtokentype","metadata":{"seo":{"title":"Create new token type","description":"ADMIN: Create a new token type for the project"}},"httpPath":"/tokens/types"},{"label":"Get all token metadata","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_getalltokenmetadata","routeSlug":"/swagger/tokens/tokenscontroller_getalltokenmetadata","metadata":{"seo":{"title":"Get all token metadata","description":"Retrieve all token metadata with filtering and pagination. Useful for displaying rewards/stamps in tables. Non-admin users always get active metadata only."}},"httpPath":"/tokens/metadata"},{"label":"Export token metadata as CSV (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_exporttokenmetadataascsv","routeSlug":"/swagger/tokens/tokenscontroller_exporttokenmetadataascsv","metadata":{"seo":{"title":"Export token metadata as CSV (Admin)","description":"Export all token metadata to CSV format with optional date filtering."}},"httpPath":"/tokens/metadata/export/csv"},{"label":"Update token contract","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_updatetoken","routeSlug":"/swagger/tokens/tokenscontroller_updatetoken","metadata":{"seo":{"title":"Update token contract","description":"ADMIN: Update token contract information"}},"httpPath":"/tokens/{id}"},{"label":"Toggle token active status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_toggletokenstatus","routeSlug":"/swagger/tokens/tokenscontroller_toggletokenstatus","metadata":{"seo":{"title":"Toggle token active status","description":"ADMIN: Toggle token active status to enable/disable usage"}},"httpPath":"/tokens/{id}/status"},{"label":"Set mainnet contract address","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_setmainnetcontract","routeSlug":"/swagger/tokens/tokenscontroller_setmainnetcontract","metadata":{"seo":{"title":"Set mainnet contract address","description":"ADMIN: Associate mainnet contract address with existing testnet token"}},"httpPath":"/tokens/{id}/mainnet"},{"label":"Create token metadata","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_createtokenmetadata","routeSlug":"/swagger/tokens/tokenscontroller_createtokenmetadata","metadata":{"seo":{"title":"Create token metadata","description":"ADMIN: Create metadata for a specific token contract"}},"httpPath":"/tokens/{id}/metadata"},{"label":"Update token metadata","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_updatetokenmetadata","routeSlug":"/swagger/tokens/tokenscontroller_updatetokenmetadata","metadata":{"seo":{"title":"Update token metadata","description":"Update metadata for a specific token. Business can only update their own metadata. ERC721: only affects future mints. ERC1155: ⚠️ updates ALL existing minted tokens."}},"httpPath":"/tokens/metadata/{metadataId}"},{"label":"Delete token metadata (soft delete)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_deletetokenmetadata","routeSlug":"/swagger/tokens/tokenscontroller_deletetokenmetadata","metadata":{"seo":{"title":"Delete token metadata (soft delete)","description":"Soft delete token metadata. Business can only delete their own metadata. Returns 409 Conflict if metadata is used by active campaigns or redemptions."}},"httpPath":"/tokens/metadata/{metadataId}"},{"label":"Toggle token metadata status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_toggletokenmetadatastatus","routeSlug":"/swagger/tokens/tokenscontroller_toggletokenmetadatastatus","metadata":{"seo":{"title":"Toggle token metadata status","description":"ADMIN/BUSINESS: Toggle token metadata active status. Business can only toggle their own metadata."}},"httpPath":"/tokens/metadata/{metadataId}/status"},{"label":"Approve or reject a token metadata (Admin)","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_approveorrejecttokenmetadata","routeSlug":"/swagger/tokens/tokenscontroller_approveorrejecttokenmetadata","metadata":{"seo":{"title":"Approve or reject a token metadata (Admin)","description":"Sets approval status to approved or rejected. Rejected requires a reason."}},"httpPath":"/tokens/metadata/{metadataId}/approval"},{"label":"Migrate token ownership to tenant dedicated EOA","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_migratetokenownership","routeSlug":"/swagger/tokens/tokenscontroller_migratetokenownership","metadata":{"seo":{"title":"Migrate token ownership to tenant dedicated EOA","description":"ADMIN: Transfers on-chain ownership of a legacy token proxy from the shared platform wallet to the tenant's dedicated EOA. Generates a fresh EOA and stores the secret in AWS Secrets Manager if the tenant has no dedicated wallet yet. Idempotent — safe to retry."}},"httpPath":"/tokens/{contractAddress}/migrate-ownership"},{"label":"Migrate ownership of all tenant tokens to their dedicated EOA","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/tokens/tokenscontroller_migratealltokenownerships","routeSlug":"/swagger/tokens/tokenscontroller_migratealltokenownerships","metadata":{"seo":{"title":"Migrate ownership of all tenant tokens to their dedicated EOA","description":"ADMIN: Resolves every token proxy owned by the tenant on the given chain and transfers ownership to the tenant's dedicated EOA. Requires the tenant to already have a wallet (see POST /tenants/wallet). Best-effort per contract."}},"httpPath":"/tokens/migrate-ownership/all"}]},{"type":"group","label":"Campaigns","link":"/swagger/campaigns","routeSlug":"/swagger/campaigns","items":[{"type":"link","label":"Core Campaign Management","link":"/swagger/campaigns/core-campaign-management","routeSlug":"/swagger/campaigns/core-campaign-management"},{"label":"Get campaigns (Intelligent Access)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_getcampaigns","routeSlug":"/swagger/campaigns/campaignscontroller_getcampaigns","metadata":{"seo":{"title":"Get campaigns (Intelligent Access)","description":"Endpoint that adapts based on authentication: Public users get active campaigns with filtering, Business users get all campaigns (active+inactive) for their business only, Admin users get all campaigns with full filtering. Use pagination parameters (page & limit) for optimal performance - critical for large campaign datasets. Legacy support: returns array without params (deprecated - will be removed in future). Replaces GET /campaign and GET /campaign/admin"}},"httpPath":"/campaigns"},{"label":"Create campaign (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_createcampaign","routeSlug":"/swagger/campaigns/campaignscontroller_createcampaign","metadata":{"seo":{"title":"Create campaign (Admin)","description":"Create a new campaign. Admin-only operation. Replaces POST /campaign/admin/"}},"httpPath":"/campaigns"},{"label":"Get campaign by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_getcampaignbyid","routeSlug":"/swagger/campaigns/campaignscontroller_getcampaignbyid","metadata":{"seo":{"title":"Get campaign by ID","description":"Get single campaign details by ID. Available to public with project key. Replaces GET /campaign/{id}"}},"httpPath":"/campaigns/{id}"},{"label":"Update campaign","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_updatecampaign","routeSlug":"/swagger/campaigns/campaignscontroller_updatecampaign","metadata":{"seo":{"title":"Update campaign","description":"Update an existing campaign. Business can only update their own campaigns."}},"httpPath":"/campaigns/{id}"},{"label":"Delete campaign","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_deletecampaign","routeSlug":"/swagger/campaigns/campaignscontroller_deletecampaign","metadata":{"seo":{"title":"Delete campaign","description":"Delete an existing campaign. Business can only delete their own campaigns."}},"httpPath":"/campaigns/{id}"},{"label":"Toggle campaign status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_togglecampaignstatus","routeSlug":"/swagger/campaigns/campaignscontroller_togglecampaignstatus","metadata":{"seo":{"title":"Toggle campaign status","description":"Toggle campaign active/inactive status. Business can only toggle their own campaigns."}},"httpPath":"/campaigns/{id}/status"},{"label":"Toggle campaign environment","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_togglecampaignenvironment","routeSlug":"/swagger/campaigns/campaignscontroller_togglecampaignenvironment","metadata":{"seo":{"title":"Toggle campaign environment","description":"Toggle campaign between testnet and mainnet environment. Accessible by tenant admin and business owner. Replaces PUT /campaign/admin/{id}/environment"}},"httpPath":"/campaigns/{id}/environment"},{"label":"Assign trigger source to campaign (Admin / Business)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_assigntriggersourcetocampaign","routeSlug":"/swagger/campaigns/campaignscontroller_assigntriggersourcetocampaign","metadata":{"seo":{"title":"Assign trigger source to campaign (Admin / Business)","description":"Assign a trigger source to a campaign. Businesses may only assign trigger sources they own to campaigns they own."}},"httpPath":"/campaigns/{id}/trigger-sources/{triggerSourceId}"},{"label":"Remove trigger source from campaign (Admin / Business)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_removetriggersourcefromcampaign","routeSlug":"/swagger/campaigns/campaignscontroller_removetriggersourcefromcampaign","metadata":{"seo":{"title":"Remove trigger source from campaign (Admin / Business)","description":"Remove a trigger source assignment from a campaign. Businesses may only modify campaigns they own."}},"httpPath":"/campaigns/{id}/trigger-sources/{triggerSourceId}"},{"label":"Export campaigns as CSV (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_exportcampaignsascsv","routeSlug":"/swagger/campaigns/campaignscontroller_exportcampaignsascsv","metadata":{"seo":{"title":"Export campaigns as CSV (Admin)","description":"Export all campaigns to CSV format with optional date filtering."}},"httpPath":"/campaigns/export/csv"},{"label":"Approve or reject a campaign (Admin)","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaigns/campaignscontroller_approveorrejectcampaign","routeSlug":"/swagger/campaigns/campaignscontroller_approveorrejectcampaign","metadata":{"seo":{"title":"Approve or reject a campaign (Admin)","description":"Sets approval status to approved or rejected. Rejected requires a reason."}},"httpPath":"/campaigns/{id}/approval"}]},{"type":"group","label":"Campaign Tags","link":"/swagger/campaign-tags","routeSlug":"/swagger/campaign-tags","items":[{"type":"link","label":"Campaign Organization System","link":"/swagger/campaign-tags/campaign-organization-system","routeSlug":"/swagger/campaign-tags/campaign-organization-system"},{"label":"Get all unique campaign tags (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tags/campaigntagscontroller_getalluniquetags","routeSlug":"/swagger/campaign-tags/campaigntagscontroller_getalluniquetags","metadata":{"seo":{"title":"Get all unique campaign tags (Admin)","description":"Get all unique tags used across all campaigns. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Admin-only operation for tag management. Set campaignId to \"all\" to retrieve tags from all campaigns."}},"httpPath":"/campaigns/{campaignId}/tags"},{"label":"Update campaign tags (Admin)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tags/campaigntagscontroller_updatecampaigntags","routeSlug":"/swagger/campaign-tags/campaigntagscontroller_updatecampaigntags","metadata":{"seo":{"title":"Update campaign tags (Admin)","description":"Replace all tags for a campaign with new tag list. Admin-only operation. Replaces PUT /campaign/admin/{id}/tags"}},"httpPath":"/campaigns/{campaignId}/tags"},{"label":"Add tags to campaign (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tags/campaigntagscontroller_addtagstocampaign","routeSlug":"/swagger/campaign-tags/campaigntagscontroller_addtagstocampaign","metadata":{"seo":{"title":"Add tags to campaign (Admin)","description":"Add new tags to existing campaign tags without removing existing ones. Admin-only operation. Replaces POST /campaign/admin/{id}/tags"}},"httpPath":"/campaigns/{campaignId}/tags"},{"label":"Remove tag from campaign (Admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tags/campaigntagscontroller_removetagfromcampaign","routeSlug":"/swagger/campaign-tags/campaigntagscontroller_removetagfromcampaign","metadata":{"seo":{"title":"Remove tag from campaign (Admin)","description":"Remove a specific tag from campaign while preserving other tags. Admin-only operation. Replaces DELETE /campaign/admin/{id}/tags/{tag}"}},"httpPath":"/campaigns/{campaignId}/tags/{tag}"}]},{"type":"group","label":"Campaign Tokens","link":"/swagger/campaign-tokens","routeSlug":"/swagger/campaign-tokens","items":[{"type":"link","label":"Campaign Reward Configuration","link":"/swagger/campaign-tokens/campaign-reward-configuration","routeSlug":"/swagger/campaign-tokens/campaign-reward-configuration"},{"label":"Create campaign token unit","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tokens/campaigntokenscontroller_createcampaigntokenunit","routeSlug":"/swagger/campaign-tokens/campaigntokenscontroller_createcampaigntokenunit","metadata":{"seo":{"title":"Create campaign token unit","description":"Add a new token unit to campaign for reward distribution. Admin or owning business."}},"httpPath":"/campaigns/{campaignId}/tokens"},{"label":"Update campaign token unit","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tokens/campaigntokenscontroller_updatecampaigntokenunit","routeSlug":"/swagger/campaign-tokens/campaigntokenscontroller_updatecampaigntokenunit","metadata":{"seo":{"title":"Update campaign token unit","description":"Update an existing token unit in campaign. Admin or owning business."}},"httpPath":"/campaigns/{campaignId}/tokens/{tokenUnitId}"},{"label":"Remove campaign token unit","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-tokens/campaigntokenscontroller_removecampaigntokenunit","routeSlug":"/swagger/campaign-tokens/campaigntokenscontroller_removecampaigntokenunit","metadata":{"seo":{"title":"Remove campaign token unit","description":"Remove a token unit from campaign. Admin or owning business."}},"httpPath":"/campaigns/{campaignId}/tokens/{tokenUnitId}"}]},{"type":"group","label":"Campaign Triggers","link":"/swagger/campaign-triggers","routeSlug":"/swagger/campaign-triggers","items":[{"type":"link","label":"Campaign Activation System","link":"/swagger/campaign-triggers/campaign-activation-system","routeSlug":"/swagger/campaign-triggers/campaign-activation-system"},{"label":"Get all triggers (Public Catalog)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_getalltriggers","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_getalltriggers","metadata":{"seo":{"title":"Get all triggers (Public Catalog)","description":"Get all available triggers for campaign configuration. Public access for catalog browsing. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Replaces GET /campaign/trigger/all"}},"httpPath":"/campaign-triggers"},{"label":"Create campaign trigger (Admin / Business)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_createcampaigntrigger","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_createcampaigntrigger","metadata":{"seo":{"title":"Create campaign trigger (Admin / Business)","description":"Create a new campaign trigger for use in campaigns. Businesses create trigger rules owned by themselves; tenant admins can create shared (tenant-level) trigger rules. Replaces POST /campaign/admin/trigger"}},"httpPath":"/campaign-triggers"},{"label":"Get trigger by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_gettriggerbyid","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_gettriggerbyid","metadata":{"seo":{"title":"Get trigger by ID","description":"Get a specific campaign trigger by ID. Useful for dashboard selection and preview."}},"httpPath":"/campaign-triggers/{triggerId}"},{"label":"Update campaign trigger (Admin / Business)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_updatecampaigntrigger","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_updatecampaigntrigger","metadata":{"seo":{"title":"Update campaign trigger (Admin / Business)","description":"Update an existing campaign trigger. Businesses may only update trigger rules they own. Replaces PUT /campaign/admin/trigger/{id}"}},"httpPath":"/campaign-triggers/{triggerId}"},{"label":"Delete campaign trigger (Admin / Business)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_deletecampaigntrigger","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_deletecampaigntrigger","metadata":{"seo":{"title":"Delete campaign trigger (Admin / Business)","description":"Delete an existing campaign trigger. Businesses may only delete trigger rules they own. Replaces DELETE /campaign/admin/trigger/{id}"}},"httpPath":"/campaign-triggers/{triggerId}"},{"label":"Assign trigger to campaign (Admin / Business)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_assigntriggertocampaign","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_assigntriggertocampaign","metadata":{"seo":{"title":"Assign trigger to campaign (Admin / Business)","description":"Assign a trigger rule to a campaign. Businesses may only assign trigger rules they own to campaigns they own. Replaces PUT /campaign/admin/{id}/trigger/{triggerId}"}},"httpPath":"/campaign-triggers/{triggerId}/assign/{campaignId}"},{"label":"Remove trigger from campaign (Admin / Business)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_removetriggerfromcampaign","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_removetriggerfromcampaign","metadata":{"seo":{"title":"Remove trigger from campaign (Admin / Business)","description":"Remove a trigger assignment from a campaign. Businesses may only modify campaigns they own."}},"httpPath":"/campaign-triggers/{triggerId}/assign/{campaignId}"},{"label":"Toggle condition in trigger (Admin / Business)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-triggers/campaigntriggerscontroller_toggleconditionintrigger","routeSlug":"/swagger/campaign-triggers/campaigntriggerscontroller_toggleconditionintrigger","metadata":{"seo":{"title":"Toggle condition in trigger (Admin / Business)","description":"Add or remove a condition from a trigger rule. Businesses may only modify trigger rules they own. Replaces PUT /campaign/admin/trigger/{triggerId}/condition/{conditionId}"}},"httpPath":"/campaign-triggers/{triggerId}/conditions"}]},{"type":"group","label":"Campaign Engagements","link":"/swagger/campaign-engagements","routeSlug":"/swagger/campaign-engagements","items":[{"type":"link","label":"Business Relationship Management","link":"/swagger/campaign-engagements/business-relationship-management","routeSlug":"/swagger/campaign-engagements/business-relationship-management"},{"label":"Create business engagement for campaign (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-engagements/campaignengagementscontroller_createbusinessengagementforcampaign","routeSlug":"/swagger/campaign-engagements/campaignengagementscontroller_createbusinessengagementforcampaign","metadata":{"seo":{"title":"Create business engagement for campaign (Admin)","description":"Add a business engagement relationship to campaign for business-specific rewards. Admin-only operation. Replaces POST /campaign/admin/{id}/business-engagement"}},"httpPath":"/campaigns/{campaignId}/engagements"},{"label":"Update business engagement in campaign (Admin)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-engagements/campaignengagementscontroller_updatebusinessengagementincampaign","routeSlug":"/swagger/campaign-engagements/campaignengagementscontroller_updatebusinessengagementincampaign","metadata":{"seo":{"title":"Update business engagement in campaign (Admin)","description":"Update an existing business engagement relationship in campaign. Admin-only operation. Replaces PUT /campaign/admin/{id}/business-engagement/{businessEngagementId}"}},"httpPath":"/campaigns/{campaignId}/engagements/{businessEngagementId}"},{"label":"Remove business engagement from campaign (Admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-engagements/campaignengagementscontroller_removebusinessengagementfromcampaign","routeSlug":"/swagger/campaign-engagements/campaignengagementscontroller_removebusinessengagementfromcampaign","metadata":{"seo":{"title":"Remove business engagement from campaign (Admin)","description":"Remove a business engagement relationship from campaign. Admin-only operation. Replaces DELETE /campaign/admin/{id}/business-engagement/{businessEngagementId}"}},"httpPath":"/campaigns/{campaignId}/engagements/{businessEngagementId}"}]},{"type":"group","label":"Campaign Claims","link":"/swagger/campaign-claims","routeSlug":"/swagger/campaign-claims","items":[{"type":"link","label":"Reward Claims Processing","link":"/swagger/campaign-claims/reward-claims-processing","routeSlug":"/swagger/campaign-claims/reward-claims-processing"},{"label":"Create campaign claim","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-claims/campaignclaimscontroller_createcampaignclaim","routeSlug":"/swagger/campaign-claims/campaignclaimscontroller_createcampaignclaim","metadata":{"seo":{"title":"Create campaign claim","description":"Process campaign reward claims using role-based detection."}},"httpPath":"/campaigns/claims"},{"label":"Get campaign claims with advanced filtering","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-claims/campaignclaimscontroller_getcampaignclaims","routeSlug":"/swagger/campaign-claims/campaignclaimscontroller_getcampaignclaims","metadata":{"seo":{"title":"Get campaign claims with advanced filtering","description":"Get campaign claims with comprehensive filtering options. Use pagination parameters (page & limit) for optimal performance - critical for high-volume campaigns. Legacy support: returns array without params (deprecated - will be removed in future).- campaignId: Filter by specific campaign (optional)- userId: Filter by specific user ID (admin only)- businessId: Filter by specific business ID (admin only)- include: Optionally include related entities (campaign, user, business, transactions)"}},"httpPath":"/campaigns/claims"},{"label":"Get my campaign claims (Convenience)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-claims/campaignclaimscontroller_getmycampaignclaims","routeSlug":"/swagger/campaign-claims/campaignclaimscontroller_getmycampaignclaims","metadata":{"seo":{"title":"Get my campaign claims (Convenience)","description":"Convenience endpoint for authenticated users to retrieve their own campaign claims."}},"httpPath":"/campaigns/claims/me"},{"label":"Export campaign claims as CSV (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/campaign-claims/campaignclaimscontroller_exportclaimsascsv","routeSlug":"/swagger/campaign-claims/campaignclaimscontroller_exportclaimsascsv","metadata":{"seo":{"title":"Export campaign claims as CSV (Admin)","description":"Export all campaign claims to CSV format with optional filtering."}},"httpPath":"/campaigns/claims/export/csv"}]},{"type":"group","label":"Redemptions","link":"/swagger/redemptions","routeSlug":"/swagger/redemptions","items":[{"type":"link","label":"Token Exchange System","link":"/swagger/redemptions/token-exchange-system","routeSlug":"/swagger/redemptions/token-exchange-system"},{"label":"Get redemption by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_getredemptionbyid","routeSlug":"/swagger/redemptions/redemptionscontroller_getredemptionbyid","metadata":{"seo":{"title":"Get redemption by ID","description":"Get specific redemption details by ID. Requires valid project API key. Include missingUserFields to check which required fields the authenticated user is missing."}},"httpPath":"/redemptions/{id}"},{"label":"Update redemption","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_updateredemption","routeSlug":"/swagger/redemptions/redemptionscontroller_updateredemption","metadata":{"seo":{"title":"Update redemption","description":"Update existing redemption. Business can only update their own redemptions."}},"httpPath":"/redemptions/{id}"},{"label":"Delete redemption","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_deleteredemption","routeSlug":"/swagger/redemptions/redemptionscontroller_deleteredemption","metadata":{"seo":{"title":"Delete redemption","description":"Permanently delete a redemption. Business can only delete their own redemptions."}},"httpPath":"/redemptions/{id}"},{"label":"Get redemption available supply","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_getavailablesupply","routeSlug":"/swagger/redemptions/redemptionscontroller_getavailablesupply","metadata":{"seo":{"title":"Get redemption available supply","description":"Get the available supply count for a specific redemption. Used for inventory display."}},"httpPath":"/redemptions/{id}/supply"},{"label":"Get redemptions (Intelligent Access)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_getredemptions","routeSlug":"/swagger/redemptions/redemptionscontroller_getredemptions","metadata":{"seo":{"title":"Get redemptions (Intelligent Access)","description":"Intelligent endpoint that adapts based on authentication: Public users get active redemptions only, Admin users get all redemptions with optional filtering. Consolidates GET /redemption and GET /redemption/admin. Use pagination parameters (page & limit) for optimal performance - critical for large datasets. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/redemptions"},{"label":"Create redemption (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_createredemption","routeSlug":"/swagger/redemptions/redemptionscontroller_createredemption","metadata":{"seo":{"title":"Create redemption (Admin)","description":"Create a new redemption with administrative privileges. Replaces POST /redemption/admin"}},"httpPath":"/redemptions"},{"label":"Toggle redemption status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_toggleredemptionstatus","routeSlug":"/swagger/redemptions/redemptionscontroller_toggleredemptionstatus","metadata":{"seo":{"title":"Toggle redemption status","description":"Toggle redemption between active and inactive status. Business can only toggle their own redemptions."}},"httpPath":"/redemptions/{id}/status"},{"label":"Export redemptions to CSV","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_exportredemptionscsv","routeSlug":"/swagger/redemptions/redemptionscontroller_exportredemptionscsv","metadata":{"seo":{"title":"Export redemptions to CSV","description":"Export all redemptions as a CSV file. Supports date filtering."}},"httpPath":"/redemptions/export/csv"},{"label":"Approve or reject a redemption (Admin)","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemptions/redemptionscontroller_approveorrejectredemption","routeSlug":"/swagger/redemptions/redemptionscontroller_approveorrejectredemption","metadata":{"seo":{"title":"Approve or reject a redemption (Admin)","description":"Sets approval status to approved or rejected. Rejected requires a reason."}},"httpPath":"/redemptions/{id}/approval"}]},{"type":"group","label":"Purchases","link":"/swagger/purchases","routeSlug":"/swagger/purchases","items":[{"type":"link","label":"Payment Processing System","link":"/swagger/purchases/payment-processing-system","routeSlug":"/swagger/purchases/payment-processing-system"},{"label":"Stripe payment webhook (Critical)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_handlestripewebhook","routeSlug":"/swagger/purchases/purchasescontroller_handlestripewebhook","metadata":{"seo":{"title":"Stripe payment webhook (Critical)","description":"Handles Stripe payment events for financial reconciliation. CRITICAL: Do not modify without extensive testing. Replaces POST /purchase/stripe-webhook"}},"httpPath":"/purchases/webhooks/stripe"},{"label":"Get purchase tokens (Intelligent Access)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_getpurchasetokens","routeSlug":"/swagger/purchases/purchasescontroller_getpurchasetokens","metadata":{"seo":{"title":"Get purchase tokens (Intelligent Access)","description":"Intelligent endpoint that adapts based on authentication. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Public users get active tokens only, Admin users get filtered tokens. Replaces GET /purchase/token"}},"httpPath":"/purchases/tokens"},{"label":"Create purchase token (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_createpurchasetoken","routeSlug":"/swagger/purchases/purchasescontroller_createpurchasetoken","metadata":{"seo":{"title":"Create purchase token (Admin)","description":"Create a new purchase token for the product catalog. Admin-only operation. Replaces POST /purchase/admin/token"}},"httpPath":"/purchases/tokens"},{"label":"Get donation types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_getdonationtypes","routeSlug":"/swagger/purchases/purchasescontroller_getdonationtypes","metadata":{"seo":{"title":"Get donation types","description":"Get all available donation types for public catalog browsing. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Requires valid project API key. Replaces GET /purchase/donation/type"}},"httpPath":"/purchases/donation-types"},{"label":"Create donation type (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_createdonationtype","routeSlug":"/swagger/purchases/purchasescontroller_createdonationtype","metadata":{"seo":{"title":"Create donation type (Admin)","description":"Create a new donation type for system configuration. Admin-only operation. Replaces POST /purchase/admin/donation/type"}},"httpPath":"/purchases/donation-types"},{"label":"Create payment intent (Financial)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_createpaymentintent","routeSlug":"/swagger/purchases/purchasescontroller_createpaymentintent","metadata":{"seo":{"title":"Create payment intent (Financial)","description":"Create a new Stripe payment intent for purchase processing. Requires tenant context for Stripe API key. FINANCIAL OPERATION - handle with care. Replaces POST /purchase/payment-intent"}},"httpPath":"/purchases/payment-intents"},{"label":"Update payment intent (Financial)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_updatepaymentintent","routeSlug":"/swagger/purchases/purchasescontroller_updatepaymentintent","metadata":{"seo":{"title":"Update payment intent (Financial)","description":"Update an existing Stripe payment intent. Requires tenant context for Stripe API key. FINANCIAL OPERATION - handle with care. Replaces PUT /purchase/payment-intent/{paymentIntentId}"}},"httpPath":"/purchases/payment-intents/{paymentIntentId}"},{"label":"Cancel payment intent (Financial)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_cancelpaymentintent","routeSlug":"/swagger/purchases/purchasescontroller_cancelpaymentintent","metadata":{"seo":{"title":"Cancel payment intent (Financial)","description":"Cancel an existing Stripe payment intent. Requires tenant context for Stripe API key. FINANCIAL OPERATION - handle with care. Replaces DELETE /purchase/payment-intent/{paymentIntentId}"}},"httpPath":"/purchases/payment-intents/{paymentIntentId}"},{"label":"Create user purchase (Financial Transaction)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_createuserpurchase","routeSlug":"/swagger/purchases/purchasescontroller_createuserpurchase","metadata":{"seo":{"title":"Create user purchase (Financial Transaction)","description":"Create a new purchase for the authenticated user. BUSINESS CRITICAL - handles real financial transactions with Stripe integration. Requires user and tenant context. Replaces POST /purchase/auth"}},"httpPath":"/purchases"},{"label":"Get user purchase history","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_getuserpurchasehistory","routeSlug":"/swagger/purchases/purchasescontroller_getuserpurchasehistory","metadata":{"seo":{"title":"Get user purchase history","description":"Get all purchases made by the authenticated user. Use pagination parameters (page & limit) for optimal performance - recommended for users with many purchases. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/purchases/me"},{"label":"Export purchases as CSV (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_exporttocsv","routeSlug":"/swagger/purchases/purchasescontroller_exporttocsv","metadata":{"seo":{"title":"Export purchases as CSV (Admin)","description":"Export all purchases as a CSV file. Supports date filtering."}},"httpPath":"/purchases/export/csv"},{"label":"Update purchase token (Admin)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_updatepurchasetoken","routeSlug":"/swagger/purchases/purchasescontroller_updatepurchasetoken","metadata":{"seo":{"title":"Update purchase token (Admin)","description":"Update an existing purchase token in the product catalog. Admin-only operation. Replaces PUT /purchase/admin/token/{id}"}},"httpPath":"/purchases/tokens/{id}"},{"label":"Delete purchase token (Admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_deletepurchasetoken","routeSlug":"/swagger/purchases/purchasescontroller_deletepurchasetoken","metadata":{"seo":{"title":"Delete purchase token (Admin)","description":"Delete an existing purchase token from the product catalog. Admin-only operation. Replaces DELETE /purchase/admin/token/{id}"}},"httpPath":"/purchases/tokens/{id}"},{"label":"Create purchase type (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/purchases/purchasescontroller_createpurchasetype","routeSlug":"/swagger/purchases/purchasescontroller_createpurchasetype","metadata":{"seo":{"title":"Create purchase type (Admin)","description":"Create a new purchase type for system configuration. Admin-only operation. Replaces POST /purchase/admin/type"}},"httpPath":"/purchases/types"}]},{"type":"group","label":"Businesses","link":"/swagger/businesses","routeSlug":"/swagger/businesses","items":[{"type":"link","label":"Partner Ecosystem Management","link":"/swagger/businesses/partner-ecosystem-management","routeSlug":"/swagger/businesses/partner-ecosystem-management"},{"label":"Get current business info","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_getcurrentbusiness","routeSlug":"/swagger/businesses/businessescontroller_getcurrentbusiness","metadata":{"seo":{"title":"Get current business info","description":"Get business info with current token balances and virtual counterfactual wallet addresses for all active chains (business authentication required)"}},"httpPath":"/businesses/me"},{"label":"Get all businesses","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_getallbusinesses","routeSlug":"/swagger/businesses/businessescontroller_getallbusinesses","metadata":{"seo":{"title":"Get all businesses","description":"Get all businesses. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Project API key users get active businesses only. Admin users (with valid JWT) get full access with query parameters."}},"httpPath":"/businesses"},{"label":"Create a new business","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_createbusiness","routeSlug":"/swagger/businesses/businessescontroller_createbusiness","metadata":{"seo":{"title":"Create a new business","description":"Create a new business account, will be inactive until activated by admin"}},"httpPath":"/businesses"},{"label":"Get business by account address","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_getbyaccountaddress","routeSlug":"/swagger/businesses/businessescontroller_getbyaccountaddress","metadata":{"seo":{"title":"Get business by account address","description":"Get business info by account address"}},"httpPath":"/businesses/account/{accountAddress}"},{"label":"Get business by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_getbyid","routeSlug":"/swagger/businesses/businessescontroller_getbyid","metadata":{"seo":{"title":"Get business by ID","description":"Get business info by ID"}},"httpPath":"/businesses/{id}"},{"label":"Update a business","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_updatebusiness","routeSlug":"/swagger/businesses/businessescontroller_updatebusiness","metadata":{"seo":{"title":"Update a business","description":"Update a business account. Business tokens may only update their own business."}},"httpPath":"/businesses/{id}"},{"label":"Create multiple businesses","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_createbusinessesbulk","routeSlug":"/swagger/businesses/businessescontroller_createbusinessesbulk","metadata":{"seo":{"title":"Create multiple businesses","description":"Create multiple business accounts from a JSON array in the request body."}},"httpPath":"/businesses/bulk"},{"label":"Create multiple businesses from URL","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_createbusinessesfromurl","routeSlug":"/swagger/businesses/businessescontroller_createbusinessesfromurl","metadata":{"seo":{"title":"Create multiple businesses from URL","description":"Create multiple business accounts by fetching a JSON file from the provided URL. The file at the URL is expected to be a JSON object conforming to the BusinessBulkCreateRequestDTO structure, containing an array of business data."}},"httpPath":"/businesses/bulk/url"},{"label":"Toggle business status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_togglebusinessstatus","routeSlug":"/swagger/businesses/businessescontroller_togglebusinessstatus","metadata":{"seo":{"title":"Toggle business status","description":"Toggle business active status. Business owners can toggle isActive only; capability flags (canMintToken etc) require tenant admin."}},"httpPath":"/businesses/{id}/status"},{"label":"Provision stamp token metadata for all businesses","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_provisionstamptoken","routeSlug":"/swagger/businesses/businessescontroller_provisionstamptoken","metadata":{"seo":{"title":"Provision stamp token metadata for all businesses","description":"ADMIN: Backfill stamp token metadata for a specific token across all existing businesses. Optional — metadata is otherwise provisioned lazily on first real usage. Use this to eagerly pre-provision instead of waiting for usage."}},"httpPath":"/businesses/stamp-tokens/{tokenId}/provision"},{"label":"List business members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_getbusinessmembers","routeSlug":"/swagger/businesses/businessescontroller_getbusinessmembers","metadata":{"seo":{"title":"List business members","description":"Get all members of a business. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Requires BUSINESS auth (min role: VIEWER) or TENANT admin."}},"httpPath":"/businesses/{businessId}/members"},{"label":"Add member to business","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_addbusinessmember","routeSlug":"/swagger/businesses/businessescontroller_addbusinessmember","metadata":{"seo":{"title":"Add member to business","description":"Add a user as a member of the business. Requires BUSINESS auth (min role: ADMIN) or TENANT admin."}},"httpPath":"/businesses/{businessId}/members"},{"label":"Update member role","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_updatememberrole","routeSlug":"/swagger/businesses/businessescontroller_updatememberrole","metadata":{"seo":{"title":"Update member role","description":"Update the role of an existing business member. Requires BUSINESS auth (min role: ADMIN) or TENANT admin."}},"httpPath":"/businesses/{businessId}/members/{userId}"},{"label":"Remove member from business","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_removebusinessmember","routeSlug":"/swagger/businesses/businessescontroller_removebusinessmember","metadata":{"seo":{"title":"Remove member from business","description":"Remove a user from business membership. Requires BUSINESS auth (min role: ADMIN) or TENANT admin."}},"httpPath":"/businesses/{businessId}/members/{userId}"},{"label":"Export businesses as CSV (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_exportbusinessesascsv","routeSlug":"/swagger/businesses/businessescontroller_exportbusinessesascsv","metadata":{"seo":{"title":"Export businesses as CSV (Admin)","description":"Export all businesses to CSV format with optional date filtering."}},"httpPath":"/businesses/export/csv"},{"label":"Approve or reject a business (Admin)","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/businesses/businessescontroller_approveorrejectbusiness","routeSlug":"/swagger/businesses/businessescontroller_approveorrejectbusiness","metadata":{"seo":{"title":"Approve or reject a business (Admin)","description":"Sets approval status to approved or rejected. Rejected requires a reason."}},"httpPath":"/businesses/{id}/approval"}]},{"type":"group","label":"Transactions","link":"/swagger/transactions","routeSlug":"/swagger/transactions","items":[{"type":"link","label":"Transaction Management System","link":"/swagger/transactions/transaction-management-system","routeSlug":"/swagger/transactions/transaction-management-system"},{"label":"Get current user/business transactions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_getcurrentusertransactions","routeSlug":"/swagger/transactions/transactionscontroller_getcurrentusertransactions","metadata":{"seo":{"title":"Get current user/business transactions","description":"Consolidated endpoint for user/business transactions. Use role parameter to filter: SENDER (sent), RECIPIENT (received), or omit for all transactions. Use include parameter to enrich with full entity data. Always returns PaginatedResponseDTO."}},"httpPath":"/transactions/me"},{"label":"Get all transactions with advanced filtering","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_getalltransactions","routeSlug":"/swagger/transactions/transactionscontroller_getalltransactions","metadata":{"seo":{"title":"Get all transactions with advanced filtering","description":"Get transactions with comprehensive filtering options: - include: Enrich with full entity data (sender, recipient, business) - search: Wildcard search for ID, address or transaction hash - participantId: Filter by user/business/tenant ID - role: Filter by SENDER, RECIPIENT, or both (omit for all) - status: Filter by transaction status - tokenType: Filter by token type - type: Filter by transaction type (MINT, BURN, TRANSFER) - Always returns PaginatedResponseDTO"}},"httpPath":"/transactions"},{"label":"Create transaction","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_createsystemtransaction","routeSlug":"/swagger/transactions/transactionscontroller_createsystemtransaction","metadata":{"seo":{"title":"Create transaction","description":"Create any type of transaction (MINT/TRANSFER/BURN) using role-based trigger detection."}},"httpPath":"/transactions"},{"label":"Get transaction by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_gettransactionbyid","routeSlug":"/swagger/transactions/transactionscontroller_gettransactionbyid","metadata":{"seo":{"title":"Get transaction by ID","description":"Get single transaction by ID with optional entity inclusion. Use include parameter to enrich with full entity data. Requires valid project API key."}},"httpPath":"/transactions/{id}"},{"label":"Prepare existing transaction for client-side signing","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_preparetransactionbyid","routeSlug":"/swagger/transactions/transactionscontroller_preparetransactionbyid","metadata":{"seo":{"title":"Prepare existing transaction for client-side signing","description":"Prepares transaction data for client-side execution from existing transaction ID. Returns the data needed for the client to sign and submit the transaction."}},"httpPath":"/transactions/{id}/prepare"},{"label":"Sign transaction and return signature only (no submission)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_signtransactiononly","routeSlug":"/swagger/transactions/transactionscontroller_signtransactiononly","metadata":{"seo":{"title":"Sign transaction and return signature only (no submission)","description":"Signs a custodial EIP-712 transaction and returns the signature without submitting to the blockchain. Use this for business interface flows where the signature is displayed/scanned and submitted separately."}},"httpPath":"/transactions/{id}/sign"},{"label":"Submit client-side signed transaction","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_submittransaction","routeSlug":"/swagger/transactions/transactionscontroller_submittransaction","metadata":{"seo":{"title":"Submit client-side signed transaction","description":"Submits a signed transaction from the client. This method is used to finalize the transaction after the client has signed it."}},"httpPath":"/transactions/submit"},{"label":"Export transactions as CSV with business names","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/transactions/transactionscontroller_exporttransactionsascsv","routeSlug":"/swagger/transactions/transactionscontroller_exporttransactionsascsv","metadata":{"seo":{"title":"Export transactions as CSV with business names","description":"Downloads transactions as CSV with business names resolved. Supports filtering by date range and status. Includes engagedBusinessName column for easy analysis. RLS ensures tenant isolation automatically."}},"httpPath":"/transactions/export/csv"}]},{"type":"group","label":"Users","link":"/swagger/users","routeSlug":"/swagger/users","items":[{"type":"link","label":"User Account Management","link":"/swagger/users/user-account-management","routeSlug":"/swagger/users/user-account-management"},{"label":"Get current user info","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getcurrentuser","routeSlug":"/swagger/users/userscontroller_getcurrentuser","metadata":{"seo":{"title":"Get current user info","description":"Get authenticated user account info. Use include=status,balances to include related data. Note: Including status/balances adds latency - consider separate calls for performance-critical scenarios. Wallets include virtual counterfactual addresses for chains with active tokens."}},"httpPath":"/users/me"},{"label":"Update current user","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_updatecurrentuser","routeSlug":"/swagger/users/userscontroller_updatecurrentuser","metadata":{"seo":{"title":"Update current user","description":"Update authenticated user account"}},"httpPath":"/users/me"},{"label":"Get current user status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getcurrentuserstatus","routeSlug":"/swagger/users/userscontroller_getcurrentuserstatus","metadata":{"seo":{"title":"Get current user status","description":"Get authenticated user status types. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/users/me/status"},{"label":"Check if user exists","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_checkuserexists","routeSlug":"/swagger/users/userscontroller_checkuserexists","metadata":{"seo":{"title":"Check if user exists","description":"Check if a user exists using any identifier field (id, email, etc.)"}},"httpPath":"/users/exists"},{"label":"Get all public profiles","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getallpublicprofiles","routeSlug":"/swagger/users/userscontroller_getallpublicprofiles","metadata":{"seo":{"title":"Get all public profiles","description":"Get all public user profiles. Use pagination parameters (page & limit) for optimal performance - essential for large user bases. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/users/public"},{"label":"Get public profile","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getpublicprofile","routeSlug":"/swagger/users/userscontroller_getpublicprofile","metadata":{"seo":{"title":"Get public profile","description":"Get a public profile by user ID"}},"httpPath":"/users/public/{id}"},{"label":"Get all user status types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getalluserstatustypes","routeSlug":"/swagger/users/userscontroller_getalluserstatustypes","metadata":{"seo":{"title":"Get all user status types","description":"Get all available user status types. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/users/status-types"},{"label":"Create user status type","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_createuserstatustype","routeSlug":"/swagger/users/userscontroller_createuserstatustype","metadata":{"seo":{"title":"Create user status type","description":"Create user status type as admin"}},"httpPath":"/users/status-types"},{"label":"Get user status type","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getuserstatustype","routeSlug":"/swagger/users/userscontroller_getuserstatustype","metadata":{"seo":{"title":"Get user status type","description":"Get a user status type by ID"}},"httpPath":"/users/status-types/{id}"},{"label":"Update user status type","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_updateuserstatustype","routeSlug":"/swagger/users/userscontroller_updateuserstatustype","metadata":{"seo":{"title":"Update user status type","description":"Update user status type as admin"}},"httpPath":"/users/status-types/{id}"},{"label":"Delete user status type","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_deleteuserstatustype","routeSlug":"/swagger/users/userscontroller_deleteuserstatustype","metadata":{"seo":{"title":"Delete user status type","description":"Delete user status type as admin"}},"httpPath":"/users/status-types/{id}"},{"label":"Update eligible token for status type","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_updateuserstatustypeeligibletoken","routeSlug":"/swagger/users/userscontroller_updateuserstatustypeeligibletoken","metadata":{"seo":{"title":"Update eligible token for status type","description":"Add or remove eligible token for user status type as admin"}},"httpPath":"/users/status-types/{id}/eligible-tokens/{tokenAddress}"},{"label":"Get user info","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getuserinfo","routeSlug":"/swagger/users/userscontroller_getuserinfo","metadata":{"seo":{"title":"Get user info","description":"Get user account info (business with user management permission OR admin authentication required). Identifier is passed in the request body (safe for PII such as email). Use include parameter for related data. Note: Including status/balances adds latency - consider separate calls for performance-critical scenarios."}},"httpPath":"/users/info"},{"label":"Create or update user account","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_createorupdateuser","routeSlug":"/swagger/users/userscontroller_createorupdateuser","metadata":{"seo":{"title":"Create or update user account","description":"Create or update user account(s). Supports single user (business/admin) or bulk operations (admin only)"}},"httpPath":"/users"},{"label":"Get all users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getallusers","routeSlug":"/swagger/users/userscontroller_getallusers","metadata":{"seo":{"title":"Get all users","description":"Get all users with role-based access. Use pagination parameters (page & limit) for optimal performance. With merge param, only checks duplicates for users on current page (smart merge). Project API key users get public profiles only. Admin users get full access."}},"httpPath":"/users"},{"label":"Get user by identifier","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getuserbyidentifier","routeSlug":"/swagger/users/userscontroller_getuserbyidentifier","metadata":{"seo":{"title":"Get user by identifier","description":"Get user by any unique identifier field (id, email, externalId, accountAddress, etc.). Business (with user management permission) or admin. ⚠️ The identifier travels in the URL - for PII such as email prefer POST /users/info (identifier in body). Use include parameter for related data. Note: Including status/balances adds latency - consider separate calls for performance-critical scenarios."}},"httpPath":"/users/{identifier}"},{"label":"Update user by identifier (admin)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_updateuserbyidentifier","routeSlug":"/swagger/users/userscontroller_updateuserbyidentifier","metadata":{"seo":{"title":"Update user by identifier (admin)","description":"Update user account by any unique identifier field (id, email, externalId, accountAddress, etc.). Admin only."}},"httpPath":"/users/{identifier}"},{"label":"Delete user by identifier (admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_deleteuserbyidentifier","routeSlug":"/swagger/users/userscontroller_deleteuserbyidentifier","metadata":{"seo":{"title":"Delete user by identifier (admin)","description":"Soft delete user by any unique identifier field (id, email, externalId, accountAddress, etc.). Admin only. ⚠️ This operation is irreversible via API - consider using PUT /users/{identifier}/status for temporary deactivation."}},"httpPath":"/users/{identifier}"},{"label":"Create users from URL (admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_createusersfromurl","routeSlug":"/swagger/users/userscontroller_createusersfromurl","metadata":{"seo":{"title":"Create users from URL (admin)","description":"Create user accounts from external URL as admin"}},"httpPath":"/users/bulk/url"},{"label":"Set or toggle user status by identifier","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_toggleuserstatusbyidentifier","routeSlug":"/swagger/users/userscontroller_toggleuserstatusbyidentifier","metadata":{"seo":{"title":"Set or toggle user status by identifier","description":"Set or toggle user active status by any unique identifier field (id, email, externalId, accountAddress, etc.). If body contains { isActive: true/false }, sets explicitly. If no body, toggles. Admin only."}},"httpPath":"/users/{identifier}/status"},{"label":"Restore deleted user (admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_restoreuserbyidentifier","routeSlug":"/swagger/users/userscontroller_restoreuserbyidentifier","metadata":{"seo":{"title":"Restore deleted user (admin)","description":"Restore a soft-deleted user within the 30-day grace period. After GDPR anonymization, restoration is not possible."}},"httpPath":"/users/{identifier}/restore"},{"label":"Export users as CSV","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_exportusersascsv","routeSlug":"/swagger/users/userscontroller_exportusersascsv","metadata":{"seo":{"title":"Export users as CSV","description":"Export all users to CSV format. Optional date filtering by createdAt."}},"httpPath":"/users/export/csv"},{"label":"Get current user balance","deprecated":true,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getcurrentuserbalance","routeSlug":"/swagger/users/userscontroller_getcurrentuserbalance","metadata":{"seo":{"title":"Get current user balance","description":"Get authenticated user account with current token balances"}},"httpPath":"/users/me/balance"},{"label":"Get user balance","deprecated":true,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/users/userscontroller_getuserbalance","routeSlug":"/swagger/users/userscontroller_getuserbalance","metadata":{"seo":{"title":"Get user balance","description":"DEPRECATED: Use POST /users/info?include=balances instead. Get user account with current token balances (business with user management permission OR admin authentication required)."}},"httpPath":"/users/balance"}]},{"type":"group","label":"Balances","link":"/swagger/balances","routeSlug":"/swagger/balances","items":[{"type":"link","label":"Account Balance Management","link":"/swagger/balances/account-balance-management","routeSlug":"/swagger/balances/account-balance-management"},{"label":"Get account balance by address (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/balances/balancescontroller_getaccountbalance","routeSlug":"/swagger/balances/balancescontroller_getaccountbalance","metadata":{"seo":{"title":"Get account balance by address (Admin)","description":"Get detailed balance information including token metadata for any account address. Requires tenant admin privileges. Replaces GET /balance/admin/account/{accountAddress}"}},"httpPath":"/balances/accounts/{accountAddress}"},{"label":"Get active credit token holders (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/balances/balancescontroller_getactivecredittokenholders","routeSlug":"/swagger/balances/balancescontroller_getactivecredittokenholders","metadata":{"seo":{"title":"Get active credit token holders (Admin)","description":"Convenience endpoint: automatically resolves the tenant's active ERC20 credit token and returns paginated holders enriched with PERS wallet and optional user data."}},"httpPath":"/balances/tokens/credit/holders"},{"label":"Get token holders by contract address (Admin)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/balances/balancescontroller_gettokenholders","routeSlug":"/swagger/balances/balancescontroller_gettokenholders","metadata":{"seo":{"title":"Get token holders by contract address (Admin)","description":"Returns all addresses holding the specified token, enriched with PERS ownerId and ownerType where the address is a tracked wallet. Uses Blockscout for on-chain data."}},"httpPath":"/balances/tokens/{contractAddress}/holders"}]},{"type":"group","label":"Files","link":"/swagger/files","routeSlug":"/swagger/files","items":[{"type":"link","label":"File Management System","link":"/swagger/files/file-management-system","routeSlug":"/swagger/files/file-management-system"},{"label":"Generate signed URL for entity storage","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/files/filescontroller_getentitystorageurl","routeSlug":"/swagger/files/filescontroller_getentitystorageurl","metadata":{"seo":{"title":"Generate signed URL for entity storage","description":"Creates S3 signed URLs for uploading or downloading entity files. Supports both business and admin authentication flows."}},"httpPath":"/files/entity-storage-url"}]},{"type":"group","label":"Web3 Chains","link":"/swagger/web3-chains","routeSlug":"/swagger/web3-chains","items":[{"type":"link","label":"Blockchain Network Management","link":"/swagger/web3-chains/blockchain-network-management","routeSlug":"/swagger/web3-chains/blockchain-network-management"},{"label":"Get Web3 chain data by chain ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/web3-chains/web3chainscontroller_getchaindata","routeSlug":"/swagger/web3-chains/web3chainscontroller_getchaindata","metadata":{"seo":{"title":"Get Web3 chain data by chain ID","description":"Retrieve comprehensive chain data including authentication JWT token valid for 30 days. Supports both mainnet and testnet chains."}},"httpPath":"/chains/{chainId}"}]},{"type":"group","label":"Contracts","link":"/swagger/contracts","routeSlug":"/swagger/contracts","items":[{"type":"link","label":"Smart Contract Management","link":"/swagger/contracts/smart-contract-management","routeSlug":"/swagger/contracts/smart-contract-management"},{"label":"Create a new Web3 contract (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/contracts/web3contractscontroller_createcontract","routeSlug":"/swagger/contracts/web3contractscontroller_createcontract","metadata":{"seo":{"title":"Create a new Web3 contract (Admin)","description":"Create a new Web3 contract with administrative privileges. Requires tenant admin access. Replaces POST /contract"}},"httpPath":"/contracts"}]},{"type":"group","label":"Auth","link":"/swagger/auth","routeSlug":"/swagger/auth","items":[{"type":"link","label":"Authentication & Authorization","link":"/swagger/auth/authentication-and-authorization","routeSlug":"/swagger/auth/authentication-and-authorization"},{"label":"Create authentication token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/auth/authcontroller_createtoken","routeSlug":"/swagger/auth/authcontroller_createtoken","metadata":{"seo":{"title":"Create authentication token","description":"Universal token creation with consistent token-in-body pattern."}},"httpPath":"/auth/token"},{"label":"Refresh authentication tokens","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/auth/authcontroller_refresh","routeSlug":"/swagger/auth/authcontroller_refresh","metadata":{"seo":{"title":"Refresh authentication tokens","description":"Refresh access tokens using valid refresh token"}},"httpPath":"/auth/refresh"},{"label":"Verify JWT token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/auth/authcontroller_verifytoken","routeSlug":"/swagger/auth/authcontroller_verifytoken","metadata":{"seo":{"title":"Verify JWT token","description":"Verify JWT tokens with automatic issuer detection:"}},"httpPath":"/auth/verify"},{"label":"Send magic link email","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/auth/authcontroller_sendmagiclink","routeSlug":"/swagger/auth/authcontroller_sendmagiclink","metadata":{"seo":{"title":"Send magic link email","description":"Send a magic link email for passwordless authentication. Rate limited to 3 requests per email per 10 minutes."}},"httpPath":"/auth/magic-link/send"}]},{"type":"group","label":"Root","link":"/swagger/root","routeSlug":"/swagger/root","items":[{"type":"link","label":"Platform Infrastructure","link":"/swagger/root/platform-infrastructure","routeSlug":"/swagger/root/platform-infrastructure"},{"label":"RootController_get","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/root/rootcontroller_get","routeSlug":"/swagger/root/rootcontroller_get","metadata":{"seo":{"title":"RootController_get"}},"httpPath":"/"},{"label":"RootController_getCurrentTime","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/root/rootcontroller_getcurrenttime","routeSlug":"/swagger/root/rootcontroller_getcurrenttime","metadata":{"seo":{"title":"RootController_getCurrentTime"}},"httpPath":"/healthcheck"},{"label":"Check if tenant system api key is valid","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/root/rootcontroller_getsystem","routeSlug":"/swagger/root/rootcontroller_getsystem","metadata":{"seo":{"title":"Check if tenant system api key is valid","description":"Check if tenant system api key is valid"}},"httpPath":"/system"},{"label":"ADMIN: Check if admin","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/root/rootcontroller_getadmin","routeSlug":"/swagger/root/rootcontroller_getadmin","metadata":{"seo":{"title":"ADMIN: Check if admin","description":"Get if admin"}},"httpPath":"/admin"},{"label":"RootController_testGeo","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/root/rootcontroller_testgeo","routeSlug":"/swagger/root/rootcontroller_testgeo","metadata":{"seo":{"title":"RootController_testGeo"}},"httpPath":"/geolocation"}]},{"type":"group","label":"Well-known","link":"/swagger/well-known","routeSlug":"/swagger/well-known","items":[{"type":"link","label":"Security Infrastructure","link":"/swagger/well-known/security-infrastructure","routeSlug":"/swagger/well-known/security-infrastructure"},{"label":"Get JSON Web Key Set (JWKS)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/well-known/jwkscontroller_getjwks","routeSlug":"/swagger/well-known/jwkscontroller_getjwks","metadata":{"seo":{"title":"Get JSON Web Key Set (JWKS)","description":"Get JSON Web Key Set (JWKS)"}},"httpPath":"/jwks.json"},{"label":"Get OIDC Discovery Document","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/well-known/jwkscontroller_getopenidconfiguration","routeSlug":"/swagger/well-known/jwkscontroller_getopenidconfiguration","metadata":{"seo":{"title":"Get OIDC Discovery Document","description":"Get OIDC Discovery Document"}},"httpPath":"/openid-configuration"}]},{"type":"group","label":"Webhooks","link":"/swagger/webhooks","routeSlug":"/swagger/webhooks","items":[{"type":"link","label":"Webhook Integration System","link":"/swagger/webhooks/webhook-integration-system","routeSlug":"/swagger/webhooks/webhook-integration-system"},{"label":"Create webhook","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_create","routeSlug":"/swagger/webhooks/webhookcontroller_create","metadata":{"seo":{"title":"Create webhook","description":"Create webhook"}},"httpPath":"/hooks"},{"label":"List webhooks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_list","routeSlug":"/swagger/webhooks/webhookcontroller_list","metadata":{"seo":{"title":"List webhooks","description":"List webhooks"}},"httpPath":"/hooks"},{"label":"Get webhook executions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_getexecutions","routeSlug":"/swagger/webhooks/webhookcontroller_getexecutions","metadata":{"seo":{"title":"Get webhook executions","description":"Get webhook execution history with filtering options."}},"httpPath":"/hooks/executions"},{"label":"Get webhook","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_get","routeSlug":"/swagger/webhooks/webhookcontroller_get","metadata":{"seo":{"title":"Get webhook","description":"Get webhook"}},"httpPath":"/hooks/{hookId}"},{"label":"Update webhook","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_update","routeSlug":"/swagger/webhooks/webhookcontroller_update","metadata":{"seo":{"title":"Update webhook","description":"Update webhook"}},"httpPath":"/hooks/{hookId}"},{"label":"Delete webhook","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhooks/webhookcontroller_delete","routeSlug":"/swagger/webhooks/webhookcontroller_delete","metadata":{"seo":{"title":"Delete webhook","description":"Delete webhook"}},"httpPath":"/hooks/{hookId}"}]},{"type":"group","label":"Trigger Sources","link":"/swagger/trigger-sources","routeSlug":"/swagger/trigger-sources","items":[{"label":"Create trigger source","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/trigger-sources/triggersourcescontroller_createtriggersource","routeSlug":"/swagger/trigger-sources/triggersourcescontroller_createtriggersource","metadata":{"seo":{"title":"Create trigger source","description":"Create a new trigger source (QR code, NFC tag, webhook, geofence, etc.). Businesses create trigger sources owned by themselves; tenant admins can create shared (tenant-level) trigger sources."}},"httpPath":"/trigger-sources"},{"label":"Get all trigger sources","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/trigger-sources/triggersourcescontroller_getalltriggersources","routeSlug":"/swagger/trigger-sources/triggersourcescontroller_getalltriggersources","metadata":{"seo":{"title":"Get all trigger sources","description":"Retrieve all trigger sources with optional filtering and pagination. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/trigger-sources"},{"label":"Get trigger source by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/trigger-sources/triggersourcescontroller_gettriggersource","routeSlug":"/swagger/trigger-sources/triggersourcescontroller_gettriggersource","metadata":{"seo":{"title":"Get trigger source by ID","description":"Retrieve a specific trigger source with its configuration"}},"httpPath":"/trigger-sources/{id}"},{"label":"Update trigger source","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/trigger-sources/triggersourcescontroller_updatetriggersource","routeSlug":"/swagger/trigger-sources/triggersourcescontroller_updatetriggersource","metadata":{"seo":{"title":"Update trigger source","description":"Update an existing trigger source configuration. Businesses may only update trigger sources they own."}},"httpPath":"/trigger-sources/{id}"},{"label":"Delete trigger source","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/trigger-sources/triggersourcescontroller_deletetriggersource","routeSlug":"/swagger/trigger-sources/triggersourcescontroller_deletetriggersource","metadata":{"seo":{"title":"Delete trigger source","description":"Soft delete a trigger source. Businesses may only delete trigger sources they own."}},"httpPath":"/trigger-sources/{id}"}]},{"type":"group","label":"Business Types","link":"/swagger/business-types","routeSlug":"/swagger/business-types","items":[{"label":"Create a new business type","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/business-types/businesstypescontroller_createbusinesstype","routeSlug":"/swagger/business-types/businesstypescontroller_createbusinesstype","metadata":{"seo":{"title":"Create a new business type","description":"Create a new business type"}},"httpPath":"/businesses/types"},{"label":"Update a business type","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/business-types/businesstypescontroller_updatebusinesstype","routeSlug":"/swagger/business-types/businesstypescontroller_updatebusinesstype","metadata":{"seo":{"title":"Update a business type","description":"Update a business type"}},"httpPath":"/businesses/types"},{"label":"Get all business types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/business-types/businesstypescontroller_getallbusinesstypes","routeSlug":"/swagger/business-types/businesstypescontroller_getallbusinesstypes","metadata":{"seo":{"title":"Get all business types","description":"Get all business types. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/businesses/types"},{"label":"Delete a business type","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/business-types/businesstypescontroller_deletebusinesstype","routeSlug":"/swagger/business-types/businesstypescontroller_deletebusinesstype","metadata":{"seo":{"title":"Delete a business type","description":"Delete a business type"}},"httpPath":"/businesses/types/{id}"}]},{"type":"group","label":"Redemption Types","link":"/swagger/redemption-types","routeSlug":"/swagger/redemption-types","items":[{"label":"Get redemption types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-types/redemptiontypescontroller_getredemptiontypes","routeSlug":"/swagger/redemption-types/redemptiontypescontroller_getredemptiontypes","metadata":{"seo":{"title":"Get redemption types","description":"Get all available redemption types for client reference. Requires valid project API key. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future)."}},"httpPath":"/redemptions/types"},{"label":"Create redemption type (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-types/redemptiontypescontroller_createredemptiontype","routeSlug":"/swagger/redemption-types/redemptiontypescontroller_createredemptiontype","metadata":{"seo":{"title":"Create redemption type (Admin)","description":"Create a new redemption type for system configuration. Replaces POST /redemption/admin/type"}},"httpPath":"/redemptions/types"},{"label":"Update redemption type (Admin)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-types/redemptiontypescontroller_updateredemptiontype","routeSlug":"/swagger/redemption-types/redemptiontypescontroller_updateredemptiontype","metadata":{"seo":{"title":"Update redemption type (Admin)","description":"Update an existing redemption type configuration"}},"httpPath":"/redemptions/types/{id}"},{"label":"Delete redemption type (Admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-types/redemptiontypescontroller_deleteredemptiontype","routeSlug":"/swagger/redemption-types/redemptiontypescontroller_deleteredemptiontype","metadata":{"seo":{"title":"Delete redemption type (Admin)","description":"Delete a redemption type. Will fail if any redemptions are using this type."}},"httpPath":"/redemptions/types/{id}"}]},{"type":"group","label":"Redemption Redeems","link":"/swagger/redemption-redeems","routeSlug":"/swagger/redemption-redeems","items":[{"label":"Execute redemption (Unified)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-redeems/redemptionredeemscontroller_executeredemption","routeSlug":"/swagger/redemption-redeems/redemptionredeemscontroller_executeredemption","metadata":{"seo":{"title":"Execute redemption (Unified)","description":"Process redemption execution using role-based detection. Supports user, business, and admin redemption processing."}},"httpPath":"/redemptions/redeems"},{"label":"Get redemption redeems with advanced filtering","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-redeems/redemptionredeemscontroller_getredemptionredeems","routeSlug":"/swagger/redemption-redeems/redemptionredeemscontroller_getredemptionredeems","metadata":{"seo":{"title":"Get redemption redeems with advanced filtering","description":"Get redemption redeems with comprehensive filtering options:- redemptionId: Filter by specific redemption (optional)- userId: Filter by specific user ID (admin only)- businessId: Filter by specific business ID (admin only)- include: Optionally include related entities (redemption, user, business, transactions)"}},"httpPath":"/redemptions/redeems"},{"label":"Get my redemption redeems (Convenience)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-redeems/redemptionredeemscontroller_getmyredemptionredeems","routeSlug":"/swagger/redemption-redeems/redemptionredeemscontroller_getmyredemptionredeems","metadata":{"seo":{"title":"Get my redemption redeems (Convenience)","description":"Convenience endpoint for authenticated users to retrieve their own redemption redeems."}},"httpPath":"/redemptions/redeems/me"},{"label":"Get specific redemption redeem","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-redeems/redemptionredeemscontroller_getredemptionredeembyid","routeSlug":"/swagger/redemption-redeems/redemptionredeemscontroller_getredemptionredeembyid","metadata":{"seo":{"title":"Get specific redemption redeem","description":"Get current status of a specific redemption redeem with automatic access control based on authentication context. Optionally include related entities (redemption, user, business, transactions)."}},"httpPath":"/redemptions/redeems/{redeemId}"},{"label":"Export redeems to CSV","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-redeems/redemptionredeemscontroller_exportredeemscsv","routeSlug":"/swagger/redemption-redeems/redemptionredeemscontroller_exportredeemscsv","metadata":{"seo":{"title":"Export redeems to CSV","description":"Export all redeems as a CSV file. Supports date filtering and including related entities."}},"httpPath":"/redemptions/redeems/export/csv"}]},{"type":"group","label":"Redemption Tokens","link":"/swagger/redemption-tokens","routeSlug":"/swagger/redemption-tokens","items":[{"label":"Add token unit to redemption","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-tokens/redemptiontokenscontroller_addtokenunittoredemption","routeSlug":"/swagger/redemption-tokens/redemptiontokenscontroller_addtokenunittoredemption","metadata":{"seo":{"title":"Add token unit to redemption","description":"Add a new token unit to an existing redemption. Available to Admin and Business accounts."}},"httpPath":"/redemptions/{redemptionId}/tokens"},{"label":"Update redemption token unit","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-tokens/redemptiontokenscontroller_updatetokenunit","routeSlug":"/swagger/redemption-tokens/redemptiontokenscontroller_updatetokenunit","metadata":{"seo":{"title":"Update redemption token unit","description":"Update an existing token unit within a redemption. Available to Admin and Business accounts."}},"httpPath":"/redemptions/{redemptionId}/tokens/{tokenUnitId}"},{"label":"Remove token unit from redemption","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redemption-tokens/redemptiontokenscontroller_removetokenunit","routeSlug":"/swagger/redemption-tokens/redemptiontokenscontroller_removetokenunit","metadata":{"seo":{"title":"Remove token unit from redemption","description":"Remove an existing token unit from a redemption. Available to Admin and Business accounts."}},"httpPath":"/redemptions/{redemptionId}/tokens/{tokenUnitId}"}]},{"type":"group","label":"API Keys","link":"/swagger/api-keys","routeSlug":"/swagger/api-keys","items":[{"label":"Get all API keys (Admin/Business)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/api-keys/apikeyscontroller_gettenantapikeys","routeSlug":"/swagger/api-keys/apikeyscontroller_gettenantapikeys","metadata":{"seo":{"title":"Get all API keys (Admin/Business)","description":"Admin: returns all integration keys for the tenant, optionally filtered by type. Business: returns only keys scoped to their own business entity. Use pagination parameters (page & limit) for optimal performance."}},"httpPath":"/api-keys"},{"label":"Create new system JWT token (Admin)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/api-keys/apikeyscontroller_createapikey","routeSlug":"/swagger/api-keys/apikeyscontroller_createapikey","metadata":{"seo":{"title":"Create new system JWT token (Admin)","description":"Create a new long-lived system JWT for app integration (M2M). Provide businessId to create a business-scoped token (BUSINESS_SYSTEM_JWT) for server-to-server integrations. Omit businessId to create a tenant-scoped token (TENANT_SYSTEM_JWT). Store the returned token securely - it cannot be retrieved again."}},"httpPath":"/api-keys"},{"label":"Revoke API key (Admin)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/api-keys/apikeyscontroller_revokeapikey","routeSlug":"/swagger/api-keys/apikeyscontroller_revokeapikey","metadata":{"seo":{"title":"Revoke API key (Admin)","description":"Permanently revoke an API key. This operation cannot be undone. The key will be marked as revoked and will no longer be valid for authentication."}},"httpPath":"/api-keys/{id}"}]},{"type":"group","label":"Webhook Proxy","link":"/swagger/webhook-proxy","routeSlug":"/swagger/webhook-proxy","items":[{"label":"Receive callback from external system","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_processcallback","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_processcallback","metadata":{"seo":{"title":"Receive callback from external system","description":"Receive workflow completion callback from external systems (e.g., n8n)."}},"httpPath":"/hooks/{projectKey}/executions/{executionId}/callback"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_get","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_get","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_post","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_post","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_put","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_put","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_delete","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_delete","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_patch","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_patch","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"options","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_options","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_options","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"head","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_head","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_head","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"},{"label":"Trigger webhook (forward request to configured target)","deprecated":false,"httpVerb":"search","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_search","routeSlug":"/swagger/webhook-proxy/webhookproxycontroller_receivewebhook_search","metadata":{"seo":{"title":"Trigger webhook (forward request to configured target)","description":"Project key in URL path identifies the tenant. Configure webhook URL as: /hooks/{projectKey}/{hookId}. Returns wrapped response with execution metadata."}},"httpPath":"/hooks/{projectKey}/{hookId}"}]},{"type":"group","label":"Event Subscriptions","link":"/swagger/event-subscriptions","routeSlug":"/swagger/event-subscriptions","items":[{"label":"Register a webhook URL to receive outbox events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/event-subscriptions/eventsubscriptioncontroller_create","routeSlug":"/swagger/event-subscriptions/eventsubscriptioncontroller_create","metadata":{"seo":{"title":"Register a webhook URL to receive outbox events","description":"Register a webhook URL to receive outbox events"}},"httpPath":"/events"},{"label":"List event subscriptions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/event-subscriptions/eventsubscriptioncontroller_list","routeSlug":"/swagger/event-subscriptions/eventsubscriptioncontroller_list","metadata":{"seo":{"title":"List event subscriptions","description":"List event subscriptions"}},"httpPath":"/events"},{"label":"Get event subscription by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/event-subscriptions/eventsubscriptioncontroller_getbyid","routeSlug":"/swagger/event-subscriptions/eventsubscriptioncontroller_getbyid","metadata":{"seo":{"title":"Get event subscription by ID","description":"Get event subscription by ID"}},"httpPath":"/events/{id}"},{"label":"Update event subscription","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/event-subscriptions/eventsubscriptioncontroller_update","routeSlug":"/swagger/event-subscriptions/eventsubscriptioncontroller_update","metadata":{"seo":{"title":"Update event subscription","description":"Update event subscription"}},"httpPath":"/events/{id}"},{"label":"Delete event subscription","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/event-subscriptions/eventsubscriptioncontroller_delete","routeSlug":"/swagger/event-subscriptions/eventsubscriptioncontroller_delete","metadata":{"seo":{"title":"Delete event subscription","description":"Delete event subscription"}},"httpPath":"/events/{id}"}]},{"type":"group","label":"Custom Field Definitions","link":"/swagger/custom-field-definitions","routeSlug":"/swagger/custom-field-definitions","items":[{"label":"List custom field definitions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_listdefinitions","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_listdefinitions","metadata":{"seo":{"title":"List custom field definitions","description":"Get all custom field definitions for the tenant. Filter by entityType to get fields for a specific entity."}},"httpPath":"/custom-field-definitions"},{"label":"Create custom field definition","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_create","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_create","metadata":{"seo":{"title":"Create custom field definition","description":"Create a new custom field for the tenant. Key must be unique within tenant+entityType."}},"httpPath":"/custom-field-definitions"},{"label":"Get custom field definition by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_getbyid","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_getbyid","metadata":{"seo":{"title":"Get custom field definition by ID","description":"Get a single custom field definition by ID."}},"httpPath":"/custom-field-definitions/{id}"},{"label":"Update custom field definition","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_update","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_update","metadata":{"seo":{"title":"Update custom field definition","description":"Update field properties. Key and entityType cannot be changed."}},"httpPath":"/custom-field-definitions/{id}"},{"label":"Delete custom field definition","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_delete","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_delete","metadata":{"seo":{"title":"Delete custom field definition","description":"Delete a field. Fails if field is referenced in any redemption baseRequiredUserFields/specificRequiredUserFields or campaign."}},"httpPath":"/custom-field-definitions/{id}"},{"label":"Check field usages","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/custom-field-definitions/customfielddefinitionscontroller_getusages","routeSlug":"/swagger/custom-field-definitions/customfielddefinitionscontroller_getusages","metadata":{"seo":{"title":"Check field usages","description":"Check if a field is referenced in any redemption or campaign. Useful before deletion."}},"httpPath":"/custom-field-definitions/{id}/usages"}]},{"type":"group","label":"Redirects","link":"/swagger/redirects","routeSlug":"/swagger/redirects","items":[{"label":"Create a redirect mapping","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_create","routeSlug":"/swagger/redirects/redirectcontroller_create","metadata":{"seo":{"title":"Create a redirect mapping","description":"Create a redirect mapping"}},"httpPath":"/redirects"},{"label":"List all redirects for this tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_findall","routeSlug":"/swagger/redirects/redirectcontroller_findall","metadata":{"seo":{"title":"List all redirects for this tenant","description":"List all redirects for this tenant"}},"httpPath":"/redirects"},{"label":"Public QR redirect — resolves code and issues 302 to target URL","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_redirect","routeSlug":"/swagger/redirects/redirectcontroller_redirect","metadata":{"seo":{"title":"Public QR redirect — resolves code and issues 302 to target URL","description":"Public QR redirect — resolves code and issues 302 to target URL"}},"httpPath":"/redirects/go/{code}"},{"label":"Get scan analytics for a redirect","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_getanalytics","routeSlug":"/swagger/redirects/redirectcontroller_getanalytics","metadata":{"seo":{"title":"Get scan analytics for a redirect","description":"Get scan analytics for a redirect"}},"httpPath":"/redirects/{id}/analytics"},{"label":"Get a redirect by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_findone","routeSlug":"/swagger/redirects/redirectcontroller_findone","metadata":{"seo":{"title":"Get a redirect by ID","description":"Get a redirect by ID"}},"httpPath":"/redirects/{id}"},{"label":"Update a redirect label or target URL","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_update","routeSlug":"/swagger/redirects/redirectcontroller_update","metadata":{"seo":{"title":"Update a redirect label or target URL","description":"Update a redirect label or target URL"}},"httpPath":"/redirects/{id}"},{"label":"Soft-delete a redirect","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/redirects/redirectcontroller_remove","routeSlug":"/swagger/redirects/redirectcontroller_remove","metadata":{"seo":{"title":"Soft-delete a redirect","description":"Soft-delete a redirect"}},"httpPath":"/redirects/{id}"}]},{"type":"group","label":"Analytics","link":"/swagger/analytics","routeSlug":"/swagger/analytics","items":[{"label":"Get transaction analytics (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_gettransactionanalytics","routeSlug":"/swagger/analytics/analyticscontroller_gettransactionanalytics","metadata":{"seo":{"title":"Get transaction analytics (Admin only)","description":"Returns aggregated transaction data with flexible grouping and metrics. Supports complex filtering by date range, business, token, status, and more. Requires admin authentication."}},"httpPath":"/analytics/transactions"},{"label":"Get campaign claim analytics (Admin/Business)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getcampaignclaimanalytics","routeSlug":"/swagger/analytics/analyticscontroller_getcampaignclaimanalytics","metadata":{"seo":{"title":"Get campaign claim analytics (Admin/Business)","description":"Returns aggregated campaign claim data with flexible grouping and metrics. Business users are auto-filtered to their own campaigns (ownerBusinessId). Admin users see all data."}},"httpPath":"/analytics/campaign-claims"},{"label":"Get redemption redeem analytics (Admin/Business)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getredemptionredeemanalytics","routeSlug":"/swagger/analytics/analyticscontroller_getredemptionredeemanalytics","metadata":{"seo":{"title":"Get redemption redeem analytics (Admin/Business)","description":"Returns aggregated redemption redeem data with flexible grouping and metrics. Business users are auto-filtered to their own redemptions (ownerBusinessId). Admin users see all data."}},"httpPath":"/analytics/redemption-redeems"},{"label":"Get user analytics (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getuseranalytics","routeSlug":"/swagger/analytics/analyticscontroller_getuseranalytics","metadata":{"seo":{"title":"Get user analytics (Admin only)","description":"Returns aggregated user statistics including total users, active users, new users, transaction metrics, campaign claims, redemptions, and engagement rate. Supports date range filtering. Requires admin authentication."}},"httpPath":"/analytics/users"},{"label":"Get user transaction ranking (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getuserranking","routeSlug":"/swagger/analytics/analyticscontroller_getuserranking","metadata":{"seo":{"title":"Get user transaction ranking (Admin only)","description":"Returns ranked list of users with full user details and transaction metrics. Data enrichment via efficient SQL JOINs + UNION (handles legacy transactions). Supports filtering by business, token type, date range. Requires admin authentication."}},"httpPath":"/analytics/users/ranking"},{"label":"Get business transaction ranking (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getbusinessranking","routeSlug":"/swagger/analytics/analyticscontroller_getbusinessranking","metadata":{"seo":{"title":"Get business transaction ranking (Admin only)","description":"Returns ranked list of businesses with full business details and transaction metrics. Data enrichment via efficient SQL JOINs + UNION (handles legacy transactions). Supports filtering by token type, date range. Requires admin authentication."}},"httpPath":"/analytics/businesses/ranking"},{"label":"Get cohort-based user retention analytics (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getretentionanalytics","routeSlug":"/swagger/analytics/analyticscontroller_getretentionanalytics","metadata":{"seo":{"title":"Get cohort-based user retention analytics (Admin only)","description":"Returns cohort retention data showing how user cohorts perform over time. Each cohort represents users who joined in a specific month, tracked across subsequent months. Replaces 13 separate API calls with 1 efficient query. Industry-standard cohort analysis for retention heatmaps. Requires admin authentication."}},"httpPath":"/analytics/users/retention"},{"label":"Get tag analytics across entities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_gettaganalytics","routeSlug":"/swagger/analytics/analyticscontroller_gettaganalytics","metadata":{"seo":{"title":"Get tag analytics across entities","description":"Returns aggregated tag usage data across Campaign, Redemption, Business, TokenMetadata, and UserStatusType entities. Useful for tag filtering in apps and autocomplete suggestions."}},"httpPath":"/analytics/tags"},{"label":"Get AI usage summary for billing (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getaiusagesummary","routeSlug":"/swagger/analytics/analyticscontroller_getaiusagesummary","metadata":{"seo":{"title":"Get AI usage summary for billing (Admin only)","description":"Returns aggregated AI usage metrics with breakdown by model and operation type. Perfect for billing reports and cost monitoring. Requires admin authentication."}},"httpPath":"/analytics/ai/usage"},{"label":"Get AI analytics with dynamic grouping (Admin only)","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_getaianalytics","routeSlug":"/swagger/analytics/analyticscontroller_getaianalytics","metadata":{"seo":{"title":"Get AI analytics with dynamic grouping (Admin only)","description":"Returns aggregated AI generation data with flexible grouping and metrics. Supports filtering by model, operation type, user, and success status. Requires admin authentication."}},"httpPath":"/analytics/ai"},{"label":"Natural language analytics query","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/swagger/analytics/analyticscontroller_processnlquery","routeSlug":"/swagger/analytics/analyticscontroller_processnlquery","metadata":{"seo":{"title":"Natural language analytics query","description":"Converts a free-text question into structured analytics filters, classifies the domain, and returns results."}},"httpPath":"/analytics/nl-query"}]}]}