{"openapi":"3.0.0","paths":{"/api/exchange-credentials/server-ip":{"get":{"operationId":"ExchangeCredentialsController_getServerIp","parameters":[],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit":{"get":{"operationId":"ExchangeCredentialsController_listBybitCredentials","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"ExchangeCredentialsController_createBybitCredential","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBybitCredentialDto"}}}},"responses":{"201":{"description":""}}}},"/api/exchange-credentials/bybit/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testBybitConnectionPreSave","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}":{"get":{"operationId":"ExchangeCredentialsController_getBybitCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"put":{"operationId":"ExchangeCredentialsController_updateBybitCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBybitCredentialDto"}}}},"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_renameBybitCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameBybitCredentialDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"ExchangeCredentialsController_deleteBybitCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/balance":{"get":{"operationId":"ExchangeCredentialsController_getBybitBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/balance/funding":{"get":{"operationId":"ExchangeCredentialsController_getBybitFundingBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/balance-history":{"get":{"operationId":"ExchangeCredentialsController_getBalanceHistory","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testBybitConnection","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/sync-schedule":{"get":{"operationId":"ExchangeCredentialsController_getBybitSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_updateBybitSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSyncScheduleDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/{credentialId}/sync":{"post":{"operationId":"ExchangeCredentialsController_syncBybitCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/bybit/sync-all":{"post":{"operationId":"ExchangeCredentialsController_syncAllBybitCredentials","parameters":[],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance":{"get":{"operationId":"ExchangeCredentialsController_listBinanceCredentials","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"ExchangeCredentialsController_createBinanceCredential","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBinanceCredentialDto"}}}},"responses":{"201":{"description":""}}}},"/api/exchange-credentials/binance/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testBinanceConnectionPreSave","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}":{"get":{"operationId":"ExchangeCredentialsController_getBinanceCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"put":{"operationId":"ExchangeCredentialsController_updateBinanceCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBinanceCredentialDto"}}}},"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_renameBinanceCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameBinanceCredentialDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"ExchangeCredentialsController_deleteBinanceCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/balance/spot":{"get":{"operationId":"ExchangeCredentialsController_getBinanceSpotBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/balance/margin":{"get":{"operationId":"ExchangeCredentialsController_getBinanceMarginBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/balance/futures":{"get":{"operationId":"ExchangeCredentialsController_getBinanceFuturesBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/balance-history":{"get":{"operationId":"ExchangeCredentialsController_getBinanceBalanceHistory","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/transactions":{"get":{"operationId":"ExchangeCredentialsController_getBinanceTransactionHistory","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}},{"name":"symbol","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testBinanceConnection","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/sync-schedule":{"get":{"operationId":"ExchangeCredentialsController_getBinanceSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_updateBinanceSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSyncScheduleDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/{credentialId}/sync":{"post":{"operationId":"ExchangeCredentialsController_syncBinanceCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/binance/sync-all":{"post":{"operationId":"ExchangeCredentialsController_syncAllBinanceCredentials","parameters":[],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx":{"get":{"operationId":"ExchangeCredentialsController_listOkxCredentials","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"ExchangeCredentialsController_createOkxCredential","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOkxCredentialDto"}}}},"responses":{"201":{"description":""}}}},"/api/exchange-credentials/okx/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testOkxConnectionPreSave","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkxTestConnectionDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/sync-all":{"post":{"operationId":"ExchangeCredentialsController_syncAllOkxCredentials","parameters":[],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}":{"get":{"operationId":"ExchangeCredentialsController_getOkxCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"put":{"operationId":"ExchangeCredentialsController_updateOkxCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOkxCredentialDto"}}}},"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_renameOkxCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameOkxCredentialDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"ExchangeCredentialsController_deleteOkxCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/balance/trading":{"get":{"operationId":"ExchangeCredentialsController_getOkxTradingBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/balance/funding":{"get":{"operationId":"ExchangeCredentialsController_getOkxFundingBalance","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/balance-history":{"get":{"operationId":"ExchangeCredentialsController_getOkxBalanceHistory","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/transactions":{"get":{"operationId":"ExchangeCredentialsController_getOkxTransactionHistory","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}},{"name":"symbol","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/test-connection":{"post":{"operationId":"ExchangeCredentialsController_testOkxConnection","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/sync-schedule":{"get":{"operationId":"ExchangeCredentialsController_getOkxSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"ExchangeCredentialsController_updateOkxSyncSchedule","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSyncScheduleDto"}}}},"responses":{"200":{"description":""}}}},"/api/exchange-credentials/okx/{credentialId}/sync":{"post":{"operationId":"ExchangeCredentialsController_syncOkxCredential","parameters":[{"name":"credentialId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/api/email-ingestion/webhook":{"post":{"operationId":"EmailIngestionController_handleWebhook","parameters":[{"name":"x-signature","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundEmailWebhookDto"}}}},"responses":{"200":{"description":""}}}},"/api/api/email-ingestion/settings":{"get":{"operationId":"EmailIngestionController_getSettings","parameters":[],"responses":{"200":{"description":""}}},"patch":{"operationId":"EmailIngestionController_updateSettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmailIngestionSettingsDto"}}}},"responses":{"200":{"description":""}}}},"/api/api/email-ingestion/sender-mappings":{"get":{"operationId":"EmailIngestionController_listSenderMappings","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"EmailIngestionController_createSenderMapping","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSenderMappingDto"}}}},"responses":{"201":{"description":""}}}},"/api/api/email-ingestion/sender-mappings/{id}":{"delete":{"operationId":"EmailIngestionController_deleteSenderMapping","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/files/upload-url":{"post":{"operationId":"FilesController_generateUploadUrl","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateUploadUrlDto"}}}},"responses":{"201":{"description":""}}}},"/api/files/download-url/{key}":{"get":{"operationId":"FilesController_generateDownloadUrl","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/files":{"get":{"operationId":"FilesController_listFiles","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"number"}},{"name":"offset","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}}}},"/api/files/{id}":{"delete":{"operationId":"FilesController_deleteFile","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/auth/google":{"get":{"operationId":"AuthController_googleAuth","parameters":[],"responses":{"200":{"description":""}}}},"/api/auth/google/callback":{"get":{"operationId":"AuthController_googleCallback","parameters":[],"responses":{"200":{"description":""}}}},"/api/auth/register":{"post":{"operationId":"AuthController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDto"}}}},"responses":{"201":{"description":""}}}},"/api/auth/login":{"post":{"operationId":"AuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/demo-login":{"post":{"operationId":"AuthController_demoLogin","parameters":[],"responses":{"200":{"description":""}}}},"/api/auth/forgot-password":{"post":{"operationId":"AuthController_forgotPassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/reset-password":{"post":{"operationId":"AuthController_resetPassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/me":{"get":{"operationId":"AuthController_me","parameters":[],"responses":{"200":{"description":""}}}},"/api/auth/verify-email":{"get":{"operationId":"AuthController_verifyEmail","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/auth/resend-verification":{"post":{"operationId":"AuthController_resendVerification","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/utm":{"patch":{"operationId":"UsersController_updateUtmParams","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtmParamsDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/referral":{"patch":{"operationId":"UsersController_applyReferral","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyReferralDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/profile":{"get":{"operationId":"UsersController_getProfile","parameters":[],"responses":{"200":{"description":""}}},"patch":{"operationId":"UsersController_updateProfile","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/me/password":{"patch":{"operationId":"UsersController_changePassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/me/change-email":{"post":{"operationId":"UsersController_changeEmail","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailDto"}}}},"responses":{"201":{"description":""}}}},"/api/users/me":{"delete":{"operationId":"UsersController_deleteAccount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountDto"}}}},"responses":{"204":{"description":""}}}},"/api/users/onboarding/complete":{"patch":{"operationId":"UsersController_completeOnboarding","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/usage":{"get":{"operationId":"UsersController_getUsage","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/language":{"patch":{"operationId":"UsersController_updateLanguage","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLanguageDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/preferences":{"get":{"operationId":"UsersController_getPreferences","parameters":[],"responses":{"200":{"description":""}}},"patch":{"operationId":"UsersController_updatePreferences","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePreferencesDto"}}}},"responses":{"200":{"description":""}}}},"/api/users/privacy-policy-version":{"get":{"operationId":"UsersController_getPrivacyPolicyVersion","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/privacy-acceptance":{"patch":{"operationId":"UsersController_acceptPrivacyPolicy","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/export":{"get":{"operationId":"UsersController_exportData","parameters":[],"responses":{"200":{"description":""}}}},"/api/users/verify-email":{"get":{"operationId":"EmailVerificationController_verifyEmail","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/referrals/my-code":{"get":{"operationId":"ReferralsController_getMyCode","parameters":[],"responses":{"200":{"description":""}}}},"/api/referrals":{"get":{"operationId":"ReferralsController_getReferrals","parameters":[],"responses":{"200":{"description":""}}}},"/api/referrals/stats":{"get":{"operationId":"ReferralsController_getStats","parameters":[],"responses":{"200":{"description":""}}}},"/api/referrals/summary":{"get":{"operationId":"ReferralsController_getSummary","parameters":[],"responses":{"200":{"description":""}}}},"/api/referrals/wallet":{"patch":{"operationId":"ReferralsController_setWallet","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetWalletDto"}}}},"responses":{"200":{"description":""}}}},"/api/referrals/accept-terms":{"post":{"operationId":"ReferralsController_acceptTerms","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptTermsDto"}}}},"responses":{"201":{"description":""}}}},"/api/referrals/payouts":{"post":{"operationId":"ReferralsController_requestPayout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestPayoutDto"}}}},"responses":{"201":{"description":""}}}},"/api/categories":{"post":{"operationId":"CategoriesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCategoryDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"CategoriesController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/categories/reorder":{"patch":{"operationId":"CategoriesController_reorder","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReorderCategoriesDto"}}}},"responses":{"200":{"description":""}}}},"/api/categories/{id}":{"get":{"operationId":"CategoriesController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"CategoriesController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCategoryDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"CategoriesController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/categories/seed-defaults":{"post":{"operationId":"CategoriesController_seedDefaults","parameters":[],"responses":{"201":{"description":""}}}},"/api/oauth/register":{"post":{"operationId":"OAuthDcrController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterClientDto"}}}},"responses":{"201":{"description":""}}}},"/api/oauth/token":{"post":{"operationId":"OAuthTokenController_token","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequestDto"}}}},"responses":{"200":{"description":""}}}},"/api/oauth/revoke":{"post":{"operationId":"OAuthTokenController_revoke","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeTokenDto"}}}},"responses":{"200":{"description":""}}}},"/api/oauth/authorize":{"get":{"operationId":"OAuthAuthorizeController_authorize","parameters":[{"name":"response_type","required":true,"in":"query","schema":{"type":"string"}},{"name":"client_id","required":true,"in":"query","schema":{"type":"string"}},{"name":"redirect_uri","required":true,"in":"query","schema":{"type":"string"}},{"name":"code_challenge","required":true,"in":"query","schema":{"type":"string"}},{"name":"code_challenge_method","required":true,"in":"query","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","schema":{"type":"string"}},{"name":"state","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/oauth/consent":{"post":{"operationId":"OAuthConsentController_decide","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentDecisionDto"}}}},"responses":{"201":{"description":""}}}},"/.well-known/oauth-protected-resource":{"get":{"operationId":"WellKnownController_getProtectedResource","parameters":[],"responses":{"200":{"description":""}}}},"/.well-known/oauth-protected-resource/api/mcp":{"get":{"operationId":"WellKnownController_getProtectedResource","parameters":[],"responses":{"200":{"description":""}}}},"/.well-known/oauth-authorization-server":{"get":{"operationId":"WellKnownController_getAuthorizationServer","parameters":[],"responses":{"200":{"description":""}}}},"/.well-known/mcp":{"get":{"operationId":"WellKnownController_getMcp","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/email-marketing/subscribers":{"get":{"operationId":"EmailMarketingController_getSubscribers","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/email-marketing/campaigns":{"post":{"operationId":"EmailMarketingController_createCampaign","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"EmailMarketingController_getCampaigns","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/email-marketing/campaigns/{id}":{"get":{"operationId":"EmailMarketingController_getCampaignById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/email-marketing/unsubscribe":{"get":{"operationId":"EmailMarketingPublicController_unsubscribe","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}},{"name":"uid","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/feedback-campaigns/respond":{"post":{"operationId":"FeedbackCampaignsController_respondToCampaign","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespondCampaignDto"}}}},"responses":{"201":{"description":""}}}},"/api/feedback-campaigns/unsubscribe":{"get":{"operationId":"FeedbackCampaignsController_unsubscribe","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/accounts":{"post":{"operationId":"AccountsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"AccountsController_findAll","parameters":[{"name":"includeArchived","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/accounts/breakdown":{"get":{"operationId":"AccountsController_getBreakdown","parameters":[],"responses":{"200":{"description":""}}}},"/api/accounts/balance-history":{"get":{"operationId":"AccountsController_getBalanceHistory","parameters":[],"responses":{"200":{"description":""}}}},"/api/accounts/{id}":{"get":{"operationId":"AccountsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AccountsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"AccountsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/accounts/{id}/balance":{"get":{"operationId":"AccountsController_getBalance","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/accounts/{id}/set-balance":{"post":{"operationId":"AccountsController_setBalance","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetBalanceDto"}}}},"responses":{"201":{"description":""}}}},"/api/accounts/fix-buxfer-directions":{"post":{"operationId":"AccountsController_fixBuxferDirections","parameters":[],"responses":{"201":{"description":""}}}},"/api/accounts/{id}/recalculate-balance":{"post":{"operationId":"AccountsController_recalculateBalance","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}}}},"/api/accounts/{id}/adjustments":{"delete":{"operationId":"AccountsController_deleteAdjustments","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/transactions":{"post":{"operationId":"TransactionsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransactionDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"TransactionsController_findAll","parameters":[{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}},{"name":"categoryId","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"noTags","required":true,"in":"query","schema":{"type":"string"}},{"name":"search","required":true,"in":"query","schema":{"type":"string"}},{"name":"minAmount","required":true,"in":"query","schema":{"type":"string"}},{"name":"maxAmount","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"number"}},{"name":"offset","required":true,"in":"query","schema":{"type":"number"}},{"name":"sortBy","required":true,"in":"query","schema":{"type":"string"}},{"name":"sortOrder","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/transactions/{id}/duplicate":{"post":{"operationId":"TransactionsController_duplicate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}}}},"/api/transactions/bulk":{"post":{"operationId":"TransactionsController_bulkCreate","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCreateTransactionDto"}}}},"responses":{"201":{"description":""}}}},"/api/transactions/transfer":{"post":{"operationId":"TransactionsController_createTransfer","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"responses":{"201":{"description":""}}}},"/api/transactions/bulk-categorize":{"patch":{"operationId":"TransactionsController_bulkCategorize","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCategorizeDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/bulk-delete":{"delete":{"operationId":"TransactionsController_bulkDelete","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeleteDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/bulk-edit":{"patch":{"operationId":"TransactionsController_bulkEdit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEditDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/bulk-set-status":{"patch":{"operationId":"TransactionsController_bulkSetStatus","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSetStatusDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/summary":{"get":{"operationId":"TransactionsController_getSummary","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/transactions/suggest-categories":{"post":{"operationId":"TransactionsController_suggestCategories","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestCategoriesDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/parse-text":{"post":{"operationId":"TransactionsController_parseText","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseTextDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/parse-voice":{"post":{"operationId":"TransactionsController_parseVoice","parameters":[],"responses":{"200":{"description":""}}}},"/api/transactions/reconciliation-summary":{"get":{"operationId":"TransactionsController_getReconciliationSummary","parameters":[{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/transactions/{id}/split":{"post":{"operationId":"TransactionsController_splitTransaction","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitTransactionDto"}}}},"responses":{"201":{"description":""}}}},"/api/transactions/{id}/convert":{"post":{"operationId":"TransactionsController_convert","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertTransactionDto"}}}},"responses":{"200":{"description":""}}}},"/api/transactions/{id}":{"get":{"operationId":"TransactionsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"TransactionsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTransactionDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"TransactionsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-rates/rate":{"get":{"operationId":"ExchangeRatesController_getRate","parameters":[{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-rates/convert":{"get":{"operationId":"ExchangeRatesController_convert","parameters":[{"name":"amount","required":true,"in":"query","schema":{"type":"number"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/exchange-rates/currencies":{"get":{"operationId":"ExchangeRatesController_getCurrencies","parameters":[],"responses":{"200":{"description":""}}}},"/api/tags":{"post":{"operationId":"TagsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"TagsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/tags/tree":{"get":{"operationId":"TagsController_findTree","parameters":[],"responses":{"200":{"description":""}}}},"/api/tags/{id}":{"get":{"operationId":"TagsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"TagsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTagDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"TagsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/category-mappings":{"get":{"operationId":"CategoryMappingsController_findAll","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"number"}},{"name":"offset","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}}},"post":{"operationId":"CategoryMappingsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCategoryMappingDto"}}}},"responses":{"201":{"description":""}}}},"/api/category-mappings/suggest":{"get":{"operationId":"CategoryMappingsController_suggest","parameters":[],"responses":{"200":{"description":""}}}},"/api/category-mappings/{id}":{"get":{"operationId":"CategoryMappingsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"CategoryMappingsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCategoryMappingDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"CategoryMappingsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/account-groups":{"post":{"operationId":"AccountGroupsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountGroupDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"AccountGroupsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/account-groups/{id}":{"patch":{"operationId":"AccountGroupsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountGroupDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"AccountGroupsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/account-groups/reorder/bulk":{"patch":{"operationId":"AccountGroupsController_reorder","parameters":[],"responses":{"200":{"description":""}}}},"/api/account-groups/{id}/members":{"patch":{"operationId":"AccountGroupsController_setMembers","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetGroupMembersDto"}}}},"responses":{"200":{"description":""}}}},"/api/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":"The Health Check is successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}},"503":{"description":"The Health Check is not successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"},"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}}}}},"/api/health/live":{"get":{"operationId":"HealthController_live","parameters":[],"responses":{"200":{"description":""}}}},"/api/telegram/webhook/{secretPath}":{"post":{"operationId":"TelegramController_handleWebhook","parameters":[{"name":"secretPath","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-telegram-bot-api-secret-token","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/telegram/link/verify":{"post":{"operationId":"TelegramController_verifyLink","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyLinkDto"}}}},"responses":{"201":{"description":""}}}},"/api/telegram/link":{"delete":{"operationId":"TelegramController_unlinkTelegram","parameters":[],"responses":{"200":{"description":""}}}},"/api/budgets":{"post":{"operationId":"BudgetsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBudgetDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"BudgetsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/budgets/progress":{"get":{"operationId":"BudgetsController_getAllProgress","parameters":[],"responses":{"200":{"description":""}}}},"/api/budgets/{id}":{"get":{"operationId":"BudgetsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"BudgetsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBudgetDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"BudgetsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/budgets/{id}/progress":{"get":{"operationId":"BudgetsController_getProgress","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/mcp/message":{"post":{"operationId":"McpController_handleMessage","parameters":[{"name":"x-mcp-client","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}}}},"/api/mcp":{"post":{"operationId":"McpController_handleStreamableHttp","parameters":[{"name":"x-mcp-client","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}}},"get":{"operationId":"McpController_handleStreamableHttpGet","parameters":[],"responses":{"200":{"description":""}}}},"/api/mcp/sse":{"get":{"operationId":"McpController_handleSse","parameters":[{"name":"x-mcp-client","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/pats":{"post":{"operationId":"PatController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePatDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"PatController_list","parameters":[],"responses":{"200":{"description":""}}}},"/api/pats/{id}":{"delete":{"operationId":"PatController_revoke","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/reports/movers":{"get":{"operationId":"ReportsController_getMovers","parameters":[],"responses":{"200":{"description":""}}}},"/api/reports/period-comparison":{"get":{"operationId":"ReportsController_getPeriodComparison","parameters":[],"responses":{"200":{"description":""}}}},"/api/reports/reconciliation-overview":{"get":{"operationId":"ReportsController_getReconciliationOverview","parameters":[],"responses":{"200":{"description":""}}}},"/api/reports/breakdown":{"get":{"operationId":"ReportsController_getBreakdown","parameters":[],"responses":{"200":{"description":""}}}},"/api/reports/expenses-by-category":{"get":{"operationId":"ReportsController_getExpensesByCategory","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/reports/monthly-expense":{"get":{"operationId":"ReportsController_getMonthlyExpenseReport","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}}}},"/api/reports/category-breakdown":{"get":{"operationId":"ReportsController_getCategoryBreakdown","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/reports/income-vs-expense":{"get":{"operationId":"ReportsController_getIncomeVsExpense","parameters":[{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/reports/account-balance-history":{"get":{"operationId":"ReportsController_getAccountBalanceHistory","parameters":[{"name":"accountId","required":true,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/reports/net-worth-trend":{"get":{"operationId":"ReportsController_getNetWorthTrend","parameters":[],"responses":{"200":{"description":""}}}},"/api/reports/month-over-month":{"get":{"operationId":"ReportsController_getMonthOverMonth","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"number"}},{"name":"month","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}}}},"/api/onboarding/start":{"post":{"operationId":"OnboardingController_start","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartOnboardingDto"}}}},"responses":{"201":{"description":""}}}},"/api/onboarding/{id}/template":{"post":{"operationId":"OnboardingController_confirmTemplate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmTemplateDto"}}}},"responses":{"200":{"description":""}}}},"/api/onboarding/{id}":{"get":{"operationId":"OnboardingController_getSession","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/onboarding/{id}/ingest":{"post":{"operationId":"OnboardingController_ingest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestOnboardingDto"}}}},"responses":{"200":{"description":""}}}},"/api/onboarding/ingest":{"post":{"operationId":"OnboardingController_ingestMultipart","parameters":[],"responses":{"200":{"description":""}}}},"/api/onboarding/{id}/skip-ingest":{"post":{"operationId":"OnboardingController_skipIngest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/onboarding/{id}/answer":{"post":{"operationId":"OnboardingController_submitAnswer","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitAnswerDto"}}}},"responses":{"200":{"description":""}}}},"/api/onboarding/{id}/commit":{"post":{"operationId":"OnboardingController_commit","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/onboarding/resume/{token}":{"get":{"operationId":"OnboardingController_resume","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/imports":{"post":{"operationId":"ImportsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImportDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"ImportsController_list","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/imports/{id}":{"get":{"operationId":"ImportsController_getOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"delete":{"operationId":"ImportsController_cancel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/imports/{id}/commit":{"post":{"operationId":"ImportsController_commit","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/imports/{id}/remap":{"post":{"operationId":"ImportsController_remap","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemapImportDto"}}}},"responses":{"200":{"description":""}}}},"/api/recurring-transactions":{"get":{"operationId":"RecurringTransactionsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/recurring-transactions/{id}":{"get":{"operationId":"RecurringTransactionsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/recurring-transactions/{id}/dismiss":{"post":{"operationId":"RecurringTransactionsController_dismiss","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}}},"delete":{"operationId":"RecurringTransactionsController_restore","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/api-keys":{"get":{"operationId":"ApiKeysController_list","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"ApiKeysController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyDto"}}}},"responses":{"201":{"description":""}}}},"/api/api-keys/{id}":{"patch":{"operationId":"ApiKeysController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApiKeyDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"ApiKeysController_revoke","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/feedback":{"get":{"operationId":"FeedbackController_findAll","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"FeedbackController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeedbackDto"}}}},"responses":{"201":{"description":""}}}},"/api/contact":{"post":{"operationId":"ContactController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactDto"}}}},"responses":{"201":{"description":""}}}},"/api/email-subscribers":{"post":{"operationId":"EmailSubscribersController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmailSubscriberDto"}}}},"responses":{"201":{"description":""}}}},"/api/admin/health":{"get":{"operationId":"AdminController_health","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/stats":{"get":{"operationId":"AdminController_getStats","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/users":{"get":{"operationId":"AdminController_getUsers","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/users/{id}":{"get":{"operationId":"AdminController_getUserById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AdminController_updateUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdminUserDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/users/{id}/extend-subscription":{"patch":{"operationId":"AdminController_extendSubscription","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendSubscriptionDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/jobs":{"get":{"operationId":"AdminController_getJobs","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/feedback":{"get":{"operationId":"AdminController_getFeedback","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/feedback/{id}":{"get":{"operationId":"AdminController_getFeedbackById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AdminController_updateFeedback","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdminFeedbackDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/contact":{"get":{"operationId":"AdminController_getContactMessages","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/contact/{id}":{"get":{"operationId":"AdminController_getContactMessageById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/admin/feedback-campaigns/stats":{"get":{"operationId":"AdminController_getCampaignStats","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/llm-spend":{"get":{"operationId":"AdminController_getLlmSpend","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/tickets":{"get":{"operationId":"AdminController_getTickets","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/tickets/{id}":{"get":{"operationId":"AdminController_getTicketById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AdminController_updateTicket","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUpdateTicketDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/tickets/{id}/messages":{"post":{"operationId":"AdminController_addTicketMessage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageDto"}}}},"responses":{"201":{"description":""}}}},"/api/admin/nudges/stats":{"get":{"operationId":"NudgeStatsController_getStats","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/streamer-affiliates":{"post":{"operationId":"StreamerAffiliatesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStreamerAffiliateDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"StreamerAffiliatesController_list","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/affiliates":{"get":{"operationId":"AffiliatesAdminController_list","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/affiliates/{id}":{"get":{"operationId":"AffiliatesAdminController_getDetail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"AffiliatesAdminController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAffiliateDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/affiliates/influencer":{"post":{"operationId":"AffiliatesAdminController_mintInfluencer","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintInfluencerDto"}}}},"responses":{"201":{"description":""}}}},"/api/admin/payouts":{"get":{"operationId":"AdminPayoutsController_getQueue","parameters":[],"responses":{"200":{"description":""}}},"post":{"operationId":"AdminPayoutsController_createPayout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePayoutDto"}}}},"responses":{"201":{"description":""}}}},"/api/admin/payouts/{id}/mark-sent":{"post":{"operationId":"AdminPayoutsController_markSent","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/admin/payouts/{id}/mark-paid":{"post":{"operationId":"AdminPayoutsController_markPaid","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkPaidDto"}}}},"responses":{"200":{"description":""}}}},"/api/admin/payouts/{id}/mark-failed":{"post":{"operationId":"AdminPayoutsController_markFailed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/admin/onboarding-emails/test-sequence":{"post":{"operationId":"OnboardingEmailsAdminController_sendTestSequence","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendOnboardingSequenceTestDto"}}}},"responses":{"201":{"description":""}}}},"/api/nudges":{"get":{"operationId":"NudgesController_getUserNudges","parameters":[],"responses":{"200":{"description":""}}}},"/api/nudges/{id}/read":{"patch":{"operationId":"NudgesController_markRead","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/nudges/{id}/action":{"patch":{"operationId":"NudgesController_markActionTaken","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/nudges/{id}/dismiss":{"patch":{"operationId":"NudgesController_dismiss","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/nudges/preferences":{"get":{"operationId":"NudgesController_getPreferences","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"NudgesController_updatePreferences","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNudgePreferencesDto"}}}},"responses":{"200":{"description":""}}}},"/api/nudges/preferences/detectors/{type}/mute":{"put":{"operationId":"NudgesController_muteDetector","parameters":[{"name":"type","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/internal/screenshot-upload":{"post":{"operationId":"ScreenshotController_uploadScreenshot","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadScreenshotDto"}}}},"responses":{"200":{"description":""}}}},"/api/bug-reports":{"post":{"operationId":"BugReportsController_create","parameters":[{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBugReportDto"}}}},"responses":{"201":{"description":""}}}},"/api/feature-requests":{"post":{"operationId":"FeatureRequestsController_create","parameters":[{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeatureRequestDto"}}}},"responses":{"201":{"description":""}}}},"/api/tickets":{"post":{"operationId":"TicketsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTicketDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"TicketsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/tickets/{id}":{"get":{"operationId":"TicketsController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"TicketsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketDto"}}}},"responses":{"200":{"description":""}}}},"/api/tickets/{id}/messages":{"post":{"operationId":"TicketsController_addMessage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageDto"}}}},"responses":{"201":{"description":""}}}},"/api/dashboard-preferences":{"get":{"operationId":"DashboardPreferencesController_getPreferences","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"DashboardPreferencesController_updatePreferences","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDashboardPreferencesDto"}}}},"responses":{"200":{"description":""}}}},"/api/settings/retention":{"get":{"operationId":"RetentionController_getSettings","parameters":[],"responses":{"200":{"description":""}}},"patch":{"operationId":"RetentionController_updateSettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRetentionDto"}}}},"responses":{"200":{"description":""}}}},"/api/settings/retention/summary":{"get":{"operationId":"RetentionController_getSummary","parameters":[],"responses":{"200":{"description":""}}}},"/api/billing/subscription":{"get":{"operationId":"BillingController_getSubscription","parameters":[],"responses":{"200":{"description":""}}}},"/api/billing/history":{"get":{"operationId":"BillingController_getBillingHistory","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/billing/validate-promo":{"post":{"operationId":"BillingController_validatePromo","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatePromoDto"}}}},"responses":{"201":{"description":""}}}},"/api/billing/checkout":{"post":{"operationId":"BillingController_createCheckout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutDto"}}}},"responses":{"201":{"description":""}}}},"/api/billing/cancel":{"post":{"operationId":"BillingController_cancelSubscription","parameters":[],"responses":{"201":{"description":""}}}},"/api/billing/payment-method/update":{"post":{"operationId":"BillingController_updatePaymentMethod","parameters":[],"responses":{"201":{"description":""}}}},"/api/billing/invoices/{paymentEventId}/download":{"get":{"operationId":"BillingController_downloadInvoice","parameters":[{"name":"paymentEventId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/billing/downgrade/preview":{"get":{"operationId":"BillingController_getDowngradePreview","parameters":[{"name":"targetTier","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/billing/downgrade":{"post":{"operationId":"BillingController_scheduleDowngrade","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DowngradeDto"}}}},"responses":{"201":{"description":""}}},"delete":{"operationId":"BillingController_cancelDowngrade","parameters":[],"responses":{"200":{"description":""}}}},"/api/billing/webhooks/creem":{"post":{"operationId":"BillingController_handleCreemWebhook","parameters":[],"responses":{"200":{"description":""}}}},"/api/billing/webhooks/freemius":{"post":{"operationId":"BillingController_handleFreemiusWebhook","parameters":[],"responses":{"200":{"description":""}}}},"/api/billing/webhooks/nowpayments":{"post":{"operationId":"BillingController_handleNowPaymentsWebhook","parameters":[],"responses":{"200":{"description":""}}}},"/api/admin/promo-codes":{"post":{"operationId":"PromoCodesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePromoCodeDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"PromoCodesController_findAll","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"isActive","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/admin/promo-codes/{id}":{"get":{"operationId":"PromoCodesController_findById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}}},"patch":{"operationId":"PromoCodesController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePromoCodeDto"}}}},"responses":{"200":{"description":""}}},"delete":{"operationId":"PromoCodesController_delete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}}}},"/api/admin/promo-codes/{id}/redemptions":{"get":{"operationId":"PromoCodesController_getRedemptions","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"offset","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}}}},"/api/coverage":{"get":{"operationId":"CoverageController_getCoverage","parameters":[],"responses":{"200":{"description":""}}}},"/api/consent-audit":{"post":{"operationId":"ConsentAuditController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConsentAuditDto"}}}},"responses":{"201":{"description":""}}},"get":{"operationId":"ConsentAuditController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/api/auth/2fa/setup":{"post":{"operationId":"TwoFactorAuthController_setup","parameters":[],"responses":{"201":{"description":""}}}},"/api/auth/2fa/confirm":{"post":{"operationId":"TwoFactorAuthController_confirm","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmTwoFactorDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/2fa/verify":{"post":{"operationId":"TwoFactorAuthController_verify","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTwoFactorDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/2fa/recovery":{"post":{"operationId":"TwoFactorAuthController_recovery","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryCodeDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/2fa":{"delete":{"operationId":"TwoFactorAuthController_disable","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableTwoFactorDto"}}}},"responses":{"200":{"description":""}}}},"/api/auth/2fa/recovery-codes":{"post":{"operationId":"TwoFactorAuthController_regenerateCodes","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmTwoFactorDto"}}}},"responses":{"200":{"description":""}}}},"/api/receipts/photo":{"post":{"operationId":"ReceiptsController_uploadPhoto","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadPhotoReceiptDto"}}}},"responses":{"201":{"description":""}}}},"/api/provisioning/users":{"post":{"operationId":"ProvisioningController_provisionUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionUserDto"}}}},"responses":{"201":{"description":""}}}},"/api/provisioning/claim":{"post":{"operationId":"ProvisioningController_claim","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimAccountDto"}}}},"responses":{"200":{"description":""}}}},"/api/provisioning/claim/lookup":{"post":{"operationId":"ProvisioningController_lookupClaim","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimLookupDto"}}}},"responses":{"200":{"description":""}}}},"/api/provisioning/claim/resend":{"post":{"operationId":"ProvisioningController_resendClaimLink","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendClaimLinkDto"}}}},"responses":{"200":{"description":""}}}},"/v1/accounts":{"get":{"operationId":"V1AccountsController_findAll","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires accounts:read"},"post":{"operationId":"V1AccountsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires accounts:write"}},"/v1/accounts/{id}":{"patch":{"operationId":"V1AccountsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires accounts:write"},"delete":{"operationId":"V1AccountsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires accounts:write"}},"/v1/ai/query":{"post":{"operationId":"V1AiController_query","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AiQueryDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires ai:query"}},"/v1/budgets":{"get":{"operationId":"V1BudgetsController_findAll","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires budgets:read"},"post":{"operationId":"V1BudgetsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBudgetDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires budgets:write"}},"/v1/budgets/{id}":{"patch":{"operationId":"V1BudgetsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBudgetDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires budgets:write"},"delete":{"operationId":"V1BudgetsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires budgets:write"}},"/v1/categories":{"get":{"operationId":"V1CategoriesController_findAll","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires categories:read"},"post":{"operationId":"V1CategoriesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCategoryDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires categories:write"}},"/v1/categories/{id}":{"patch":{"operationId":"V1CategoriesController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCategoryDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires categories:write"},"delete":{"operationId":"V1CategoriesController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires categories:write"}},"/v1/me":{"get":{"operationId":"V1MeController_me","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}]}},"/v1/reports/spend-by-category":{"get":{"operationId":"V1ReportsController_spendByCategory","parameters":[{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires reports:read"}},"/v1/reports/monthly-summary":{"get":{"operationId":"V1ReportsController_monthlySummary","parameters":[{"name":"year","required":true,"in":"query","schema":{"type":"string"}},{"name":"month","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires reports:read"}},"/v1/tags":{"get":{"operationId":"V1TagsController_findAll","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires tags:read"},"post":{"operationId":"V1TagsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires tags:write"}},"/v1/tags/{id}":{"patch":{"operationId":"V1TagsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTagDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires tags:write"},"delete":{"operationId":"V1TagsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires tags:write"}},"/v1/transactions":{"get":{"operationId":"V1TransactionsController_findAll","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires transactions:read"},"post":{"operationId":"V1TransactionsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransactionDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"description":"Requires transactions:write"}},"/v1/transactions/{id}":{"patch":{"operationId":"V1TransactionsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTransactionDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires transactions:write"},"delete":{"operationId":"V1TransactionsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"description":"Requires transactions:write"}},"/api/anon/statement-reader":{"post":{"operationId":"AnonReaderController_read","parameters":[],"responses":{"201":{"description":""}}}},"/api/partner/pilot-metrics":{"get":{"operationId":"PartnerController_getPilotMetrics","parameters":[],"responses":{"200":{"description":""}}}}},"info":{"title":"WIMM Public API","description":"","version":"1.0.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CreateBybitCredentialDto":{"type":"object","properties":{}},"TestConnectionDto":{"type":"object","properties":{}},"UpdateBybitCredentialDto":{"type":"object","properties":{}},"RenameBybitCredentialDto":{"type":"object","properties":{}},"UpdateSyncScheduleDto":{"type":"object","properties":{}},"CreateBinanceCredentialDto":{"type":"object","properties":{}},"UpdateBinanceCredentialDto":{"type":"object","properties":{}},"RenameBinanceCredentialDto":{"type":"object","properties":{}},"CreateOkxCredentialDto":{"type":"object","properties":{}},"OkxTestConnectionDto":{"type":"object","properties":{}},"UpdateOkxCredentialDto":{"type":"object","properties":{}},"RenameOkxCredentialDto":{"type":"object","properties":{}},"InboundEmailWebhookDto":{"type":"object","properties":{}},"UpdateEmailIngestionSettingsDto":{"type":"object","properties":{}},"CreateSenderMappingDto":{"type":"object","properties":{}},"GenerateUploadUrlDto":{"type":"object","properties":{}},"RegisterDto":{"type":"object","properties":{}},"LoginDto":{"type":"object","properties":{}},"ForgotPasswordDto":{"type":"object","properties":{}},"ResetPasswordDto":{"type":"object","properties":{}},"UtmParamsDto":{"type":"object","properties":{}},"ApplyReferralDto":{"type":"object","properties":{}},"UpdateUserDto":{"type":"object","properties":{}},"ChangePasswordDto":{"type":"object","properties":{}},"ChangeEmailDto":{"type":"object","properties":{}},"DeleteAccountDto":{"type":"object","properties":{}},"UpdateLanguageDto":{"type":"object","properties":{}},"UpdatePreferencesDto":{"type":"object","properties":{}},"SetWalletDto":{"type":"object","properties":{}},"AcceptTermsDto":{"type":"object","properties":{}},"RequestPayoutDto":{"type":"object","properties":{}},"CreateCategoryDto":{"type":"object","properties":{}},"ReorderCategoriesDto":{"type":"object","properties":{}},"UpdateCategoryDto":{"type":"object","properties":{}},"RegisterClientDto":{"type":"object","properties":{}},"TokenRequestDto":{"type":"object","properties":{}},"RevokeTokenDto":{"type":"object","properties":{}},"ConsentDecisionDto":{"type":"object","properties":{}},"CreateCampaignDto":{"type":"object","properties":{}},"RespondCampaignDto":{"type":"object","properties":{}},"CreateAccountDto":{"type":"object","properties":{}},"UpdateAccountDto":{"type":"object","properties":{}},"SetBalanceDto":{"type":"object","properties":{}},"CreateTransactionDto":{"type":"object","properties":{}},"BulkCreateTransactionDto":{"type":"object","properties":{}},"TransferDto":{"type":"object","properties":{}},"BulkCategorizeDto":{"type":"object","properties":{}},"BulkDeleteDto":{"type":"object","properties":{}},"BulkEditDto":{"type":"object","properties":{}},"BulkSetStatusDto":{"type":"object","properties":{}},"SuggestCategoriesDto":{"type":"object","properties":{}},"ParseTextDto":{"type":"object","properties":{}},"SplitTransactionDto":{"type":"object","properties":{}},"ConvertTransactionDto":{"type":"object","properties":{}},"UpdateTransactionDto":{"type":"object","properties":{}},"CreateTagDto":{"type":"object","properties":{}},"UpdateTagDto":{"type":"object","properties":{}},"CreateCategoryMappingDto":{"type":"object","properties":{}},"UpdateCategoryMappingDto":{"type":"object","properties":{}},"CreateAccountGroupDto":{"type":"object","properties":{}},"UpdateAccountGroupDto":{"type":"object","properties":{}},"SetGroupMembersDto":{"type":"object","properties":{}},"VerifyLinkDto":{"type":"object","properties":{}},"CreateBudgetDto":{"type":"object","properties":{}},"UpdateBudgetDto":{"type":"object","properties":{}},"CreatePatDto":{"type":"object","properties":{}},"StartOnboardingDto":{"type":"object","properties":{}},"ConfirmTemplateDto":{"type":"object","properties":{}},"IngestOnboardingDto":{"type":"object","properties":{}},"SubmitAnswerDto":{"type":"object","properties":{}},"CreateImportDto":{"type":"object","properties":{}},"RemapImportDto":{"type":"object","properties":{}},"CreateApiKeyDto":{"type":"object","properties":{}},"UpdateApiKeyDto":{"type":"object","properties":{}},"CreateFeedbackDto":{"type":"object","properties":{}},"CreateContactDto":{"type":"object","properties":{}},"CreateEmailSubscriberDto":{"type":"object","properties":{}},"ExtendSubscriptionDto":{"type":"object","properties":{}},"UpdateAdminUserDto":{"type":"object","properties":{}},"UpdateAdminFeedbackDto":{"type":"object","properties":{}},"AdminUpdateTicketDto":{"type":"object","properties":{}},"CreateMessageDto":{"type":"object","properties":{}},"CreateStreamerAffiliateDto":{"type":"object","properties":{}},"MintInfluencerDto":{"type":"object","properties":{}},"UpdateAffiliateDto":{"type":"object","properties":{}},"CreatePayoutDto":{"type":"object","properties":{}},"MarkPaidDto":{"type":"object","properties":{}},"SendOnboardingSequenceTestDto":{"type":"object","properties":{}},"UpdateNudgePreferencesDto":{"type":"object","properties":{}},"UploadScreenshotDto":{"type":"object","properties":{}},"CreateBugReportDto":{"type":"object","properties":{}},"CreateFeatureRequestDto":{"type":"object","properties":{}},"CreateTicketDto":{"type":"object","properties":{}},"UpdateTicketDto":{"type":"object","properties":{}},"UpdateDashboardPreferencesDto":{"type":"object","properties":{}},"UpdateRetentionDto":{"type":"object","properties":{}},"ValidatePromoDto":{"type":"object","properties":{}},"CreateCheckoutDto":{"type":"object","properties":{}},"DowngradeDto":{"type":"object","properties":{}},"CreatePromoCodeDto":{"type":"object","properties":{}},"UpdatePromoCodeDto":{"type":"object","properties":{}},"CreateConsentAuditDto":{"type":"object","properties":{}},"ConfirmTwoFactorDto":{"type":"object","properties":{}},"VerifyTwoFactorDto":{"type":"object","properties":{}},"RecoveryCodeDto":{"type":"object","properties":{}},"DisableTwoFactorDto":{"type":"object","properties":{}},"UploadPhotoReceiptDto":{"type":"object","properties":{}},"ProvisionUserDto":{"type":"object","properties":{}},"ClaimAccountDto":{"type":"object","properties":{}},"ClaimLookupDto":{"type":"object","properties":{}},"ResendClaimLinkDto":{"type":"object","properties":{}},"V1AiQueryDto":{"type":"object","properties":{}}}}}