# Javascript

## About

JFramework (JFW) is a comprehensive backend API client library for JavaScript, part of the JFW ecosystem. It provides a set of APIs to interact with various resources such as brands, users, roles and more, enabling developers to build robust applications with features like authentication, payments, and content management. The `@jframework/jfw-js` package is designed for client-side and server-side JavaScript environments and integrates seamlessly with Axios for HTTP requests.

## Table of Contents

* [Getting Started](#getting-started)
  * [Setup Your Brand](#setup-your-brand)
  * [Quick Start](#quick-start)
* [API Reference](#api-reference)
  * [Ad API](#ad-api)
    * [activateAd(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#activateadid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [deactivateAd(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deactivateadid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [createAd(params: ICreateAdParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#createadparams-icreateadparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [deleteAd(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteadid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getAdsClientView(position: AdPosition, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAd\[\]>>](#getadsclientviewposition-adposition-config-axiosrequestconfig--promisehttpresponseiad)
    * [getAds(params?: IGetAdsParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IAd>>](#getadsparams-igetadsparams-config-axiosrequestconfig--promisehttpresponselistiad)
    * [getAd(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAd>>](#getadid-idtype-config-axiosrequestconfig--promisehttpresponseiad)
    * [updateAd(params: IUpdateAdParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updateadparams-iupdateadparams-config-axiosrequestconfig--promisehttpresponseboolean)
  * [App Integration API](#app-integration-api)
    * [getAppIntegrations(params?: IGetAppIntegrationsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegration\[\]>>](#getappintegrationsparams-igetappintegrationsparams-config-axiosrequestconfig--promisehttpresponseiappintegration)
    * [AppIntegrationAnalyticsAPI](#appintegrationanalyticsapi)
      * [createAppIntegrationAnalytics(params: ICreateAppIntegrationAnalyticsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAnalytics>>](#createappintegrationanalyticsparams-icreateappintegrationanalyticsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationanalytics)
      * [deleteAppIntegrationAnalytics(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationanalyticsid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationAnalytics(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAnalytics>>](#getappintegrationanalyticsid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationanalytics)
      * [getAppIntegrationAnalyticsWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAnalytics\[\]>>](#getappintegrationanalyticswithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationanalytics)
      * [updateAppIntegrationAnalytics(params: IUpdateAppIntegrationAnalyticsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAnalytics>>](#updateappintegrationanalyticsparams-iupdateappintegrationanalyticsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationanalytics)
    * [AppIntegrationAuthenticationAPI](#appintegrationauthenticationapi)
      * [createAppIntegrationAuthentication(params: ICreateAppIntegrationAuthenticationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthentication>>](#createappintegrationauthenticationparams-icreateappintegrationauthenticationparams-config-axiosrequestconfig--promisehttpresponseiappintegrationauthentication)
      * [createAppIntegrationAuthenticationWithImportFileSettings(params: ICreateAppIntegrationAuthenticationWithImportFileSettingsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthentication>>](#createappintegrationauthenticationwithimportfilesettingsparams-icreateappintegrationauthenticationwithimportfilesettingsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationauthentication)
      * [deleteAppIntegrationAuthentication(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationauthenticationid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationAuthentication(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthentication>>](#getappintegrationauthenticationid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationauthentication)
      * [getAppsIntegrationAuthenticationWithBrand(params?: IGetAppIntegrationAuthenticationsWithBrandParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthentication\[\]>>](#getappsintegrationauthenticationwithbrandparams-igetappintegrationauthenticationswithbrandparams-config-axiosrequestconfig--promisehttpresponseiappintegrationauthentication)
      * [testBuildingAuthenticationURL(appIntegrationId: IdType, params: ITestBuildingAuthenticationURLParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#testbuildingauthenticationurlappintegrationid-idtype-params-itestbuildingauthenticationurlparams-config-axiosrequestconfig--promisehttpresponsestring)
      * [updateAppIntegrationAuthentication(id: IdType, params: IUpdateAppIntegrationAuthenticationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthentication>>](#updateappintegrationauthenticationid-idtype-params-iupdateappintegrationauthenticationparams-config-axiosrequestconfig--promisehttpresponseiappintegrationauthentication)
    * [AppIntegrationPaymentGatewayAPI](#appintegrationpaymentgatewayapi)
      * [createAppIntegrationPaymentGateway(params: ICreateAppIntegrationPaymentGatewayParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPaymentGateway>>](#createappintegrationpaymentgatewayparams-icreateappintegrationpaymentgatewayparams-config-axiosrequestconfig--promisehttpresponseiappintegrationpaymentgateway)
      * [deleteAppIntegrationPaymentGateway(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationpaymentgatewayid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationPaymentGateway(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPaymentGateway>>](#getappintegrationpaymentgatewayid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationpaymentgateway)
      * [getAppsIntegrationPaymentGatewayWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPaymentGateway\[\]>>](#getappsintegrationpaymentgatewaywithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationpaymentgateway)
      * [testCreatingCheckoutLink(appIntegrationId: IdType, params: ITestCreatingCheckoutLinkParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#testcreatingcheckoutlinkappintegrationid-idtype-params-itestcreatingcheckoutlinkparams-config-axiosrequestconfig--promisehttpresponsestring)
      * [updateAppIntegrationPaymentGateway(id: IdType, params: IUpdateAppIntegrationPaymentGatewayParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPaymentGateway>>](#updateappintegrationpaymentgatewayid-idtype-params-iupdateappintegrationpaymentgatewayparams-config-axiosrequestconfig--promisehttpresponseiappintegrationpaymentgateway)
    * [AppIntegrationPushNotificationAPI](#appintegrationpushnotificationapi)
      * [createAppIntegrationPushNotification(params: ICreateAppIntegrationPushNotificationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPushNotification>>](#createappintegrationpushnotificationparams-icreateappintegrationpushnotificationparams-config-axiosrequestconfig--promisehttpresponseiappintegrationpushnotification)
      * [createAppIntegrationPushNotificationWithImportFileSettings(params: ICreateAppIntegrationPushNotificationWithImportFileSettingsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPushNotification>>](#createappintegrationpushnotificationwithimportfilesettingsparams-icreateappintegrationpushnotificationwithimportfilesettingsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationpushnotification)
      * [deleteAppIntegrationPushNotification(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationpushnotificationid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationPushNotification(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPushNotification>>](#getappintegrationpushnotificationid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationpushnotification)
      * [getAppIntegrationPushNotificationsWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPushNotification\[\]>>](#getappintegrationpushnotificationswithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationpushnotification)
      * [updateAppIntegrationPushNotification(id: IdType, params: IUpdateAppIntegrationPushNotificationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationPushNotification>>](#updateappintegrationpushnotificationid-idtype-params-iupdateappintegrationpushnotificationparams-config-axiosrequestconfig--promisehttpresponseiappintegrationpushnotification)
    * [AppIntegrationReCAPTCHAAPI](#appintegrationrecaptchaapi)
      * [createAppIntegrationReCAPTCHA(params: ICreateAppIntegrationReCAPTCHAParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationReCAPTCHA>>](#createappintegrationrecaptchaparams-icreateappintegrationrecaptchaparams-config-axiosrequestconfig--promisehttpresponseiappintegrationrecaptcha)
      * [deleteAppIntegrationReCAPTCHA(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationrecaptchaid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationReCAPTCHA(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationReCAPTCHA>>](#getappintegrationrecaptchaid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationrecaptcha)
      * [getAppsIntegrationReCAPTCHAWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationReCAPTCHA\[\]>>](#getappsintegrationrecaptchawithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationrecaptcha)
      * [updateAppIntegrationReCAPTCHA(params: IUpdateAppIntegrationReCAPTCHAParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationReCAPTCHA>>](#updateappintegrationrecaptchaparams-iupdateappintegrationrecaptchaparams-config-axiosrequestconfig--promisehttpresponseiappintegrationrecaptcha)
    * [AppIntegrationSMSAPI](#appintegrationsmsapi)
      * [createAppIntegrationSMS(params: ICreateAppIntegrationSMSParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMS>>](#createappintegrationsmsparams-icreateappintegrationsmsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationsms)
      * [deleteAppIntegrationSMS(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationsmsid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationSMS(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMS>>](#getappintegrationsmsid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationsms)
      * [getAppsIntegrationSMSWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMS\[\]>>](#getappsintegrationsmswithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationsms)
      * [testSendingSMSMessage(appIntegrationId: IdType, params: ITestSendingSMSMessageParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#testsendingmessageappintegrationid-idtype-params-itestsendingsmsmessageparams-config-axiosrequestconfig--promisehttpresponseboolean)
      * [updateAppIntegrationSMS(id: IdType, params: IUpdateAppIntegrationSMSParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMS>>](#updateappintegrationsmsid-idtype-params-iupdateappintegrationsmsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationsms)
    * [AppIntegrationSMTPAPI](#appintegrationsmtpapi)
      * [createAppIntegrationSMTP(params: ICreateAppIntegrationSMTPParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMTP>>](#createappintegrationsmtpparams-icreateappintegrationsmtpparams-config-axiosrequestconfig--promisehttpresponseiappintegrationsmtp)
      * [deleteAppIntegrationSMTP(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteappintegrationsmtpid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getAppIntegrationSMTP(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMTP>>](#getappintegrationsmtpid-idtype-config-axiosrequestconfig--promisehttpresponseiappintegrationsmtp)
      * [getAppsIntegrationSMTPWithBrand(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMTP\[\]>>](#getappsintegrationsmtpwithbrandconfig-axiosrequestconfig--promisehttpresponseiappintegrationsmtp)
      * [testSendingEmailAddress(params: ITestSendingEmailAddressParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#testsendingemailaddressparams-itestsendingemailaddressparams-config-axiosrequestconfig--promisehttpresponseboolean)
      * [updateAppIntegrationSMTP(id: IdType, params: IUpdateAppIntegrationSMTPParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationSMTP>>](#updateappintegrationsmtpid-idtype-params-iupdateappintegrationsmtpparams-config-axiosrequestconfig--promisehttpresponseiappintegrationsmtp)
  * [Brand API](#brand-api)
    * [BrandProfileAPI](#brandprofileapi)
      * [updateBrandProfile(id: IdType, params: IUpdateBrandProfileParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updatebrandprofileid-idtype-params-iupdatebrandprofileparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [BrandSettingAPI](#brandsettingapi)
      * [updateBrandSetting(id: IdType, params: IUpdateBrandSettingParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updatebrandsettingid-idtype-params-iupdatebrandsettingparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [EmailAddressAPI](#emailaddressapi)
      * [createEmailAddress(params: ICreateEmailAddressParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IEmailAddress>>](#createemailaddressparams-icreateemailaddressparams-config-axiosrequestconfig--promisehttpresponseiemailaddress)
      * [deleteEmailAddress(params: IDeleteEmailAddressParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteemailaddressparams-ideleteemailaddressparams-config-axiosrequestconfig--promisehttpresponseboolean)
      * [getEmailAddress(params: IGetEmailAddressParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IEmailAddress>>](#getemailaddressparams-igetemailaddressparams-config-axiosrequestconfig--promisehttpresponseiemailaddress)
      * [getEmailAddresses(brandId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IEmailAddress\[\]>>](#getemailaddressesbrandid-idtype-config-axiosrequestconfig--promisehttpresponseiemailaddress)
      * [updateEmailAddress(emailAddressId: IdType, params: IUpdateEmailAddressParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IEmailAddress>>](#updateemailaddressemailaddressid-idtype-params-iupdateemailaddressparams-config-axiosrequestconfig--promisehttpresponseiemailaddress)
    * [BrandAPI](#brandapi)
      * [checkDomainIfExists(domain: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#checkdomainifexistsdomain-string-config-axiosrequestconfig--promisehttpresponseboolean)
      * [createBrand(params: ICreateBrandParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IBrand>>](#createbrandparams-icreatebrandparams-config-axiosrequestconfig--promisehttpresponseibrand)
      * [generateNewDomain(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGeneratedDomain>>](#generatenewdomainconfig-axiosrequestconfig--promisehttpresponseigenerateddomain)
      * [getBrand(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IBrand>>](#getbrandid-idtype-config-axiosrequestconfig--promisehttpresponseibrand)
      * [getBrandByURL(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IBrand>>](#getbrandbyurlconfig-axiosrequestconfig--promisehttpresponseibrand)
      * [getBrands(params?: IGetBrandsParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IBrand>>](#getbrandsparams-igetbrandsparams-config-axiosrequestconfig--promisehttpresponselistibrand)
      * [updateBrand(id: IdType, params: IUpdateBrandParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updatebrandid-idtype-params-iupdatebrandparams-config-axiosrequestconfig--promisehttpresponseboolean)
  * [CDN API](#cdn-api)
    * [deleteFileCDN(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deletefilecdnid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getFileCDN(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IFileCDN>>](#getfilecdnid-idtype-config-axiosrequestconfig--promisehttpresponseifilecdn)
    * [getFilesCDN(params?: IGetFilesCDNParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IFileCDN>>](#getfilescdnparams-igetfilescdnparams-config-axiosrequestconfig--promisehttpresponselistifilecdn)
    * [uploadFileCDN(params: IUploadFileParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUploadedFileCDN>>](#uploadfilecdnparams-iuploadfileparams-config-axiosrequestconfig--promisehttpresponseiuploadedfilecdn)
    * [uploadFile(params: IUploadFileParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUploadedFileCDN>>](#uploadfileparams-iuploadfileparams-config-axiosrequestconfig--promisehttpresponseiuploadedfilecdn)
  * [City API](#city-api)
    * [getCities(params?: IGetCitiesParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<ICity>>](#getcitiesparams-igetcitiesparams-config-axiosrequestconfig--promisehttpresponselisticity)
  * [Commission Rate API](#commission-rate-api)
    * [createCommissionRate(params?: ICreateCommissionRateParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICommissionRate>>](#createcommissionrateparams-icreatecommissionrateparams-config-axiosrequestconfig--promisehttpresponseicommissionrate)
    * [deleteCommissionRate(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deletecommissionrateid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getCommissionRate(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICommissionRate>>](#getcommissionrateid-idtype-config-axiosrequestconfig--promisehttpresponseicommissionrate)
    * [getDiscountValue(quantity: number, config?: AxiosRequestConfig) => Promise\<HttpResponse\<number>>](#getdiscountvaluequantity-number-config-axiosrequestconfig--promisehttpresponsenumber)
    * [getCommissionRates(params?: IGetCommissionRatesParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICommissionRate\[\]>>](#getcommissionratesparams-igetcommissionratesparams-config-axiosrequestconfig--promisehttpresponseicommissionrate)
    * [updateCommissionRate(id: IdType, params?: IUpdateCommissionRateParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updatecommissionrateid-idtype-params-iupdatecommissionrateparams-config-axiosrequestconfig--promisehttpresponseboolean)
  * [Configuration API](#configuration-api)
    * [createConfiguration(params: ICreateConfigurationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IConfiguration>>](#createconfigurationparams-icreateconfigurationparams-config-axiosrequestconfig--promisehttpresponseiconfiguration)
    * [deleteConfiguration(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteconfigurationid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getConfigurations(params?: IGetConfigurationsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IConfiguration\[\]>>](#getconfigurationsparams-igetconfigurationsparams-config-axiosrequestconfig--promisehttpresponseiconfiguration)
    * [getConfiguration(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IConfiguration>>](#getconfigurationid-idtype-config-axiosrequestconfig--promisehttpresponseiconfiguration)
    * [updateConfiguration(id: IdType, params: IUpdateConfigurationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<unknown>>](#updateconfigurationid-idtype-params-iupdateconfigurationparams-config-axiosrequestconfig--promisehttpresponseunknown)
  * [Constant API](#constant-api)
    * [getBrandLinkTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getbrandlinktypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getBlackListTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getblacklisttypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getCouponStatuses(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getcouponstatusesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getCommissionRateTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getcommissionratetypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getDeviceStatuses(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getdevicestatusesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getDeviceTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getdevicetypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getInvoiceStatuses(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getinvoicestatusesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getInvoiceTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getinvoicetypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getIssuePriorities(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getissueprioritiesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getLicenseSources(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getlicensesourcesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getLicenseTypes(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getlicensetypesconfig-axiosrequestconfig--promisehttpresponsestring)
    * [getLicenseStatuses(config?: AxiosRequestConfig) => Promise\<HttpResponse\<string\[\]>>](#getlicensestatusesconfig-axiosrequestconfig--promisehttpresponsestring)
  * [Country API](#country-api)
    * [getCountries(config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICountry\[\]>>](#getcountriesconfig-axiosrequestconfig--promisehttpresponseicountry)
  * [Coupon API](#coupon-api)
    * [createCoupon(params: ICreateCouponParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICoupon>>](#createcouponparams-icreatecouponparams-config-axiosrequestconfig--promisehttpresponseicoupon)
    * [deleteCoupon(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deletecouponid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getCoupon(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICoupon>>](#getcouponid-idtype-config-axiosrequestconfig--promisehttpresponseicoupon)
    * [getCoupons(params?: IGetCouponsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICoupon\[\]>>](#getcouponsparams-igetcouponsparams-config-axiosrequestconfig--promisehttpresponseicoupon)
    * [updateCoupon(id: IdType, params: IUpdateCouponParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ICoupon>>](#updatecouponid-idtype-params-iupdatecouponparams-config-axiosrequestconfig--promisehttpresponseicoupon)
  * [State API](#state-api)
    * [getStates(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IState\[\]>>](#getstatesconfig-axiosrequestconfig--promisehttpresponseistate)
  * [Subscription Type API](#subscription-type-api)
    * [createSubscriptionType(params: ICreateSubscriptionTypeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ISubscriptionType>>](#createsubscriptiontypeparams-icreatesubscriptiontypeparams-config-axiosrequestconfig--promisehttpresponseisubscriptiontype)
    * [deleteSubscriptionType(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deletesubscriptiontypeid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getSubscriptionType(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ISubscriptionType>>](#getsubscriptiontypeid-idtype-config-axiosrequestconfig--promisehttpresponseisubscriptiontype)
    * [getPricesFromSubscriptionType(subscriptionTypeId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IPrice\[\]>>](#getpricesfromsubscriptiontypesubscriptiontypeid-idtype-config-axiosrequestconfig--promisehttpresponseiprice)
    * [getSubscriptionTypes(params?: IGetSubscriptionTypesParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ISubscriptionType\[\]>>](#getsubscriptiontypesparams-igetsubscriptiontypesparams-config-axiosrequestconfig--promisehttpresponseisubscriptiontype)
    * [updateSubscriptionType(id: IdType, params: IUpdateSubscriptionTypeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ISubscriptionType>>](#updatesubscriptiontypeid-idtype-params-iupdatesubscriptiontypeparams-config-axiosrequestconfig--promisehttpresponseisubscriptiontype)
  * [Timezone API](#timezone-api)
    * [getTimezones(config?: AxiosRequestConfig) => Promise\<HttpResponse\<ITimezone\[\]>>](#gettimezonesconfig-axiosrequestconfig--promisehttpresponseitimezone)
  * [Tracking Activity API](#tracking-activity-api)
    * [getTrackingActivities(params?: IGetTrackingActivitiesParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<ITrackingActivity>>](#gettrackingactivitiesparams-igettrackingactivitiesparams-config-axiosrequestconfig--promisehttpresponselistitrackingactivity)
    * [getTrackingActivity(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ITrackingActivity>>](#gettrackingactivityid-idtype-config-axiosrequestconfig--promisehttpresponseitrackingactivity)
  * [Tracking Email API](#tracking-email-api)
    * [getTrackingEmail(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<ITrackingEmail>>](#gettrackingemailid-idtype-config-axiosrequestconfig--promisehttpresponseitrackingemail)
    * [getTrackingEmails(params?: IGetTrackingEmailsParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<ITrackingEmail>>](#gettrackingemailsparams-igettrackingemailsparams-config-axiosrequestconfig--promisehttpresponselistitrackingemail)
  * [User API](#user-api)
    * [activateUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#activateuserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [addDeviceToUser(params: IAddDeviceToUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#adddevicetouserparams-iadddevicetouserparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [applyReferralCodeToUser(id: IdType, params: IApplyReferralCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#applyreferralcodetouserid-idtype-params-iapplyreferralcodeparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [assignRolesToUser(id: IdType, roleIds: IdType\[\], config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#assignrolestouserid-idtype-roleids-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [authenticationByApple(callbackURL: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#authenticationbyapplecallbackurl-string-config-axiosrequestconfig--promisehttpresponsestring)
    * [authenticationByGoogle(params: IAuthenticationByGoogleParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#authenticationbygoogleparams-iauthenticationbygoogleparams-config-axiosrequestconfig--promisehttpresponsestring)
    * [authenticationByPhoneNumber(params: IAuthenticationByPhoneNumberParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#authenticationbyphonenumberparams-iauthenticationbyphonenumberparams-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
    * [authentication(params: IAuthenticationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#authenticationparams-iauthenticationparams-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
    * [changePassword(params: IChangePasswordParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#changepasswordparams-ichangepasswordparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [changePasswordForAnotherUser(params: IChangePasswordForAnotherUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#changepasswordforanotheruserparams-ichangepasswordforanotheruserparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [checkReferralUserCode(code: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#checkreferralusercodecode-string-config-axiosrequestconfig--promisehttpresponseboolean)
    * [checkAuthKeyAvailable(params: ICheckAuthKeyAvailableParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#checkauthkeyavailableparams-icheckauthkeyavailableparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [deactivateUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deactivateuserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [deleteUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteuserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [sendEmailToVerifyEmailAddressOfUser(id: IdType, returnURL: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#sendemailtoverifyemailaddressofuserid-idtype-returnurl-string-config-axiosrequestconfig--promisehttpresponseboolean)
    * [activeUserEmailAddress(token: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#activeuseremailaddresstoken-string-config-axiosrequestconfig--promisehttpresponseboolean)
    * [forgotPassword(params: IForgotPasswordParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#forgotpasswordparams-iforgotpasswordparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getUserByUsername(username: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser>>](#getuserbyusernameusername-string-config-axiosrequestconfig--promisehttpresponseiuser)
    * [getUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser>>](#getuserid-idtype-config-axiosrequestconfig--promisehttpresponseiuser)
    * [getAppIntegrationAuthenticateURLs(params: IGetAppIntegrationAuthenticateURLsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAppIntegrationAuthenticateURL\[\]>>](#getappintegrationauthenticateurlsparams-igetappintegrationauthenticateurlsparams-config-axiosrequestconfig--promisehttpresponseiappintegrationauthenticateurl)
    * [getDevicesFromUser(userId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IDeviceOfUser\[\]>>](#getdevicesfromuseruserid-idtype-config-axiosrequestconfig--promisehttpresponseideviceofuser)
    * [getUsersByListIDs(ids: IdType\[\], config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser\[\]>>](#getusersbylistidsids-idtype-config-axiosrequestconfig--promisehttpresponseiuser)
    * [getUsers(params: IGetUsersParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IUser>>](#getusersparams-igetusersparams-config-axiosrequestconfig--promisehttpresponselistiuser)
    * [getRolesAssignedToUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IRole\[\]>>](#getrolesassignedtouserid-idtype-config-axiosrequestconfig--promisehttpresponseirole)
    * [getCurrentUserLoggedIn(config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser>>](#getcurrentuserloggedinconfig-axiosrequestconfig--promisehttpresponseiuser)
    * [getRefereeOfUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IBaseUser\[\]>>](#getrefereeofuserid-idtype-config-axiosrequestconfig--promisehttpresponseibaseuser)
    * [listAllBrandPartnersAuthenticate(userId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IBrandPartnerAuthenticate>>](#listallbrandpartnersauthenticateuserid-idtype-config-axiosrequestconfig--promisehttpresponseibrandpartnerauthenticate)
    * [lockUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#lockuserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [registerNewUser(params: IRegisterNewUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser>>](#registernewuserparams-iregisternewuserparams-config-axiosrequestconfig--promisehttpresponseiuser)
    * [removeDeviceFromUser(params: IRemoveDeviceFromUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#removedevicefromuserparams-iremovedevicefromuserparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [resetPassword(params: IResetPasswordParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#resetpasswordparams-iresetpasswordparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [revokeRolesFromUser(id: IdType, roleIds: IdType\[\], config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#revokerolesfromuserid-idtype-roleids-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [statisticUsers(params: IStatisticsUsersParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IStatisticsUsers\[\]>>](#statisticusersparams-istatisticsusersparams-config-axiosrequestconfig--promisehttpresponseistatisticsusers)
    * [suspendUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#suspenduserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [unlockUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#unlockuserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [unsuspendUser(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#unsuspenduserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [updateUser(id: IdType, params: IUpdateUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUser>>](#updateuserid-idtype-params-iupdateuserparams-config-axiosrequestconfig--promisehttpresponseiuser)
    * [updateUserType(id: IdType, type: UserType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#updateusertypeid-idtype-type-usertype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [Configurations](#configurations)
      * [createNewConfigurationForUser(userId: IdType, params: ICreateConfigurationOfUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IConfiguration>>](#createnewconfigurationforuseruserid-idtype-params-icreateconfigurationofuserparams-config-axiosrequestconfig--promisehttpresponseiconfiguration)
      * [getConfigurationsOfUser(userId: IdType, params?: IGetConfigurationOfUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IConfiguration\[\]>>](#getconfigurationsofuseruserid-idtype-params-igetconfigurationofuserparams-config-axiosrequestconfig--promisehttpresponseiconfiguration)
      * [deleteConfigurationOfUserByID(userId: IdType, configurationId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#deleteconfigurationofuserbyiduserid-idtype-configurationid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [Email Address Verification](#email-address-verification)
      * [sendEmailToVerifyEmailAddressOfUser(id: IdType, returnURL: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#sendemailtoverifyemailaddressofuserid-idtype-returnurl-string-config-axiosrequestconfig--promisehttpresponseboolean)
      * [activeUserEmailAddress(token: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#activeuseremailaddresstoken-string-config-axiosrequestconfig--promisehttpresponseboolean)
    * [Notification](#notification)
      * [getNotificationRelatedToUser(params: IGetNotificationRelatedToUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IUserNotification>>](#getnotificationrelatedtouserparams-igetnotificationrelatedtouserparams-config-axiosrequestconfig--promisehttpresponseiusernotification)
      * [getNotificationsByUser(params: IGetNotificationsByUserParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IUserNotification, { unreadCount: number }>>](#getnotificationsbyuserparams-igetnotificationsbyuserparams-config-axiosrequestconfig--promisehttpresponselistiusernotification-unreadcount-number)
      * [markNotificationAsRead(params: IMarkNotificationAsReadParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#marknotificationasreadparams-imarknotificationasreadparams-config-axiosrequestconfig--promisehttpresponseboolean)
      * [markAllNotificationsAsRead(userId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#markallnotificationsasreaduserid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [Passwordless](#passwordless)
      * [Email](#email)
        * [authenticationByMagicLink(params: IAuthenticationByMagicLinkParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#authenticationbymagiclinkparams-iauthenticationbymagiclinkparams-config-axiosrequestconfig--promisehttpresponseboolean)
        * [generateEmailOTPForAuthentication(params: IGenerateEmailAddressOTPForAuthenticationParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#generateemailotpforauthenticationparams-igenerateemailaddressotpforauthenticationparams-config-axiosrequestconfig--promisehttpresponsestring)
        * [verifyEmailAddressOTPToAuthentication(params: IVerifyOTPCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#verifyemailaddressotptoauthenticationparams-iverifyotpcodeparams-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
      * [Phone](#phone)
        * [generateSMSOTP(params: IGenerateSMSOTPParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#generatesmsotpparams-igeneratesmsotpparams-config-axiosrequestconfig--promisehttpresponsestring)
        * [verifyPhoneOTPForAuthentication(params: IVerifyOTPCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#verifyphoneotpforauthenticationparams-iverifyotpcodeparams-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
      * [QR Code](#qr-code)
        * [generateNewQRCode(params?: IGenerateNewQRCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGenerateNewQRCodeForParingAuthenticationResponse>>](#generatenewqrcodeparams-inewqrparams-config-axiosrequestconfig--promisehttpresponseigeneratenewqrcodeforparingauthenticationresponse)
        * [getCurrentStatusOfQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGetCodeStatusResponse>>](#getcurrentstatusofqrcodeqrcodeid-idtype-config-axiosrequestconfig--promisehttpresponseigetcodestatusresponse)
        * [approveQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGetCodeStatusResponse>>](#approveqrcodeqrcodeid-idtype-config-axiosrequestconfig--promisehttpresponseigetcodestatusresponse)
        * [loginUsingApprovedQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#loginusingapprovedqrcodeqrcodeid-idtype-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
        * [authWithApprovedQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#authwithapprovedqrcodeqrcodeid-idtype-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
      * [OTP Code](#otp-code)
        * [generateNewOTPCode(params?: IGenerateNewQRCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGenerateNewOTPForParingAuthenticationResponse>>](#generatenewotpcodeparams-inewqrparams-config-axiosrequestconfig--promisehttpresponseigeneratenewotpforparingauthenticationresponse)
        * [getCurrentStatusOfOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGetCodeStatusResponse>>](#getcurrentstatusofotpcodeotpcode-string-config-axiosrequestconfig--promisehttpresponseigetcodestatusresponse)
        * [approveOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IGetCodeStatusResponse>>](#approveotpcodeotpcode-string-config-axiosrequestconfig--promisehttpresponseigetcodestatusresponse)
        * [loginUsingApprovedOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#loginusingapprovedotpcodeotpcode-string-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
        * [authWithApprovedOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IAuthenticateResponse>>](#authwithapprovedotpcodeotpcode-string-config-axiosrequestconfig--promisehttpresponseiauthenticateresponse)
  * [Wallet API](#wallet-api)
    * [addMoneyToWalletWithCheckoutLink(params: IAddMoneyToWalletWithCheckoutLinkParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<string>>](#addmoneytowalletwithcheckoutlinkparams-iaddmoneytowalletwithcheckoutlinkparams-config-axiosrequestconfig--promisehttpresponsestring)
    * [applyRedeemCode(params: IApplyRedeemCodeParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<unknown>>](#applyredeemcodeparams-iapplyredeemcodeparams-config-axiosrequestconfig--promisehttpresponseunknown)
    * [createWalletDefault(currencyCode: string, testMode: boolean = false, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IWallet>>](#createwalletdefaultcurrencycode-string-testmode-boolean--false-config-axiosrequestconfig--promisehttpresponseiwallet)
    * [convertWalletMoney(params: IConvertWalletMoneyParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#convertwalletmoneyparams-iconvertwalletmoneyparams-config-axiosrequestconfig--promisehttpresponseboolean)
    * [closeWallet(id: IdType, config?: AxiosRequestConfig) => Promise\<HttpResponse\<boolean>>](#closewalletid-idtype-config-axiosrequestconfig--promisehttpresponseboolean)
    * [getWallets(params?: IGetWalletsParams, config?: AxiosRequestConfig) => Promise\<HttpResponse\<IWallet\[\]>>](#getwalletsparams-igetwalletsparams-config-axiosrequestconfig--promisehttpresponseiwallet)
    * [getWalletHistory(id: IdType, params: IGetWalletHistoriesParams, config?: AxiosRequestConfig) => Promise\<HttpResponseList\<IWalletHistory>>](#getwallethistoryid-idtype-params-igetwallethistoriesparams-config-axiosrequestconfig--promisehttpresponselistiwallethistory)

## Getting Started

### Setup Your Brand

To get started with JFramework, you need to set up your brand in the JFW dashboard:

1. Visit [my.jframework.io](https://my.jframework.io).
2. Register for a new account if you don't have one, or log in with your existing credentials.
3. Once logged in, navigate to the "Brands" section.
4. Click on "Create New Brand" and fill in the required details, such as brand name, description, and any associated domains or configurations.
5. Save your brand. You'll receive a brand ID and API keys (e.g., secret key) that you'll use to authenticate requests in your application.

This setup ensures your API calls are associated with your brand for proper authorization and resource management.

### Quick Start

#### Installation

Install the `@jframework/jfw-js` package using your preferred package manager:

```bash
npm install @jframework/jfw-js
```

Or with Yarn:

```bash
yarn add @jframework/jfw-js
```

#### Configuration

To initialize the backend API client, create an instance using your Axios instance configured with your JFW API base URL and authentication headers (e.g., using your secret key from the brand setup).

Example in Node.js:

```javascript
import { createJFWClient } from '@jframework/jfw-js';

export const jfwClient = createJFWClient({
    brandURL: 'https://api.jframework.io', // Replace with your brandURL you created in Setup Your Brand.
    protocolURL: 'https://protocol.jframework.io/api', // Replace with your protocolURL if you have custom protocol URL of JFW.
});

// Now you can use the client, e.g., to get your current brand info.
const currentBrand = await jfwClient.brand.getBrandByURL();
```

Make sure to handle errors appropriately, such as using try/catch for API calls, as they may throw errors on failure.

For framework-specific setups (e.g., Next.js, Express), refer to the detailed usage examples in the [API Reference](#api-reference).

## API Reference

The `createBackendApiClient` function returns an object with resource-specific API clients. Each client extends `AbstractAPI` and provides methods for CRUD operations and other resource-specific actions.

Below is a listing of all available API objects and their methods. Detailed documentation for each method includes parameters, return types (where applicable), and links to the full endpoint reference.

### Ad API

The `ad` object manages advertisements.

#### `activateAd(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Activates an ad.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the ad to activate.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Activate an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/activate-an-ad)

#### `deactivateAd(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deactivates an ad.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the ad to deactivate.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deactivate an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/deactivate-an-ad)

#### `createAd(params: ICreateAdParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Creates an ad.**

* **Parameters:**
  * `params` *ICreateAdParams*\
    \&#xNAN;*The parameters for creating an ad.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAdParams Fields:**
  * `type` *AdType*\
    \&#xNAN;*The type of the advertisement.*
  * `title` *string* - *min: 1*\
    \&#xNAN;*The title of the advertisement.*
  * `position` *AdPosition* - *min: 1*\
    \&#xNAN;*The display position of the advertisement (e.g., homepage-top, sidebar).*
  * `targetURL` *string*\
    \&#xNAN;*The target URL that the ad points to when clicked. uri - min: 1*
  * `description` *string*\
    \&#xNAN;*The description of the advertisement.*
  * `tags` *string*\
    \&#xNAN;*The tags of the advertisement.*
  * `startDate` *DateType*\
    \&#xNAN;*The start date and time when the advertisement becomes active. Format: yyyy-MM-dd HH:mm:ss date-time*
  * `endDate` *DateType*\
    \&#xNAN;*The end date and time when the advertisement expires. Format: yyyy-MM-dd HH:mm:ss date-time*
  * `metadata` *string*\
    \&#xNAN;*The metadata of the advertisement.*
  * `languageCodes` *string\[]*\
    \&#xNAN;*The list of supported language codes (ISO 639-1, e.g., "en", "vi"). If null, available for all languages.*
  * `countryCodes` *string\[]*\
    \&#xNAN;*The list of supported country codes (ISO 3166-1 alpha-2, e.g., "US", "VN"). If null, available in all countries.*
  * `status` *AdStatus*\
    \&#xNAN;*The status of the advertisement.*
  * `imageURLs` *string\[]*\
    \&#xNAN;*The list of image URLs. Allowed formats: JPG, PNG, GIF. Maximum: 5.*
  * `brandDomainIds` *IdType\[]*\
    \&#xNAN;*The list of brand domains for the advertisement.*
* **See**: [Create an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/create-an-ad)

#### `deleteAd(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an ad.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the ad to delete.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/delete-an-ad)

#### `getAdsClientView(position: AdPosition, config?: AxiosRequestConfig) => Promise<HttpResponse<IAd[]>>`

**Gets ads with the client view.**

* **Parameters:**
  * `position` *AdPosition*\
    \&#xNAN;*The position for getting ads.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Ads Client View](https://developers.jframework.io/references/api-reference/endpoints/ads/get-ads-client-view)

#### `getAds(params?: IGetAdsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IAd>>`

**Gets ads.**

* **Parameters:**
  * `params` *IGetAdsParams*\
    \&#xNAN;*The parameters for getting ads.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetAdsParams Fields:**
  * `type` *AdType*\
    \&#xNAN;*The type to filter.*
  * `title` *string*\
    \&#xNAN;*The title to filter.*
  * `position` *AdPosition*\
    \&#xNAN;*The position to filter.*
  * `targetURL` *string*\
    \&#xNAN;*The target URL to filter.*
  * `description` *string*\
    \&#xNAN;*The description to filter.*
  * `status` *AdStatus*\
    \&#xNAN;*The status to filter.*
  * `keywords` *string*\
    \&#xNAN;*The keywords to filter.*
* **See**: [Get Ads](https://developers.jframework.io/references/api-reference/endpoints/ads/get-ads)

#### `getAd(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAd>>`

**Gets an ad.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the ad to get.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/get-an-ad)

#### `updateAd(params: IUpdateAdParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates an ad.**

* **Parameters:**
  * `params` *IUpdateAdParams*\
    \&#xNAN;*The parameters for updating an ad.*
  * `config` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAdParams Fields:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the ad to update.*
  * `type` *AdType*\
    \&#xNAN;*The type of the advertisement.*
  * `title` *string* - *min: 1*\
    \&#xNAN;*The title of the advertisement.*
  * `position` *AdPosition* - *min: 1*\
    \&#xNAN;*The display position of the advertisement (e.g., homepage-top, sidebar).*
  * `targetURL` *string*\
    \&#xNAN;*The target URL that the ad points to when clicked. uri - min: 1*
  * `description` *string*\
    \&#xNAN;*The description of the advertisement.*
  * `tags` *string*\
    \&#xNAN;*The tags of the advertisement.*
  * `startDate` *DateType*\
    \&#xNAN;*The start date and time when the advertisement becomes active. Format: yyyy-MM-dd HH:mm:ss date-time*
  * `endDate` *DateType*\
    \&#xNAN;*The end date and time when the advertisement expires. Format: yyyy-MM-dd HH:mm:ss date-time*
  * `metadata` *string*\
    \&#xNAN;*The metadata of the advertisement.*
  * `languageCodes` *string\[]*\
    \&#xNAN;*The list of supported language codes (ISO 639-1, e.g., "en", "vi"). If null, available for all languages.*
  * `countryCodes` *string\[]*\
    \&#xNAN;*The list of supported country codes (ISO 3166-1 alpha-2, e.g., "US", "VN"). If null, available in all countries.*
  * `status` *AdStatus*\
    \&#xNAN;*The status of the advertisement.*
  * `imageURLs` *string\[]*\
    \&#xNAN;*The list of image URLs. Allowed formats: JPG, PNG, GIF. Maximum: 5.*
  * `brandDomainIds` *IdType\[]*\
    \&#xNAN;*The list of brand domains for the advertisement.*
* **See**: [Update an Ad](https://developers.jframework.io/references/api-reference/endpoints/ads/update-an-ad)

### App Integration API

The `appIntegration` object manages various app integrations.

#### `getAppIntegrations(params?: IGetAppIntegrationsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegration[]>>`

**Lists all app integrations by type.**

* **Parameters:**
  * `params?` *IGetAppIntegrationsParams*\
    \&#xNAN;*The parameters for getting app integrations.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetAppIntegrationsParams Fields:**
  * `type?` *AppIntegrationType*\
    \&#xNAN;*The type of the app integration to get.* enum
  * `status?` *AppIntegrationStatus*\
    \&#xNAN;*The status of the app integration to filter.* enum
  * `keywords?` *string*\
    \&#xNAN;*The keywords of the app integration to get.*
* **See**: [Get App Integrations](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/get-app-integrations)

#### AppIntegrationAnalyticsAPI

Handles analytics-related operations for app integrations.

**`createAppIntegrationAnalytics(params: ICreateAppIntegrationAnalyticsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAnalytics>>`**

**Creates a new app integration analytics record.**

* **Parameters:**
  * `params` *ICreateAppIntegrationAnalyticsParams*\
    \&#xNAN;*The parameters for creating analytics.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationAnalyticsParams Fields:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The app integration provider ID of the analytics.* min: 1
  * `trackingId` *string* - min: 1\
    \&#xNAN;*This ID is used to track and associate events/data with a specific analytics property or project.*
  * `apiKey` *string* - min: 1\
    \&#xNAN;*This is usually embedded in the frontend to initialize and send data to the analytics platform.*
  * `apiSecret?` *string*\
    \&#xNAN;*Gets or sets the API secret or verification URL used to authorize or validate requests from the Jframework.*
  * `metadata?` *string*\
    \&#xNAN;*This can include environment-specific data, custom flags, or platform-specific information.*
  * `accountConfigNotes?` *string*\
    \&#xNAN;*Gets or sets any additional notes or identifiers related to the account or setup that manages this Analytics configuration.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the analytics integration is the default.*
  * `status` *AppIntegrationAnalyticsStatus*\
    \&#xNAN;*The status of the app integration.* enum
* **See**: [Creates an App Integration Analytics](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/analytics/creates-an-app-integration-analytics)

**`deleteAppIntegrationAnalytics(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration analytics record by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the analytics record.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration Analytics](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/analytics/deletes-an-app-integration-analytics)

**`getAppIntegrationAnalytics(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAnalytics>>`**

**Gets an app integration analytics record by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the analytics record.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration Analytics](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/analytics/gets-an-app-integration-analytics)

**`getAppIntegrationAnalyticsWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAnalytics[]>>`**

**Lists all app integration analytics associated with a brand.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Apps Integration Analytics](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/analytics/get-apps-integration-analytics)

**`updateAppIntegrationAnalytics(params: IUpdateAppIntegrationAnalyticsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAnalytics>>`**

**Updates an app integration analytics record by ID.**

* **Parameters:**
  * `params` *IUpdateAppIntegrationAnalyticsParams*\
    \&#xNAN;*The parameters for updating analytics.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationAnalyticsParams Fields:**
  * `id` *IdType*\
    \&#xNAN;*The app integration analytics id.*
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*The app integration provider ID of the analytics.*
  * `trackingId` *string* - min: 1\
    \&#xNAN;*This ID is used to track and associate events/data with a specific analytics property or project.*
  * `apiKey` *string* - min: 1\
    \&#xNAN;*This is usually embedded in the frontend to initialize and send data to the analytics platform.*
  * `apiSecret?` *string*\
    \&#xNAN;*Gets or sets the API secret or verification URL used to authorize or validate requests from the Jframework.*
  * `metadata?` *string*\
    \&#xNAN;*This can include environment-specific data, custom flags, or platform-specific information.*
  * `accountConfigNotes?` *string*\
    \&#xNAN;*Gets or sets any additional notes or identifiers related to the account or setup that manages this Analytics configuration.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the analytics integration is the default.*
  * `status` *AppIntegrationAnalyticsStatus*\
    \&#xNAN;*The status of the app integration.* enum
* **See**: [Updates an App Integration Analytics](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/analytics/updates-an-app-integration-analytics)

#### AppIntegrationAuthenticationAPI

Manages authentication settings for app integrations.

**`createAppIntegrationAuthentication(params: ICreateAppIntegrationAuthenticationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthentication>>`**

**Creates a new app integration authentication.**

* **Parameters:**
  * `params` *ICreateAppIntegrationAuthenticationParams*\
    \&#xNAN;*The parameters for creating authentication.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationAuthenticationParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration id.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the app integration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the app integration.*
  * `projectId` *string* - min: 1\
    \&#xNAN;*The project Id of the app integration.*
  * `clientId` *string* - min: 1\
    \&#xNAN;*The client email of the app integration. This value is used for OAuth2 methods. For example, for Google OAuth2, this value is the email of the service account.*
  * `clientSecret` *string* - min: 1\
    \&#xNAN;*The client secret of the app integration. This value is used for OAuth2 methods. For example, for Google OAuth2, this value is the private key of the service account.*
  * `redirectURI` *string* - uri - min: 1\
    \&#xNAN;*The redirect URI of the app integration. After the user logs in, the user is redirected to this URI. This value is must be mapping with the application configuration on the OAuth2 provider.*
  * `scope` *string* - min: 1\
    \&#xNAN;*The scope of the app integration.*
  * `authEndpoint?` *string* - uri\
    \&#xNAN;*The authentication endpoint of the app integration.*
  * `tokenEndpoint?` *string* - uri\
    \&#xNAN;*The token endpoint of the app integration.*
  * `iconURL?` *string* - uri\
    \&#xNAN;*The icon URL of the app integration.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the app integration.*
  * `description?` *string*\
    \&#xNAN;*The description of the app integration.*
  * `status?` *AppIntegrationAuthenticationStatus*\
    \&#xNAN;*The status of the app integration.* enum
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the authentication integration is the default.* defaultValue `false`
* **See**: [Creates an App Integration Authentication](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/creates-an-app-integration-authentication)

**`createAppIntegrationAuthenticationWithImportFileSettings(params: ICreateAppIntegrationAuthenticationWithImportFileSettingsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthentication>>`**

**Creates a new app integration authentication with import file settings.**

* **Parameters:**
  * `params` *ICreateAppIntegrationAuthenticationWithImportFileSettingsParams*\
    \&#xNAN;*The parameters for creating authentication with import file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationAuthenticationWithImportFileSettingsParams Fields:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The app integration id.*
  * `file` *File* - min: 1\
    \&#xNAN;*The file setting to import.*
* **See**: [Create an App Integration Authentication by Import File](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/create-an-app-integration-authentication-by-import-file)

**`deleteAppIntegrationAuthentication(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration authentication by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the authentication.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration Authentication](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/deletes-an-app-integration-authentication)

**`getAppIntegrationAuthentication(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthentication>>`**

**Gets an app integration authentication by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the authentication.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration Authentication](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/gets-an-app-integration-authentication)

**`getAppsIntegrationAuthenticationWithBrand(params?: IGetAppIntegrationAuthenticationsWithBrandParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthentication[]>>`**

**Gets app integration authentications for a brand.**

* **Parameters:**
  * `params?` *IGetAppIntegrationAuthenticationsWithBrandParams*\
    \&#xNAN;*The parameters for getting authentications.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetAppIntegrationAuthenticationsWithBrandParams Fields:**
  * `appIntegrationId?` *string*\
    \&#xNAN;*The app integration id to filter.*
  * `code?` *string*\
    \&#xNAN;*The code to filter.*
  * `name?` *string*\
    \&#xNAN;*The name of filter.*
  * `description?` *string*\
    \&#xNAN;*The description of filter.*
  * `projectId?` *string*\
    \&#xNAN;*The project id of filter.*
  * `clientEmail?` *string*\
    \&#xNAN;*The client email of filter.*
  * `clientId?` *string*\
    \&#xNAN;*The client id of filter.*
  * `clientSecret?` *string*\
    \&#xNAN;*The client secret of filter.*
  * `privateKey?` *string*\
    \&#xNAN;*The private key of filter.*
  * `redirectURI?` *string* - uri\
    \&#xNAN;*The redirect URI of filter.*
  * `scope?` *string*\
    \&#xNAN;*The scope of filter.*
  * `authEndpoint?` *string* - uri\
    \&#xNAN;*The auth endpoint of filter.*
  * `tokenEndpoint?` *string* - uri\
    \&#xNAN;*The token endpoint of filter.*
  * `iconURL?` *string* - uri\
    \&#xNAN;*The icon URL of filter.*
  * `tags?` *string*\
    \&#xNAN;*The tags of filter.*
  * `status?` *AppIntegrationAuthenticationStatus*\
    \&#xNAN;*The status of filter.* string - enum - `0` - `Inactive` - `1` - `Active`
* **See**: [List the Apps Integration Authentication](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/list-the-apps-integration-authentication)

**`testBuildingAuthenticationURL(appIntegrationId: IdType, params: ITestBuildingAuthenticationURLParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`**

**Simulates building an authentication URL for an app integration to validate settings.**

* **Parameters:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The ID of the app integration.*
  * `params` *ITestBuildingAuthenticationURLParams*\
    \&#xNAN;*The parameters for testing authentication URL.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ITestBuildingAuthenticationURLParams Fields:**
  * `clientId` *string* - min: 1\
    \&#xNAN;*The client email of the app integration. This value is used for OAuth2 methods. For example, for Google OAuth2, this value is the email of the service account.*
  * `redirectURI` *string* - min: 1\
    \&#xNAN;*The redirect URI of the app integration. After the user logs in, the user is redirected to this URI.*
  * `scope` *string* - min: 1\
    \&#xNAN;*The scope of the app integration.*
  * `state?` *string*\
    \&#xNAN;*The state of the app integration.*
* **See**: [Test Building an Authentication URL](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/test-building-an-authentication-url)

**`updateAppIntegrationAuthentication(id: IdType, params: IUpdateAppIntegrationAuthenticationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthentication>>`**

**Updates an app integration authentication by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the authentication.*
  * `params` *IUpdateAppIntegrationAuthenticationParams*\
    \&#xNAN;*The parameters for updating authentication.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationAuthenticationParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration id.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the app integration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the app integration.*
  * `projectId` *string* - min: 1\
    \&#xNAN;*The project Id of the app integration.*
  * `clientId` *string* - min: 1\
    \&#xNAN;*The client email of the app integration. This value is used for OAuth2 methods. For example, for Google OAuth2, this value is the email of the service account.*
  * `clientSecret` *string* - min: 1\
    \&#xNAN;*The client secret of the app integration. This value is used for OAuth2 methods. For example, for Google OAuth2, this value is the private key of the service account.*
  * `redirectURI` *string* - uri - min: 1\
    \&#xNAN;*The redirect URI of the app integration. After the user logs in, the user is redirected to this URI. This value is must be mapping with the application configuration on the OAuth2 provider.*
  * `scope` *string* - min: 1\
    \&#xNAN;*The scope of the app integration.*
  * `authEndpoint?` *string* - uri\
    \&#xNAN;*The authentication endpoint of the app integration.*
  * `tokenEndpoint?` *string* - uri\
    \&#xNAN;*The token endpoint of the app integration.*
  * `iconURL?` *string* - uri\
    \&#xNAN;*The icon URL of the app integration.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the app integration.*
  * `description?` *string*\
    \&#xNAN;*The description of the app integration.*
  * `status?` *AppIntegrationAuthenticationStatus*\
    \&#xNAN;*The status of the app integration.* enum
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the authentication integration is the default.* defaultValue `false`
* **See**: [Updates an App Integration Authentication](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/authentication/updates-an-app-integration-authentication)

#### AppIntegrationPaymentGatewayAPI

Manages payment gateway integrations for apps.

**`createAppIntegrationPaymentGateway(params: ICreateAppIntegrationPaymentGatewayParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPaymentGateway>>`**

**Creates a new app integration payment gateway.**

* **Parameters:**
  * `params` *ICreateAppIntegrationPaymentGatewayParams*\
    \&#xNAN;*The parameters for creating payment gateway.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationPaymentGatewayParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration id of the payment gateway.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the payment gateway integration.*
  * `ipnListenerLink` *string* - uri - min: 1\
    \&#xNAN;*The IPN (Instant Payment Notification) listener link of the payment gateway. This endpoint will receive payment notifications from the gateway. For PayPal: This is your IPN listener URL for payment status updates. For Stripe: This would be your webhook URL for payment events.*
  * `cancelLinkWithoutLogin?` *string* - uri\
    \&#xNAN;*The payment link of the payment gateway. This is used when unauthenticated users cancel payment and need to be redirected. For PayPal/Stripe: Fallback URL when session is lost or user isn't logged in.*
  * `cancelLink` *string* - uri - min: 1\
    \&#xNAN;*The cancel link of the payment gateway. Users will be redirected here when they cancel a payment. For PayPal: Set as the cancel\_url in PayPal checkout. For Stripe: Used as cancel\_url in Stripe Checkout sessions.*
  * `returnLink` *string* - uri - min: 1\
    \&#xNAN;*The return link of the payment gateway. Users will be redirected here after successful payment. For PayPal: Set as the return\_url in PayPal checkout. For Stripe: Used as success\_url in Stripe Checkout sessions.*
  * `publicKey` *string* - min: 1\
    \&#xNAN;*The public key of the payment gateway. For PayPal: Client ID from your PayPal app credentials. For Stripe: Publishable key from your Stripe dashboard.*
  * `privateKey` *string* - min: 1\
    \&#xNAN;*The private key of the payment gateway. For PayPal: Secret from your PayPal app credentials. For Stripe: Secret key from your Stripe dashboard.*
  * `description?` *string*\
    \&#xNAN;*Description of the payment gateway. For PayPal/Stripe: Optional description that appears in your dashboard.*
  * `notes?` *string*\
    \&#xNAN;*The notes of the payment gateway. For PayPal/Stripe: Internal notes about this integration.*
  * `testMode?` *boolean*\
    \&#xNAN;*Flag to indicate if the payment gateway is in test mode. When true, transactions will use the provider's sandbox environment. For PayPal: Uses <https://api.sandbox.paypal.com> instead of production. For Stripe: Uses test mode keys and endpoints.* defaultValue `false`
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the payment gateway integration is the default.*
  * `status?` *AppIntegrationPaymentGatewayStatus*\
    \&#xNAN;*The status of the payment gateway integration.* enum
* **See**: [Creates an App Integration Payment Gateway](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/creates-an-app-integration-payment-gateway)

**`deleteAppIntegrationPaymentGateway(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration payment gateway by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the payment gateway.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration Payment Gateway](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/deletes-an-app-integration-payment-gateway)

**`getAppIntegrationPaymentGateway(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPaymentGateway>>`**

**Gets an app integration payment gateway by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the payment gateway.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration Payment Gateway](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/gets-an-app-integration-payment-gateway)

**`getAppsIntegrationPaymentGatewayWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPaymentGateway[]>>`**

**Gets the list of app integration payment gateways for the current brand.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets App Integration Payment Gateways with Brand](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/gets-app-integration-payment-gateways-with-brand)

**`testCreatingCheckoutLink(appIntegrationId: IdType, params: ITestCreatingCheckoutLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`**

**Tests generating a checkout link for an app integration.**

* **Parameters:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The ID of the app integration.*
  * `params` *ITestCreatingCheckoutLinkParams*\
    \&#xNAN;*The parameters for testing checkout link creation.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ITestCreatingCheckoutLinkParams Fields:**
  * `product` *IAppIntegrationPaymentGatewayProduct*\
    \&#xNAN;*This class represents the Checkout Payment Request PayPal Data Transfer Object.* object
  * `publicKey` *string* - min: 1\
    \&#xNAN;*The public key of the payment gateway used for authentication. For PayPal: Client ID from your PayPal app credentials (used with OAuth 2.0). For Stripe: Publishable key from your Stripe dashboard (used client-side).*
  * `privateKey` *string* - min: 1\
    \&#xNAN;*The private key of the payment gateway used for secure server-side operations. For PayPal: Secret from your PayPal app credentials. For Stripe: Secret key from your Stripe dashboard (used for server-side API calls). Note: This should never be exposed to client-side code.*
  * `displayName` *string* - min: 1 - max: 127\
    \&#xNAN;*The display name shown to customers during checkout. For PayPal: Appears as the merchant name during PayPal checkout flow. For Stripe: Displayed as the company name on Stripe Checkout pages. Maximum length is typically 127 characters for most payment providers.*
* **See**: [Test Create Checkout Link](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/test-create-checkout-link)

**`updateAppIntegrationPaymentGateway(id: IdType, params: IUpdateAppIntegrationPaymentGatewayParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPaymentGateway>>`**

**Updates an app integration payment gateway by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the payment gateway.*
  * `params` *IUpdateAppIntegrationPaymentGatewayParams*\
    \&#xNAN;*The parameters for updating payment gateway.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationPaymentGatewayParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration id of the payment gateway.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the payment gateway integration.*
  * `ipnListenerLink` *string* - uri - min: 1\
    \&#xNAN;*The IPN (Instant Payment Notification) listener link of the payment gateway. This endpoint will receive payment notifications from the gateway. For PayPal: This is your IPN listener URL for payment status updates. For Stripe: This would be your webhook URL for payment events.*
  * `cancelLinkWithoutLogin?` *string* - uri\
    \&#xNAN;*The payment link of the payment gateway. This is used when unauthenticated users cancel payment and need to be redirected. For PayPal/Stripe: Fallback URL when session is lost or user isn't logged in.*
  * `cancelLink` *string* - uri - min: 1\
    \&#xNAN;*The cancel link of the payment gateway. Users will be redirected here when they cancel a payment. For PayPal: Set as the cancel\_url in PayPal checkout. For Stripe: Used as cancel\_url in Stripe Checkout sessions.*
  * `returnLink` *string* - uri - min: 1\
    \&#xNAN;*The return link of the payment gateway. Users will be redirected here after successful payment. For PayPal: Set as the return\_url in PayPal checkout. For Stripe: Used as success\_url in Stripe Checkout sessions.*
  * `publicKey` *string* - min: 1\
    \&#xNAN;*The public key of the payment gateway. For PayPal: Client ID from your PayPal app credentials. For Stripe: Publishable key from your Stripe dashboard.*
  * `privateKey` *string* - min: 1\
    \&#xNAN;*The private key of the payment gateway. For PayPal: Secret from your PayPal app credentials. For Stripe: Secret key from your Stripe dashboard.*
  * `description?` *string*\
    \&#xNAN;*Description of the payment gateway. For PayPal/Stripe: Optional description that appears in your dashboard.*
  * `notes?` *string*\
    \&#xNAN;*The notes of the payment gateway. For PayPal/Stripe: Internal notes about this integration.*
  * `testMode?` *boolean*\
    \&#xNAN;*Flag to indicate if the payment gateway is in test mode. When true, transactions will use the provider's sandbox environment. For PayPal: Uses <https://api.sandbox.paypal.com> instead of production. For Stripe: Uses test mode keys and endpoints.* defaultValue `false`
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the payment gateway integration is the default.*
  * `status?` *AppIntegrationPaymentGatewayStatus*\
    \&#xNAN;*The status of the payment gateway integration.* enum
* **See**: [Updates an App Integration Payment Gateway](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/payment-gateway/updates-an-app-integration-payment-gateway)

#### AppIntegrationPushNotificationAPI

Manages push notification integrations for apps.

**`createAppIntegrationPushNotification(params: ICreateAppIntegrationPushNotificationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPushNotification>>`**

**Creates a new app integration push notification.**

* **Parameters:**
  * `params` *ICreateAppIntegrationPushNotificationParams*\
    \&#xNAN;*The parameters for creating push notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationPushNotificationParams Fields:**
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*The app integration provider ID of the push notification.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the push notification.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the push notification.*
  * `projectId` *IdType* - min: 1\
    \&#xNAN;*The project ID of the push notification.*
  * `clientEmail` *string* - min: 1\
    \&#xNAN;*The client email of the push notification.*
  * `clientId?` *string* - min: 1\
    \&#xNAN;*The client ID of the push notification.*
  * `privateKey` *string* - min: 1\
    \&#xNAN;*The private key of the push notification.*
  * `authURL?` *string* - uri\
    \&#xNAN;*The authentication URL of the push notification.*
  * `tokenURL?` *string* - uri\
    \&#xNAN;*The token URL of the push notification.*
  * `authProviderX509CertURL?` *string* - uri\
    \&#xNAN;*The authentication provider X509 certificate URL of the push notification.*
  * `clientX509CertURL?` *string* - uri\
    \&#xNAN;*The client X509 certificate URL of the push notification.*
  * `universeDomain?` *string*\
    \&#xNAN;*The universe domain of the push notification.*
  * `apiKey?` *string*\
    \&#xNAN;*The API key of the push notification.*
  * `authDomain?` *string*\
    \&#xNAN;*The authentication domain of the push notification.*
  * `storageBucket?` *string*\
    \&#xNAN;*The storage bucket of the push notification.*
  * `messagingSenderId?` *string*\
    \&#xNAN;*The messaging sender ID of the push notification.*
  * `appId?` *string*\
    \&#xNAN;*The app ID of the push notification. Use projectId instead if using Firebase service.*
  * `measurementId?` *string*\
    \&#xNAN;*The measurement ID of the push notification.*
  * `vapidKey?` *string*\
    \&#xNAN;*The VAPID key of the push notification.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the push notification integration is the default.* defaultValue `false`
* **See**: [Create an App Integration Push Notification](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/create-an-app-integration-push-notification)

**`createAppIntegrationPushNotificationWithImportFileSettings(params: ICreateAppIntegrationPushNotificationWithImportFileSettingsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPushNotification>>`**

**Creates a new app integration push notification with import file settings.**

* **Parameters:**
  * `params` *ICreateAppIntegrationPushNotificationWithImportFileSettingsParams*\
    \&#xNAN;*The parameters for creating push notification with import file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationPushNotificationWithImportFileSettingsParams Fields:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The app integration id.*
  * `file` *File* - min: 1\
    \&#xNAN;*The file setting to import.*
* **See**: [Create an App Integration Push Notification by Import File](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/create-an-app-integration-push-notification-by-import-file)

**`deleteAppIntegrationPushNotification(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration push notification by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the push notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an App Integration Push Notification](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/delete-an-app-integration-push-notification)

**`getAppIntegrationPushNotification(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPushNotification>>`**

**Gets an app integration push notification by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the push notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an App Integration Push Notification](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/get-an-app-integration-push-notification)

**`getAppIntegrationPushNotificationsWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPushNotification[]>>`**

**Gets the current brand's app integration push notifications.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get App Integration Push Notification with Brand](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/get-app-integration-push-notification-with-brand)

**`updateAppIntegrationPushNotification(id: IdType, params: IUpdateAppIntegrationPushNotificationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationPushNotification>>`**

**Updates an app integration push notification by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the push notification.*
  * `params` *IUpdateAppIntegrationPushNotificationParams*\
    \&#xNAN;*The parameters for updating push notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationPushNotificationParams Fields:**
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*The app integration provider ID of the push notification.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the push notification.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the push notification.*
  * `projectId` *IdType* - min: 1\
    \&#xNAN;*The project ID of the push notification.*
  * `clientEmail` *string* - min: 1\
    \&#xNAN;*The client email of the push notification.*
  * `clientId?` *string* - min: 1\
    \&#xNAN;*The client ID of the push notification.*
  * `privateKey` *string* - min: 1\
    \&#xNAN;*The private key of the push notification.*
  * `authURL?` *string* - uri\
    \&#xNAN;*The authentication URL of the push notification.*
  * `tokenURL?` *string* - uri\
    \&#xNAN;*The token URL of the push notification.*
  * `authProviderX509CertURL?` *string* - uri\
    \&#xNAN;*The authentication provider X509 certificate URL of the push notification.*
  * `clientX509CertURL?` *string* - uri\
    \&#xNAN;*The client X509 certificate URL of the push notification.*
  * `universeDomain?` *string*\
    \&#xNAN;*The universe domain of the push notification.*
  * `apiKey?` *string*\
    \&#xNAN;*The API key of the push notification.*
  * `authDomain?` *string*\
    \&#xNAN;*The authentication domain of the push notification.*
  * `storageBucket?` *string*\
    \&#xNAN;*The storage bucket of the push notification.*
  * `messagingSenderId?` *string*\
    \&#xNAN;*The messaging sender ID of the push notification.*
  * `appId?` *string*\
    \&#xNAN;*The app ID of the push notification. Use projectId instead if using Firebase service.*
  * `measurementId?` *string*\
    \&#xNAN;*The measurement ID of the push notification.*
  * `vapidKey?` *string*\
    \&#xNAN;*The VAPID key of the push notification.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the push notification integration is the default.* defaultValue `false`
* **See**: [Update an App Integration Push Notification](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/push-notification/update-an-app-integration-push-notification)

#### AppIntegrationReCAPTCHAAPI

Manages reCAPTCHA integrations for apps.

**`createAppIntegrationReCAPTCHA(params: ICreateAppIntegrationReCAPTCHAParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationReCAPTCHA>>`**

**Creates a new app integration reCAPTCHA.**

* **Parameters:**
  * `params` *ICreateAppIntegrationReCAPTCHAParams*\
    \&#xNAN;*The parameters for creating reCAPTCHA.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationReCAPTCHAParams Fields:**
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*This is used to associate this configuration with a specific integration instance.*
  * `version` *string* - min: 1\
    \&#xNAN;*Gets or sets the version of the ReCaptcha being used (e.g., v2, v3). Different versions may have different behavior and setup requirements.*
  * `siteKey` *string* - min: 1\
    \&#xNAN;*This is the public key used on the client-side to render the ReCaptcha widget.*
  * `verifyURL?` *string* - uri\
    \&#xNAN;*The verify URL of the app integration.*
  * `secretKey?` *string* - min: 1\
    \&#xNAN;*This is the private key used server-side to validate ReCaptcha responses. It's optional to allow scenarios where only public configuration is required.*
  * `accountConfigNotes?` *string* - min: 1\
    \&#xNAN;*Gets or sets any additional notes or identifiers related to the account or setup that manages this ReCaptcha configuration.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the analytics integration is the default.* default `false`
  * `status?` *AppIntegrationReCAPTCHAStatus*\
    \&#xNAN;*The status of the app integration.* enum
* **See**: [Creates an App Integration reCAPTCHA](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/recaptcha/creates-an-app-integration-recaptcha)

**`deleteAppIntegrationReCAPTCHA(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration reCAPTCHA by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the reCAPTCHA.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration reCAPTCHA](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/recaptcha/deletes-an-app-integration-recaptcha)

**`getAppIntegrationReCAPTCHA(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationReCAPTCHA>>`**

**Gets an app integration reCAPTCHA by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the reCAPTCHA.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration reCAPTCHA](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/recaptcha/gets-an-app-integration-recaptcha)

**`getAppsIntegrationReCAPTCHAWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationReCAPTCHA[]>>`**

**Lists all app integration reCAPTCHAs.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Apps Integration reCAPTCHA](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/recaptcha/get-apps-integration-recaptcha)

**`updateAppIntegrationReCAPTCHA(params: IUpdateAppIntegrationReCAPTCHAParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationReCAPTCHA>>`**

**Updates an app integration reCAPTCHA by ID.**

* **Parameters:**
  * `params` *IUpdateAppIntegrationReCAPTCHAParams*\
    \&#xNAN;*The parameters for updating reCAPTCHA.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationReCAPTCHAParams Fields:**
  * `id` *IdType*\
    \&#xNAN;*The app integration ReCaptcha id.*
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*This is used to associate this configuration with a specific integration instance.*
  * `version` *string* - min: 1\
    \&#xNAN;*Gets or sets the version of the ReCaptcha being used (e.g., v2, v3). Different versions may have different behavior and setup requirements.*
  * `siteKey` *string* - min: 1\
    \&#xNAN;*This is the public key used on the client-side to render the ReCaptcha widget.*
  * `verifyURL?` *string* - uri\
    \&#xNAN;*The verify URL of the app integration.*
  * `secretKey?` *string* - min: 1\
    \&#xNAN;*This is the private key used server-side to validate ReCaptcha responses. It's optional to allow scenarios where only public configuration is required.*
  * `accountConfigNotes?` *string* - min: 1\
    \&#xNAN;*Gets or sets any additional notes or identifiers related to the account or setup that manages this ReCaptcha configuration.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the analytics integration is the default.* default `false`
  * `status?` *AppIntegrationReCAPTCHAStatus*\
    \&#xNAN;*The status of the app integration.* enum
* **See**: [Updates an App Integration reCAPTCHA](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/recaptcha/updates-an-app-integration-recaptcha)

#### AppIntegrationSMSAPI

Manages SMS integrations for apps.

**`createAppIntegrationSMS(params: ICreateAppIntegrationSMSParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMS>>`**

**Creates a new app integration SMS.**

* **Parameters:**
  * `params` *ICreateAppIntegrationSMSParams*\
    \&#xNAN;*The parameters for creating SMS integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationSMSParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration provider ID of the SMS.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the SMS integration.*
  * `username` *string* - min: 1\
    \&#xNAN;*The username or identifier for the SMS integration. For Twilio, this is the Account SID (String Identifier).*
  * `password` *string* - min: 1\
    \&#xNAN;*The password or authentication token for the SMS integration. For Twilio, this is the Auth Token.*
  * `phoneNumber` *string* - min: 1\
    \&#xNAN;*The phone number of the SMS integration. The phone number should be following the E.164 format.*
  * `description?` *string*\
    \&#xNAN;*The description of the SMS integration.*
  * `status?` *AppIntegrationSMSStatus*\
    \&#xNAN;*The status of the app integration.* enum
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the app integration SMS setting is default.* defaultValue `false`
* **See**: [Creates an App Integration SMS](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/creates-an-app-integration-sms)

**`deleteAppIntegrationSMS(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration SMS by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMS integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration SMS](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/deletes-an-app-integration-sms)

**`getAppIntegrationSMS(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMS>>`**

**Gets an app integration SMS by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMS integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration SMS](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/gets-an-app-integration-sms)

**`getAppsIntegrationSMSWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMS[]>>`**

**Lists all app integration SMS.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration SMS with Brand](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/gets-an-app-integration-sms-with-brand)

**`testSendingSMSMessage(appIntegrationId: IdType, params: ITestSendingSMSMessageParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Sends a test SMS message using the configured SMS integration settings.**

* **Parameters:**
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The ID of the app integration.*
  * `params` *ITestSendingSMSMessageParams*\
    \&#xNAN;*The parameters for testing sending an SMS message.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ITestSendingSMSMessageParams Fields:**
  * `username` *string* - min: 1\
    \&#xNAN;*The username or identifier for the SMS integration. For Twilio, this is the Account SID (String Identifier).*
  * `password` *string* - min: 1\
    \&#xNAN;*The password or authentication token for the SMS integration. For Twilio, this is the Auth Token.*
  * `phoneNumberFrom` *string* - min: 1\
    \&#xNAN;*The sender's phone number used by the SMS integration. Must be in E.164 format (e.g., +1234567890).*
  * `phoneNumberTo` *string* - min: 1\
    \&#xNAN;*The recipient's phone number to which the test SMS will be sent. Must be in E.164 format (e.g., +1234567890).*
  * `message` *string* - min: 1\
    \&#xNAN;*The content of the SMS message to be sent during the test.*
* **See**: [Send SMS Test Message](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/send-sms-test-message)

**`updateAppIntegrationSMS(id: IdType, params: IUpdateAppIntegrationSMSParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMS>>`**

**Updates an app integration SMS by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMS integration.*
  * `params` *IUpdateAppIntegrationSMSParams*\
    \&#xNAN;*The parameters for updating SMS integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationSMSParams Fields:**
  * `appIntegrationId` *string* - min: 1\
    \&#xNAN;*The app integration provider ID of the SMS.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the SMS integration.*
  * `username` *string* - min: 1\
    \&#xNAN;*The username or identifier for the SMS integration. For Twilio, this is the Account SID (String Identifier).*
  * `password` *string* - min: 1\
    \&#xNAN;*The password or authentication token for the SMS integration. For Twilio, this is the Auth Token.*
  * `phoneNumber` *string* - min: 1\
    \&#xNAN;*The phone number of the SMS integration. The phone number should be following the E.164 format.*
  * `description?` *string*\
    \&#xNAN;*The description of the SMS integration.*
  * `status?` *AppIntegrationSMSStatus*\
    \&#xNAN;*The status of the app integration.* enum
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the app integration SMS setting is default.* defaultValue `false`
* **See**: [Updates an App Integration SMS](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/sms/update-an-app-integration-sms)

#### AppIntegrationSMTPAPI

Manages SMTP integrations for apps.

**`createAppIntegrationSMTP(params: ICreateAppIntegrationSMTPParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMTP>>`**

**Creates a new app integration SMTP.**

* **Parameters:**
  * `params` *ICreateAppIntegrationSMTPParams*\
    \&#xNAN;*The parameters for creating SMTP integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateAppIntegrationSMTPParams Fields:**
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*The type of the SMTP integration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the SMTP integration.*
  * `host` *string* - min: 1\
    \&#xNAN;*The host of the SMTP integration.*
  * `port` *number* - int32\
    \&#xNAN;*The port of the SMTP integration.*
  * `username` *string* - min: 1\
    \&#xNAN;*The username of the SMTP integration.*
  * `password` *string* - min: 1\
    \&#xNAN;*The password of the SMTP integration.*
  * `useTls?` *boolean*\
    \&#xNAN;*Flag to indicate if the SMTP integration uses TLS.* defaultValue `false`
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the SMTP integration is the default.* defaultValue `false`
  * `description?` *string*\
    \&#xNAN;*The description of the SMTP integration.*
  * `status?` *AppIntegrationSMTPStatus*\
    \&#xNAN;*The status of the SMTP integration.* enum
* **See**: [Creates an App Integration SMTP](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/creates-an-app-integration-smtp)

**`deleteAppIntegrationSMTP(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an app integration SMTP by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMTP integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deletes an App Integration SMTP](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/deletes-an-app-integration-smtp)

**`getAppIntegrationSMTP(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMTP>>`**

**Gets an app integration SMTP by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMTP integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration SMTP](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/gets-an-app-integration-smtp)

**`getAppsIntegrationSMTPWithBrand(config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMTP[]>>`**

**Gets app integration SMTPs for a brand.**

* **Parameters:**
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets an App Integration SMTP with Brand](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/gets-an-app-integration-smtp-with-brand)

**`testSendingEmailAddress(params: ITestSendingEmailAddressParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Sends a test email using the configured SMTP integration settings.**

* **Parameters:**
  * `params` *ITestSendingEmailAddressParams*\
    \&#xNAN;*The parameters for testing email sending.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ITestSendingEmailAddressParams Fields:**
  * `host` *string* - min: 1\
    \&#xNAN;*The SMTP server hostname or IP (e.g., smtp.gmail.com).*
  * `port` *number* - int32\
    \&#xNAN;*The port number for the SMTP server (typically 587 or 465).*
  * `username` *string* - min: 1\
    \&#xNAN;*The username/email address for SMTP authentication.*
  * `password` *string* - min: 1\
    \&#xNAN;*The password for SMTP authentication.*
  * `useTls` *boolean*\
    \&#xNAN;*Whether to enable SSL for SMTP connection.*
  * `emailAddressFrom` *string* - min: 1\
    \&#xNAN;*The sender email address.*
  * `emailAddressTo` *string* - min: 1\
    \&#xNAN;*The recipient email address.*
  * `subject` *string* - min: 1\
    \&#xNAN;*The subject of the test email.*
  * `body` *string* - min: 1\
    \&#xNAN;*The body content of the test email.*
* **See**: [Send Test Email](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/send-test-email)

**`updateAppIntegrationSMTP(id: IdType, params: IUpdateAppIntegrationSMTPParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationSMTP>>`**

**Updates an app integration SMTP by ID.**

* **Parameters:**
  * `id` *IdType*\
    \&#xNAN;*The ID of the SMTP integration.*
  * `params` *IUpdateAppIntegrationSMTPParams*\
    \&#xNAN;*The parameters for updating SMTP integration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateAppIntegrationSMTPParams Fields:**
  * `appIntegrationId` *IdType* - min: 1\
    \&#xNAN;*The type of the SMTP integration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the SMTP integration.*
  * `host` *string* - min: 1\
    \&#xNAN;*The host of the SMTP integration.*
  * `port` *number* - int32\
    \&#xNAN;*The port of the SMTP integration.*
  * `username` *string* - min: 1\
    \&#xNAN;*The username of the SMTP integration.*
  * `password` *string* - min: 1\
    \&#xNAN;*The password of the SMTP integration.*
  * `useTls?` *boolean*\
    \&#xNAN;*Flag to indicate if the SMTP integration uses TLS.* defaultValue `false`
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the SMTP integration is the default.* defaultValue `false`
  * `description?` *string*\
    \&#xNAN;*The description of the SMTP integration.*
  * `status?` *AppIntegrationSMTPStatus*\
    \&#xNAN;*The status of the SMTP integration.* enum
* **See**: [Updates an App Integration SMTP](https://developers.jframework.io/references/api-reference/endpoints/app-integrations/smtp/update-an-app-integration-smtp)

### BrandAPI

Manages brand-related operations.

**`checkDomainIfExists(domain: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Checks if a brand exists by domain.**

* **Parameters**:
  * `domain` *string*\
    \&#xNAN;*The domain to check.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Check Domain Exists](https://developers.jframework.io/references/api-reference/endpoints/brands/check-domain-exists)

**`createBrand(params: ICreateBrandParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrand>>`**

**Creates a new brand.**

* **Parameters**:
  * `params` *ICreateBrandParams*\
    \&#xNAN;*Parameters for creating a brand.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateBrandParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the brand.*
  * `abbr` *string* - min: 1\
    \&#xNAN;*The abbreviation of the brand.*
  * `description?` *string*\
    \&#xNAN;*The description of the brand.*
  * `setting` *ICreateBrandSettingParams*\
    \&#xNAN;*The setting of the brand.*
  * `profile` *ICreateBrandProfileParams*\
    \&#xNAN;*The profile of the brand.*
* **ICreateBrandSettingParams Fields**:
  * `domain` *string* - min: 1\
    \&#xNAN;*The domain of the brand. The value is the subdomain of the brand.*
* **ICreateBrandProfileParams Fields**:
  * `logoUrl?` *string* - uri\
    \&#xNAN;*The logo URL of the brand.*
  * `faviconUrl?` *string* - uri\
    \&#xNAN;*The favicon URL of the brand.*
  * `slogan?` *string*\
    \&#xNAN;*The slogan of the brand, used with the brand name in page titles.*
* **See**: [Create a Brand](https://developers.jframework.io/references/api-reference/endpoints/brands/create-a-brand)

**`generateNewDomain(config?: AxiosRequestConfig) => Promise<HttpResponse<IGeneratedDomain>>`**

**Generates a new, unused domain name.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGeneratedDomain Fields**:
  * `rootDomain` *string* - min: 1\
    \&#xNAN;*The root part of the domain, typically the main domain name.*
  * `subDomain` *string* - min: 1\
    \&#xNAN;*The subdomain part, often used to identify a specific brand or service.*
  * `fullDomain` *string* - min: 1\
    \&#xNAN;*The full domain name, combining the root domain and subdomain.*
* **See**: [Generate Domain](https://developers.jframework.io/references/api-reference/endpoints/brands/generate-domain)

**`getBrand(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrand>>`**

**Gets a brand by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Brand](https://developers.jframework.io/references/api-reference/endpoints/brands/get-a-brand)

**`getBrandByURL(config?: AxiosRequestConfig) => Promise<HttpResponse<IBrand>>`**

**Gets a brand based on the client or host domain.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Brand by Brand URL](https://developers.jframework.io/references/api-reference/endpoints/brands/get-a-brand-by-brand-url)

**`getBrands(params?: IGetBrandsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IBrand>>`**

**Gets brands by filter.**

* **Parameters**:
  * `params?` *IGetBrandsParams*\
    \&#xNAN;*Parameters for getting brands.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetBrandsParams Fields**:
  * `code?` *string*\
    \&#xNAN;*The code of the brand.*
  * `name?` *string*\
    \&#xNAN;*The name of the brand.*
  * `abbr?` *string*\
    \&#xNAN;*The abbreviation of the brand.*
  * `description?` *string*\
    \&#xNAN;*The description of the brand.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the brand.*
  * `status?` *BrandStatus*\
    \&#xNAN;*The status of the brand.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords of the brand.*
* **See**: [Get Brands](https://developers.jframework.io/references/api-reference/endpoints/brands/get-brands)

**`updateBrand(id: IdType, params: IUpdateBrandParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Updates a brand by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `params` *IUpdateBrandParams*\
    \&#xNAN;*Parameters for updating a brand.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateBrandParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the brand.*
  * `abbr` *string* - min: 1\
    \&#xNAN;*The abbreviation of the brand.*
  * `description?` *string*\
    \&#xNAN;*The description of the brand.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the brand.*
* **See**: [Update a Brand](https://developers.jframework.io/references/api-reference/endpoints/brands/update-a-brand)

#### BrandProfileAPI

Manages brand profile operations.

**`updateBrandProfile(id: IdType, params: IUpdateBrandProfileParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Updates a brand's profile by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `params` *IUpdateBrandProfileParams*\
    \&#xNAN;*Parameters for updating the brand profile.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateBrandProfileParams Fields**:
  * `slogan` *string* - min: 1\
    \&#xNAN;*The slogan of the brand.*
  * `logoURL?` *string* - uri\
    \&#xNAN;*The logo URL of the brand.*
  * `faviconURL?` *string* - uri\
    \&#xNAN;*The favicon URL of the brand.*
  * `primaryColor?` *string*\
    \&#xNAN;*The primary color for actions, buttons, and text links. Accepts 3 or 6 digit hex code values.*
  * `primaryColorHover?` *string*\
    \&#xNAN;*The hover color for primary actions, buttons, and text links. Accepts 3 or 6 digit hex code values.*
  * `secondaryColor?` *string*\
    \&#xNAN;*The secondary color for background accents in the UI. Accepts 3 or 6 digit hex code values.*
  * `tertiaryColor?` *string*\
    \&#xNAN;*The tertiary color for background accents in the UI. Accepts 3 or 6 digit hex code values.*
* **See**: [Update a Brand Profile](https://developers.jframework.io/references/api-reference/endpoints/brands/update-a-brand-profile)

#### BrandSettingAPI

Manages brand setting operations.

**`updateBrandSetting(id: IdType, params: IUpdateBrandSettingParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Updates a brand's settings by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `params` *IUpdateBrandSettingParams*\
    \&#xNAN;*Parameters for updating brand settings.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateBrandSettingParams Fields**:
  * `domainWhiteListURLs?` *string*\
    \&#xNAN;*The whitelisted domain URLs for the brand.*
  * `googleAnalyticsAccount?` *string*\
    \&#xNAN;*The Google Analytics account ID for tracking.*
  * `reCaptchaKey?` *string*\
    \&#xNAN;*The reCAPTCHA key for verification.*
  * `coinCurrencyCode?` *string*\
    \&#xNAN;*The coin earning code of the brand system.*
  * `cdnURL?` *string*\
    \&#xNAN;*The CDN URL for serving assets.*
  * `cdnFolder?` *string*\
    \&#xNAN;*The CDN folder path for organizing assets.*
  * `passwordPolicyLevel?` *PasswordPolicyLevel*\
    \&#xNAN;*The password policy level. Options: 1 - Low, 2 - Medium, 3 - High.*
* **See**: [Update a Brand Setting](https://developers.jframework.io/references/api-reference/endpoints/brands/update-a-brand-setting)

#### EmailAddressAPI

Manages email addresses associated with brands.

**`createEmailAddress(params: ICreateEmailAddressParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IEmailAddress>>`**

**Creates an email address for a brand.**

* **Parameters**:
  * `params` *ICreateEmailAddressParams*\
    \&#xNAN;*Parameters for creating an email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateEmailAddressParams Fields**:
  * `brandId` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `placeholderKeyTitle?` *string*\
    \&#xNAN;*The placeholder key for the email title, related to email templates.*
  * `title` *string* - min: 1\
    \&#xNAN;*The title of the email address.*
  * `placeholderKeyEmailAddress?` *string*\
    \&#xNAN;*The placeholder key for the email address, related to email templates.*
  * `emailAddress` *string* - email - min: 1\
    \&#xNAN;*The email address value.*
  * `description?` *string*\
    \&#xNAN;*The description of the email address.*
* **See**: [Create an Email Address](https://developers.jframework.io/references/api-reference/endpoints/brands/email-addresses/create-an-email-address)

**`deleteEmailAddress(params: IDeleteEmailAddressParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes an email address.**

* **Parameters**:
  * `params` *IDeleteEmailAddressParams*\
    \&#xNAN;*Parameters for deleting an email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IDeleteEmailAddressParams Fields**:
  * `brandId` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `emailAddressId` *IdType*\
    \&#xNAN;*The ID of the email address to delete.*
* **See**: [Delete an Email Address](https://developers.jframework.io/references/api-reference/endpoints/brands/email-addresses/delete-an-email-address)

**`getEmailAddress(params: IGetEmailAddressParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IEmailAddress>>`**

**Gets an email address.**

* **Parameters**:
  * `params` *IGetEmailAddressParams*\
    \&#xNAN;*Parameters for getting an email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetEmailAddressParams Fields**:
  * `brandId` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `emailAddressId` *IdType*\
    \&#xNAN;*The ID of the email address to retrieve.*
* **See**: [Get an Email Address](https://developers.jframework.io/references/api-reference/endpoints/brands/email-addresses/get-an-email-address)

**`getEmailAddresses(brandId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IEmailAddress[]>>`**

**Gets email addresses for a brand.**

* **Parameters**:
  * `brandId` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Email Addresses](https://developers.jframework.io/references/api-reference/endpoints/brands/email-addresses/get-email-addresses)

**`updateEmailAddress(emailAddressId: IdType, params: IUpdateEmailAddressParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IEmailAddress>>`**

**Updates an email address.**

* **Parameters**:
  * `emailAddressId` *IdType*\
    \&#xNAN;*The ID of the email address.*
  * `params` *IUpdateEmailAddressParams*\
    \&#xNAN;*Parameters for updating an email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateEmailAddressParams Fields**:
  * `brandId` *IdType*\
    \&#xNAN;*The ID of the brand.*
  * `placeholderKeyTitle?` *string*\
    \&#xNAN;*The placeholder key for the email title, related to email templates.*
  * `title` *string* - min: 1\
    \&#xNAN;*The title of the email address.*
  * `placeholderKeyEmailAddress?` *string*\
    \&#xNAN;*The placeholder key for the email address, related to email templates.*
  * `emailAddress` *string* - email - min: 1\
    \&#xNAN;*The email address value.*
  * `description?` *string*\
    \&#xNAN;*The description of the email address.*
* **See**: [Update an Email Address](https://developers.jframework.io/references/api-reference/endpoints/brands/email-addresses/update-an-email-address)

### CDN API

The `cdn` object manages files on the Content Delivery Network (CDN).

#### `deleteFileCDN(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a file from the CDN.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a File CDN](https://developers.jframework.io/references/api-reference/endpoints/cdn/delete-a-file-cdn)

#### `getFileCDN(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IFileCDN>>`

**Gets a file from the CDN by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a File CDN](https://developers.jframework.io/references/api-reference/endpoints/cdn/get-a-file-cdn)

#### `getFilesCDN(params?: IGetFilesCDNParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IFileCDN>>`

**Gets a list of CDN items.**

* **Parameters**:
  * `params?` *IGetFilesCDNParams*\
    \&#xNAN;*Parameters for getting CDN files.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetFilesCDNParams Fields**:
  * `userId?` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `refObject?` *string*\
    \&#xNAN;*The reference object for filtering.*
  * `refId?` *number* - int64\
    \&#xNAN;*The reference identifier for filtering.*
  * `mimeType?` *string*\
    \&#xNAN;*The MIME type for filtering.*
  * `originalFilename?` *string*\
    \&#xNAN;*The original file name for filtering.*
* **See**: [Get Files CDN](https://developers.jframework.io/references/api-reference/endpoints/cdn/get-files-cdn)

#### `uploadFileCDN(params: IUploadFileParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IUploadedFileCDN>>`

**Uploads a file to the CDN. The `CdnPathType` specifies the root folder, defaulting to "User".**

* **Parameters**:
  * `params` *IUploadFileParams*\
    \&#xNAN;*Parameters for uploading a file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUploadFileParams Fields**:
  * `zOrder?` *number* - int64\
    \&#xNAN;*The z-order of the uploaded file. Default value is 0 (e.g., 1, 2, 3, etc.).*
  * `uploadFile` *File*\
    \&#xNAN;*The file to upload.*
  * `fileName?` *string*\
    \&#xNAN;*The name to save the file as (e.g., "profile.jpg", "feedback.png"). If not set, uses the uploaded file's name.*
  * `prefixFolder?` *string*\
    \&#xNAN;*The prefix folder before the file name (e.g., "profile", "assets").*
  * `refObject?` *string*\
    \&#xNAN;*The object reference for the uploaded file.*
  * `refId?` *IdType* - int64\
    \&#xNAN;*The reference ID of the uploaded file, used to reference the object ID.*
  * `notes?` *string*\
    \&#xNAN;*Notes for the uploaded file (e.g., "Profile picture", "Feedback screenshot").*
  * `tags?` *string*\
    \&#xNAN;*Tags for the uploaded file (e.g., "#MyProfile", "#Feedback").*
  * `cdnPathType?` *CDNFilePathType*\
    \&#xNAN;*The CDN path type specifying the root folder.*
  * `testMode?` *boolean*\
    \&#xNAN;*Indicates if the file upload is in test mode.*
* **See**: [Upload File](https://developers.jframework.io/references/api-reference/endpoints/cdn/upload-file)

#### `uploadFile(params: IUploadFileParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IUploadedFileCDN>>`

**Deprecated. Use `uploadFileCDN` instead.**

* **Parameters**:
  * `params` *IUploadFileParams*\
    \&#xNAN;*Parameters for uploading a file.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUploadFileParams Fields**:
  * `zOrder?` *number* - int64\
    \&#xNAN;*The z-order of the uploaded file. Default value is 0 (e.g., 1, 2, 3, etc.).*
  * `uploadFile` *File*\
    \&#xNAN;*The file to upload.*
  * `fileName?` *string*\
    \&#xNAN;*The name to save the file as (e.g., "profile.jpg", "feedback.png"). If not set, uses the uploaded file's name.*
  * `prefixFolder?` *string*\
    \&#xNAN;*The prefix folder before the file name (e.g., "profile", "assets").*
  * `refObject?` *string*\
    \&#xNAN;*The object reference for the uploaded file.*
  * `refId?` *IdType* - int64\
    \&#xNAN;*The reference ID of the uploaded file, used to reference the object ID.*
  * `notes?` *string*\
    \&#xNAN;*Notes for the uploaded file (e.g., "Profile picture", "Feedback screenshot").*
  * `tags?` *string*\
    \&#xNAN;*Tags for the uploaded file (e.g., "#MyProfile", "#Feedback").*
  * `cdnPathType?` *CDNFilePathType*\
    \&#xNAN;*The CDN path type specifying the root folder.*
  * `testMode?` *boolean*\
    \&#xNAN;*Indicates if the file upload is in test mode.*
* **See**: [Upload File](https://developers.jframework.io/references/api-reference/endpoints/cdn/upload-file)

### City API

The `city` object manages city data.

#### `getCities(params?: IGetCitiesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<ICity>>`

**Gets a list of all cities.**

* **Parameters**:
  * `params?` *IGetCitiesParams*\
    \&#xNAN;*Parameters for getting cities.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetCitiesParams Fields**:
  * `keywords?` *string*\
    \&#xNAN;*The keywords for filtering cities.*
  * `countryCode?` *string*\
    \&#xNAN;*The country code for filtering (ISO 3166-1 alpha-2, e.g., "US", "VN").*
  * `stateCode?` *string*\
    \&#xNAN;*The state code for filtering.*
  * `name?` *string*\
    \&#xNAN;*The city name for filtering.*
* **See**: [Get Cities](https://developers.jframework.io/references/api-reference/endpoints/cities)

### Commission Rate API

The `commissionRate` object manages commission rates.

#### `createCommissionRate(params?: ICreateCommissionRateParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICommissionRate>>`

**Creates a new commission rate.**

* **Parameters**:
  * `params?` *ICreateCommissionRateParams*\
    \&#xNAN;*Parameters for creating a commission rate.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateCommissionRateParams Fields**:
  * `type?` *CommissionRateType*\
    \&#xNAN;*The type of the commission rate.*
  * `unit` *string* - min: 1\
    \&#xNAN;*The unit of the commission rate.*
  * `quantityFrom?` *number* - int32\
    \&#xNAN;*The starting quantity for the commission rate.*
  * `quantityTo?` *number* - int32\
    \&#xNAN;*The ending quantity for the commission rate.*
  * `percentage` *number* - double\
    \&#xNAN;*The percentage of the commission rate.*
  * `description?` *string*\
    \&#xNAN;*The description of the commission rate.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Indicates if this is the default commission rate.*
* **See**: [Create a Commission Rate](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/create-a-commission-rate)

#### `deleteCommissionRate(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a commission rate by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the commission rate.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Commission Rate](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/delete-a-commission-rate)

#### `getCommissionRate(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ICommissionRate>>`

**Gets a commission rate by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the commission rate.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Commission Rate](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/get-a-commission-rate)

#### `getDiscountValue(quantity: number, config?: AxiosRequestConfig) => Promise<HttpResponse<number>>`

**Gets the discount value based on quantity, using the user's commission rate.**

* **Parameters**:
  * `quantity` *number*\
    \&#xNAN;*The quantity to check for discount.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Discount Value](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/get-discount-value)

#### `getCommissionRates(params?: IGetCommissionRatesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICommissionRate[]>>`

**Gets a list of commission rates.**

* **Parameters**:
  * `params?` *IGetCommissionRatesParams*\
    \&#xNAN;*Parameters for getting commission rates.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetCommissionRatesParams Fields**:
  * `type?` *CommissionRateType*\
    \&#xNAN;*Filter by type. The type can be one of the following: Discount, Commission.*
  * `unit?` *string*\
    \&#xNAN;*The unit of the commission rate.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Filter by whether the commission rate is default.*
* **See**: [Get Commission Rates](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/get-commission-rates)

#### `updateCommissionRate(id: IdType, params?: IUpdateCommissionRateParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates a commission rate by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the commission rate.*
  * `params?` *IUpdateCommissionRateParams*\
    \&#xNAN;*Parameters for updating a commission rate.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateCommissionRateParams Fields**:
  * `type?` *CommissionRateType*\
    \&#xNAN;*The type of the commission rate.*
  * `unit` *string* - min: 1\
    \&#xNAN;*The unit of the commission rate.*
  * `quantityFrom?` *number* - int32\
    \&#xNAN;*The starting quantity for the commission rate.*
  * `quantityTo?` *number* - int32\
    \&#xNAN;*The ending quantity for the commission rate.*
  * `percentage` *number* - double\
    \&#xNAN;*The percentage of the commission rate.*
  * `description?` *string*\
    \&#xNAN;*The description of the commission rate.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Indicates if this is the default commission rate.*
* **See**: [Update a Commission Rate](https://developers.jframework.io/references/api-reference/endpoints/commission-rates/update-a-commission-rate)

### Configuration API

The `configuration` object manages configurations.

#### `createConfiguration(params: ICreateConfigurationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IConfiguration>>`

**Creates a new configuration.**

* **Parameters**:
  * `params` *ICreateConfigurationParams*\
    \&#xNAN;*Parameters for creating a configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateConfigurationParams Fields**:
  * `groupCode` *string* - min: 1\
    \&#xNAN;*The group code of the configuration.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the configuration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the configuration.*
  * `description?` *string*\
    \&#xNAN;*The description of the configuration.*
  * `value` *string* - min: 1\
    \&#xNAN;*The value of the configuration.*
  * `status?` *ConfigurationStatus*\
    \&#xNAN;*The status of the configuration.*
* **See**: [Create a Configuration](https://developers.jframework.io/references/api-reference/endpoints/configurations/create-a-configuration)

#### `deleteConfiguration(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a configuration by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Configuration](https://developers.jframework.io/references/api-reference/endpoints/configurations/delete-a-configuration)

#### `getConfigurations(params?: IGetConfigurationsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IConfiguration[]>>`

**Gets a list of configurations.**

* **Parameters**:
  * `params?` *IGetConfigurationsParams*\
    \&#xNAN;*Parameters for getting configurations.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetConfigurationsParams Fields**:
  * `groupCode?` *string*\
    \&#xNAN;*Filter by group code.*
  * `code?` *string*\
    \&#xNAN;*Filter by code.*
  * `name?` *string*\
    \&#xNAN;*Filter by name.*
  * `description?` *string*\
    \&#xNAN;*Filter by description.*
  * `value?` *string*\
    \&#xNAN;*Filter by value.*
  * `status?` *ConfigurationStatus*\
    \&#xNAN;*Filter by status.*
* **See**: [Get Configurations](https://developers.jframework.io/references/api-reference/endpoints/configurations/get-configurations)

#### `getConfiguration(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IConfiguration>>`

**Gets a configuration by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Configuration](https://developers.jframework.io/references/api-reference/endpoints/configurations/get-a-configuration)

#### `updateConfiguration(id: IdType, params: IUpdateConfigurationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<unknown>>`

**Updates a configuration by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the configuration.*
  * `params` *IUpdateConfigurationParams*\
    \&#xNAN;*Parameters for updating a configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateConfigurationParams Fields**:
  * `groupCode` *string* - min: 1\
    \&#xNAN;*The group code of the configuration.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the configuration.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the configuration.*
  * `description?` *string*\
    \&#xNAN;*The description of the configuration.*
  * `value` *string* - min: 1\
    \&#xNAN;*The value of the configuration.*
  * `status?` *ConfigurationStatus*\
    \&#xNAN;*The status of the configuration.*
* **See**: [Update a Configuration](https://developers.jframework.io/references/api-reference/endpoints/configurations/update-a-configuration)

### Constant API

The `constant` object retrieves various constant types and statuses.

#### `getBrandLinkTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all brand link types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Brand Link](https://developers.jframework.io/references/api-reference/endpoints/constants/brand-link)

#### `getBlackListTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all black list types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Black List](https://developers.jframework.io/references/api-reference/endpoints/constants/black-list)

#### `getCouponStatuses(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all coupon statuses.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Coupon](https://developers.jframework.io/references/api-reference/endpoints/constants/coupon)

#### `getCommissionRateTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all commission rate types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Commission Rate](https://developers.jframework.io/references/api-reference/endpoints/constants/commission-rate)

#### `getDeviceStatuses(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all device statuses.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Device Status](https://developers.jframework.io/references/api-reference/endpoints/constants/device)

#### `getDeviceTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all device types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Device Types](https://developers.jframework.io/references/api-reference/endpoints/constants/device)

#### `getInvoiceStatuses(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all invoice statuses.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Invoice Status](https://developers.jframework.io/references/api-reference/endpoints/constants/invoice)

#### `getInvoiceTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all invoice types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Invoice Types](https://developers.jframework.io/references/api-reference/endpoints/constants/invoice)

#### `getIssuePriorities(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all issue priorities.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Issue](https://developers.jframework.io/references/api-reference/endpoints/constants/issue)

#### `getLicenseSources(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all license sources.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [License Sources](https://developers.jframework.io/references/api-reference/endpoints/constants/license)

#### `getLicenseTypes(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all license types.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [License Types](https://developers.jframework.io/references/api-reference/endpoints/constants/license)

#### `getLicenseStatuses(config?: AxiosRequestConfig) => Promise<HttpResponse<string[]>>`

**Gets all license statuses.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [License Status](https://developers.jframework.io/references/api-reference/endpoints/constants/license)

### Country API

The `country` object manages country data.

#### `getCountries(config?: AxiosRequestConfig) => Promise<HttpResponse<ICountry[]>>`

**Gets a list of all countries.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetCountriesParams Fields**:
  * `region?` *string*\
    \&#xNAN;*The region of the country.*
  * `subregion?` *string*\
    \&#xNAN;*The subregion of the country.*
  * `codeAlpha2?` *string*\
    \&#xNAN;*The code alpha 2 of the country.*
  * `codeAlpha3?` *string*\
    \&#xNAN;*The code alpha 3 of the country.*
  * `codeNumeric?` *number* - int32\
    \&#xNAN;*The code numeric of the country.*
  * `codePhone?` *string*\
    \&#xNAN;*The code phone of the country.*
  * `name?` *string*\
    \&#xNAN;*The name of the country.*
  * `capital?` *string*\
    \&#xNAN;*The capital of the country.*
  * `currency?` *string*\
    \&#xNAN;*The currency of the country.*
  * `tld?` *string*\
    \&#xNAN;*The tld of the country.*
  * `native?` *string*\
    \&#xNAN;*The native of the country.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the country.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by keywords.*
* **See**: [Get Countries](https://developers.jframework.io/references/api-reference/endpoints/countries)

### Coupon API

The `coupon` object manages coupons.

#### `createCoupon(params: ICreateCouponParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICoupon>>`

**Creates a new coupon.**

* **Parameters**:
  * `params` *ICreateCouponParams*\
    \&#xNAN;*Parameters for creating a coupon.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateCouponParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the coupon.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the coupon.*
  * `percentage?` *number* - double\
    \&#xNAN;*The percentage of the coupon.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of the coupon.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date and time of the coupon.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date and time of the coupon.*
  * `autoApplyToPrice?` *boolean*\
    \&#xNAN;*Is the coupon auto apply to price. If true, the coupon will be applied to the price automatically.*
  * `description?` *string*\
    \&#xNAN;*The description of the coupon.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the coupon.*
  * `status?` *CouponStatus*\
    \&#xNAN;*The status of the coupon.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode of the coupon.*
* **See**: [Create a Coupon](https://developers.jframework.io/references/api-reference/endpoints/coupons/create-a-coupon)

#### `deleteCoupon(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a coupon by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the coupon.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Coupon](https://developers.jframework.io/references/api-reference/endpoints/coupons/delete-a-coupon)

#### `getCoupon(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ICoupon>>`

**Gets a coupon by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the coupon.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Coupon](https://developers.jframework.io/references/api-reference/endpoints/coupons/get-a-coupon)

#### `getCoupons(params?: IGetCouponsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<ICoupon>>`

**Gets a list of coupons.**

* **Parameters**:
  * `params?` *IGetCouponsParams*\
    \&#xNAN;*Parameters for getting coupons.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetCouponsParams Fields**:
  * `name?` *string*\
    \&#xNAN;*Filter by the name of the coupon.*
  * `code?` *string*\
    \&#xNAN;*Filter by the code of the coupon.*
  * `description?` *string*\
    \&#xNAN;*Filter by the description of the coupon.*
  * `percentage?` *number* - double\
    \&#xNAN;*Filter by the percentage of the coupon.*
  * `quantity?` *number* - int32\
    \&#xNAN;*Filter by the quantity of the coupon.*
  * `autoApplyToPrice?` *boolean*\
    \&#xNAN;*Filter by the auto apply to price of the coupon.*
  * `tags?` *string*\
    \&#xNAN;*Filter by the tags of the coupon.*
  * `status?` *CouponStatus*\
    \&#xNAN;*Filter by the status of the coupon.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by the keywords of the coupon.*
  * `testMode?` *boolean*\
    \&#xNAN;*Filter by the test mode of the coupon.*
* **See**: [Get Coupons](https://developers.jframework.io/references/api-reference/endpoints/coupons/get-coupons)

#### `updateCoupon(id: IdType, params: IUpdateCouponParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICoupon>>`

**Updates a coupon by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the coupon.*
  * `params` *IUpdateCouponParams*\
    \&#xNAN;*Parameters for updating a coupon.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateCouponParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the coupon.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the coupon.*
  * `percentage?` *number* - double\
    \&#xNAN;*The percentage of the coupon.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of the coupon.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date and time of the coupon.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date and time of the coupon.*
  * `autoApplyToPrice?` *boolean*\
    \&#xNAN;*Is the coupon auto apply to price. If true, the coupon will be applied to the price automatically.*
  * `description?` *string*\
    \&#xNAN;*The description of the coupon.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the coupon.*
  * `status?` *CouponStatus*\
    \&#xNAN;*The status of the coupon.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode of the coupon.*
* **See**: [Update a Coupon](https://developers.jframework.io/references/api-reference/endpoints/coupons/update-a-coupon)

### Cryptography API

The `cryptography` object manages cryptographic operations.

#### `generateRSAKeyPair(config?: AxiosRequestConfig) => Promise<HttpResponse<IRSAKeyPair>>`

**Generates an RSA key pair.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Generate RSA Key Pair](https://developers.jframework.io/references/api-reference/endpoints/cryptography/generate-rsa-key-pair)

### Currency API

The `currency` object manages currency data.

#### `getCurrencies(config?: AxiosRequestConfig) => Promise<HttpResponse<ICurrency[]>>`

**Gets a list of all currencies.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetCurrenciesParams Fields**:
  * `code?` *string*\
    \&#xNAN;*The code of the currency.*
  * `name?` *string*\
    \&#xNAN;*The name of the currency.*
  * `namePlural?` *string*\
    \&#xNAN;*The plural name of the currency.*
  * `symbol?` *string*\
    \&#xNAN;*The symbol of the currency.*
  * `symbolNative?` *string*\
    \&#xNAN;*The native symbol of the currency.*
  * `decimalDigits?` *number* - int32\
    \&#xNAN;*The number of decimal digits for the currency.*
  * `rounding?` *number* - double\
    \&#xNAN;*The rounding value for the currency.*
  * `tags?` *string*\
    \&#xNAN;*The tags for the currency.*
  * `isCoin?` *boolean*\
    \&#xNAN;*Flag to indicate if the currency is a coin.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords for the currency.*
* **See**: [Get Currencies](https://developers.jframework.io/references/api-reference/endpoints/currencies)

### Device API

The `device` object manages device data.

#### `createDevice(params: ICreateDeviceParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IDevice>>`

**Creates a new device.**

* **Parameters**:
  * `params` *ICreateDeviceParams*\
    \&#xNAN;*Parameters for creating a device.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateDeviceParams Fields**:
  * `type` *DeviceType*\
    \&#xNAN;*The type of the device.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the device.*
  * `isMobileApp?` *boolean*\
    \&#xNAN;*Flag indicating if the device is a mobile app.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the device.*
  * `status?` *DeviceStatus*\
    \&#xNAN;*The status of the device.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag indicating if the device is the default device.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode of the device.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the device.*
  * `phoneNumber?` *string*\
    \&#xNAN;*The phone number of the device.*
  * `osDevice` *string* - min: 1\
    \&#xNAN;*The operating system of the device.*
  * `appVersionNumber` *string* - min: 1\
    \&#xNAN;*The version of the operating system of the device.*
  * `iccid?` *string*\
    \&#xNAN;*The ICCID of the device.*
  * `imsi?` *string*\
    \&#xNAN;*The IMSI of the device.*
  * `imei?` *string*\
    \&#xNAN;*The IMEI of the device.*
  * `simCardInfo?` *string*\
    \&#xNAN;*The SIM card info of the device.*
* **See**: [Create a Device](https://developers.jframework.io/references/api-reference/endpoints/devices/create-a-device)

#### `deleteDevice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a device by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the device.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Device](https://developers.jframework.io/references/api-reference/endpoints/devices/delete-a-device)

#### `getDevice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IDevice>>`

**Gets a device by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the device.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Device](https://developers.jframework.io/references/api-reference/endpoints/devices/get-a-device)

#### `getDevices(params?: IGetDevicesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IDevice>>`

**Gets a list of devices.**

* **Parameters**:
  * `params?` *IGetDevicesParams*\
    \&#xNAN;*Parameters for getting devices.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetDevicesParams Fields**:
  * `userId?` *string*\
    \&#xNAN;*Filter by ID of the user.*
  * `type?` *DeviceType*\
    \&#xNAN;*Filter by type of the device.*
  * `code?` *string*\
    \&#xNAN;*The code to filter.*
  * `name?` *string*\
    \&#xNAN;*The name to filter.*
  * `isMobileApp?` *boolean*\
    \&#xNAN;*Filter with is mobile app.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode to filter.*
  * `status?` *DeviceStatus*\
    \&#xNAN;*The status to filter.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords to filter.*
* **See**: [Get Devices](https://developers.jframework.io/references/api-reference/endpoints/devices/get-devices)

#### `updateDevice(id: IdType, params: IUpdateDeviceParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IDevice>>`

**Updates a device by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the device.*
  * `params` *IUpdateDeviceParams*\
    \&#xNAN;*Parameters for updating a device.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateDeviceParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the device.*
  * `phoneNumber?` *string*\
    \&#xNAN;*The phone number of the device.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the device.*
  * `status?` *DeviceStatus*\
    \&#xNAN;*The status of the device.*
* **See**: [Update a Device](https://developers.jframework.io/references/api-reference/endpoints/devices/update-a-device)

#### `checkUserAccessDevice(params: ICheckUserAccessDeviceParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Checks if a user has access to a device.**

* **Parameters**:
  * `params` *ICheckUserAccessDeviceParams*\
    \&#xNAN;*Parameters for checking user access to a device.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICheckUserAccessDeviceParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `deviceCode` *string*\
    \&#xNAN;*The device code of the user.*
* **See**: [Check User Access Device](https://developers.jframework.io/references/api-reference/endpoints/devices/check-user-access-device)

#### `refreshDeviceToken(params: IRefreshDeviceTokenParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Refreshes a mobile device token for Firebase push notifications.**

* **Parameters**:
  * `params` *IRefreshDeviceTokenParams*\
    \&#xNAN;*Parameters for refreshing a device token.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IRefreshDeviceTokenParams Fields**:
  * `oldToken` *string* - min: 1\
    \&#xNAN;*The previous Firebase device token that is now obsolete.*
  * `newToken` *string* - min: 1\
    \&#xNAN;*The new Firebase device token to replace the old one.*
* **See**: [Refresh Device Token](https://developers.jframework.io/references/api-reference/endpoints/devices/refresh-device-token)

### Domain API

The `domain` object manages domain-related operations.

#### BrandLinksAPI

Manages brand link operations.

**`createBrandLink(params: ICreateBrandLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrandLink>>`**

**Creates a new brand link.**

* **Parameters**:
  * `params` *ICreateBrandLinkParams*\
    \&#xNAN;*Parameters for creating a brand link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Create a Brand Link](https://developers.jframework.io/references/api-reference/endpoints/domains/create-a-brand-link)

**`deleteBrandLink(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes a brand link by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Brand Link](https://developers.jframework.io/references/api-reference/endpoints/domains/delete-a-brand-link)

**`getBrandLink(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrandLink>>`**

**Gets a brand link by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Brand Link](https://developers.jframework.io/references/api-reference/endpoints/domains/get-a-brand-link)

**`getBrandLinks(params?: IGetBrandLinksParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IBrandLink>>`**

**Gets a list of brand links.**

* **Parameters**:
  * `params?` *IGetBrandLinksParams*\
    \&#xNAN;*Parameters for getting brand links.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Brand Links](https://developers.jframework.io/references/api-reference/endpoints/domains/get-brand-links)

**`updateBrandLink(id: IdType, params: IUpdateBrandLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrandLink>>`**

**Updates a brand link by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the brand link.*
  * `params` *IUpdateBrandLinkParams*\
    \&#xNAN;*Parameters for updating a brand link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Update a Brand Link](https://developers.jframework.io/references/api-reference/endpoints/domains/update-a-brand-link)

#### `getDomains(params?: IGetDomainsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IDomain>>`

**Gets a list of domains.**

* **Parameters**:
  * `params?` *IGetDomainsParams*\
    \&#xNAN;*Parameters for getting domains.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetDomainsParams Fields**:
  * `type?` *DomainType*\
    \&#xNAN;*The type of the domain.*
  * `protocol?` *DomainProtocol*\
    \&#xNAN;*The protocol of the domain.*
  * `domain?` *string*\
    \&#xNAN;*The domain name.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords of the domain.*
  * `verified?` *boolean*\
    \&#xNAN;*Filter by the verified domain.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Filter by the default domain.*
  * `isPrimary?` *boolean*\
    \&#xNAN;*Filter by the primary domain.*
* **See**: [Get Domains](https://developers.jframework.io/references/api-reference/endpoints/domains/get-domains)

### Event API

The `event` object manages events and their associated templates.

#### `getEvent(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IEvent>>`

**Gets an event by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the event.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Event](https://developers.jframework.io/references/api-reference/endpoints/events/get-an-event)

#### `getEmailTemplateDefaultByEvent(eventId: IdType, params: IGetEmailTemplateDefaultByEventParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IDefaultEmailTemplate>>`

**Gets the default email template for an event by ID and specified language code.**

* **Parameters**:
  * `eventId` *IdType*\
    \&#xNAN;*The ID of the event.*
  * `params` *IGetEmailTemplateDefaultByEventParams*\
    \&#xNAN;*Parameters for getting the default email template.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetEmailTemplateDefaultByEventParams Fields**:
  * `languageCode` *string*\
    \&#xNAN;*The code of the language. The language code must be in the ISO 639-1 format.*
* **See**: [Get Email Template Default by Event](https://developers.jframework.io/references/api-reference/endpoints/events/get-email-template-default-by-event)

#### `getEmailTemplateByEvent(eventId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IEmailTemplate>>`

**Gets an email template by event ID.**

* **Parameters**:
  * `eventId` *IdType*\
    \&#xNAN;*The ID of the event.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Email Template by Event](https://developers.jframework.io/references/api-reference/endpoints/events/get-an-email-template-by-event)

#### `getEvents(params?: IGetEventsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IEvent>>`

**Gets a list of events.**

* **Parameters**:
  * `params?` *IGetEventsParams*\
    \&#xNAN;*Parameters for getting events.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetEventsParams Fields**:
  * `groupCodeName?` *string*\
    \&#xNAN;*Filter by GroupCodeName.*
  * `code?` *string*\
    \&#xNAN;*Filter by Code.*
  * `name?` *string*\
    \&#xNAN;*Filter by Name.*
  * `description?` *string*\
    \&#xNAN;*Filter by Description.*
  * `tags?` *string*\
    \&#xNAN;*Filter by Tags.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*Filter by ZOrder.*
  * `status?` *EventStatus*\
    \&#xNAN;*Filter by Status.*
  * `isSystem?` *boolean*\
    \&#xNAN;*Filter by IsSystem.*
  * `includeParentBrand?` *boolean*\
    \&#xNAN;*Filter by IncludeParentBrand.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by Keywords.*
* **See**: [Get Events](https://developers.jframework.io/references/api-reference/endpoints/events/get-events)

#### `getEventsEarningWallet(params?: IGetEventsEarningWalletParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IWalletEarningEvent>>`

**Gets events related to wallet earnings (default type: Earning).**

* **Parameters**:
  * `params?` *IGetEventsEarningWalletParams*\
    \&#xNAN;*Parameters for getting wallet earning events.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetEventsEarningWalletParams Fields**:
  * `type?` *string*\
    \&#xNAN;*The type of the wallet earning event. The value can be Earning or Redeem.*
* **See**: [Get Events Earning Wallet](https://developers.jframework.io/references/api-reference/endpoints/events/get-events-earning-wallet)

#### `getEventsAssociatedWithEmailTemplates(config?: AxiosRequestConfig) => Promise<HttpResponse<IEvent[]>>`

**Gets events associated with email templates.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Events Email Templates](https://developers.jframework.io/references/api-reference/endpoints/events/get-events-email-templates)

#### `getEventsAssociatedWithPhoneTemplates(config?: AxiosRequestConfig) => Promise<HttpResponse<IEvent[]>>`

**Gets events associated with phone templates.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Events Phone Templates](https://developers.jframework.io/references/api-reference/endpoints/events/get-events-phone-templates)

#### `getPhoneTemplateByEvent(eventId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPhoneTemplate>>`

**Gets a phone template by event ID.**

* **Parameters**:
  * `eventId` *IdType*\
    \&#xNAN;*The ID of the event.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Phone Template by Event](https://developers.jframework.io/references/api-reference/endpoints/events/get-phone-template-by-event)

#### `getPhoneTemplateDefaultByEvent(eventId: IdType, params: IGetPhoneTemplateDefaultByEventParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IDefaultPhoneTemplate>>`

**Gets the default phone template for an event by ID and specified language code.**

* **Parameters**:
  * `eventId` *IdType*\
    \&#xNAN;*The ID of the event.*
  * `params` *IGetPhoneTemplateDefaultByEventParams*\
    \&#xNAN;*Parameters for getting the default phone template.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetPhoneTemplateDefaultByEventParams Fields**:
  * `languageCode` *string*\
    \&#xNAN;*The code of the language. The language code must be in the ISO 639-1 format.*
* **See**: [Get Phone Template Default by Event](https://developers.jframework.io/references/api-reference/endpoints/events/get-phone-template-default-by-event)

### Exchange Rate API

The `exchangeRate` object manages exchange rates and currency conversions.

#### `getExchangeRates(config?: AxiosRequestConfig) => Promise<HttpResponse<IExchangeRate[]>>`

**Gets all exchange rates in the system, relative to the base USD currency.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Exchange Rates](https://developers.jframework.io/references/api-reference/endpoints/exchange-rates/get-exchange-rates)

#### `convertCurrency(params: IConvertCurrencyParams, config?: AxiosRequestConfig) => Promise<HttpResponse<number>>`

**Converts an amount from one currency to another.**

* **Parameters**:
  * `params` *IConvertCurrencyParams*\
    \&#xNAN;*Parameters for converting currency.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IConvertCurrencyParams Fields**:
  * `fromCurrency` *string*\
    \&#xNAN;*The currency to convert from.*
  * `toCurrency` *string*\
    \&#xNAN;*The currency to convert to.*
  * `amount` *number* - double\
    \&#xNAN;*The amount to convert.*
* **See**: [Convert Currency](https://developers.jframework.io/references/api-reference/endpoints/exchange-rates/convert-currency)

### Feature API

The `feature` object manages features and their associated packages.

#### `addPackagesToFeature(featureId: IdType, params: IAddPackageToFeatureParams[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds packages to a feature.**

* **Parameters**:
  * `featureId` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `params` *IAddPackageToFeatureParams\[]*\
    \&#xNAN;*Parameters for adding packages to a feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IAddPackageToFeatureParams Fields**:
  * `packageId` *IdType* - min: 1\
    \&#xNAN;*The ID of the package.*
* **See**: [Add Packages to a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/add-packages-to-a-feature)

#### `createFeature(params: ICreateFeatureParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IFeature>>`

**Creates a new feature.**

* **Parameters**:
  * `params` *ICreateFeatureParams*\
    \&#xNAN;*Parameters for creating a feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateFeatureParams Fields**:
  * `eventId?` *IdType* - min: 1\
    \&#xNAN;*The event ID. This value represents the event that the feature belongs to. (Deprecated: Will be removed in the future.)*
  * `type?` *FeatureType*\
    \&#xNAN;*The type of the feature.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the feature.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the feature.*
  * `unit?` *string*\
    \&#xNAN;*The unit of the feature.*
  * `defaultValue?` *number* - int32\
    \&#xNAN;*The default value of the feature.*
  * `helpURL?` *string* - uri\
    \&#xNAN;*The help URL of the feature. This value must be a valid URL.*
  * `image?` *string* - uri\
    \&#xNAN;*The image of the feature. This value must be a valid URL.*
  * `styles?` *string*\
    \&#xNAN;*The style of the feature. It is a JSON string. You can use this property to store the CSS styles of the feature.*
  * `description?` *string*\
    \&#xNAN;*The description of the feature. The description can be a long text.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the feature. You can use this property to store the tags of the feature.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The zOrder number in the list. This property is used to sort the features in the list when displaying them.*
  * `status?` *FeatureStatus*\
    \&#xNAN;*The status of the feature.*
* **See**: [Create a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/create-a-feature)

#### `deleteFeature(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a feature by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/delete-a-feature)

#### `getFeature(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IFeature>>`

**Gets a feature by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/get-a-feature)

#### `getFeatures(params?: IGetFeaturesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IFeature>>`

**Gets a list of features.**

* **Parameters**:
  * `params?` *IGetFeaturesParams*\
    \&#xNAN;*Parameters for getting features.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetFeaturesParams Fields**:
  * `packageId?` *IdType*\
    \&#xNAN;*Filter by the package ID.*
  * `eventId?` *IdType*\
    \&#xNAN;*Filter by the event ID. (Deprecated: Will be removed in the future.)*
  * `type?` *FeatureType*\
    \&#xNAN;*Filter by the feature type.*
  * `code?` *string*\
    \&#xNAN;*Filter by the code.*
  * `name?` *string*\
    \&#xNAN;*Filter by the name.*
  * `description?` *string*\
    \&#xNAN;*Filter by the description.*
  * `tags?` *string*\
    \&#xNAN;*Filter by the tags.*
  * `notes?` *string*\
    \&#xNAN;*Filter by the notes.*
  * `status?` *FeatureStatus*\
    \&#xNAN;*Filter by the status.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by the keywords.*
* **See**: [Get Features](https://developers.jframework.io/references/api-reference/endpoints/features/get-features)

#### `getPackagesFromFeature(featureId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPackage[]>>`

**Gets packages associated with a feature.**

* **Parameters**:
  * `featureId` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Packages from Feature](https://developers.jframework.io/references/api-reference/endpoints/features/get-packages-from-feature)

#### `removePackagesFromFeature(featureId: IdType, packageIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes packages from a feature.**

* **Parameters**:
  * `featureId` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `packageIds` *IdType\[]*\
    \&#xNAN;*The IDs of the packages to remove.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Remove Packages from a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/remove-packages-from-a-feature)

#### `updateFeature(id: IdType, params: IUpdateFeatureParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IFeature>>`

**Updates a feature by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the feature.*
  * `params` *IUpdateFeatureParams*\
    \&#xNAN;*Parameters for updating a feature.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateFeatureParams Fields**:
  * `eventId?` *IdType* - min: 1\
    \&#xNAN;*The event ID. This value represents the event that the feature belongs to. (Deprecated: Will be removed in the future.)*
  * `type?` *FeatureType*\
    \&#xNAN;*The type of the feature.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the feature.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the feature.*
  * `unit?` *string*\
    \&#xNAN;*The unit of the feature.*
  * `defaultValue?` *number* - int32\
    \&#xNAN;*The default value of the feature.*
  * `helpURL?` *string* - uri\
    \&#xNAN;*The help URL of the feature. This value must be a valid URL.*
  * `image?` *string* - uri\
    \&#xNAN;*The image of the feature. This value must be a valid URL.*
  * `styles?` *string*\
    \&#xNAN;*The style of the feature. It is a JSON string. You can use this property to store the CSS styles of the feature.*
  * `description?` *string*\
    \&#xNAN;*The description of the feature. The description can be a long text.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the feature. You can use this property to store the tags of the feature.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The zOrder number in the list. This property is used to sort the features in the list when displaying them.*
  * `status?` *FeatureStatus*\
    \&#xNAN;*The status of the feature.*
* **See**: [Update a Feature](https://developers.jframework.io/references/api-reference/endpoints/features/update-a-feature)

### Invoice API

The `invoice` object manages invoices.

#### `deleteInvoice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an invoice by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the invoice.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Invoice](https://developers.jframework.io/references/api-reference/endpoints/invoices/delete-an-invoice)

#### `getInvoices(params?: IGetInvoicesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IInvoice>>`

**Gets a list of invoices.**

* **Parameters**:
  * `params?` *IGetInvoicesParams*\
    \&#xNAN;*Parameters for getting invoices.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetInvoicesParams Fields**:
  * `userId?` *IdType*\
    \&#xNAN;*The ID of the user. If not provided, it will be the current user.*
  * `packageId?` *IdType*\
    \&#xNAN;*The package ID.*
  * `subscriptionTypeId?` *IdType*\
    \&#xNAN;*Filter by the subscription type ID.*
  * `type?` *InvoiceType*\
    \&#xNAN;*Filter by the invoice type.*
  * `code?` *string*\
    \&#xNAN;*Filter by the invoice code.*
  * `name?` *string*\
    \&#xNAN;*Filter by the invoice name.*
  * `description?` *string*\
    \&#xNAN;*Filter by the invoice description.*
  * `notes?` *string*\
    \&#xNAN;*Filter by the invoice notes.*
  * `tags?` *string*\
    \&#xNAN;*Filter by the invoice tags.*
  * `reminderedCount?` *number* - int32\
    \&#xNAN;*Filter by the number of reminders sent.*
  * `deliveryInstructions?` *string*\
    \&#xNAN;*Filter by the delivery instructions.*
  * `confirmedDeliveryDate?` *DateType* - date-time\
    \&#xNAN;*Filter by the confirmed delivery date.*
  * `invoiceDate?` *DateType* - date-time\
    \&#xNAN;*Filter by the invoice date.*
  * `overdueDate?` *DateType* - date-time\
    \&#xNAN;*Filter by the due date.*
  * `status?` *InvoiceStatus*\
    \&#xNAN;*Filter by the status.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by the keywords.*
  * `testMode?` *boolean*\
    \&#xNAN;*Filter by the test mode. By default, it is false.*
* **See**: [Get Invoices](https://developers.jframework.io/references/api-reference/endpoints/invoices/get-invoices)

#### `getInvoice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IInvoice>>`

**Gets an invoice by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the invoice.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Invoice](https://developers.jframework.io/references/api-reference/endpoints/invoices/get-a-invoice)

#### `downloadInvoice(id: IdType, config?: AxiosRequestConfig) => Promise<Blob>`

**Downloads an invoice by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the invoice.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: (Documentation to be updated in the future)

### Issue API

The `issue` object manages issues and their reactions.

#### `createIssue(params: ICreateIssueParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssue>>`

**Creates a new issue.**

* **Parameters**:
  * `params` *ICreateIssueParams*\
    \&#xNAN;*Parameters for creating an issue.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateIssueParams Fields**:
  * `issueCategoryId?` *IdType*\
    \&#xNAN;*The ID of the issue category.*
  * `parentId?` *IdType*\
    \&#xNAN;*The parent ID of the issue. If the issue is a sub-issue, this is the parent issue ID.*
  * `content` *string* - min: 1\
    \&#xNAN;*The content of the issue.*
  * `refId?` *number* - int64\
    \&#xNAN;*The referrer ID of the issue.*
  * `refObject?` *string*\
    \&#xNAN;*The referrer object of the issue.*
  * `refType?` *number* - int32\
    \&#xNAN;*The referrer type of the issue.*
  * `assigneeId?` *IdType*\
    \&#xNAN;*Assignee user ID of the issue.*
  * `priority?` *IssuePriority*\
    \&#xNAN;*The priority of the issue.*
  * `name?` *string*\
    \&#xNAN;*The name of the issue.*
  * `description?` *string*\
    \&#xNAN;*The description of the issue.*
  * `issueCc?` *string*\
    \&#xNAN;*The CC of the issue. This value is the email address of the user.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the issue.*
* **See**: [Create an Issue](https://developers.jframework.io/references/api-reference/endpoints/issues/create-an-issue)

#### `deleteIssue(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an issue by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Issue](https://developers.jframework.io/references/api-reference/endpoints/issues/delete-an-issue)

#### `getIssues(params?: IGetIssuesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IIssue>>`

**Gets a list of issues.**

* **Parameters**:
  * `params?` *IGetIssuesParams*\
    \&#xNAN;*Parameters for getting issues.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetIssuesParams Fields**:
  * `onlyParent?` *boolean*\
    \&#xNAN;*This property represents the only parent filter.*
  * `userId?` *IdType*\
    \&#xNAN;*Filter with user ID.*
  * `deviceId?` *IdType*\
    \&#xNAN;*Filter with device ID.*
  * `assigneeId?` *IdType*\
    \&#xNAN;*Filter with assignee ID.*
  * `issueTypeId?` *IdType*\
    \&#xNAN;*Filter with issue type ID.*
  * `parentId?` *IdType*\
    \&#xNAN;*Filter with parent ID.*
  * `name?` *string*\
    \&#xNAN;*Filter with name.*
  * `description?` *string*\
    \&#xNAN;*Filter with description.*
  * `refType?` *number* - int32\
    \&#xNAN;*Filter with reference type.*
  * `refObject?` *string*\
    \&#xNAN;*Filter with reference object.*
  * `refId?` *IdType*\
    \&#xNAN;*Filter with reference ID.*
  * `content?` *string*\
    \&#xNAN;*Filter with content.*
  * `issueCc?` *string*\
    \&#xNAN;*Filter with issue CC.*
  * `tags?` *string*\
    \&#xNAN;*Filter with tags.*
  * `status?` *IssueStatus*\
    \&#xNAN;*Filter with status.*
  * `keywords?` *string*\
    \&#xNAN;*Filter with keywords.*
* **See**: [Get Issues](https://developers.jframework.io/references/api-reference/endpoints/issues/get-issues)

#### `getIssue(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssue>>`

**Gets an issue by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Issue](https://developers.jframework.io/references/api-reference/endpoints/issues/get-an-issue)

#### `getIssuesByListId(ids: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<IIssue[]>>`

**Gets a list of issues by their IDs (maximum 100 issues).**

* **Parameters**:
  * `ids` *IdType\[]*\
    \&#xNAN;*The list of issue IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Issues by List ID](https://developers.jframework.io/references/api-reference/endpoints/issues/get-issues-by-list-id)

#### `getChildrenIssues(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssue[]>>`

**Gets the children of an issue by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Children Issues](https://developers.jframework.io/references/api-reference/endpoints/issues/get-children-issues)

#### `updateIssue(params: IUpdateIssueParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssue>>`

**Updates an issue by ID.**

* **Parameters**:
  * `params` *IUpdateIssueParams*\
    \&#xNAN;*Parameters for updating an issue, including `id`.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateIssueParams Fields**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue.*
  * `assigneeId?` *IdType*\
    \&#xNAN;*Assignee user ID of the issue.*
  * `name?` *string*\
    \&#xNAN;*The name of the issue.*
  * `description?` *string*\
    \&#xNAN;*The description of the issue.*
  * `content` *string* - min: 1\
    \&#xNAN;*The content of the issue.*
  * `priority?` *IssuePriority*\
    \&#xNAN;*The priority of the issue.*
  * `issueCc?` *string*\
    \&#xNAN;*The CC of the issue. This value is the email address of the user.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the issue.*
  * `status?` *IssueStatus*\
    \&#xNAN;*The status of the issue.*
* **See**: [Update an Issue](https://developers.jframework.io/references/api-reference/endpoints/issues/update-an-issue)

#### `createIssueReaction(params: ICreateIssueReactionParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Creates an issue reaction.**

* **Parameters**:
  * `params` *ICreateIssueReactionParams*\
    \&#xNAN;*Parameters for creating an issue reaction.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateIssueReactionParams Fields**:
  * `issueId` *IdType* - min: 1\
    \&#xNAN;*The ID of the issue.*
  * `issueReactionType` *IssueReactionType*\
    \&#xNAN;*The type of reaction for the issue.*
  * `status` *IssueReactionStatus*\
    \&#xNAN;*The status of the issue reaction.*
* **See**: [Create an Issue Reaction](https://developers.jframework.io/references/api-reference/endpoints/issues/issue-reactions/create-an-issue-reaction)

#### `deleteIssueReaction(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an issue reaction by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue reaction.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Issue Reaction](https://developers.jframework.io/references/api-reference/endpoints/issues/delete-an-issue-reaction)

### Issue Category API

The `issueCategory` object manages issue categories.

#### `createIssueCategory(params: ICreateIssueCategoryParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssueCategory>>`

**Creates a new issue category.**

* **Parameters**:
  * `params` *ICreateIssueCategoryParams*\
    \&#xNAN;*Parameters for creating an issue category.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateIssueCategoryParams Fields**:
  * `groupCode?` *string*\
    \&#xNAN;*The group code of the issue category. If null, it is a root issue category.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the issue category.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the issue category.*
  * `description?` *string*\
    \&#xNAN;*The description of the issue category.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the issue category.*
  * `suggestionURL?` *string* - uri\
    \&#xNAN;*The links of the issue category.*
* **See**: [Create an Issue Category](https://developers.jframework.io/references/api-reference/endpoints/issue-categories/create-an-issue-category)

#### `deleteIssueCategory(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an issue category by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue category.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Issue Category](https://developers.jframework.io/references/api-reference/endpoints/issue-categories/delete-an-issue-category)

#### `getIssueCategories(params?: IGetIssueCategoriesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssueCategory[]>>`

**Gets a list of issue categories.**

* **Parameters**:
  * `params?` *IGetIssueCategoriesParams*\
    \&#xNAN;*Parameters for getting issue categories.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetIssueCategoriesParams Fields**:
  * `groupCode?` *string*\
    \&#xNAN;*Filter by group code.*
  * `code?` *string*\
    \&#xNAN;*Filter by code.*
  * `name?` *string*\
    \&#xNAN;*Filter by name.*
  * `description?` *string*\
    \&#xNAN;*Filter by description.*
  * `suggestionURL?` *string*\
    \&#xNAN;*Filter by suggestion URL.*
  * `tags?` *string*\
    \&#xNAN;*Filter by tags.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*Filter by z order.*
  * `status?` *IssueCategoryStatus*\
    \&#xNAN;*Filter by status. Examples: 0 - Inactive, 1 - Active.*
  * `isSystem?` *boolean*\
    \&#xNAN;*Filter by is system.*
* **See**: [Get Issue Categories](https://developers.jframework.io/references/api-reference/endpoints/issue-categories/get-issue-categories)

#### `getIssueCategory(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssueCategory>>`

**Gets an issue category by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue category.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Issue Category](https://developers.jframework.io/references/api-reference/endpoints/issue-categories/get-an-issue-category)

#### `updateIssueCategory(id: IdType, params: IUpdateIssueCategoryParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IIssueCategory>>`

**Updates an issue category by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the issue category.*
  * `params` *IUpdateIssueCategoryParams*\
    \&#xNAN;*Parameters for updating an issue category.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateIssueCategoryParams Fields**:
  * `groupCode?` *string*\
    \&#xNAN;*The group code of the issue category. If null, it is a root issue category.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the issue category.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the issue category.*
  * `description?` *string*\
    \&#xNAN;*The description of the issue category.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the issue category.*
  * `suggestionURL?` *string* - uri\
    \&#xNAN;*The links of the issue category.*
* **See**: [Update an Issue Category](https://developers.jframework.io/references/api-reference/endpoints/issue-categories/update-an-issue-category)

### Language API

The `language` object manages languages.

#### `getLanguages(config?: AxiosRequestConfig) => Promise<HttpResponse<ILanguage[]>>`

**Gets a list of all languages.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Languages](https://developers.jframework.io/references/api-reference/endpoints/languages)

### License API

The `license` object manages licenses.

#### `activateLicense(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ILicense>>`

**Activates a license based on its current state. If NotStarted, sets StartDate to a valid past date. If Expired, sets EndDate to a future date. If Inactive, sets both if necessary. Does nothing if already Used.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the license.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Activate a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/activate-a-license)

#### `applyLicenseToLoggedUser(licenseCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Applies a license to the logged-in user, enabling the user to use the license's features and sending a notification email.**

* **Parameters**:
  * `licenseCode` *string*\
    \&#xNAN;*The license code to apply.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Applies a License to the Logged User](https://developers.jframework.io/references/api-reference/endpoints/licenses/applies-a-license-to-the-logged-user)

#### `applyLicenseToGivenLoginName(params: IApplyLicenseToGivenLoginNameParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Applies a license code to a user by their login name, enabling the user to use the license's features and sending a notification email.**

* **Parameters**:
  * `params` *IApplyLicenseToGivenLoginNameParams*\
    \&#xNAN;*Parameters for applying a license to a given login name.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IApplyLicenseToGivenLoginNameParams Fields**:
  * `licenseCode` *string*\
    \&#xNAN;*The license code.*
  * `loginName` *string*\
    \&#xNAN;*The login name.*
* **See**: [Applies a License to the Given Login Name](https://developers.jframework.io/references/api-reference/endpoints/licenses/applies-a-license-to-the-given-login-name)

#### `applyLicenseToGivenUser(params: IApplyLicenseToGivenUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Applies a license code to a user by their user ID, enabling the user to use the license's features and sending a notification email.**

* **Parameters**:
  * `params` *IApplyLicenseToGivenUserParams*\
    \&#xNAN;*Parameters for applying a license to a given user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IApplyLicenseToGivenUserParams Fields**:
  * `licenseCode` *string*\
    \&#xNAN;*The license code.*
  * `userId` *IdType*\
    \&#xNAN;*The user ID.*
* **See**: [Applies a License to the Given User](https://developers.jframework.io/references/api-reference/endpoints/licenses/applies-a-license-to-the-given-a-user)

#### `checkLicenseCode(licenseCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Checks the status of a given license code.**

* **Parameters**:
  * `licenseCode` *string*\
    \&#xNAN;*The license code to check.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Checks a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/checks-a-license)

#### `createLicenses(params: ICreateLicensesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICountSuccessResponse>>`

**Creates new licenses.**

* **Parameters**:
  * `params` *ICreateLicensesParams*\
    \&#xNAN;*Parameters for creating licenses.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateLicensesParams Fields**:
  * `packageId` *IdType* - min: 1\
    \&#xNAN;*The ID of the package.*
  * `subscriptionTypeId` *IdType* - min: 1\
    \&#xNAN;*The ID of the subscription type.*
  * `code?` *string*\
    \&#xNAN;*The license code custom. If provided, creates with this code; otherwise, auto-generates. Cannot be used for multiple licenses.*
  * `amount` *number* - double\
    \&#xNAN;*The amount value of a license to be created.*
  * `currencyCode` *string*\
    \&#xNAN;*The currency code in ISO 4217 format, a three-letter uppercase code identifying a specific currency.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date of the license.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date of the license.*
  * `description?` *string*\
    \&#xNAN;*The description of the license.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the license.*
  * `testMode` *boolean*\
    \&#xNAN;*The test mode of the license. By default, it is set to false.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of licenses to create. By default, it is 1.*
  * `userCode?` *string* - min: 1\
    \&#xNAN;*The user code of the license. If empty, uses the current logged-in user.*
* **See**: [Create the Licenses](https://developers.jframework.io/references/api-reference/endpoints/licenses/create-the-licenses)

#### `countLicensesCreated(config?: AxiosRequestConfig) => Promise<HttpResponse<ICountSuccessResponse>>`

**Counts the number of licenses created by each user.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Count Licenses Created](https://developers.jframework.io/references/api-reference/endpoints/licenses/count-licenses-created)

#### `deactivateLicense(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ILicense>>`

**Deactivates a license.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the license.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Deactivate a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/deactivate-a-license)

#### `deleteLicense(id: IdType) => Promise<HttpResponse<boolean>>`

**Deletes a license by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the license.*
* **See**: [Delete a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/delete-a-license)

#### `getLicenses(params?: IGetLicensesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<ILicense>>`

**Gets a list of licenses.**

* **Parameters**:
  * `params?` *IGetLicensesParams*\
    \&#xNAN;*Parameters for getting licenses.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetLicensesParams Fields**:
  * `packageId?` *IdType*\
    \&#xNAN;*The package ID filter.*
  * `subscriptionTypeId?` *IdType*\
    \&#xNAN;*The subscription type ID filter.*
  * `licenseCode?` *string*\
    \&#xNAN;*The license code filter.*
  * `sourceId?` *string*\
    \&#xNAN;*The source ID filter.*
  * `refLicense?` *string*\
    \&#xNAN;*The reference license filter.*
  * `description?` *string*\
    \&#xNAN;*The description filter.*
  * `isUsed?` *boolean*\
    \&#xNAN;*Used to filter the license by used status.*
  * `startDate?` *DateType* - date-time\
    \&#xNAN;*The start date filter.*
  * `endDate?` *DateType* - date-time\
    \&#xNAN;*The end date filter.*
  * `tags?` *string*\
    \&#xNAN;*The tags filter.*
  * `status?` *LicenseStatus*\
    \&#xNAN;*The status filter.*
  * `type?` *LicenseType*\
    \&#xNAN;*The type filter.*
  * `usedBy?` *string*\
    \&#xNAN;*The user who used the license. The value is the code of the user.*
  * `usedDate?` *DateType* - date-time\
    \&#xNAN;*The used date filter.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode filter. By default, the value is false.*
  * `keywords?` *string*\
    \&#xNAN;*The keyword to filter.*
  * `createdBy?` *string*\
    \&#xNAN;*The user who created the license. The value is the code of the user.*
* **See**: [Get Licenses](https://developers.jframework.io/references/api-reference/endpoints/licenses/get-licenses)

#### `getLicense(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ILicense>>`

**Gets a license by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the license.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/get-a-license)

#### `generateLicenseCode(params: IGenerateLicenseCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Generates a license code, which is not stored in the system.**

* **Parameters**:
  * `params` *IGenerateLicenseCodeParams*\
    \&#xNAN;*Parameters for generating a license code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGenerateLicenseCodeParams Fields**:
  * `packageId` *IdType*\
    \&#xNAN;*The package ID of the license.*
  * `subscriptionTypeId` *IdType*\
    \&#xNAN;*The subscription type ID of the license.*
  * `startDate?` *DateType* - date-time\
    \&#xNAN;*The start date of the license.*
* **See**: [Generate License Code](https://developers.jframework.io/references/api-reference/endpoints/licenses/generate-code)

#### `purchaseToAddLicensesByCheckoutLink(params: IPurchaseToAddLicensesByCheckoutLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Generates a checkout link to purchase licenses.**

* **Parameters**:
  * `params` *IPurchaseToAddLicensesByCheckoutLinkParams*\
    \&#xNAN;*Parameters for purchasing licenses via checkout link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IPurchaseToAddLicensesByCheckoutLinkParams Fields**:
  * `returnURL?` *string* - uri\
    \&#xNAN;*The return URL. If the payment is successful, the user will be redirected to this URL.*
  * `cancelURL?` *string* - uri\
    \&#xNAN;*The cancel URL. If the payment is canceled, the user will be redirected to this URL.*
  * `packageId` *IdType* - min: 1\
    \&#xNAN;*The package ID of the license.*
  * `subscriptionTypeId` *IdType* - min: 1\
    \&#xNAN;*The subscription type ID of the license.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date of the license.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date of the license.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode of the license. By default, it is set to false.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of the license to create. By default, it is 1.*
* **See**: [Purchase to Add Licenses by Checkout Link](https://developers.jframework.io/references/api-reference/endpoints/licenses/purchase-to-add-licenses-by-checkout-link)

#### `purchaseToAddLicensesByWallet(params: IPurchaseToAddLicensesByWalletParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Purchases licenses using the user's wallet.**

* **Parameters**:
  * `params` *IPurchaseToAddLicensesByWalletParams*\
    \&#xNAN;*Parameters for purchasing licenses via wallet.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IPurchaseToAddLicensesByWalletParams Fields**:
  * `walletId` *IdType*\
    \&#xNAN;*The wallet ID.*
  * `packageId` *IdType* - min: 1\
    \&#xNAN;*The package ID of the license.*
  * `subscriptionTypeId` *IdType* - min: 1\
    \&#xNAN;*The subscription type ID of the license.*
  * `type` *LicenseType*\
    \&#xNAN;*The type of the license.*
  * `code?` *string*\
    \&#xNAN;*The license code custom. If provided, creates with this code; otherwise, auto-generates. Cannot be used for multiple licenses.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date of the license.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date of the license.*
  * `description?` *string*\
    \&#xNAN;*The description of the license.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the license.*
  * `testMode` *boolean*\
    \&#xNAN;*The test mode of the license. By default, it is set to false.*
  * `quantity` *number* - int32\
    \&#xNAN;*The quantity of the license to create. By default, it is 1.*
  * `userCode` *string* - min: 1\
    \&#xNAN;*The user code of the license. If empty, uses the current logged-in user.*
* **See**: [Purchase to Add Licenses by User Wallet](https://developers.jframework.io/references/api-reference/endpoints/licenses/purchase-to-add-licenses-by-user-wallet)

#### `statisticsLicensesMonthly(params?: IStatisticLicensesMonthlyParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ILicenseStatisticsReportSummary>>`

**Retrieves monthly license usage statistics for reporting and analysis, including totals for licenses created, active, expired, used, unused, and financial details like total amount, refund, and postpaid billing.**

* **Parameters**:
  * `params?` *IStatisticLicensesMonthlyParams*\
    \&#xNAN;*Parameters for getting monthly license statistics.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IStatisticLicensesMonthlyParams Fields**:
  * `packageId?` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `subscriptionTypeId?` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `type?` *LicenseType*\
    \&#xNAN;*The type of the license.*
  * `status?` *LicenseStatus*\
    \&#xNAN;*The status of the license.*
* **See**: [Statistics Licenses Monthly](https://developers.jframework.io/references/api-reference/endpoints/licenses/statistics-licenses-monthly)

#### `updateLicense(params: IUpdateLicenseParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ILicense>>`

**Updates a license by ID.**

* **Parameters**:
  * `params` *IUpdateLicenseParams*\
    \&#xNAN;*Parameters for updating a license, including `id`.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateLicenseParams Fields**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the license.*
  * `packageId` *IdType* - min: 1\
    \&#xNAN;*The ID of the package.*
  * `subscriptionTypeId` *IdType* - min: 1\
    \&#xNAN;*The ID of the subscription type.*
  * `amount` *number* - double\
    \&#xNAN;*The amount value of a license to be created.*
  * `currencyCode` *string*\
    \&#xNAN;*The currency code in ISO 4217 format, a three-letter uppercase code identifying a specific currency.*
  * `startDate` *DateType* - date-time\
    \&#xNAN;*The start date of the license.*
  * `endDate` *DateType* - date-time\
    \&#xNAN;*The end date of the license.*
  * `description?` *string*\
    \&#xNAN;*The description of the license.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the license.*
  * `testMode` *boolean*\
    \&#xNAN;*The test mode of the license. By default, it is set to false.*
* **See**: [Update a License](https://developers.jframework.io/references/api-reference/endpoints/licenses/update-a-license)

### MFA API

The `mfa` object manages multiple factor authentication methods.

#### `getListOfMFA(config?: AxiosRequestConfig) => Promise<HttpResponse<IMFA[]>>`

**Gets a list of multiple factor authentication methods available for the user.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a List of MFA](https://developers.jframework.io/references/api-reference/endpoints/multiple-factor-authentications/get-a-list-of-mfa)

### Notification API

The `notification` object manages notifications and broadcasts.

#### `createBroadcast(params: ICreateBroadcastParams, config?: AxiosRequestConfig) => Promise<HttpResponse<INotification>>`

**Creates a new broadcast, generating individual notifications for relevant users.**

* **Parameters**:
  * `params` *ICreateBroadcastParams*\
    \&#xNAN;*Parameters for creating a broadcast.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateBroadcastParams Fields**:
  * `title` *string* - min: 1\
    \&#xNAN;*The main title of the notification. Displayed prominently to the user.*
  * `type` *NotificationType*\
    \&#xNAN;*The type of the notification.*
  * `channel` *NotificationChannel*\
    \&#xNAN;*The channel of the notification.*
  * `content` *string* - min: 1\
    \&#xNAN;*The main message or body of the notification.*
  * `actionURL?` *string | null* - uri\
    \&#xNAN;*The action URL. Deep link URL for action buttons.*
  * `category?` *string | null*\
    \&#xNAN;*A general grouping or category label for notifications, useful for organizing and filtering.*
  * `topic?` *string | null*\
    \&#xNAN;*A more specific sub-label or theme related to the notification, such as a campaign name or feature tag.*
  * `metadata?` *Record\<string, string> | null*\
    \&#xNAN;*Set of key-value pairs that you can attach to an object. Useful for storing additional information in a structured format.*
  * `scheduledDate?` *DateType | null*\
    \&#xNAN;*The date and time at which the notification should be sent. If null, it will be sent immediately.*
  * `conditions?` *Record\<string, ISegmentCondition> | null*\
    \&#xNAN;*The conditions to filter the recipients.*
* **See**: [Create a Broadcast](https://developers.jframework.io/references/api-reference/endpoints/notifications/create-broadcast)

#### `getNotification(notificationId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<INotification>>`

**Gets a notification by ID.**

* **Parameters**:
  * `notificationId` *IdType*\
    \&#xNAN;*The ID of the notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Notification](https://developers.jframework.io/references/api-reference/endpoints/notifications/get-a-notification)

#### `getNotifications(params?: IGetNotificationsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<INotification>>`

**Gets a list of notifications.**

* **Parameters**:
  * `params?` *IGetNotificationsParams*\
    \&#xNAN;*Parameters for getting notifications.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetNotificationsParams Fields**:
  * `type?` *NotificationType*\
    \&#xNAN;*The type of the notification.*
  * `channel?` *NotificationChannel*\
    \&#xNAN;*The channel of the notification.*
  * `title?` *string*\
    \&#xNAN;*The title of the notification.*
  * `content?` *string*\
    \&#xNAN;*The content of the notification.*
  * `actionUrl?` *string* - uri\
    \&#xNAN;*The action URL of the notification.*
  * `category?` *string*\
    \&#xNAN;*The category of the notification.*
  * `topic?` *string*\
    \&#xNAN;*The topic of the notification.*
  * `testMode?` *boolean*\
    \&#xNAN;*Flag to indicate if the notification is in test mode.*
  * `status?` *NotificationStatus | null*\
    \&#xNAN;*The status of the notification.*
* **See**: [Get Notifications](https://developers.jframework.io/references/api-reference/endpoints/notifications/get-notifications)

#### `pushNotificationMessageForTokens(params: IPushNotificationMessageForTokensParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPushNotificationResponse>>`

**Pushes a notification with the given title and body to the specified device tokens.**

* **Parameters**:
  * `params` *IPushNotificationMessageForTokensParams*\
    \&#xNAN;*Parameters for pushing a notification message.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IPushNotificationMessageForTokensParams Fields**:
  * `title` *string*\
    \&#xNAN;*The title of the notification.*
  * `body` *string*\
    \&#xNAN;*The body of the notification.*
  * `deviceTokens` *string\[]*\
    \&#xNAN;*The list of device tokens.*
* **See**: [Push Notification Message for Device Token](https://developers.jframework.io/references/api-reference/endpoints/notifications/push-notification-message-for-device-token)

#### `pushNotificationDataMessageByTokens(deviceTokens: string[], data: Object, config?: AxiosRequestConfig) => Promise<HttpResponse<IPushNotificationResponse>>`

**Pushes a notification with data messages to the specified device tokens.**

* **Parameters**:
  * `deviceTokens` *string\[]*\
    \&#xNAN;*The list of device tokens.*
  * `data` *Object*\
    \&#xNAN;*The data for the notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Push Notification Data Message by Tokens](https://developers.jframework.io/references/api-reference/endpoints/notifications/push-notification-data-message-by-tokens)

#### `testPushNotificationDataMessage(params: ITestPushNotificationDataMessageParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICountSuccessResponse>>`

**Tests pushing a notification message to the given device tokens.**

* **Parameters**:
  * `params` *ITestPushNotificationDataMessageParams*\
    \&#xNAN;*Parameters for testing a push notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ITestPushNotificationDataMessageParams Fields**:
  * `projectId` *string*\
    \&#xNAN;*The ID of the project in the notification app.*
  * `privateKey` *string*\
    \&#xNAN;*The private key in the notification app.*
  * `clientEmail` *string*\
    \&#xNAN;*The client email in the notification app.*
  * `title` *string*\
    \&#xNAN;*The title of the notification.*
  * `body` *string*\
    \&#xNAN;*The body of the notification.*
  * `tokens` *string\[]*\
    \&#xNAN;*The list of tokens.*
* **See**: [Test Push Notification Data Message](https://developers.jframework.io/references/api-reference/endpoints/notifications/test-push-notification-data-message)

### Organization API

The `organization` object manages organizations and their users.

#### `addNewUserToOrganization(id: IdType, userId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds a new user to an organization.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user to add.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Add a User in an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/add-a-user-in-an-organization)

#### `addUserForDefaultLanguageCodeOrganizationSystem(userId: IdType, languageCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds a new user to the organization system with the specified default language.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user to add.*
  * `languageCode` *string*\
    \&#xNAN;*The language code to use.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Adds a User for Default Language Code Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/adds-a-user-for-default-language-code-organization)

#### `assignRoleForUserInOrganization(organizationId: IdType, params: IAssignRoleForUserInOrganizationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Assigns a role to a user in an organization.**

* **Parameters**:
  * `organizationId` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `params` *IAssignRoleForUserInOrganizationParams*\
    \&#xNAN;*Parameters for assigning a role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IAssignRoleForUserInOrganizationParams Fields**:
  * `roleId` *IdType* - min: 1\
    \&#xNAN;*The ID of the role to assign.*
  * `userId` *IdType* - min: 1\
    \&#xNAN;*The ID of the user to assign the role to.*
* **See**: [Assign Role for a User in an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/assign-role-for-a-user-in-an-organization)

#### `createOrganization(params: ICreateOrganizationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IOrganization>>`

**Creates a new organization.**

* **Parameters**:
  * `params` *ICreateOrganizationParams*\
    \&#xNAN;*Parameters for creating an organization.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateOrganizationParams Fields**:
  * `countryCode?` *string | null*\
    \&#xNAN;*The country code of the organization.*
  * `languageCode?` *string | null*\
    \&#xNAN;*The language code of the organization.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the organization.*
  * `description` *string* - min: 1\
    \&#xNAN;*The description of the organization.*
  * `avatar?` *string | null* - uri\
    \&#xNAN;*The avatar of the organization.*
  * `isPrivate?` *boolean | null*\
    \&#xNAN;*The is private status of the organization. By default, it is set to false.*
  * `isDefault?` *boolean | null*\
    \&#xNAN;*The is default status of the organization. By default, it is set to false.*
  * `status?` *OrganizationStatus | null*\
    \&#xNAN;*The status of the organization.*
* **See**: [Create an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/create-an-organization)

#### `deleteOrganization(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes an organization by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/delete-an-organization)

#### `getOrganization(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IOrganization>>`

**Gets an organization by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/get-an-organization)

#### `getOrganizations(params?: IGetOrganizationsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IOrganization>>`

**Gets a list of organizations.**

* **Parameters**:
  * `params?` *IGetOrganizationsParams*\
    \&#xNAN;*Parameters for getting organizations.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetOrganizationsParams Fields**:
  * `userId?` *IdType*\
    \&#xNAN;*The param UserId to apply filter.*
  * `countryCode?` *string*\
    \&#xNAN;*The param CountryCode to apply filter.*
  * `languageCode?` *string*\
    \&#xNAN;*The param LanguageCode to apply filter.*
  * `code?` *string*\
    \&#xNAN;*The param Code to apply filter.*
  * `name?` *string*\
    \&#xNAN;*The param Name to apply filter.*
  * `description?` *string*\
    \&#xNAN;*The param Description to apply filter.*
  * `avatar?` *string*\
    \&#xNAN;*The param Avatar to apply filter.*
  * `isPrivate?` *boolean*\
    \&#xNAN;*The param IsPrivate to apply filter.*
  * `status?` *OrganizationStatus*\
    \&#xNAN;*The param Status to apply filter.*
  * `userStatus?` *OrganizationUserStatus*\
    \&#xNAN;*The param Status to apply filter. This status is the status of the user in the organization.*
  * `keywords?` *string*\
    \&#xNAN;*The param Keywords to apply filter.*
* **See**: [Get Organizations](https://developers.jframework.io/references/api-reference/endpoints/organizations/get-organizations)

#### `getUsersOfOrganization(organizationId: IdType, params?: IGetUsersOfOrganizationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IOrganizationUser>>`

**Gets the users of an organization.**

* **Parameters**:
  * `organizationId` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `params?` *IGetUsersOfOrganizationParams*\
    \&#xNAN;*Parameters for getting users.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetUsersOfOrganizationParams Fields**:
  * `userId?` *IdType*\
    \&#xNAN;*The user ID filter.*
  * `roleId?` *IdType*\
    \&#xNAN;*The role ID filter.*
  * `status?` *OrganizationUserStatus | null*\
    \&#xNAN;*Filter by status of the user in the organization.*
* **See**: [Get Users of an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/get-users-of-an-organization)

#### `removeUserInOrganization(organizationId: IdType, userId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes a user from an organization.**

* **Parameters**:
  * `organizationId` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Remove a User in an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/remove-a-user-in-an-organization)

#### `updateOrganization(id: IdType, params: IUpdateOrganizationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates an organization by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `params` *IUpdateOrganizationParams*\
    \&#xNAN;*Parameters for updating an organization.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateOrganizationParams Fields**:
  * `countryCode?` *string | null*\
    \&#xNAN;*The country code of the organization.*
  * `languageCode?` *string | null*\
    \&#xNAN;*The language code of the organization.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the organization.*
  * `description` *string* - min: 1\
    \&#xNAN;*The description of the organization.*
  * `avatar?` *string | null* - uri\
    \&#xNAN;*The avatar of the organization.*
  * `isPrivate?` *boolean | null*\
    \&#xNAN;*The is private status of the organization. By default, it is set to false.*
  * `isDefault?` *boolean | null*\
    \&#xNAN;*The is default status of the organization. By default, it is set to false.*
  * `status?` *OrganizationStatus | null*\
    \&#xNAN;*The status of the organization.*
* **See**: [Updates an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/updates-an-organization)

#### `updateUserStatusInOrganization(organizationId: IdType, params: IUpdateUserStatusInOrganizationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates a user's status in an organization.**

* **Parameters**:
  * `organizationId` *IdType*\
    \&#xNAN;*The ID of the organization.*
  * `params` *IUpdateUserStatusInOrganizationParams*\
    \&#xNAN;*Parameters for updating a user's status.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateUserStatusInOrganizationParams Fields**:
  * `status` *OrganizationUserStatus*\
    \&#xNAN;*The status of the user in the organization.*
  * `userIds` *IdType\[]*\
    \&#xNAN;*The list of user IDs.*
* **See**: [Updates Users Status in an Organization](https://developers.jframework.io/references/api-reference/endpoints/organizations/updates-users-status-in-an-organization)

### Package API

The `package` object manages packages and their features.

#### `addFeaturesToPackage(packageId: IdType, params: IAddFeatureToPackageParams[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds features to a package.**

* **Parameters**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `params` *IAddFeatureToPackageParams\[]*\
    \&#xNAN;*Parameters for adding features.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IAddFeatureToPackageParams Fields**:
  * `featureId` *string* - min: 1\
    \&#xNAN;*The feature ID.*
* **See**: [Add Features to a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/add-features-to-a-package)

#### `calculateTotalPriceCheckout(params: ICalculateTotalPriceCheckoutParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ICalculateTotalPriceCheckoutResponse>>`

**Calculates the total price of a package at checkout, considering wallet, refund, prorate, subtotal, tax, and total price.**

* **Parameters**:
  * `params` *ICalculateTotalPriceCheckoutParams*\
    \&#xNAN;*Parameters for calculating total price.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICalculateTotalPriceCheckoutParams Fields**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package for which the total price is being calculated.*
  * `priceId` *IdType* - min: 1\
    \&#xNAN;*The ID of the package to calculate the total price for.*
  * `walletId?` *IdType | null*\
    \&#xNAN;*The ID of the app integration payment gateway to use for the calculation.*
  * `couponCode?` *string | null*\
    \&#xNAN;*The coupon code to apply for the price calculation, if any.*
* **See**: [Calculate Total Price Checkout](https://developers.jframework.io/references/api-reference/endpoints/packages/calculate-total-price-checkout)

#### `createPackage(params: ICreatePackageParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPackage>>`

**Creates a new package.**

* **Parameters**:
  * `params` *ICreatePackageParams*\
    \&#xNAN;*Parameters for creating a package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreatePackageParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the package.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the package.*
  * `imageURL?` *string | null* - uri\
    \&#xNAN;*The image URL of the package.*
  * `patternAvatarURL?` *string | null* - uri\
    \&#xNAN;*The pattern avatar URL of the package.*
  * `styles?` *string | null*\
    \&#xNAN;*The styles of the package. This value is a JSON string.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the package.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the package.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The order of the package. Default is 1.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the package is default. Default is false.*
* **See**: [Create a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/create-a-package)

#### `deletePackage(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a package by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/delete-a-package)

#### `getPackage(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPackage>>`

**Gets a package by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/get-a-package)

#### `getFeaturesFromPackage(packageId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IFeatureOfPackage[]>>`

**Gets features associated with a package.**

* **Parameters**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Features from Package](https://developers.jframework.io/references/api-reference/endpoints/packages/get-features-from-package)

#### `getPackages(params?: IGetPackagesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPackage[]>>`

**Gets a list of packages.**

* **Parameters**:
  * `params?` *IGetPackagesParams*\
    \&#xNAN;*Parameters for getting packages.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetPackagesParams Fields**:
  * `name?` *string*\
    \&#xNAN;*Filter by the name.*
  * `code?` *string*\
    \&#xNAN;*Filter by the code.*
  * `description?` *string*\
    \&#xNAN;*Filter by the description.*
  * `tags?` *string*\
    \&#xNAN;*Filter by the tags.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Filter by the default package.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by the keywords.*
* **See**: [Get Packages](https://developers.jframework.io/references/api-reference/endpoints/packages/get-packages)

#### `getPricesFromPackage(packageId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice[]>>`

**Gets prices associated with a package by its ID.**

* **Parameters**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Prices from a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/get-prices-from-a-package)

#### `removeFeaturesFromPackage(packageId: IdType, featureIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes features from a package.**

* **Parameters**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `featureIds` *IdType\[]*\
    \&#xNAN;*The list of feature IDs to remove.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Remove Features from a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/remove-features-from-a-package)

#### `renewalOrUpgradeUserPackage(params: IRenewalOrUpgradeUserPackageParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IRenewalOrUpgradeUserPackageResponse>>`

**Renews or upgrades a user's package.**

* **Parameters**:
  * `params` *IRenewalOrUpgradeUserPackageParams*\
    \&#xNAN;*Parameters for renewing or upgrading a package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IRenewalOrUpgradeUserPackageParams Fields**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `priceId` *IdType* - min: 1\
    \&#xNAN;*The ID of the package to calculate the total price for.*
  * `walletId?` *string | null*\
    \&#xNAN;*The ID of the app integration payment gateway to use for the calculation.*
  * `refundWalletId?` *string | null*\
    \&#xNAN;*The ID of the wallet to refund if the proration amount exceeds the upgrade price.*
  * `couponCode?` *string | null*\
    \&#xNAN;*The coupon code to apply for the price calculation, if any.*
  * `appIntegrationId?` *string | null*\
    \&#xNAN;*The ID of the app integration associated with the package upgrade.*
* **See**: [Renewal or Upgrade User Package](https://developers.jframework.io/references/api-reference/endpoints/packages/renewal-or-upgrade-user-package)

#### `updatePackage(id: IdType, params: IUpdatePackageParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPackage>>`

**Updates a package by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `params` *IUpdatePackageParams*\
    \&#xNAN;*Parameters for updating a package.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdatePackageParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the package.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the package.*
  * `imageURL?` *string | null* - uri\
    \&#xNAN;*The image URL of the package.*
  * `patternAvatarURL?` *string | null* - uri\
    \&#xNAN;*The pattern avatar URL of the package.*
  * `styles?` *string | null*\
    \&#xNAN;*The styles of the package. This value is a JSON string.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the package.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the package.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The order of the package. Default is 1.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the package is default. Default is false.*
* **See**: [Update a Package](https://developers.jframework.io/references/api-reference/endpoints/packages/update-a-package)

#### `updatePackageFeatureData(pathParams: IUpdatePackageFeatureDataPathParams, params: IUpdatePackageFeatureDataParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates package feature data.**

* **Parameters**:
  * `pathParams` *IUpdatePackageFeatureDataPathParams*\
    \&#xNAN;*Path parameters for updating package feature data.*
  * `params` *IUpdatePackageFeatureDataParams*\
    \&#xNAN;*Parameters for updating package feature data.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdatePackageFeatureDataPathParams Fields**:
  * `packageId` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `featureId` *IdType*\
    \&#xNAN;*The ID of the feature.*
* **IUpdatePackageFeatureDataParams Fields**:
  * `title?` *string | null*\
    \&#xNAN;*The title of the feature. This title is used to display the feature in the UI.*
  * `value?` *number | null* - int32\
    \&#xNAN;*The value of the feature follow by package.*
  * `isUnlimited?` *boolean | null*\
    \&#xNAN;*Flag to indicate if the feature is unlimited. Default is false.*
* **See**: [Update Package Feature Data](https://developers.jframework.io/references/api-reference/endpoints/packages/update-package-feature-data)

### Payment API

The `payment` object manages payments.

#### `generatePaymentCheckoutLink(params: IGeneratePaymentCheckoutLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPaymentGenerateCheckoutLinkResponse>>`

**Generates a checkout link to make a payment.**

* **Parameters**:
  * `params` *IGeneratePaymentCheckoutLinkParams*\
    \&#xNAN;*Parameters for generating a payment checkout link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGeneratePaymentCheckoutLinkParams Fields**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the payment.*
  * `appIntegrationId?` *IdType*\
    \&#xNAN;*The identifier of the specific app integration payment gateway to use for generating the checkout link.*
* **See**: [Generate Checkout Link](https://developers.jframework.io/references/api-reference/endpoints/prices/generate-checkout-link)

#### `getPayment(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPayment>>`

**Gets a payment by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the payment.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Payment](https://developers.jframework.io/references/api-reference/endpoints/payments/get-a-payment)

#### `getPayments(params?: IGetPaymentsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IPayment>>`

**Gets a list of payments based on the given filter.**

* **Parameters**:
  * `params?` *IGetPaymentsParams*\
    \&#xNAN;*Parameters for getting payments.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetPaymentsParams Fields**:
  * `appIntegrationPaymentGatewayId?` *string*\
    \&#xNAN;*Filter by the app integration payment gateway ID.*
  * `priceId?` *string*\
    \&#xNAN;*The price ID.*
  * `code?` *string*\
    \&#xNAN;*The payment request code.*
  * `userId?` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `referralUserCode?` *string*\
    \&#xNAN;*The reference user code.*
  * `status?` *PaymentStatus | null*\
    \&#xNAN;*The status of the payment request.*
  * `paymentType?` *string*\
    \&#xNAN;*The payment request type.*
  * `currencyCode?` *string*\
    \&#xNAN;*The currency code.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords to filter.*
  * `testMode?` *boolean*\
    \&#xNAN;*The payment request amount.*
* **See**: [Get Payments](https://developers.jframework.io/references/api-reference/endpoints/payments/get-payments)

#### `getOverviewSellDashboard(testMode?: boolean, config?: AxiosRequestConfig) => Promise<HttpResponse<IPaymentDashboard>>`

**Calculates the metric overview dashboard for payments.**

* **Parameters**:
  * `testMode?` *boolean*\
    \&#xNAN;*Query parameter to enable test mode.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Gets the Overview Sell Dashboard](https://developers.jframework.io/references/api-reference/endpoints/payments/gets-the-overview-sell-dashboard)

### Permission API

The `permission` object manages permissions and their associated roles.

#### `addRolesToPermission(permissionId: IdType, roleIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds roles to a permission.**

* **Parameters**:
  * `permissionId` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `roleIds` *IdType\[]*\
    \&#xNAN;*The list of role IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Add Roles to a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/add-roles-to-a-permission)

#### `createPermission(params: ICreatePermissionParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPermission>>`

**Creates a new permission.**

* **Parameters**:
  * `params` *ICreatePermissionParams*\
    \&#xNAN;*Parameters for creating a permission.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreatePermissionParams Fields**:
  * `resourceTypeId` *IdType* - min: 1\
    \&#xNAN;*The resource type ID.*
  * `code` *string* - min: 1\
    \&#xNAN;*The permission code.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the permission.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the permission.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the permission.*
* **See**: [Create a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/add-roles-to-a-permission)

#### `deletePermission(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a permission by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/delete-a-permission)

#### `getPermission(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPermission>>`

**Gets a permission by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/get-a-permission)

#### `getPermissions(params?: IGetPermissionsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IPermission>>`

**Gets a list of all permissions.**

* **Parameters**:
  * `params?` *IGetPermissionsParams*\
    \&#xNAN;*Parameters for getting permissions.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetPermissionsParams Fields**:
  * `resourceTypeId?` *string*\
    \&#xNAN;*Filter by resource type ID.*
  * `code?` *string*\
    \&#xNAN;*Filter by code.*
  * `name?` *string*\
    \&#xNAN;*Filter by name.*
  * `tags?` *string*\
    \&#xNAN;*Filter by tags.*
  * `description?` *string*\
    \&#xNAN;*Filter by description.*
  * `type?` *PermissionTypeFilter*\
    \&#xNAN;*Filter by type.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by keywords.*
* **See**: [Get Permissions](https://developers.jframework.io/references/api-reference/endpoints/permissions/get-permissions)

#### `getRolesFromPermission(permissionId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IRole[]>>`

**Gets roles associated with a permission by its ID.**

* **Parameters**:
  * `permissionId` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Roles from a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/get-roles-from-a-permission)

#### `removeRolesFromPermission(permissionId: IdType, roleIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes roles from a permission.**

* **Parameters**:
  * `permissionId` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `roleIds` *IdType\[]*\
    \&#xNAN;*The list of role IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Remove Roles from a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/remove-roles-from-a-permission)

#### `updatePermission(id: IdType, params: IUpdatePermissionParams, config?: AxiosRequestConfig) => Promise<HttpResponse<unknown>>`

**Updates a permission by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the permission.*
  * `params` *IUpdatePermissionParams*\
    \&#xNAN;*Parameters for updating a permission.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdatePermissionParams Fields**:
  * `resourceTypeId` *IdType* - min: 1\
    \&#xNAN;*The resource type ID.*
  * `code` *string* - min: 1\
    \&#xNAN;*The permission code.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the permission.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the permission.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the permission.*
* **See**: [Update a Permission](https://developers.jframework.io/references/api-reference/endpoints/permissions/update-a-permission)

### Price API

The `price` object manages prices.

#### `createPrice(params: ICreatePriceParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice>>`

**Creates a new price.**

* **Parameters**:
  * `params` *ICreatePriceParams*\
    \&#xNAN;*Parameters for creating a price.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreatePriceParams Fields**:
  * `packageId` *string* - min: 1\
    \&#xNAN;*The package ID.*
  * `subscriptionTypeId` *string* - min: 1\
    \&#xNAN;*The subscription type ID.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the price.*
  * `name` *string*\
    \&#xNAN;*The name of the price.*
  * `amount` *number* - double\
    \&#xNAN;*The amount of the price.*
  * `currency` *string* - min: 1\
    \&#xNAN;*The currency code of the price. Must be a valid ISO 4217 currency code.*
  * `checkoutLink?` *string | null* - uri\
    \&#xNAN;*The checkout link of the price. Redirects to the checkout page.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the price.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the price.*
  * `zOrder?` *number | null* - int32\
    \&#xNAN;*The order of the price. Default is 1.*
* **See**: [Create a Price](https://developers.jframework.io/references/api-reference/endpoints/prices/create-a-price)

#### `deletePrice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a price by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the price.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Price](https://developers.jframework.io/references/api-reference/endpoints/prices/delete-a-price)

#### `generateCheckoutLink(params: IGenerateCheckoutLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Generates a direct checkout link for a price, allowing the user to place an order.**

* **Parameters**:
  * `params` *IGenerateCheckoutLinkParams*\
    \&#xNAN;*Parameters for generating a checkout link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGenerateCheckoutLinkParams Fields**:
  * `priceId` *IdType*\
    \&#xNAN;*The ID of the price.*
  * `appIntegrationId` *IdType*\
    \&#xNAN;*The ID of the app integration.*
* **See**: [Generate Checkout Link](https://developers.jframework.io/references/api-reference/endpoints/prices/generate-checkout-link)

#### `getPrice(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice>>`

**Gets a price by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the price.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Price](https://developers.jframework.io/references/api-reference/endpoints/prices/get-a-price)

#### `getPrices(params?: IGetPricesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice[]>>`

**Gets a list of prices.**

* **Parameters**:
  * `params?` *IGetPricesParams*\
    \&#xNAN;*Parameters for getting prices.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetPricesParams Fields**:
  * `paymentMethodId?` *IdType*\
    \&#xNAN;*The ID of the payment method.*
  * `packageId?` *IdType*\
    \&#xNAN;*The ID of the package.*
  * `subscriptionTypeId?` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `code?` *string*\
    \&#xNAN;*The code of the price.*
  * `name?` *string*\
    \&#xNAN;*The name of the price.*
  * `description?` *string*\
    \&#xNAN;*The description of the price.*
  * `amount?` *number*\
    \&#xNAN;*The amount of the price.*
  * `currency?` *string*\
    \&#xNAN;*The currency of the price.*
  * `checkoutLink?` *string*\
    \&#xNAN;*The checkout link.*
  * `tags?` *string*\
    \&#xNAN;*The tags of the price.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The z-order of the price.*
* **See**: [Get Prices](https://developers.jframework.io/references/api-reference/endpoints/prices/get-prices)

#### `updatePrice(id: IdType, params: IUpdatePriceParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice>>`

**Updates a price by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the price.*
  * `params` *IUpdatePriceParams*\
    \&#xNAN;*Parameters for updating a price.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdatePriceParams Fields**:
  * `packageId` *string* - min: 1\
    \&#xNAN;*The package ID.*
  * `subscriptionTypeId` *string* - min: 1\
    \&#xNAN;*The subscription type ID.*
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the price.*
  * `name` *string*\
    \&#xNAN;*The name of the price.*
  * `amount` *number* - double\
    \&#xNAN;*The amount of the price.*
  * `currency` *string* - min: 1\
    \&#xNAN;*The currency code of the price. Must be a valid ISO 4217 currency code.*
  * `checkoutLink?` *string | null* - uri\
    \&#xNAN;*The checkout link of the price. Redirects to the checkout page.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the price.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the price.*
  * `zOrder?` *number | null* - int32\
    \&#xNAN;*The order of the price. Default is 1.*
* **See**: [Update a Price](https://developers.jframework.io/references/api-reference/endpoints/prices/update-a-price)

### Resource Type API

The `resourceType` object manages resource types.

#### `createResourceType(params: ICreateResourceTypeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IResourceType>>`

**Creates a new resource type.**

* **Parameters**:
  * `params` *ICreateResourceTypeParams*\
    \&#xNAN;*Parameters for creating a resource type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateResourceTypeParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The resource type code.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the resource type.*
  * `description` *string* - min: 1\
    \&#xNAN;*The description of the resource type.*
* **See**: [Create a Resource Type](https://developers.jframework.io/references/api-reference/endpoints/resource-types/create-a-resource-type)

#### `deleteResourceType(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a resource type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the resource type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Resource Type](https://developers.jframework.io/references/api-reference/endpoints/resource-types/delete-a-resource-type)

#### `getResourceType(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IResourceType>>`

**Gets a resource type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the resource type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Resource Type](https://developers.jframework.io/references/api-reference/endpoints/resource-types/get-a-resource-type)

#### `getResourceTypes(params?: IGetResourceTypesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IResourceType[]>>`

**Gets a list of resource types.**

* **Parameters**:
  * `params?` *IGetResourceTypesParams*\
    \&#xNAN;*Parameters for getting resource types.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetResourceTypesParams Fields**:
  * `code?` *string*\
    \&#xNAN;*Filter by code.*
  * `name?` *string*\
    \&#xNAN;*Filter by name.*
  * `tags?` *string*\
    \&#xNAN;*Filter by tags.*
  * `description?` *string*\
    \&#xNAN;*Filter by description.*
  * `type?` *ResourceTypeTypeFilter*\
    \&#xNAN;*The param type to apply filter.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by keywords.*
* **See**: [Get Resource Types](https://developers.jframework.io/references/api-reference/endpoints/resource-types/get-resource-types)

#### `updateResourceType(id: IdType, params: IUpdateResourceTypeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IResourceType>>`

**Updates a resource type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the resource type.*
  * `params` *IUpdateResourceTypeParams*\
    \&#xNAN;*Parameters for updating a resource type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateResourceTypeParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The resource type code.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the resource type.*
  * `description` *string* - min: 1\
    \&#xNAN;*The description of the resource type.*
* **See**: [Update a Resource Type](https://developers.jframework.io/references/api-reference/endpoints/resource-types/update-a-resource-type)

### Role API

The `role` object manages roles and their permissions.

#### `assignUsersToRole(id: IdType, userIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Assigns users to a role.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `userIds` *IdType\[]*\
    \&#xNAN;*The list of user IDs to assign.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Assign Users to a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/assign-users-to-a-role)

#### `deleteRole(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a role by ID, removing it from any assigned users and permissions.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/delete-a-role)

#### `createRole(params: ICreateRoleParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IRole>>`

**Creates a new role. New roles are not associated with permissions by default.**

* **Parameters**:
  * `params` *ICreateRoleParams*\
    \&#xNAN;*Parameters for creating a role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateRoleParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the role.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the role.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the role.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the role.*
* **See**: [Create a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/create-a-role)

#### `getRole(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IRole>>`

**Gets a role by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/get-a-role)

#### `getRoles(params?: IGetRolesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IRole>>`

**Gets a list of roles in the brand.**

* **Parameters**:
  * `params?` *IGetRolesParams*\
    \&#xNAN;*Parameters for getting roles.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetRolesParams Fields**:
  * `ids?` *string*\
    \&#xNAN;*The list ID of the role to filter.*
  * `code?` *string*\
    \&#xNAN;*The param code to apply filter.*
  * `name?` *string*\
    \&#xNAN;*The param name to apply filter.*
  * `description?` *string*\
    \&#xNAN;*The param description to apply filter.*
  * `type?` *RoleTypeFilter*\
    \&#xNAN;*The param type to apply filter.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by keywords.*
* **See**: [Get Roles](https://developers.jframework.io/references/api-reference/endpoints/roles/get-roles)

#### `grantPermissionsToRole(roleId: IdType, permissionIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Grants one or more permissions to a specific role.**

* **Parameters**:
  * `roleId` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `permissionIds` *IdType\[]*\
    \&#xNAN;*The list of permission IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Grant Permissions to a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/grant-permissions-to-a-role)

#### `getPermissionsGrantedByRole(roleId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPermission[]>>`

**Retrieves a detailed list of permissions granted by a specified role, including name, description, and resource server.**

* **Parameters**:
  * `roleId` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Permissions Granted by Role](https://developers.jframework.io/references/api-reference/endpoints/roles/get-permissions-granted-by-role)

#### `removePermissionsFromRole(roleId: IdType, permissionIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes one or more permissions from a specific role.**

* **Parameters**:
  * `roleId` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `permissionIds` *IdType\[]*\
    \&#xNAN;*The list of permission IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Remove Permissions from a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/remove-permissions-from-a-role)

#### `updateRole(id: IdType, params: IUpdateRoleParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IRole>>`

**Updates a role by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the role.*
  * `params` *IUpdateRoleParams*\
    \&#xNAN;*Parameters for updating a role.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateRoleParams Fields**:
  * `code` *string* - min: 1\
    \&#xNAN;*The code of the role.*
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the role.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the role.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the role.*
* **See**: [Update a Role](https://developers.jframework.io/references/api-reference/endpoints/roles/update-a-role)

### State API

The `state` object manages state data.

#### `getStates(config?: AxiosRequestConfig) => Promise<HttpResponse<IState[]>>`

**Gets a list of states.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get States](https://developers.jframework.io/references/api-reference/endpoints/states)

### Subscription Type API

The `subscriptionType` object manages subscription types.

#### `createSubscriptionType(params: ICreateSubscriptionTypeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ISubscriptionType>>`

**Creates a new subscription type.**

* **Parameters**:
  * `params` *ICreateSubscriptionTypeParams*\
    \&#xNAN;*Parameters for creating a new subscription type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **ICreateSubscriptionTypeParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the subscription type.*
  * `unit` *SubscriptionTypeUnit* - min: 1\
    \&#xNAN;*The unit of the subscription type.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of the subscription type.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the subscription type.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The z-order of the subscription type. Default is 1.*
  * `status?` *SubscriptionTypeStatus*\
    \&#xNAN;*The status of the subscription type.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the subscription type is default. By default, it is false.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the subscription type.*
* **See**: [Create a Subscription Type](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/create-a-subscription-type)

#### `deleteSubscriptionType(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a subscription type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Delete a Subscription Type](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/delete-a-subscription-type)

#### `getSubscriptionType(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ISubscriptionType>>`

**Gets a subscription type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get a Subscription Type](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/get-a-subscription-type)

#### `getPricesFromSubscriptionType(subscriptionTypeId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IPrice[]>>`

**Gets prices from a subscription type.**

* **Parameters**:
  * `subscriptionTypeId` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Get Prices from a Subscription Type](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/get-prices-from-a-subscription-type)

#### `getSubscriptionTypes(params?: IGetSubscriptionTypesParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ISubscriptionType[]>>`

**Gets a list of subscription types.**

* **Parameters**:
  * `params?` *IGetSubscriptionTypesParams*\
    \&#xNAN;*Parameters for getting subscription types.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IGetSubscriptionTypesParams Fields**:
  * `name?` *string*\
    \&#xNAN;*The name to filter.*
  * `unit?` *SubscriptionTypeUnit*\
    \&#xNAN;*The unit to filter.*
  * `status?` *SubscriptionTypeStatus*\
    \&#xNAN;*The status to filter.*
  * `tags?` *string*\
    \&#xNAN;*The tags to filter.*
  * `description?` *string*\
    \&#xNAN;*The description to filter.*
  * `keywords?` *string*\
    \&#xNAN;*The keywords to filter.*
* **See**: [Get Subscription Types](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/get-subscription-types)

#### `updateSubscriptionType(id: IdType, params: IUpdateSubscriptionTypeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<ISubscriptionType>>`

**Updates a subscription type by ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the subscription type.*
  * `params` *IUpdateSubscriptionTypeParams*\
    \&#xNAN;*Parameters for updating a subscription type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **IUpdateSubscriptionTypeParams Fields**:
  * `name` *string* - min: 1\
    \&#xNAN;*The name of the subscription type.*
  * `unit` *SubscriptionTypeUnit* - min: 1\
    \&#xNAN;*The unit of the subscription type.*
  * `quantity?` *number* - int32\
    \&#xNAN;*The quantity of the subscription type.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the subscription type.*
  * `zOrder?` *number* - int64\
    \&#xNAN;*The z-order of the subscription type. Default is 1.*
  * `status?` *SubscriptionTypeStatus*\
    \&#xNAN;*The status of the subscription type.*
  * `isDefault?` *boolean*\
    \&#xNAN;*Flag to indicate if the subscription type is default. By default, it is false.*
  * `description?` *string | null*\
    \&#xNAN;*The description of the subscription type.*
* **See**: [Update a Subscription Type](https://developers.jframework.io/references/api-reference/endpoints/subscription-types/update-a-subscription-type)

### Timezone API

The `timezone` object manages timezones.

#### `getTimezones(config?: AxiosRequestConfig) => Promise<HttpResponse<ITimezone[]>>`

**Lists all time zones.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration.*
* **See**: [Time Zones](https://developers.jframework.io/references/api-reference/endpoints/time-zones)

### Tracking Activity API

The `trackingActivity` object provides methods for managing tracking activities.

#### `getTrackingActivities(params?: IGetTrackingActivitiesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<ITrackingActivity>>`

**Gets a list of tracking activities.**

* **Parameters**:
  * `params?` *IGetTrackingActivitiesParams*\
    \&#xNAN;*The parameters for getting tracking activities.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetTrackingActivitiesParams Fields**:
  * `userId?` *string*\
    \&#xNAN;*Filter by user id.*
  * `deviceId?` *string*\
    \&#xNAN;*Filter by device id.*
  * `trackingEventId?` *string*\
    \&#xNAN;*Filter by tracking event id.*
  * `url?` *string*\
    \&#xNAN;*Filter by the URL requested.*
  * `ipAddress?` *string*\
    \&#xNAN;*Filter by the ip address.*
  * `os?` *string*\
    \&#xNAN;*Filter by the os.*
  * `browserName?` *string*\
    \&#xNAN;*Filter by the browser name.*
  * `browserVersion?` *string*\
    \&#xNAN;*Filter by the browser version.*
  * `requestFromMobile?` *boolean*\
    \&#xNAN;*Filter by the request from mobile.*
  * `userAgent?` *string*\
    \&#xNAN;*Filter by the user agent.*
  * `location?` *string*\
    \&#xNAN;*Filter by the location.*
  * `latitude?` *number* - double\
    \&#xNAN;*Filter by the latitude.*
  * `longitude?` *number* - double\
    \&#xNAN;*Filter by the longitude.*
  * `description?` *string*\
    \&#xNAN;*Filter by the description.*
  * `tags?` *string*\
    \&#xNAN;*Filter by the tags.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by the keywords.*
* **See**: [Get Activities](https://developers.jframework.io/references/api-reference/endpoints/tracking-activities/get-activities)

#### `getTrackingActivity(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ITrackingActivity>>`

**Gets a tracking activity by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the activity.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get a Activity](https://developers.jframework.io/references/api-reference/endpoints/tracking-activities/get-a-activity)

### Tracking Email API

The `trackingEmail` object provides methods for managing tracking emails.

#### `getTrackingEmail(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<ITrackingEmail>>`

**Gets a tracking email by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the tracking email.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get a Tracking Email](https://developers.jframework.io/references/api-reference/endpoints/tracking-emails/get-a-tracking-email)

#### `getTrackingEmails(params?: IGetTrackingEmailsParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<ITrackingEmail>>`

**Gets a list of tracking emails.**

* **Parameters**:
  * `params?` *IGetTrackingEmailsParams*\
    \&#xNAN;*The parameters for getting tracking emails.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetTrackingEmailsParams Fields**:
  * `userId?` *IdType*\
    \&#xNAN;*The id of the user.*
  * `eventId?` *IdType*\
    \&#xNAN;*The id of the event.*
  * `countryCode?` *string*\
    \&#xNAN;*The country code. This is a two letter country code.*
  * `languageCode?` *string*\
    \&#xNAN;*The language code. This is a two letter language code.*
  * `type?` *TrackingEmailNotificationType*\
    \&#xNAN;*The notification type.*
  * `notificationChannelType?` *TrackingEmailNotificationChannelType*\
    \&#xNAN;*The notification channel type.*
  * `emailFrom?` *string*\
    \&#xNAN;*The email from.*
  * `emailTo?` *string*\
    \&#xNAN;*The email to.*
  * `emailCc?` *string*\
    \&#xNAN;*The email cc.*
  * `emailBcc?` *string*\
    \&#xNAN;*The email bcc.*
  * `emailSubject?` *string*\
    \&#xNAN;*The email subject.*
  * `emailBody?` *string*\
    \&#xNAN;*The email body.*
  * `testMode?` *boolean*\
    \&#xNAN;*Flag to indicate if the email is in test mode.*
  * `keywords?` *string*\
    \&#xNAN;*Filter by keywords.*
  * `tags?` *string*\
    \&#xNAN;*The tags.*
  * `status?` *TrackingEmailStatus*\
    \&#xNAN;*The status of the tracking email.*
* **See**: [Get Tracking Emails](https://developers.jframework.io/references/api-reference/endpoints/tracking-emails/get-tracking-emails)

### User API

The `user` object provides methods for managing users, including authentication, roles, devices, notifications, and passwordless login.

#### `activateUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Sends an activation email to the user, setting their status to Active upon completion.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Activate a User](https://developers.jframework.io/references/api-reference/endpoints/users/activate-a-user)

#### `addDeviceToUser(params: IAddDeviceToUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Adds a device to a user.**

* **Parameters**:
  * `params` *IAddDeviceToUserParams*\
    \&#xNAN;*The parameters for adding a device to a user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAddDeviceToUserParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The id of the user.*
  * `deviceId` *IdType*\
    \&#xNAN;*The id of the device to add.*
  * `token?` *string | null*\
    \&#xNAN;*The token of the device data. This token is used when push notification for the device.*
  * `session?` *string | null*\
    \&#xNAN;*The session of the device data and related with user.*
  * `tags?` *string | null*\
    \&#xNAN;*The tags of the device.*
  * `status?` *UserDeviceStatus*\
    \&#xNAN;*The status of the device.*
* **See**: [Add a Device to a User](https://developers.jframework.io/references/api-reference/endpoints/users/add-a-device-to-a-user)

#### `applyReferralCodeToUser(id: IdType, params: IApplyReferralCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Applies a referral code to a user.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `params` *IApplyReferralCodeParams*\
    \&#xNAN;*The parameters for applying a referral code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IApplyReferralCodeParams Fields**:
  * `referralCode` *string*\
    \&#xNAN;*The referral code to apply.*
* **See**: [Applies the Referral Code to a User](https://developers.jframework.io/references/api-reference/endpoints/users/applies-the-referral-code-to-a-user)

#### `assignRolesToUser(id: IdType, roleIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Assigns roles to a user.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `roleIds` *IdType\[]*\
    \&#xNAN;*The role IDs to assign.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Assigns Roles to a User](https://developers.jframework.io/references/api-reference/endpoints/users/assigns-roles-to-a-user)

#### `authenticationByApple(callbackURL: string, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Gets the Apple login URL.**

* **Parameters**:
  * `callbackURL` *string*\
    \&#xNAN;*The callback URL for redirection after login.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Authentication by Apple](https://developers.jframework.io/references/api-reference/endpoints/users/authentication-by-apple)

#### `authenticationByGoogle(params: IAuthenticationByGoogleParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Gets the Google login URL.**

* **Parameters**:
  * `params` *IAuthenticationByGoogleParams*\
    \&#xNAN;*The parameters for authentication with Google.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAuthenticationByGoogleParams Fields**:
  * `callbackURL` *string*\
    \&#xNAN;*The callback URL that the user will be redirected to after logging in.*
  * `returnURL` *string*\
    \&#xNAN;*The return URL that the user will be redirected to after canceling the login.*
  * `typeResponse?` *AuthenticationResponseType*\
    \&#xNAN;*The type response after the authentication success. The type includes the RedirectUrl or JsonFormat. By default, the type is RedirectUrl.*
* **See**: [Authentication by Google](https://developers.jframework.io/references/api-reference/endpoints/users/authentication-by-google)

#### `authenticationByPhoneNumber(params: IAuthenticationByPhoneNumberParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`

**Authenticates a user with phone number and password.**

* **Parameters**:
  * `params` *IAuthenticationByPhoneNumberParams*\
    \&#xNAN;*The parameters for authentication by phone number.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAuthenticationByPhoneNumberParams Fields**:
  * `phoneNumber` *string* - min: 1\
    \&#xNAN;*This represents the phone number of the user.*
  * `password` *string* - min: 1\
    \&#xNAN;*This represents the password of the user.*
* **See**: [Authentication by Phone](https://developers.jframework.io/references/api-reference/endpoints/users/authentication-by-phone)

#### `authentication(params: IAuthenticationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`

**Authenticates a user with email and password.**

* **Parameters**:
  * `params` *IAuthenticationParams*\
    \&#xNAN;*The parameters for authentication.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAuthenticationParams Fields**:
  * `username` *string* - min: 1\
    \&#xNAN;*This represents the username of the user.*
  * `password` *string* - min: 1\
    \&#xNAN;*This represents the password of the user.*
* **See**: [Authentication](https://developers.jframework.io/references/api-reference/endpoints/users/authentication)

#### `changePassword(params: IChangePasswordParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Changes the user's password.**

* **Parameters**:
  * `params` *IChangePasswordParams*\
    \&#xNAN;*The parameters for changing password.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IChangePasswordParams Fields**:
  * `oldPassword` *string* - min: 1\
    \&#xNAN;*The old password of the user.*
  * `newPassword` *string* - min: 1\
    \&#xNAN;*The new password of the user.*
  * `confirmPassword` *string* - min: 1\
    \&#xNAN;*The confirm password of the user.*
* **See**: [Change Password](https://developers.jframework.io/references/api-reference/endpoints/users/change-password)

#### `changePasswordForAnotherUser(params: IChangePasswordForAnotherUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Changes the password for another user.**

* **Parameters**:
  * `params` *IChangePasswordForAnotherUserParams*\
    \&#xNAN;*The parameters for changing password for another user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IChangePasswordForAnotherUserParams Fields**:
  * `id` *IdType*\
    \&#xNAN;*The id of the user to change.*
  * `newPassword` *string* - min: 1\
    \&#xNAN;*The new password of the user.*
  * `confirmPassword` *string* - min: 1\
    \&#xNAN;*The confirm password of the user.*
* **See**: [Change Password by User ID](https://developers.jframework.io/references/api-reference/endpoints/users/change-password-by-user-id)

#### `checkReferralUserCode(code: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Checks if the referral code exists in the system.**

* **Parameters**:
  * `code` *string*\
    \&#xNAN;*The referral code to check.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Check Referral User Code](https://developers.jframework.io/references/api-reference/endpoints/users/check-referral-user-code)

#### `checkAuthKeyAvailable(params: ICheckAuthKeyAvailableParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Checks if the auth key is available.**

* **Parameters**:
  * `params` *ICheckAuthKeyAvailableParams*\
    \&#xNAN;*The parameters for checking auth key availability.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **ICheckAuthKeyAvailableParams Fields**:
  * `authKey` *string*\
    \&#xNAN;*The auth key to check.*
* **See**: [Check Auth Key Available](https://developers.jframework.io/references/api-reference/endpoints/users/check-auth-key-available)

#### `deactivateUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deactivates a user, setting their status to Inactive after sending a deactivation email.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Deactivate a User](https://developers.jframework.io/references/api-reference/endpoints/users/deactivate-a-user)

#### `deleteUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Deletes a user by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Delete a User](https://developers.jframework.io/references/api-reference/endpoints/users/delete-a-user)

#### `sendEmailToVerifyEmailAddressOfUser(id: IdType, returnURL: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Sends an email to verify the user's email address with a verification link.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `returnURL` *string*\
    \&#xNAN;*The return URL after verification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Verify User Email - Send](https://developers.jframework.io/references/api-reference/endpoints/users/verify-user-email#post-api-v1-users-id-email-address-verify-send)

#### `activeUserEmailAddress(token: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Activates the user's email address using the provided token.**

* **Parameters**:
  * `token` *string*\
    \&#xNAN;*The token to activate the email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Verify User Email - Active](https://developers.jframework.io/references/api-reference/endpoints/users/verify-user-email#put-api-v1-users-email-address-active)

#### `forgotPassword(params: IForgotPasswordParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Sends an email with a link to reset the user's password.**

* **Parameters**:
  * `params` *IForgotPasswordParams*\
    \&#xNAN;*The parameters for forgot password.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IForgotPasswordParams Fields**:
  * `emailAddress` *string* - email - min: 1\
    \&#xNAN;*This represents the email of the user.*
  * `resetPasswordLink` *string* - uri - min: 1\
    \&#xNAN;*This represents the reset password link to be sent to the user.*
* **See**: [Forgot Password](https://developers.jframework.io/references/api-reference/endpoints/users/forgot-password)

#### `getUserByUsername(username: string, config?: AxiosRequestConfig) => Promise<HttpResponse<IUser>>`

**Gets a user by username.**

* **Parameters**:
  * `username` *string*\
    \&#xNAN;*The username of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get a User by Username](https://developers.jframework.io/references/api-reference/endpoints/users/get-a-user-by-username)

#### `getUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IUser>>`

**Gets a user by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get a User](https://developers.jframework.io/references/api-reference/endpoints/users/get-a-user)

#### `getAppIntegrationAuthenticateURLs(params: IGetAppIntegrationAuthenticateURLsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAppIntegrationAuthenticateURL[]>>`

**Gets app integration authenticate URLs for the given parameters.**

* **Parameters**:
  * `params` *IGetAppIntegrationAuthenticateURLsParams*\
    \&#xNAN;*The parameters for getting authenticate URLs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetAppIntegrationAuthenticateURLsParams Fields**:
  * `callbackURL` *string*\
    \&#xNAN;*The callback URL. It is the URL that the user will be redirected to after logging in.*
  * `returnURL` *string*\
    \&#xNAN;*The return URL. It is the URL that the user will be redirected to after canceling the login.*
  * `deviceCode?` *string*\
    \&#xNAN;*The device code. It is the code that the user will be detected as a device.*
  * `typeResponse?` *AuthenticationResponseType*\
    \&#xNAN;*The type response. It is the type of the response after the authentication success.*
* **See**: [Get App Integration Authenticate URLs](https://developers.jframework.io/references/api-reference/endpoints/users/get-app-integration-authenticate-urls)

#### `getDevicesFromUser(userId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IDeviceOfUser[]>>`

**Gets devices associated with a user.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get Devices from a User](https://developers.jframework.io/references/api-reference/endpoints/users/get-devices-from-a-user)

#### `getUsersByListIDs(ids: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<IUser[]>>`

**Gets users by a list of IDs (maximum 100).**

* **Parameters**:
  * `ids` *IdType\[]*\
    \&#xNAN;*The list of user IDs.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get Users by List ID](https://developers.jframework.io/references/api-reference/endpoints/users/get-users#get-api-v1-users-by-list-id)

#### `getUsers(params: IGetUsersParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IUser>>`

**Gets a list of users in the system, filtered by the provided parameters.**

* **Parameters**:
  * `params` *IGetUsersParams*\
    \&#xNAN;*The parameters for getting users.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetUsersParams Fields**:
  * `ids?` *string*\
    \&#xNAN;*The list id of the user to filter.*
  * `roleId?` *IdType*\
    \&#xNAN;*The role id of the user.*
  * `code?` *string*\
    \&#xNAN;*The code of the user.*
  * `username?` *string*\
    \&#xNAN;*The username of the user.*
  * `userType?` *string*\
    \&#xNAN;*The type of the user.*
  * `isEmailAddressVerified?` *boolean*\
    \&#xNAN;*Filter with is email address verified.*
  * `isUserVerified?` *boolean*\
    \&#xNAN;*Filter with is user verified.*
  * `testMode?` *boolean*\
    \&#xNAN;*The email address of the user.*
  * `status?` *UserStatus*\
    \&#xNAN;*The status of the user.*
  * `isSystem?` *boolean*\
    \&#xNAN;*Filter with is system user.*
  * `firstName?` *string*\
    \&#xNAN;*The first name of the user.*
  * `lastName?` *string*\
    \&#xNAN;*The last name of the user.*
  * `nickName?` *string*\
    \&#xNAN;*The nickname of the user.*
  * `avatar?` *string* - uri\
    \&#xNAN;*The avatar of the user.*
  * `emailAddress?` *string*\
    \&#xNAN;*The email address of the user.*
  * `phoneNumber?` *string* - tel\
    \&#xNAN;*The phone number 1 (deprecated).*
  * `keywords?` *string*\
    \&#xNAN;*The keywords to search.*
  * `packageId?` *IdType*\
    \&#xNAN;*The package id of the user.*
  * `languageCode?` *string*\
    \&#xNAN;*The language code of the user.*
  * `timeZoneId?` *IdType*\
    \&#xNAN;*The time zone id of the user.*
  * `trackingLevel?` *number* - int32\
    \&#xNAN;*The tracking level of the user.*
  * `referralCode?` *string*\
    \&#xNAN;*The referral code of the user.*
* **See**: [Get Users](https://developers.jframework.io/references/api-reference/endpoints/users/get-users)

#### `getRolesAssignedToUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IRole[]>>`

**Gets the roles assigned to a user.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Gets Roles Assigned to the User](https://developers.jframework.io/references/api-reference/endpoints/users/gets-roles-assigned-to-the-user)

#### `getCurrentUserLoggedIn(config?: AxiosRequestConfig) => Promise<HttpResponse<IUser>>`

**Gets the current logged-in user.**

* **Parameters**:
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Gets the Current User Logged In](https://developers.jframework.io/references/api-reference/endpoints/users/gets-the-current-user-logged-in)

#### `getRefereeOfUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IBaseUser[]>>`

**Gets the referees of a user.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Gets the Referees of a User](https://developers.jframework.io/references/api-reference/endpoints/users/gets-the-referees-of-a-user)

#### `listAllBrandPartnersAuthenticate(userId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IBrandPartnerAuthenticate>>`

**Gets the connection authenticate brand status for a user.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [List All Brand Partner Auth](https://developers.jframework.io/references/api-reference/endpoints/users/list-all-brand-partner-auth)

#### `lockUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Locks a user, setting their status to Locked after sending a notification email.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Lock a User](https://developers.jframework.io/references/api-reference/endpoints/users/lock-a-user)

#### `registerNewUser(params: IRegisterNewUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IUser>>`

**Registers a new user.**

* **Parameters**:
  * `params` *IRegisterNewUserParams*\
    \&#xNAN;*The parameters for registering a new user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IRegisterNewUserParams Fields**:
  * `username?` *string | null*\
    \&#xNAN;*The username that the user is registering with.*
  * `phoneNumber?` *string | null* - tel\
    \&#xNAN;*The phone number that the user is registering with. The phone number is in the E.164 format.*
  * `password` *string* - min: 1\
    \&#xNAN;*The password that the user is registering with.*
  * `emailAddress?` *string | null* - min: 1\
    \&#xNAN;*The email address that the user is registering with.*
  * `firstName?` *string | null*\
    \&#xNAN;*The first name of the user.*
  * `lastName?` *string | null*\
    \&#xNAN;*The last name of the user.*
  * `nickName?` *string | null*\
    \&#xNAN;*The nickname of the user.*
  * `referralCode?` *string | null*\
    \&#xNAN;*The invitation code that the user is using to register.*
  * `timeZoneId?` *string | null*\
    \&#xNAN;*The timezone id.*
* **See**: [Register a New User](https://developers.jframework.io/references/api-reference/endpoints/users/register-a-new-user)

#### `removeDeviceFromUser(params: IRemoveDeviceFromUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Removes a device from a user.**

* **Parameters**:
  * `params` *IRemoveDeviceFromUserParams*\
    \&#xNAN;*The parameters for removing a device from a user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IRemoveDeviceFromUserParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The id of the user.*
  * `deviceId` *IdType*\
    \&#xNAN;*The id of the device.*
* **See**: [Remove a Device from a User](https://developers.jframework.io/references/api-reference/endpoints/users/remove-a-device-from-a-user)

#### `resetPassword(params: IResetPasswordParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Resets the user's password using the reset password token.**

* **Parameters**:
  * `params` *IResetPasswordParams*\
    \&#xNAN;*The parameters for resetting the password.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IResetPasswordParams Fields**:
  * `emailAddress` *string* - email - min: 1\
    \&#xNAN;*This represents the email of the user.*
  * `token` *string* - min: 1\
    \&#xNAN;*This represents the token of the user.*
  * `newPassword` *string* - min: 1\
    \&#xNAN;*This represents the new password of the user.*
* **See**: [Reset Password](https://developers.jframework.io/references/api-reference/endpoints/users/reset-password)

#### `revokeRolesFromUser(id: IdType, roleIds: IdType[], config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Revokes roles from a user.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `roleIds` *IdType\[]*\
    \&#xNAN;*The role IDs to revoke.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Revokes Roles from a User](https://developers.jframework.io/references/api-reference/endpoints/users/revokes-roles-from-a-user)

#### `statisticUsers(params: IStatisticsUsersParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IStatisticsUsers[]>>`

**Provides statistics for users based on the given filter.**

* **Parameters**:
  * `params` *IStatisticsUsersParams*\
    \&#xNAN;*The parameters for user statistics.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Statistics Users](https://developers.jframework.io/references/api-reference/endpoints/users/statistics-users)

#### `suspendUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Suspends a user, setting their status to Suspended after sending a notification email.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Suspend a User](https://developers.jframework.io/references/api-reference/endpoints/users/suspend-a-user)

#### `unlockUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Unlocks a user with Locked or Active status blocked from unknown devices, setting them to Active.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Unlock a User](https://developers.jframework.io/references/api-reference/endpoints/users/unlock-a-user)

#### `unsuspendUser(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Unsuspends a user, returning them to Active status.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Unsuspend a User](https://developers.jframework.io/references/api-reference/endpoints/users/unsuspend-a-user)

#### `updateUser(id: IdType, params: IUpdateUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IUser>>`

**Updates a user by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `params` *IUpdateUserParams*\
    \&#xNAN;*The parameters for updating a user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IUpdateUserParams Fields**:
  * `username` *string* - min: 1\
    \&#xNAN;*The username of the user.*
  * `emailAddress?` *string | null* - email - min: 1\
    \&#xNAN;*The email address of the user.*
  * `nickName?` *string | null*\
    \&#xNAN;*The nickname of the user.*
  * `firstName?` *string | null*\
    \&#xNAN;*The first name of the user.*
  * `lastName?` *string | null*\
    \&#xNAN;*The last name of the user.*
  * `languageCode?` *string | null*\
    \&#xNAN;*The language code of the user.*
  * `timeZoneId?` *IdType | null*\
    \&#xNAN;*The id time zone of the user.*
  * `phoneNumber?` *string | null* - tel\
    \&#xNAN;*The primary phone number of the user.*
  * `phoneNumber1?` *string | null* - tel\
    \&#xNAN;*The phone number 1 of the user (deprecated).*
  * `avatar?` *string | null* - uri\
    \&#xNAN;*The avatar of the user.*
  * `bio?` *string | null*\
    \&#xNAN;*The bio is a short description of the user.*
  * `website?` *string | null* - uri\
    \&#xNAN;*The website of the user want to update.*
* **See**: [Update a User](https://developers.jframework.io/references/api-reference/endpoints/users/update-a-user)

#### `updateUserType(id: IdType, type: UserType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Updates the user type for a specific user (only Super Admins can perform this).**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `type` *UserType*\
    \&#xNAN;*The user type.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Update Type User](https://developers.jframework.io/references/api-reference/endpoints/users/update-type-user)

#### Configurations

**`createNewConfigurationForUser(userId: IdType, params: ICreateConfigurationOfUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IConfiguration>>`**

**Creates a new configuration for the user.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `params` *ICreateConfigurationOfUserParams*\
    \&#xNAN;*The parameters for creating a configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [POST /users/:id/configurations](https://developers.jframework.io/references/api-reference/endpoints/users/configurations#post-api-users-id-configurations)

**`getConfigurationsOfUser(userId: IdType, params?: IGetConfigurationOfUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IConfiguration[]>>`**

**Gets the user's configurations.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `params?` *IGetConfigurationOfUserParams*\
    \&#xNAN;*The parameters for getting configurations.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetConfigurationOfUserParams Fields**:
  * `groupCode?` *string*\
    \&#xNAN;*Filter by group code.*
  * `code?` *string*\
    \&#xNAN;*Filter by code.*
  * `name?` *string*\
    \&#xNAN;*Filter by name.*
  * `description?` *string*\
    \&#xNAN;*Filter by description.*
  * `value?` *string*\
    \&#xNAN;*Filter by value.*
  * `status?` *ConfigurationStatus*\
    \&#xNAN;*Filter by status.*
* **See**: [Get Configurations](https://developers.jframework.io/references/api-reference/endpoints/users/configurations#get-api-v1-users-id-configurations)

**`deleteConfigurationOfUserByID(userId: IdType, configurationId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Deletes a user's configuration by ID.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `configurationId` *IdType*\
    \&#xNAN;*The ID of the configuration.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Delete Configuration](https://developers.jframework.io/references/api-reference/endpoints/users/configurations#delete-api-v1-users-id-configurations-configurationid)

#### Email Address Verification

**`sendEmailToVerifyEmailAddressOfUser(id: IdType, returnURL: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Sends an email to verify the user's email address.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `returnURL` *string*\
    \&#xNAN;*The return URL after verification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Verify User Email](https://developers.jframework.io/references/api-reference/endpoints/users/verify-user-email#post-api-v1-users-id-email-address-verify-send)

**`activeUserEmailAddress(token: string, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Activates the user's email address using the token.**

* **Parameters**:
  * `token` *string*\
    \&#xNAN;*The token to activate the email address.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Active User Email Address](https://developers.jframework.io/references/api-reference/endpoints/users/verify-user-email#put-api-v1-users-email-address-active)

#### Notification

**`getNotificationRelatedToUser(params: IGetNotificationRelatedToUserParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IUserNotification>>`**

**Gets a notification detail related to a user by user ID and notification ID.**

* **Parameters**:
  * `params` *IGetNotificationRelatedToUserParams*\
    \&#xNAN;*The parameters for getting a notification.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetNotificationRelatedToUserParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The id of the user to get.*
  * `notificationId` *IdType*\
    \&#xNAN;*The id of the notification.*
* **See**: [Get a Notification](https://developers.jframework.io/references/api-reference/endpoints/users/notification/get-a-notification)

**`getNotificationsByUser(params: IGetNotificationsByUserParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IUserNotification, { unreadCount: number }>>`**

**Gets notifications by the user's ID.**

* **Parameters**:
  * `params` *IGetNotificationsByUserParams*\
    \&#xNAN;*The parameters for getting notifications.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetNotificationsByUserParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The id of the user to get.*
  * `status?` *UserNotificationStatus | null*\
    \&#xNAN;*The status of the notification.*
* **See**: [Get Notifications from a User](https://developers.jframework.io/references/api-reference/endpoints/users/notification/get-notifications-from-a-user)

**`markNotificationAsRead(params: IMarkNotificationAsReadParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Marks a notification as read for the user.**

* **Parameters**:
  * `params` *IMarkNotificationAsReadParams*\
    \&#xNAN;*The parameters for marking a notification as read.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IMarkNotificationAsReadParams Fields**:
  * `userId` *IdType*\
    \&#xNAN;*The id of the user to get.*
  * `notificationId` *IdType*\
    \&#xNAN;*The id of the notification.*
* **See**: [Mark as Read](https://developers.jframework.io/references/api-reference/endpoints/users/notification/mark-as-read)

**`markAllNotificationsAsRead(userId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Marks all notifications as read for the user.**

* **Parameters**:
  * `userId` *IdType*\
    \&#xNAN;*The ID of the user.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Mark All Notifications Read](https://developers.jframework.io/references/api-reference/endpoints/users/notification/mark-all-notifications-read)

#### Passwordless

**Email**

**`authenticationByMagicLink(params: IAuthenticationByMagicLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`**

**Authenticates the user by sending a magic link to their email.**

* **Parameters**:
  * `params` *IAuthenticationByMagicLinkParams*\
    \&#xNAN;*The parameters for authentication by magic link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAuthenticationByMagicLinkParams Fields**:
  * `emailAddress` *string* - min: 1\
    \&#xNAN;*This represents the email address of the user.*
  * `callbackURL` *string* - uri - min: 1\
    \&#xNAN;*This represents the callback url.*
  * `returnURL?` *string | null* - uri\
    \&#xNAN;*This represents the return url.*
* **See**: [Authentication by Email](https://developers.jframework.io/references/api-reference/endpoints/users/authentication-by-email)

**`generateEmailOTPForAuthentication(params: IGenerateEmailAddressOTPForAuthenticationParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`**

**Generates an email OTP for authentication.**

* **Parameters**:
  * `params` *IGenerateEmailAddressOTPForAuthenticationParams*\
    \&#xNAN;*The parameters for generating an email OTP.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGenerateEmailAddressOTPForAuthenticationParams Fields**:
  * `emailAddress` *string* - min: 1\
    \&#xNAN;*The email address.*
* **See**: [Authentication by Email](https://developers.jframework.io/references/api-reference/endpoints/users/authentication-by-email)

**`verifyEmailAddressOTPToAuthentication(params: IVerifyOTPCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Verifies the OTP code sent to the user's email for authentication.**

* **Parameters**:
  * `params` *IVerifyOTPCodeParams*\
    \&#xNAN;*The parameters for verifying the OTP code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IVerifyOTPCodeParams Fields**:
  * `token` *string* - min: 1\
    \&#xNAN;*The token to verify. This is the token that was received from the request to send the OTP.*
  * `otp` *string* - min: 1\
    \&#xNAN;*The OTP to verify.*
* **See**: [Verify Email OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/email/verify-email-otp-code)

**Phone**

**`generateSMSOTP(params: IGenerateSMSOTPParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`**

**Generates an SMS OTP for authentication to the user's phone number.**

* **Parameters**:
  * `params` *IGenerateSMSOTPParams*\
    \&#xNAN;*The parameters for generating SMS OTP.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGenerateSMSOTPParams Fields**:
  * `phoneNumber` *string* - min: 1\
    \&#xNAN;*The phone number. The phone number should be following the E.164 format.*
* **See**: [Authentication SMS OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/phone/authentication-sms-otp-code)

**`verifyPhoneOTPForAuthentication(params: IVerifyOTPCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Verifies the OTP code sent to the user's phone number.**

* **Parameters**:
  * `params` *IVerifyOTPCodeParams*\
    \&#xNAN;*The parameters for verifying SMS OTP code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IVerifyOTPCodeParams Fields**:
  * `token` *string* - min: 1\
    \&#xNAN;*The token to verify. This is the token that was received from the request to send the OTP.*
  * `otp` *string* - min: 1\
    \&#xNAN;*The OTP to verify.*
* **See**: [Verify SMS OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/phone/verify-sms-otp-code)

**QR Code**

**`generateNewQRCode(params?: IGenerateNewQRCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IGenerateNewQRCodeForParingAuthenticationResponse>>`**

**Generates a new QR Code for pairing authentication between two devices.**

* **Parameters**:
  * `params?` *IGenerateNewQRCodeParams*\
    \&#xNAN;*The parameters for generating a new QR code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGenerateNewQRCodeParams Fields**:
  * `callbackUrl?` *string*\
    \&#xNAN;*Optional URL for the QR Code link.*
* **See**: [Generate QR Code Auth](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/qrcode/generate-qr-code-auth)

**`getCurrentStatusOfQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IGetCodeStatusResponse>>`**

**Gets the current status of a QR Code pairing request (pending, approved, expired, rejected).**

* **Parameters**:
  * `qrCodeId` *IdType*\
    \&#xNAN;*The unique identifier of the QR Code session.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get QR Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/qrcode/get-qr-code)

**`approveQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IGetCodeStatusResponse>>`**

**Approves a QR Code pairing request.**

* **Parameters**:
  * `qrCodeId` *IdType*\
    \&#xNAN;*The unique identifier of the QR Code session.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get QR Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/qrcode/get-qr-code)

**`loginUsingApprovedQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Logs in using an approved QR Code pairing request (deprecated, use `authWithApprovedQRCode` instead).**

* **Parameters**:
  * `qrCodeId` *IdType*\
    \&#xNAN;*The unique identifier of the approved QR Code session.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get QR Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/qrcode/get-qr-code)

**`authWithApprovedQRCode(qrCodeId: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Authenticates using an approved QR Code pairing request.**

* **Parameters**:
  * `qrCodeId` *IdType*\
    \&#xNAN;*The unique identifier of the approved QR Code session.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Auth with QR Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/qrcode/auth-with-qr-code)

**OTP Code**

**`generateNewOTPCode(params?: IGenerateNewQRCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IGenerateNewOTPForParingAuthenticationResponse>>`**

**Generates a new OTP Code for pairing authentication between two devices.**

* **Parameters**:
  * `params?` *IGenerateNewQRCodeParams*\
    \&#xNAN;*The parameters for generating a new OTP code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGenerateNewQRCodeParams Fields**:
  * `callbackUrl?` *string*\
    \&#xNAN;*Optional URL for the QR Code link.*
* **See**: [Generate OTP Code Auth](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/otp-code/generate-otp-code-auth)

**`getCurrentStatusOfOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<IGetCodeStatusResponse>>`**

**Gets the current status of an OTP Code pairing request (pending, approved, expired, rejected).**

* **Parameters**:
  * `otpCode` *string*\
    \&#xNAN;*The OTP code value.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Get OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/otp-code/get-otp-code)

**`approveOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<IGetCodeStatusResponse>>`**

**Approves an OTP Code pairing request.**

* **Parameters**:
  * `otpCode` *string*\
    \&#xNAN;*The OTP code value.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Approve OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/otp-code/approve-otp-code)

**`loginUsingApprovedOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Logs in using an approved OTP Code pairing request (deprecated, use `authWithApprovedOTPCode` instead).**

* **Parameters**:
  * `otpCode` *string*\
    \&#xNAN;*The OTP code value.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Login OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/otp-code/login-otp-code)

**`authWithApprovedOTPCode(otpCode: string, config?: AxiosRequestConfig) => Promise<HttpResponse<IAuthenticateResponse>>`**

**Authenticates using an approved OTP Code pairing request.**

* **Parameters**:
  * `otpCode` *string*\
    \&#xNAN;*The OTP code value.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Auth with OTP Code](https://developers.jframework.io/references/api-reference/endpoints/users/passwordless/otp-code/auth-with-otp-code)

### Wallet API

The `wallet` object provides methods for managing wallets, including adding money, applying redeem codes, and conversions.

#### `addMoneyToWalletWithCheckoutLink(params: IAddMoneyToWalletWithCheckoutLinkParams, config?: AxiosRequestConfig) => Promise<HttpResponse<string>>`

**Generates a checkout link to add money to a wallet.**

* **Parameters**:
  * `params` *IAddMoneyToWalletWithCheckoutLinkParams*\
    \&#xNAN;*The parameters for generating a checkout link.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IAddMoneyToWalletWithCheckoutLinkParams Fields**:
  * `currencyCode` *string*\
    \&#xNAN;*The currency code. The currency code must be a valid ISO 4217 currency code.*
  * `amount` *number* - double\
    \&#xNAN;*The amount to add. The amount must be greater than 0.*
  * `returnLink` *string* - uri\
    \&#xNAN;*The return link after the payment is successful.*
  * `cancelLink` *string* - uri\
    \&#xNAN;*The cancel link after the payment is canceled.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode. By default, it is false.*
* **See**: [Add Money to a Wallet with Checkout Link](https://developers.jframework.io/references/api-reference/endpoints/wallets/add-money-to-a-wallet-with-checkout-link)

#### `applyRedeemCode(params: IApplyRedeemCodeParams, config?: AxiosRequestConfig) => Promise<HttpResponse<unknown>>`

**Applies a redeem code to a wallet (valid redeem code and open wallet required).**

* **Parameters**:
  * `params` *IApplyRedeemCodeParams*\
    \&#xNAN;*The parameters for applying a redeem code.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IApplyRedeemCodeParams Fields**:
  * `walletId` *IdType*\
    \&#xNAN;*The id of the wallet.*
  * `redeemCode` *string*\
    \&#xNAN;*The redeem code to apply.*
* **See**: [Apply Redeem](https://developers.jframework.io/references/api-reference/endpoints/wallets/apply-redeem)

#### `createWalletDefault(currencyCode: string, testMode: boolean = false, config?: AxiosRequestConfig) => Promise<HttpResponse<IWallet>>`

**Creates a new wallet with the given currency code (default testMode: false).**

* **Parameters**:
  * `currencyCode` *string*\
    \&#xNAN;*The currency code (ISO 4217).*
  * `testMode` *boolean*\
    \&#xNAN;*The test mode flag (default: false).*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Create a Wallet Default](https://developers.jframework.io/references/api-reference/endpoints/wallets/create-a-wallet-default)

#### `convertWalletMoney(params: IConvertWalletMoneyParams, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Converts money in a wallet to another currency.**

* **Parameters**:
  * `params` *IConvertWalletMoneyParams*\
    \&#xNAN;*The parameters for converting wallet money.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IConvertWalletMoneyParams Fields**:
  * `originalWalletId` *string* - min: 1\
    \&#xNAN;*The id of the original wallet.*
  * `targetWalletId` *string* - min: 1\
    \&#xNAN;*The id of the target wallet.*
  * `fee?` *number | null* - double\
    \&#xNAN;*The fee of the convert.*
  * `totalAmount` *number* - double\
    \&#xNAN;*The total amount convert.*
* **See**: [Convert Wallet Money](https://developers.jframework.io/references/api-reference/endpoints/wallets/convert-wallet-money)

#### `closeWallet(id: IdType, config?: AxiosRequestConfig) => Promise<HttpResponse<boolean>>`

**Closes a wallet by the given ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the wallet.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **See**: [Close Wallet](https://developers.jframework.io/references/api-reference/endpoints/wallets/close-wallet)

#### `getWallets(params?: IGetWalletsParams, config?: AxiosRequestConfig) => Promise<HttpResponse<IWallet[]>>`

**Gets a list of wallets.**

* **Parameters**:
  * `params?` *IGetWalletsParams*\
    \&#xNAN;*The parameters for getting wallets.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetWalletsParams Fields**:
  * `currencyCode?` *string*\
    \&#xNAN;*The currency code.*
  * `status?` *string*\
    \&#xNAN;*The wallet status.*
  * `testMode?` *boolean*\
    \&#xNAN;*The test mode. By default, it is false.*
* **See**: [Get Wallets](https://developers.jframework.io/references/api-reference/endpoints/wallets/get-wallets)

#### `getWalletHistory(id: IdType, params: IGetWalletHistoriesParams, config?: AxiosRequestConfig) => Promise<HttpResponseList<IWalletHistory>>`

**Gets the wallet history for a given wallet ID.**

* **Parameters**:
  * `id` *IdType*\
    \&#xNAN;*The ID of the wallet.*
  * `params` *IGetWalletHistoriesParams*\
    \&#xNAN;*The parameters for getting wallet histories.*
  * `config?` *AxiosRequestConfig*\
    \&#xNAN;*Optional Axios request configuration object.*
* **IGetWalletHistoriesParams Fields**:
  * `code?` *string*\
    \&#xNAN;*The transaction code to filter the transactions.*
  * `refObject?` *string*\
    \&#xNAN;*The reference object to filter the transactions.*
  * `refId?` *number* - int64\
    \&#xNAN;*The reference id to filter the transactions.*
  * `tags?` *string*\
    \&#xNAN;*The tags to filter the transactions.*
  * `type?` *WalletHistoryType*\
    \&#xNAN;*The type of the transaction to filter the transactions.*
  * `status?` *WalletHistoryStatus*\
    \&#xNAN;*The status of the transaction to filter the transactions.*
* **See**: [Get the Wallet Histories](https://developers.jframework.io/references/api-reference/endpoints/wallets/get-the-wallet-histories)
