@openscreen/internal-sdk 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/index.modern.mjs +1 -1
- package/dist/index.modern.mjs.map +1 -1
- package/package.json +16 -34
- package/typings/cloud-config.d.ts +12 -13
- package/typings/config.d.ts +6 -7
- package/typings/index.d.ts +2 -3
- package/typings/openscreen-session.d.ts +23 -24
- package/typings/openscreen.d.ts +33 -35
- package/typings/request-delete.d.ts +4 -5
- package/typings/request-get.d.ts +4 -5
- package/typings/request-patch.d.ts +4 -5
- package/typings/request-post.d.ts +4 -5
- package/typings/request.d.ts +15 -16
- package/typings/resource.d.ts +15 -16
- package/typings/sdk.d.ts +8056 -8554
- package/dist/index.esm.mjs +0 -2
- package/dist/index.esm.mjs.map +0 -1
- package/dist/index.modern.js +0 -2
- package/dist/index.modern.js.map +0 -1
- package/typings/cloud-config.d.ts.map +0 -1
- package/typings/config.d.ts.map +0 -1
- package/typings/index.d.ts.map +0 -1
- package/typings/openscreen-session.d.ts.map +0 -1
- package/typings/openscreen.d.ts.map +0 -1
- package/typings/request-delete.d.ts.map +0 -1
- package/typings/request-get.d.ts.map +0 -1
- package/typings/request-patch.d.ts.map +0 -1
- package/typings/request-post.d.ts.map +0 -1
- package/typings/request.d.ts.map +0 -1
- package/typings/resource.d.ts.map +0 -1
- package/typings/sdk.d.ts.map +0 -1
- package/typings/user/index.d.ts +0 -19
- package/typings/user/index.d.ts.map +0 -1
package/dist/index.esm.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.mjs","sources":["../src/request.ts","../src/request-delete.ts","../src/request-get.ts","../src/request-patch.ts","../src/request-post.ts","../src/resource.ts","../src/sdk.ts","../src/openscreen.ts"],"sourcesContent":["/* eslint-disable no-console, import/no-cycle */\nimport {IOpenscreenSession} from './openscreen-session'\n\nexport interface RequestRouteSegment {\n parm?: string\n routePart: string\n sdkPartName: string\n}\n\nexport class Request {\n session: IOpenscreenSession\n routeSegments?: RequestRouteSegment[]\n\n constructor(session: IOpenscreenSession) {\n this.session = session\n }\n\n async makeUri(pathParameters: any = {}) {\n const cloudConfig = await this.session.getCloudConfig()\n const urlParts: string[] = [cloudConfig.endpoint.replace(/\\/+$/, '')]\n this.routeSegments!.forEach((segment) => {\n urlParts.push(segment.routePart)\n if (segment.parm) {\n const value = pathParameters[segment.parm!]\n if (!value) {\n throw Error(`Openscreen: missing path parameter value for '${segment.parm!}'`)\n }\n urlParts.push(value)\n }\n })\n return urlParts.join('/')\n }\n\n debugRequest(method: string, url: string, queryParameters?: any, body?: any, options?: any) {\n if (this.session.debugRequest) {\n console.debug(`Openscreen REQUEST: ${method.toUpperCase()} ${url}`)\n if (body) console.debug(`Openscreen REQUEST: ${JSON.stringify(body, null, 2)}`)\n if (queryParameters && this.session.debugQuery) {\n console.debug(`Openscreen QUERY: ${JSON.stringify(queryParameters, null, 2)}`)\n }\n if (options && this.session.debugOptions) {\n console.debug(`Openscreen OPTIONS: ${JSON.stringify(options, null, 2)}`)\n }\n }\n }\n\n debugResponse(response: any) {\n if (this.session.debugResponse) {\n console.debug(`Openscreen RESPONSE: ${JSON.stringify(response.data || {}, null, 2)}`)\n }\n }\n\n handleAndDebugErr(err: any): any {\n if (err.response && err.response.data) {\n if (this.session.debugError) {\n console.error(`Openscreen ERROR: ${JSON.stringify(err.response.data, null, 2)}`)\n } else if (this.session.debugResponse) {\n console.error(`Openscreen RESPONSE: ${JSON.stringify(err.response.data, null, 2)}`)\n }\n return err.response.data\n }\n if (this.session.debugError) {\n try {\n console.error(err)\n } catch {\n console.error(`Openscreen: (unable to print error)`)\n }\n }\n return err\n }\n}\n","/* eslint-disable no-console */\nimport {Request} from './request'\n\nexport class RequestDelete<PathParameters, QueryParameters, ResponseBody> extends Request {\n async go(pathParameters: PathParameters, queryParameters: QueryParameters, options?: Object): Promise<ResponseBody> {\n try {\n const url = await this.makeUri(pathParameters)\n this.debugRequest('delete', url, queryParameters, null, options)\n await this.session.authorize()\n const axios = await this.session.getAxios()\n const response = await axios.delete(url, {params: queryParameters, ...options})\n this.debugResponse(response)\n return response.data as ResponseBody\n } catch (err) {\n throw this.handleAndDebugErr(err)\n }\n }\n}\n","/* eslint-disable no-console */\nimport {Request} from './request'\n\nexport class RequestGet<PathParameters, QueryParameters, ResponseBody> extends Request {\n async go(pathParameters: PathParameters, queryParameters?: QueryParameters, options?: Object): Promise<ResponseBody> {\n try {\n const url = await this.makeUri(pathParameters)\n this.debugRequest('get', url, queryParameters, null, options)\n await this.session.authorize()\n const axios = await this.session.getAxios()\n const response = await axios.get(url, {params: queryParameters, ...options})\n this.debugResponse(response)\n return response.data as ResponseBody\n } catch (err) {\n throw this.handleAndDebugErr(err)\n }\n }\n}\n","/* eslint-disable no-console */\nimport {Request} from './request'\n\nexport class RequestPatch<PathParameters, QueryParameters, RequestBody, ResponseBody> extends Request {\n async go(\n pathParameters: PathParameters,\n queryParameters?: QueryParameters,\n body?: RequestBody,\n options?: Object,\n ): Promise<ResponseBody> {\n try {\n const url = await this.makeUri(pathParameters)\n await this.session.authorize()\n this.debugRequest('patch', url, queryParameters, body, options)\n const axios = await this.session.getAxios()\n const response = await axios.patch(url, body, {params: queryParameters, ...options})\n this.debugResponse(response)\n return response.data! as ResponseBody\n } catch (err) {\n throw this.handleAndDebugErr(err)\n }\n }\n}\n","/* eslint-disable no-console */\nimport {Request} from './request'\n\nexport class RequestPost<PathParameters, QueryParameters, RequestBody, ResponseBody> extends Request {\n async go(\n pathParameters: PathParameters,\n queryParameters?: QueryParameters,\n body?: RequestBody,\n options?: Object,\n ): Promise<ResponseBody> {\n try {\n const url = await this.makeUri(pathParameters)\n await this.session.authorize()\n this.debugRequest('post', url, queryParameters, body, options)\n const axios = await this.session.getAxios()\n const response = await axios.post(url, body, {params: queryParameters, ...options})\n this.debugResponse(response)\n return response.data! as ResponseBody\n } catch (err) {\n throw this.handleAndDebugErr(err)\n }\n }\n}\n","import {IOpenscreenSession} from './openscreen-session'\n\nexport class Resources {\n protected session: IOpenscreenSession\n protected pathParameters: any\n\n constructor(session: IOpenscreenSession, pathParameters: any) {\n this.session = session\n this.pathParameters = pathParameters\n }\n\n self() {\n return this\n }\n\n getSession(): IOpenscreenSession {\n return this.session\n }\n}\n\nexport class Resource {\n protected session: IOpenscreenSession\n protected pathParameters: any\n protected id?: string\n\n constructor(session: IOpenscreenSession, pathParameters: any) {\n this.session = session\n this.pathParameters = pathParameters\n }\n\n getSession(): IOpenscreenSession {\n return this.session\n }\n}\n","import {RequestRouteSegment} from './request'\nimport {RequestDelete} from './request-delete'\nimport {RequestGet} from './request-get'\nimport {RequestPatch} from './request-patch'\nimport {RequestPost} from './request-post'\nimport {Resource, Resources} from './resource'\n\nexport interface NestedKeyValueObject {\n [key: string]: string | number | boolean | NestedKeyValueObject | string[]\n}\n// ENUMERATIONS\n\nexport enum AccountStatus {\n ACTIVE = 'ACTIVE',\n SUSPENDED = 'SUSPENDED',\n}\n\nexport enum AccountUserRole {\n OWNER = 'OWNER',\n ADMINISTRATOR = 'ADMINISTRATOR',\n BILLING_CONTACT = 'BILLING_CONTACT',\n MEMBER = 'MEMBER',\n API_KEY = 'API_KEY',\n INVITATION_DECLINED = 'INVITATION_DECLINED',\n}\n\nexport enum AuthMessageId {\n INVALID_API_KEY = 'INVALID_API_KEY',\n INVALID_EMAIL = 'INVALID_EMAIL',\n INVALID_LEGACY_MIGRATION = 'INVALID_LEGACY_MIGRATION',\n INVALID_PASSWORD = 'INVALID_PASSWORD',\n INVALID_SCOPE = 'INVALID_SCOPE',\n INVALID_SECRET = 'INVALID_SECRET',\n INVALID_TOKEN = 'INVALID_TOKEN',\n MIGRATE_FROM_COGNITO = 'MIGRATE_FROM_COGNITO',\n NO_ACCESS_TOKEN = 'NO_ACCESS_TOKEN',\n NO_REFRESH_TOKEN = 'NO_REFRESH_TOKEN',\n RESET_PASSWORD = 'RESET_PASSWORD',\n RESET_SECRET = 'RESET_SECRET',\n SUSPENDED_OR_INACTIVE = 'SUSPENDED_OR_INACTIVE',\n TOKEN_EXPIRED = 'TOKEN_EXPIRED',\n TRY_AGAIN = 'TRY_AGAIN',\n UNABLE_TO_CONFIRM_EMAIL = 'UNABLE_TO_CONFIRM_EMAIL',\n UNCONFIRMED_EMAIL = 'UNCONFIRMED_EMAIL',\n}\n\nexport enum AuthTokenScope {\n API = 'API',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\n NEW_PASSWORD = 'NEW_PASSWORD',\n NO_SESSION = 'NO_SESSION',\n}\n\nexport enum PricePlanName {\n FREE = 'free',\n ADVANCED = 'advanced',\n PRO = 'pro',\n ENTERPRISE_CUSTOM = 'enterpriseCustom',\n UNLIMITED = 'unlimited',\n}\n\nexport enum PricePlanPaymentPeriod {\n MONTHLY = 'monthly',\n ANNUAL = 'annual',\n}\n\nexport enum PricePlanReporting {\n BASIC = 'basic',\n ADVANCED = 'advanced',\n basic = 'basic',\n advance = 'advanced',\n}\n\nexport enum ProjectStatus {\n ACTIVE = 'ACTIVE',\n SUSPENDED = 'SUSPENDED',\n}\n\nexport enum QrCodeCornerDotTypes {\n dot = 'dot',\n square = 'square',\n}\n\nexport enum QrCodeCornerSquareTypes {\n dot = 'dot',\n square = 'square',\n extra_rounded = 'extra-rounded',\n}\n\nexport enum QrCodeDotTypes {\n classy = 'classy',\n classy_rounded = 'classy-rounded',\n dots = 'dots',\n extra_rounded = 'extra-rounded',\n rounded = 'rounded',\n square = 'square',\n}\n\nexport enum QrCodeDynamicRedirectType {\n NO_SCAN_ID = 'NO_SCAN_ID',\n SCAN_ID_IN_PATH_PARAMETER = 'SCAN_ID_IN_PATH_PARAMETER',\n SCAN_ID_IN_QUERY_STRING_PARAMETER = 'SCAN_ID_IN_QUERY_STRING_PARAMETER',\n}\n\nexport enum QrCodeErrorCorrectionLevel {\n L = 'L',\n M = 'M',\n Q = 'Q',\n H = 'H',\n}\n\nexport enum QrCodeGradientTypes {\n linear = 'linear',\n radial = 'radial',\n}\n\nexport enum QrCodeIntentType {\n STATIC_REDIRECT = 'STATIC_REDIRECT',\n DYNAMIC_REDIRECT = 'DYNAMIC_REDIRECT',\n DYNAMIC_REDIRECT_TO_APP = 'DYNAMIC_REDIRECT_TO_APP',\n}\n\nexport enum QrCodeLocatorKeyType {\n SHORT_URL = 'SHORT_URL',\n HASHED_ID = 'HASHED_ID',\n SECURE_ID = 'SECURE_ID',\n}\n\nexport enum QrCodeStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n SUSPENDED = 'SUSPENDED',\n}\n\nexport enum QrCodeType {\n PNG = 'PNG',\n JPEG = 'JPEG',\n SVG = 'SVG',\n png = 'png',\n jpeg = 'jpeg',\n svg = 'svg',\n}\n\nexport enum UserCredentialsStatus {\n COMPROMISED = 'COMPROMISED',\n CONFIRMED = 'CONFIRMED',\n LEGACY = 'LEGACY',\n NEW_EMAIL = 'NEW_EMAIL',\n NEW_EMAIL_CONFIRMED = 'NEW_EMAIL_CONFIRMED',\n NEW_PASSWORD = 'NEW_PASSWORD',\n SUSPENDED = 'SUSPENDED',\n UNCONFIRMED = 'UNCONFIRMED',\n}\n\nexport enum UserGroups {\n appuser = 'appuser',\n appadmin = 'appadmin',\n}\n\nexport enum UserSettingsDomain {\n DASHBOARD = 'DASHBOARD',\n}\n\n// APPLICATION ENTITIES\n\nexport interface Entity {}\n\nexport interface DdbEntity {\n created?: string | Date | number\n modified?: string | Date | number\n}\n\nexport interface Response {\n body?: DdbEntity\n code: number\n created?: string | Date | number\n data?: NestedKeyValueObject\n message?: string\n modified?: string | Date | number\n name: string\n request?: string\n responseId: string\n source?: string\n stack?: Array<any>\n userId: string\n}\n\nexport interface DdbAggregatedEntity {\n created?: string | Date | number\n modified?: string | Date | number\n}\n\nexport interface Account {\n accountId: string\n assetCount: number\n collectTaxInfo: boolean\n companyName?: string\n contactCount: number\n created?: string | Date | number\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n needsPaymentUpdate: boolean\n projectCount: number\n scanCount: number\n staticQrCodeCount: number\n status: AccountStatus\n stripeCustomerId: string\n}\n\nexport interface AccountEmailContact {\n accountId: string\n contactId: string\n created?: string | Date | number\n email: string\n modified?: string | Date | number\n}\n\nexport interface AccountInvitation {\n accountId: string\n companyName?: string\n created?: string | Date | number\n email: string\n expiresAt?: string | Date | number\n firstName: string\n invitationId: string\n lastName: string\n modified?: string | Date | number\n sendersFirstName: string\n sendersLastName: string\n sendersUserId: string\n userRole: AccountUserRole\n}\n\nexport interface AccountPhoneContact {\n accountId: string\n contactId: string\n created?: string | Date | number\n modified?: string | Date | number\n phone: string\n}\n\nexport interface AccountResponse extends Account {\n accountId: string\n assetCount: number\n collectTaxInfo: boolean\n companyName?: string\n contactCount: number\n created?: string | Date | number\n currentPeriod: PricePlanPeriod\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n needsPaymentUpdate: boolean\n pricePlan: PricePlan\n projectCount: number\n scanCount: number\n staticQrCodeCount: number\n status: AccountStatus\n stripeCustomerId: string\n}\n\nexport interface AccountScan {\n accountId: string\n assetId: string\n created?: string | Date | number\n modified?: string | Date | number\n scanId: string\n}\n\nexport interface AccountUser {\n accountId: string\n created?: string | Date | number\n modified?: string | Date | number\n userId: string\n userRole: AccountUserRole\n}\n\nexport interface ApiKey {\n apiKeyId: string\n created?: string | Date | number\n description?: string\n key: string\n modified?: string | Date | number\n name: string\n}\n\nexport interface ApiKeyCredentials {\n apiKeyId: string\n created?: string | Date | number\n description?: string\n invalidAttemptCount: number\n key: string\n modified?: string | Date | number\n name: string\n secret?: string\n status: string\n}\n\nexport interface ApiKeySessionResponseBody {\n apiKeyId: string\n expires: string | Date | number\n scope: AuthTokenScope\n}\n\nexport interface Asset {\n assetId: string\n created?: string | Date | number\n customAttributes?: NestedKeyValueObject\n description?: string\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n name: string\n projectId: string\n scanCount: number\n staticQrCodeCount: number\n}\n\nexport interface AssetContact {\n assetId: string\n contactId: string\n created?: string | Date | number\n modified?: string | Date | number\n type?: string\n}\n\nexport interface Contact {\n accountId: string\n cellPhone?: string\n consent?: ContactConsent[]\n contactId: string\n created?: string | Date | number\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName: string\n lastName: string\n lastSms?: string\n mailingAddress?: ContactMailingAddress\n middleName: string\n modified?: string | Date | number\n nickname: string\n}\n\nexport interface ContactConsent {\n consented: boolean\n consentedAt: string | Date | number\n url: string\n}\n\nexport interface ContactMailingAddress {\n address: string\n city: string\n country: string\n postalOrZip: string\n provinceOrState: string\n}\n\nexport interface EmailInvitation {\n accountId: string\n created?: string | Date | number\n email: string\n expiresAt?: string | Date | number\n invitationId: string\n modified?: string | Date | number\n}\n\nexport interface ExportedScan extends Scan {\n assetId: string\n assetName: string\n browserName?: string\n browserVersion?: string\n cpuArchitecture?: string\n created?: string | Date | number\n deviceModel?: string\n deviceType?: string\n deviceVendor?: string\n engineName?: string\n engineVersion?: string\n ipAddress?: string\n locationCityName?: string\n locationCountryCode?: string\n locationCountryName?: string\n locationLatitude?: string\n locationLongitude?: string\n locationPostalCode?: string\n locationRegionCode?: string\n locationRegionName?: string\n locationTimeZone?: string\n modified?: string | Date | number\n osName?: string\n osVersion?: string\n projectId: string\n qrCodeId?: string\n scanId: string\n scanTime: string | Date | number\n userAgent?: string\n}\n\nexport interface NestedAsset {\n customAttributes?: NestedKeyValueObject\n description?: string\n name: string\n qrCodes?: NestedQrCode[]\n}\n\nexport interface NestedContact {\n asset?: NestedAsset\n cellPhone?: string\n consent?: ContactConsent[]\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName?: string\n lastName?: string\n mailingAddress?: ContactMailingAddress\n middleName?: string\n nickname?: string\n type?: string\n}\n\nexport interface NestedQrCode {\n dynamicRedirectType: QrCodeDynamicRedirectType\n imageOptions: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKeyType: QrCodeLocatorKeyType\n status?: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface PhoneSession {\n contactId: string\n contactPhone: string\n created?: string | Date | number\n expiresAt?: string | Date | number\n modified?: string | Date | number\n smsId: string\n twilioPhone: string\n}\n\nexport interface PricePlan {\n annualPrice: number\n created?: string | Date | number\n dataExport: boolean\n modified?: string | Date | number\n monthlyPrice: number\n name: string\n paymentPeriod?: string\n pricePlanId: string\n projects: number\n qrCodes: number\n reporting: PricePlanReporting\n roleBasedManagement: boolean\n stripeCustomerId: string\n stripePlanId?: string\n stripeSubscriptionId: string\n subscriptionItemId: string\n totalScans: number\n users: number\n}\n\nexport interface PricePlanPeriod {\n created?: string | Date | number\n modified?: string | Date | number\n period: string | Date | number\n periodEndDate: string | Date | number\n pricePlanId: string\n projects: number\n projectsCreated: number\n projectsRemaining: number\n qrCodes: number\n qrCodesCreated: number\n qrCodesRemaining: number\n qrScansRemaining: number\n scansUsed: number\n users: number\n usersCreated: number\n usersRemaining: number\n}\n\nexport interface Project {\n assetCount: number\n companyName?: string\n contactCount: number\n created?: string | Date | number\n description?: string\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n name: string\n projectId: string\n scanCount: number\n staticQrCodeCount: number\n status: ProjectStatus\n}\n\nexport interface ProjectAccount {\n accountId: string\n created?: string | Date | number\n modified?: string | Date | number\n projectId: string\n}\n\nexport interface ProjectContact {\n contactId: string\n created?: string | Date | number\n modified?: string | Date | number\n projectId: string\n}\n\nexport interface ProjectEmailContact {\n contactId: string\n created?: string | Date | number\n email: string\n modified?: string | Date | number\n projectId: string\n}\n\nexport interface ProjectPhoneContact {\n contactId: string\n created?: string | Date | number\n modified?: string | Date | number\n phone: string\n projectId: string\n}\n\nexport interface ProjectScan {\n assetId: string\n created?: string | Date | number\n modified?: string | Date | number\n projectId: string\n scanId: string\n}\n\nexport interface QrCode {\n assetId: string\n created?: string | Date | number\n dynamicRedirectType: QrCodeDynamicRedirectType\n imageOptions: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKey: string\n locatorKeyType: QrCodeLocatorKeyType\n modified?: string | Date | number\n qrCodeId: string\n scanCount: number\n status: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface QrCodeImage {\n data: string\n options: QrCodeImageOptions\n}\n\nexport interface QrCodeImageOptions {\n background: string\n backgroundGradientColors?: string\n backgroundGradientRotation?: number\n backgroundGradientType?: QrCodeGradientTypes\n cornerDotColor?: string\n cornerDotType?: QrCodeCornerDotTypes\n cornerSquareColor?: string\n cornerSquareType?: QrCodeCornerSquareTypes\n darkColor?: string\n dataUrl: boolean\n dotType?: QrCodeDotTypes\n errorCorrectionLevel: QrCodeErrorCorrectionLevel\n foreground: string\n foregroundGradientColors?: string\n foregroundGradientRotation?: number\n foregroundGradientType?: QrCodeGradientTypes\n format: QrCodeType\n image?: string\n lightColor?: string\n margin: number\n scale: number\n version?: number\n width: number\n}\n\nexport interface QrCodeLocator {\n created?: string | Date | number\n locatorKey: string\n modified?: string | Date | number\n qrCodeId: string\n}\n\nexport interface QrCodeNamed extends QrCode {\n assetId: string\n created?: string | Date | number\n dynamicRedirectType: QrCodeDynamicRedirectType\n imageOptions: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKey: string\n locatorKeyType: QrCodeLocatorKeyType\n modified?: string | Date | number\n name: string\n qrCodeId: string\n scanCount: number\n status: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface ResponseAsset {\n assetId: string\n created?: string | Date | number\n customAttributes?: NestedKeyValueObject\n description?: string\n modified?: string | Date | number\n name: string\n projectId: string\n qrCodes?: ResponseQrCode[]\n}\n\nexport interface ResponseBodyUser {\n created: string | Date | number\n email: string\n expiresAt?: string | Date | number\n firstName: string\n invitationId?: string\n lastName: string\n middleName: string\n userId?: string\n userRole: AccountUserRole\n}\n\nexport interface ResponseContact extends Contact {\n accountId: string\n cellPhone?: string\n consent?: ContactConsent[]\n contactId: string\n created?: string | Date | number\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName: string\n lastName: string\n lastSms?: string\n mailingAddress?: ContactMailingAddress\n middleName: string\n modified?: string | Date | number\n nickname: string\n type?: string\n}\n\nexport interface ResponseQrCode {\n assetId: string\n dynamicRedirectType: QrCodeDynamicRedirectType\n image: QrCodeImage\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKey: string\n locatorKeyType: QrCodeLocatorKeyType\n qrCodeId: string\n scanCount: number\n status: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface Scan {\n assetId: string\n browserName?: string\n browserVersion?: string\n cpuArchitecture?: string\n created?: string | Date | number\n deviceModel?: string\n deviceType?: string\n deviceVendor?: string\n engineName?: string\n engineVersion?: string\n ipAddress?: string\n locationCityName?: string\n locationCountryCode?: string\n locationCountryName?: string\n locationLatitude?: string\n locationLongitude?: string\n locationPostalCode?: string\n locationRegionCode?: string\n locationRegionName?: string\n locationTimeZone?: string\n modified?: string | Date | number\n osName?: string\n osVersion?: string\n projectId: string\n qrCodeId?: string\n scanId: string\n scanTime: string | Date | number\n userAgent?: string\n}\n\nexport interface ScanContact {\n contactId: string\n created?: string | Date | number\n modified?: string | Date | number\n scanId: string\n}\n\nexport interface ScanContactAccountIndex {\n accountId: string\n assetId: string\n contactId: string\n created?: string | Date | number\n indexedEntityName: string\n modified?: string | Date | number\n scanId: string\n}\n\nexport interface ScanContactProjectIndex {\n assetId: string\n contactId: string\n created?: string | Date | number\n indexedEntityName: string\n modified?: string | Date | number\n projectId: string\n scanId: string\n}\n\nexport interface Sms {\n body: string\n contactId: string\n created?: string | Date | number\n delivered?: boolean\n deliveredAt?: string | Date | number\n from: string\n inbound: boolean\n modified?: string | Date | number\n price?: number\n priceUnit: string\n projectId: string\n responses?: SmsResponse[]\n smsId: string\n smsTemplateName?: string\n status?: string\n to: string\n}\n\nexport interface SmsResponse {\n body: string\n contactPhone: string\n smsId: string\n twilioPhone: string\n}\n\nexport interface SmsTemplate {\n body?: string\n created?: string | Date | number\n modified?: string | Date | number\n projectId: string\n responseUrl?: string\n smsTemplateName: string\n statusUrl?: string\n}\n\nexport interface User {\n created?: string | Date | number\n email: string\n firstName: string\n lastName: string\n middleName: string\n modified?: string | Date | number\n userId: string\n}\n\nexport interface UserSessionResponseBody {\n expires: string | Date | number\n scope: AuthTokenScope\n user?: User\n userId: string\n}\n\nexport interface UserSettings {\n created?: string | Date | number\n lastSelectedAccountId?: string\n modified?: string | Date | number\n path: UserSettingsDomain\n userId: string\n}\n\n// HANDLER INTERFACE TYPES\n\nexport interface CreateApiKeyByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface CreateApiKeyByAccountIdRequestBody {\n description?: string\n name?: string\n}\n\nexport interface CreateApiKeyByAccountIdResponseBody {\n apiKeyId: string\n description?: string\n key: string\n name: string\n secret: string\n status: string\n}\n\nexport interface CreateInvitationByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface CreateInvitationByAccountIdRequestBody {\n email: string\n firstName: string\n lastName: string\n userRole: AccountUserRole\n}\n\nexport interface CreateInvitationByAccountIdResponseBody {\n accountInvitation: AccountInvitation\n emailInvitation: EmailInvitation\n}\n\nexport interface CreateProjectByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface CreateProjectByAccountIdRequestBody {\n companyName?: string\n description?: string\n name: string\n}\n\nexport interface CreateProjectByAccountIdResponseBody {\n accountId: string\n project: Project\n}\n\nexport interface CreateUserByInvitationIdPathParameters {\n invitationId: string\n}\n\nexport interface CreateUserByInvitationIdResponseBody {\n account: Account\n accountUser: AccountUser\n}\n\nexport interface DeleteAccountPathParameters {\n accountId: string\n}\n\nexport interface DeleteContactsByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface DeleteContactsByAccountIdQueryStringParameters {\n cellPhone?: string\n emailAddress?: string\n}\n\nexport interface DeleteContactsByAccountIdResponseBody {\n accountId: string\n contacts: Contact[]\n}\n\nexport interface DeleteInvitationPathParameters {\n invitationId: string\n}\n\nexport interface DeleteInvitationResponseBody {\n accountInvitation: AccountInvitation\n emailInvitation?: EmailInvitation\n}\n\nexport interface DeleteUserByAccountIdPathParameters {\n accountId: string\n userId: string\n}\n\nexport interface GetAccountPathParameters {\n accountId: string\n}\n\nexport interface GetAccountResponseBody extends Account {\n accountId: string\n assetCount: number\n collectTaxInfo: boolean\n companyName?: string\n contactCount: number\n created?: string | Date | number\n currentPeriod: PricePlanPeriod\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n needsPaymentUpdate: boolean\n pricePlan: PricePlan\n projectCount: number\n scanCount: number\n staticQrCodeCount: number\n status: AccountStatus\n stripeCustomerId: string\n}\n\nexport interface GetAdvancedAssetReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetAdvancedAssetReportByAccountIdQueryStringParameters {\n limit?: number\n nextToken?: string\n queryExecutionId?: string\n search?: string\n}\n\nexport interface GetAdvancedAssetReportByAccountIdResponseBody {\n data: Array<any>\n meta: NestedKeyValueObject\n}\n\nexport interface GetAdvancedContactReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetAdvancedContactReportByAccountIdQueryStringParameters {\n limit?: number\n nextToken?: string\n queryExecutionId?: string\n search?: string\n}\n\nexport interface GetAdvancedContactReportByAccountIdResponseBody {\n data: Array<any>\n meta: NestedKeyValueObject\n}\n\nexport interface GetAdvancedScanReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetAdvancedScanReportByAccountIdQueryStringParameters {\n from?: string | Date | number\n to?: string | Date | number\n topScansAmount?: number\n}\n\nexport interface GetAdvancedScanReportByAccountIdResponseBody {\n mostScannedAssets: Array<any>\n scansByDevice: NestedKeyValueObject\n scansByLocation: NestedKeyValueObject\n}\n\nexport interface GetApiKeysByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetApiKeysByAccountIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetApiKeysByAccountIdResponseBody {\n accountId: string\n apiKeys: ApiKeyCredentials[]\n lastKey?: string\n numberOfApiKeys: number\n}\n\nexport interface GetAssetExportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetAssetExportByAccountIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetAssetExportByAccountIdResponseBody {\n assets: Array<any>\n}\n\nexport interface GetAssetsByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetAssetsByAccountIdQueryStringParameters {\n lastKey?: string\n limit?: number\n name?: string\n}\n\nexport interface GetAssetsByAccountIdResponseBody {\n accountId: string\n assets: Asset[]\n lastKey?: string\n numberOfAssets: number\n}\n\nexport interface GetBasicAssetReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetBasicAssetReportByAccountIdResponseBody {\n assetsCount: number\n}\n\nexport interface GetBasicContactReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetBasicContactReportByAccountIdResponseBody {\n contactsCount: number\n}\n\nexport interface GetBasicScanReportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetBasicScanReportByAccountIdResponseBody {\n dynamicQRCodesTotal: number\n lastScan?: NestedKeyValueObject\n projectsTotal: number\n scansTotal: number\n staticQRCodesTotal: number\n}\n\nexport interface GetContactExportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetContactExportByAccountIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetContactExportByAccountIdResponseBody {\n contacts: Array<any>\n}\n\nexport interface GetContactsByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetContactsByAccountIdQueryStringParameters {\n assetName?: string\n contactName?: string\n email?: string\n lastKey?: string\n limit?: number\n phone?: string\n}\n\nexport interface GetContactsByAccountIdResponseBody {\n accountId: string\n contacts: Contact[]\n lastKey?: string\n numberOfContacts: number\n}\n\nexport interface GetInvitationPathParameters {\n invitationId: string\n}\n\nexport interface GetInvitationResponseBody {\n accountInvitation: AccountInvitation\n}\n\nexport interface GetPricePlanByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetPricePlanByAccountIdResponseBody {\n pricePlan: PricePlan\n pricePlanPeriod: PricePlanPeriod\n}\n\nexport interface GetProjectsByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetProjectsByAccountIdQueryStringParameters {\n lastKey?: string\n limit?: number\n next?: string\n}\n\nexport interface GetProjectsByAccountIdResponseBody {\n accountId: string\n lastKey?: string\n next?: string\n numberOfProjects: number\n projects: Project[]\n}\n\nexport interface GetQrCodesByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetQrCodesByAccountIdQueryStringParameters {\n assetName?: string\n lastKey?: string\n limit?: number\n}\n\nexport interface GetQrCodesByAccountIdResponseBody {\n accountId: string\n lastKey?: string\n numberOfQrCodes: number\n qrCodes: QrCodeNamed[]\n}\n\nexport interface GetScanExportByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetScanExportByAccountIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetScanExportByAccountIdResponseBody {\n scans: ExportedScan[]\n}\n\nexport interface GetScansByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetScansByAccountIdQueryStringParameters {\n assetName?: string\n contactId?: string\n lastKey?: string\n limit?: number\n}\n\nexport interface GetScansByAccountIdResponseBody {\n accountId: string\n lastKey?: string\n numberOfScans: number\n scans: Scan[]\n}\n\nexport interface GetUsersByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface GetUsersByAccountIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetUsersByAccountIdResponseBody {\n accountId: string\n invitations: ResponseBodyUser[]\n lastKey?: string\n numberOfInvitations: number\n numberOfOwners: number\n numberOfUsers: number\n owners: ResponseBodyUser[]\n users: ResponseBodyUser[]\n}\n\nexport interface UpdateAccountPathParameters {\n accountId: string\n}\n\nexport interface UpdateAccountRequestBody {\n companyName?: string\n}\n\nexport interface UpdateAccountResponseBody extends Account {\n accountId: string\n assetCount: number\n collectTaxInfo: boolean\n companyName?: string\n contactCount: number\n created?: string | Date | number\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n needsPaymentUpdate: boolean\n projectCount: number\n scanCount: number\n staticQrCodeCount: number\n status: AccountStatus\n stripeCustomerId: string\n}\n\nexport interface UpdatePricePlanByAccountIdPathParameters {\n accountId: string\n}\n\nexport interface UpdatePricePlanByAccountIdRequestBody {\n paymentPeriod: PricePlanPaymentPeriod\n pricePlanName: PricePlanName\n}\n\nexport interface UpdatePricePlanByAccountIdResponseBody {\n pricePlan: PricePlan\n pricePlanPeriod: PricePlanPeriod\n}\n\nexport interface UpdateUserByAccountIdPathParameters {\n accountId: string\n userId: string\n}\n\nexport interface UpdateUserByAccountIdRequestBody {\n userRole: AccountUserRole\n}\n\nexport interface UpdateUserByAccountIdResponseBody {\n accountUser: AccountUser\n}\n\nexport interface GetApiKeyPathParameters {\n apiKeyId: string\n}\n\nexport interface GetApiKeyResponseBody {\n apiKeyId: string\n description?: string\n key: string\n name: string\n status: string\n}\n\nexport interface GetApiKeySecretPathParameters {\n apiKeyId: string\n}\n\nexport interface GetApiKeySecretResponseBody {\n apiKeyId: string\n secret: string\n}\n\nexport interface ResetApiKeySecretPathParameters {\n apiKeyId: string\n}\n\nexport interface ResetApiKeySecretResponseBody {\n apiKeyId: string\n secret: string\n}\n\nexport interface UpdateApiKeyPathParameters {\n apiKeyId: string\n}\n\nexport interface UpdateApiKeyRequestBody {\n description?: string\n name?: string\n}\n\nexport interface UpdateApiKeyResponseBody {\n apiKeyId: string\n description?: string\n key: string\n name: string\n status: string\n}\n\nexport interface CreateContactByAssetIdPathParameters {\n assetId: string\n}\n\nexport interface CreateContactByAssetIdRequestBody {\n cellPhone?: string\n consent?: ContactConsent[]\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName?: string\n lastName?: string\n mailingAddress?: ContactMailingAddress\n middleName?: string\n nickname?: string\n type?: string\n}\n\nexport interface CreateContactByAssetIdResponseBody {\n asset: Asset\n assetContact: AssetContact\n assetId: string\n contact: Contact\n projectContact: ProjectContact\n}\n\nexport interface CreateQrCodeByAssetIdPathParameters {\n assetId: string\n}\n\nexport interface CreateQrCodeByAssetIdRequestBody {\n dynamicRedirectType: QrCodeDynamicRedirectType\n imageOptions: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKeyType: QrCodeLocatorKeyType\n status?: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface CreateQrCodeByAssetIdResponseBody {\n asset: Asset\n assetId: string\n locatorKey: string\n qrCode: ResponseQrCode\n qrCodeId: string\n}\n\nexport interface DeleteAssetPathParameters {\n assetId: string\n}\n\nexport interface DeleteAssetResponseBody {\n asset: Asset\n}\n\nexport interface GetAssetPathParameters {\n assetId: string\n}\n\nexport interface GetAssetQueryStringParameters {\n background?: string\n backgroundGradientColors?: string\n backgroundGradientRotation?: number\n backgroundGradientType?: QrCodeGradientTypes\n cornerDotColor?: string\n cornerDotType?: QrCodeCornerDotTypes\n cornerSquareColor?: string\n cornerSquareType?: QrCodeCornerSquareTypes\n darkColor?: string\n dataUrl?: boolean\n dotType?: QrCodeDotTypes\n errorCorrectionLevel?: QrCodeErrorCorrectionLevel\n foreground?: string\n foregroundGradientColors?: string\n foregroundGradientRotation?: number\n foregroundGradientType?: QrCodeGradientTypes\n format?: QrCodeType\n image?: string\n lightColor?: string\n margin?: number\n scale?: number\n version?: number\n width?: number\n}\n\nexport interface GetAssetResponseBody {\n asset: ResponseAsset\n assetId: string\n}\n\nexport interface GetContactsByAssetIdPathParameters {\n assetId: string\n}\n\nexport interface GetContactsByAssetIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetContactsByAssetIdResponseBody {\n assetContacts: AssetContact[]\n assetId: string\n contacts: Contact[]\n lastKey?: string\n numberOfContacts: number\n}\n\nexport interface GetQrCodesByAssetIdPathParameters {\n assetId: string\n}\n\nexport interface GetQrCodesByAssetIdQueryStringParameters {\n background?: string\n backgroundGradientColors?: string\n backgroundGradientRotation?: number\n backgroundGradientType?: QrCodeGradientTypes\n cornerDotColor?: string\n cornerDotType?: QrCodeCornerDotTypes\n cornerSquareColor?: string\n cornerSquareType?: QrCodeCornerSquareTypes\n darkColor?: string\n dataUrl?: boolean\n dotType?: QrCodeDotTypes\n errorCorrectionLevel?: QrCodeErrorCorrectionLevel\n foreground?: string\n foregroundGradientColors?: string\n foregroundGradientRotation?: number\n foregroundGradientType?: QrCodeGradientTypes\n format?: QrCodeType\n image?: string\n lastKey?: string\n lightColor?: string\n limit?: number\n margin?: number\n scale?: number\n version?: number\n width?: number\n}\n\nexport interface GetQrCodesByAssetIdResponseBody {\n assetId: string\n lastKey?: string\n numberOfQrCodes: number\n qrCodes: ResponseQrCode[]\n}\n\nexport interface GetScansByAssetIdPathParameters {\n assetId: string\n}\n\nexport interface GetScansByAssetIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetScansByAssetIdResponseBody {\n assetId: string\n lastKey?: string\n numberOfScans: number\n scans: Scan[]\n}\n\nexport interface LinkContactToAssetPathParameters {\n assetId: string\n contactId: string\n}\n\nexport interface LinkContactToAssetRequestBody {\n type?: string\n}\n\nexport interface LinkContactToAssetResponseBody {\n assetContact: AssetContact\n projectContact: ProjectContact\n}\n\nexport interface UnlinkContactToAssetPathParameters {\n assetId: string\n contactId: string\n}\n\nexport interface UpdateAssetPathParameters {\n assetId: string\n}\n\nexport interface UpdateAssetRequestBody {\n customAttributes?: NestedKeyValueObject\n description?: string\n}\n\nexport interface UpdateAssetResponseBody {\n asset: Asset\n assetId: string\n}\n\nexport interface CreateCustomerPortalSessionPathParameters {\n accountId: string\n}\n\nexport interface CreateCustomerPortalSessionRequestBody {\n planName?: string\n return_url: string\n}\n\nexport interface CreateCustomerPortalSessionResponseBody {\n redirectUrl: string\n}\n\nexport interface DeleteContactPathParameters {\n contactId: string\n}\n\nexport interface DeleteContactResponseBody {\n contact: Contact\n}\n\nexport interface GetContactPathParameters {\n contactId: string\n}\n\nexport interface GetContactResponseBody {\n contact: Contact\n}\n\nexport interface UpdateContactPathParameters {\n contactId: string\n}\n\nexport interface UpdateContactRequestBody {\n cellPhone?: string\n consent?: ContactConsent[]\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName?: string\n lastName?: string\n mailingAddress?: ContactMailingAddress\n middleName?: string\n nickname?: string\n}\n\nexport interface UpdateContactResponseBody {\n contact: Contact\n}\n\nexport interface GetAccountsOverviewResponseBody {\n advanced: NestedKeyValueObject\n enterpriseCustom: NestedKeyValueObject\n free: NestedKeyValueObject\n pro: NestedKeyValueObject\n unlimited: NestedKeyValueObject\n}\n\nexport interface GetActivityOverviewResponseBody {\n assets: NestedKeyValueObject\n contacts: NestedKeyValueObject\n logins: NestedKeyValueObject\n qrCodes: NestedKeyValueObject\n scans: NestedKeyValueObject\n}\n\nexport interface GetUsersOverviewResponseBody {\n active: NestedKeyValueObject\n pending: NestedKeyValueObject\n total: NestedKeyValueObject\n}\n\nexport interface GetPricePlansResponseBody {\n pricePlans: NestedKeyValueObject\n}\n\nexport interface CreateAssetByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateAssetByProjectIdRequestBody extends NestedAsset {\n customAttributes?: NestedKeyValueObject\n description?: string\n name: string\n qrCodes?: NestedQrCode[]\n}\n\nexport interface CreateAssetByProjectIdResponseBody {\n asset: ResponseAsset\n projectId: string\n}\n\nexport interface CreateAssetsByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateAssetsByProjectIdRequestBody {\n assets: NestedAsset[]\n}\n\nexport interface CreateAssetsByProjectIdResponseBody {\n assets: ResponseAsset[]\n numberOfAssets: number\n projectId: string\n}\n\nexport interface CreateContactByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateContactByProjectIdRequestBody {\n asset?: NestedAsset\n cellPhone?: string\n consent?: ContactConsent[]\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName?: string\n lastName?: string\n mailingAddress?: ContactMailingAddress\n middleName?: string\n nickname?: string\n type?: string\n}\n\nexport interface CreateContactByProjectIdResponseBody {\n asset?: Asset\n assetContact?: AssetContact\n contact: Contact\n projectContact: ProjectContact\n projectId: string\n qrCodes?: QrCode[]\n}\n\nexport interface CreateContactsByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateContactsByProjectIdRequestBody {\n contacts: NestedContact[]\n}\n\nexport interface CreateContactsByProjectIdResponseBody {\n contacts: Array<any>\n numberOfContacts: number\n projectId: string\n}\n\nexport interface CreateQrCodeByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateQrCodeByProjectIdRequestBody {\n imageOptions: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n status?: QrCodeStatus\n}\n\nexport interface CreateQrCodeByProjectIdResponseBody {\n locatorKey: string\n projectId: string\n qrCode: QrCode\n qrCodeId: string\n}\n\nexport interface CreateSmsTemplateByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface CreateSmsTemplateByProjectIdRequestBody {\n body?: string\n responseUrl?: string\n smsTemplateName: string\n statusUrl?: string\n}\n\nexport interface CreateSmsTemplateByProjectIdResponseBody {\n smsTemplate: SmsTemplate\n}\n\nexport interface DeleteContactsByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface DeleteContactsByProjectIdQueryStringParameters {\n cellPhone?: string\n emailAddress?: string\n}\n\nexport interface DeleteContactsByProjectIdResponseBody {\n contacts: Contact[]\n projectId: string\n}\n\nexport interface DeleteProjectPathParameters {\n projectId: string\n}\n\nexport interface DeleteProjectResponseBody {\n project: Project\n}\n\nexport interface DeleteSmsTemplateByProjectIdPathParameters {\n projectId: string\n smsTemplateName: string\n}\n\nexport interface DeleteSmsTemplateByProjectIdResponseBody {\n body?: string\n projectId: string\n responseUrl?: string\n smsTemplateName?: string\n statusUrl?: string\n}\n\nexport interface GetAdvancedAssetReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetAdvancedAssetReportByProjectIdQueryStringParameters {\n limit?: number\n nextToken?: string\n queryExecutionId?: string\n search?: string\n}\n\nexport interface GetAdvancedAssetReportByProjectIdResponseBody {\n data: Array<any>\n meta: NestedKeyValueObject\n}\n\nexport interface GetAdvancedContactReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetAdvancedContactReportByProjectIdQueryStringParameters {\n limit?: number\n nextToken?: string\n queryExecutionId?: string\n search?: string\n}\n\nexport interface GetAdvancedContactReportByProjectIdResponseBody {\n data: Array<any>\n meta: NestedKeyValueObject\n}\n\nexport interface GetAdvancedScanReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetAdvancedScanReportByProjectIdQueryStringParameters {\n from?: string | Date | number\n to?: string | Date | number\n topScansAmount?: number\n}\n\nexport interface GetAdvancedScanReportByProjectIdResponseBody {\n mostScannedAssets: Array<any>\n scansByDevice: NestedKeyValueObject\n scansByLocation: NestedKeyValueObject\n}\n\nexport interface GetAssetExportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetAssetExportByProjectIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetAssetExportByProjectIdResponseBody {\n assets: Array<any>\n}\n\nexport interface GetAssetsByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetAssetsByProjectIdQueryStringParameters {\n lastKey?: string\n limit?: number\n name?: string\n}\n\nexport interface GetAssetsByProjectIdResponseBody {\n assets: Asset[]\n lastKey?: string\n numberOfAssets: number\n projectId: string\n}\n\nexport interface GetBasicAssetReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetBasicAssetReportByProjectIdResponseBody {\n assetsCount: number\n}\n\nexport interface GetBasicContactReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetBasicContactReportByProjectIdResponseBody {\n contactsCount: number\n}\n\nexport interface GetBasicScanReportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetBasicScanReportByProjectIdResponseBody {\n dynamicQRCodesTotal: number\n lastScan?: NestedKeyValueObject\n scansTotal: number\n staticQRCodesTotal: number\n}\n\nexport interface GetContactExportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetContactExportByProjectIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetContactExportByProjectIdResponseBody {\n contacts: Array<any>\n}\n\nexport interface GetContactsByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetContactsByProjectIdQueryStringParameters {\n assetName?: string\n contactName?: string\n email?: string\n lastKey?: string\n limit?: number\n phone?: string\n}\n\nexport interface GetContactsByProjectIdResponseBody {\n contacts: Contact[]\n lastKey?: string\n numberOfContacts: number\n projectId: string\n}\n\nexport interface GetProjectByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetProjectByProjectIdResponseBody {\n project: Project\n}\n\nexport interface GetQrCodesByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetQrCodesByProjectIdQueryStringParameters {\n assetName?: string\n lastKey?: string\n limit?: number\n}\n\nexport interface GetQrCodesByProjectIdResponseBody {\n lastKey?: string\n numberOfQrCodes: number\n projectId: string\n qrCodes: QrCodeNamed[]\n}\n\nexport interface GetScanExportByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetScanExportByProjectIdQueryStringParameters {\n format?: string\n from?: string | Date | number\n to?: string | Date | number\n}\n\nexport interface GetScanExportByProjectIdResponseBody {\n scans: ExportedScan[]\n}\n\nexport interface GetScansByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetScansByProjectIdQueryStringParameters {\n assetName?: string\n contactId?: string\n lastKey?: string\n limit?: number\n}\n\nexport interface GetScansByProjectIdResponseBody {\n lastKey?: string\n numberOfScans: number\n projectId: string\n scans: Scan[]\n}\n\nexport interface GetSmsTemplateByProjectIdPathParameters {\n projectId: string\n smsTemplateName: string\n}\n\nexport interface GetSmsTemplateByProjectIdResponseBody {\n body?: string\n projectId: string\n responseUrl?: string\n smsTemplateName: string\n statusUrl?: string\n}\n\nexport interface GetSmsTemplatesByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface GetSmsTemplatesByProjectIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetSmsTemplatesByProjectIdResponseBody {\n lastKey?: string\n numberOfSmsTemplates: number\n projectId: string\n smsTemplates: SmsTemplate[]\n}\n\nexport interface UpdateProjectByProjectIdPathParameters {\n projectId: string\n}\n\nexport interface UpdateProjectByProjectIdRequestBody {\n companyName?: string\n description?: string\n name?: string\n status?: ProjectStatus\n}\n\nexport interface UpdateProjectByProjectIdResponseBody {\n project: Project\n}\n\nexport interface UpdateSmsTemplatePathParameters {\n projectId: string\n smsTemplateName: string\n}\n\nexport interface UpdateSmsTemplateRequestBody {\n body?: string\n responseUrl?: string\n statusUrl?: string\n}\n\nexport interface UpdateSmsTemplateResponseBody {\n body?: string\n projectId: string\n responseUrl?: string\n smsTemplateName?: string\n statusUrl?: string\n}\n\nexport interface DeleteQrCodePathParameters {\n qrCodeId: string\n}\n\nexport interface DeleteQrCodeResponseBody {\n qrCode: QrCode\n}\n\nexport interface GetQrCodePathParameters {\n qrCodeId: string\n}\n\nexport interface GetQrCodeQueryStringParameters {\n background?: string\n backgroundGradientColors?: string\n backgroundGradientRotation?: number\n backgroundGradientType?: QrCodeGradientTypes\n cornerDotColor?: string\n cornerDotType?: QrCodeCornerDotTypes\n cornerSquareColor?: string\n cornerSquareType?: QrCodeCornerSquareTypes\n darkColor?: string\n dataUrl?: boolean\n dotType?: QrCodeDotTypes\n errorCorrectionLevel?: QrCodeErrorCorrectionLevel\n foreground?: string\n foregroundGradientColors?: string\n foregroundGradientRotation?: number\n foregroundGradientType?: QrCodeGradientTypes\n format?: QrCodeType\n image?: string\n lightColor?: string\n margin?: number\n scale?: number\n version?: number\n width?: number\n}\n\nexport interface GetQrCodeResponseBody extends ResponseQrCode {\n assetId: string\n dynamicRedirectType: QrCodeDynamicRedirectType\n image: QrCodeImage\n intent?: string\n intentState?: NestedKeyValueObject\n intentType: QrCodeIntentType\n locatorKey: string\n locatorKeyType: QrCodeLocatorKeyType\n qrCodeId: string\n scanCount: number\n status: QrCodeStatus\n validFrom?: string | Date | number\n validTo?: string | Date | number\n}\n\nexport interface UpdateQrCodePathParameters {\n qrCodeId: string\n}\n\nexport interface UpdateQrCodeRequestBody {\n dynamicRedirectType?: QrCodeDynamicRedirectType\n imageOptions?: QrCodeImageOptions\n intent?: string\n intentState?: NestedKeyValueObject\n status?: QrCodeStatus\n}\n\nexport interface UpdateQrCodeResponseBody {\n qrCode: ResponseQrCode\n}\n\nexport interface CreateContactByScanIdPathParameters {\n scanId: string\n}\n\nexport interface CreateContactByScanIdRequestBody {\n cellPhone?: string\n consent?: ContactConsent[]\n customAttributes?: NestedKeyValueObject\n emailAddress?: string\n firstName?: string\n lastName?: string\n mailingAddress?: ContactMailingAddress\n middleName?: string\n nickname?: string\n type?: string\n}\n\nexport interface CreateContactByScanIdResponseBody {\n asset: Asset\n assetContact: AssetContact\n assetId: string\n contact: Contact\n projectContact: ProjectContact\n scanContact: ScanContact\n}\n\nexport interface GetScanPathParameters {\n scanId: string\n}\n\nexport interface GetScanResponseBody {\n asset: Asset\n contacts: ResponseContact[]\n qrCode: QrCode\n scan: Scan\n}\n\nexport interface SendSmsByScanIdPathParameters {\n scanId: string\n}\n\nexport interface SendSmsByScanIdRequestBody {\n body?: string\n contactId: string\n customVariables?: NestedKeyValueObject\n smsTemplateName?: string\n}\n\nexport interface SendSmsByScanIdResponseBody {\n sms: Sms\n}\n\nexport interface GetAccountDetailsPathParameters {\n accountId: string\n}\n\nexport interface GetAccountDetailsResponseBody {\n account: NestedKeyValueObject\n assets: NestedKeyValueObject\n contacts: NestedKeyValueObject\n projects: NestedKeyValueObject\n qrCodes: NestedKeyValueObject\n scans: NestedKeyValueObject\n users: Array<any>\n}\n\nexport interface GetUserDetailsPathParameters {\n userId: string\n}\n\nexport interface GetUserDetailsResponseBody {\n accounts: Array<any>\n logins: Array<any>\n user: NestedKeyValueObject\n}\n\nexport interface SearchAccountsQueryStringParameters {\n limit?: number\n nextToken?: string\n queryExecutionId?: string\n search?: string\n}\n\nexport interface SearchAccountsResponseBody {\n accounts: Array<any>\n nextToken?: string\n queryExecutionId?: string\n}\n\nexport interface CreateAccountByUserIdPathParameters {\n userId: string\n}\n\nexport interface CreateAccountByUserIdRequestBody {\n companyName?: string\n}\n\nexport interface CreateAccountByUserIdResponseBody extends Account {\n accountId: string\n assetCount: number\n collectTaxInfo: boolean\n companyName?: string\n contactCount: number\n created?: string | Date | number\n dynamicQrCodeCount: number\n lastScanId?: string\n modified?: string | Date | number\n needsPaymentUpdate: boolean\n projectCount: number\n scanCount: number\n staticQrCodeCount: number\n status: AccountStatus\n stripeCustomerId: string\n}\n\nexport interface GetAccountsByUserIdPathParameters {\n userId: string\n}\n\nexport interface GetAccountsByUserIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetAccountsByUserIdResponseBody {\n accounts: AccountResponse[]\n lastKey?: string\n next?: string\n numberOfAccounts: number\n userId: string\n}\n\nexport interface GetErrorsByUserIdPathParameters {\n userId: string\n}\n\nexport interface GetErrorsByUserIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetErrorsByUserIdResponseBody {\n errors: Response[]\n lastKey?: string\n numberOfErrors: number\n userId: string\n}\n\nexport interface GetInvitationsByUserIdPathParameters {\n userId: string\n}\n\nexport interface GetInvitationsByUserIdQueryStringParameters {\n lastKey?: string\n limit?: number\n}\n\nexport interface GetInvitationsByUserIdResponseBody {\n accountInvitations: AccountInvitation[]\n lastKey?: string\n numberOfInvitations: number\n userId: string\n}\n\nexport interface GetUserPathParameters {\n userId: string\n}\n\nexport interface GetUserResponseBody extends User {\n created?: string | Date | number\n email: string\n firstName: string\n lastName: string\n middleName: string\n modified?: string | Date | number\n userId: string\n}\n\nexport interface GetUserSettingsByUserIdPathParameters {\n path: UserSettingsDomain\n userId: string\n}\n\nexport interface GetUserSettingsByUserIdResponseBody extends UserSettings {\n created?: string | Date | number\n lastSelectedAccountId?: string\n modified?: string | Date | number\n path: UserSettingsDomain\n userId: string\n}\n\nexport interface SetUserSettingsByUserIdPathParameters {\n path: UserSettingsDomain\n userId: string\n}\n\nexport interface SetUserSettingsByUserIdRequestBody {\n lastSelectedAccountId: string\n}\n\nexport interface SetUserSettingsByUserIdResponseBody extends UserSettings {\n created?: string | Date | number\n lastSelectedAccountId?: string\n modified?: string | Date | number\n path: UserSettingsDomain\n userId: string\n}\n\nexport interface UpdateUserPathParameters {\n userId: string\n}\n\nexport interface UpdateUserRequestBody {\n firstName?: string\n lastName?: string\n middleName?: string\n}\n\nexport interface UpdateUserResponseBody extends User {\n created?: string | Date | number\n email: string\n firstName: string\n lastName: string\n middleName: string\n modified?: string | Date | number\n userId: string\n}\n\nexport interface ChangePasswordRequestBody {\n newPassword: string\n password?: string\n}\n\nexport interface ChangePasswordUserSessionResponseBody {\n expires: string | Date | number\n scope: AuthTokenScope\n user?: User\n userId: string\n}\n\nexport interface ConfirmQueryStringParameters {\n t: string\n}\n\nexport interface CreateUserRequestBody {\n companyName?: string\n email: string\n firstName?: string\n groups?: string\n lastName?: string\n middleName?: string\n password: string\n}\n\nexport interface DeleteSessionUserSessionResponseBody {\n expires: string | Date | number\n scope: AuthTokenScope\n user?: User\n userId: string\n}\n\nexport interface GetSessionRequestBody {\n email: string\n password: string\n}\n\nexport interface GetSessionUserSessionResponseBody {\n expires: string | Date | number\n scope: AuthTokenScope\n user?: User\n userId: string\n}\n\nexport interface GetSessionRefreshUserSessionResponseBody {\n expires: string | Date | number\n scope: AuthTokenScope\n user?: User\n userId: string\n}\n\nexport interface ResendConfirmationRequestBody {\n email: string\n}\n\nexport interface ResetPasswordRequestBody {\n email: string\n}\n\n// HANDLER REQUEST CLASSES\n\nexport class CreateApiKeyByAccountIdRequest extends RequestPost<\n CreateApiKeyByAccountIdPathParameters,\n undefined,\n CreateApiKeyByAccountIdRequestBody,\n CreateApiKeyByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'apikeys', sdkPartName: 'apikeys'},\n ]\n}\n\nexport class CreateInvitationByAccountIdRequest extends RequestPost<\n CreateInvitationByAccountIdPathParameters,\n undefined,\n CreateInvitationByAccountIdRequestBody,\n CreateInvitationByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'invitations', sdkPartName: 'invitations'},\n ]\n}\n\nexport class CreateProjectByAccountIdRequest extends RequestPost<\n CreateProjectByAccountIdPathParameters,\n undefined,\n CreateProjectByAccountIdRequestBody,\n CreateProjectByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'projects', sdkPartName: 'projects'},\n ]\n}\n\nexport class CreateUserByInvitationIdRequest extends RequestPost<\n CreateUserByInvitationIdPathParameters,\n undefined,\n undefined,\n CreateUserByInvitationIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'invitationId', routePart: 'invitations', sdkPartName: 'invitation'},\n {routePart: 'users', sdkPartName: 'users'},\n ]\n}\n\nexport class DeleteAccountRequest extends RequestDelete<DeleteAccountPathParameters, undefined, undefined> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'}]\n}\n\nexport class DeleteContactsByAccountIdRequest extends RequestDelete<\n DeleteContactsByAccountIdPathParameters,\n DeleteContactsByAccountIdQueryStringParameters,\n DeleteContactsByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'contacts/batch', sdkPartName: 'contactsBatch'},\n ]\n}\n\nexport class DeleteInvitationRequest extends RequestDelete<\n DeleteInvitationPathParameters,\n undefined,\n DeleteInvitationResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'invitationId', routePart: 'invitations', sdkPartName: 'invitation'}]\n}\n\nexport class DeleteUserByAccountIdRequest extends RequestDelete<\n DeleteUserByAccountIdPathParameters,\n undefined,\n undefined\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n ]\n}\n\nexport class GetAccountRequest extends RequestGet<GetAccountPathParameters, undefined, GetAccountResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'}]\n}\n\nexport class GetAdvancedAssetReportByAccountIdRequest extends RequestGet<\n GetAdvancedAssetReportByAccountIdPathParameters,\n GetAdvancedAssetReportByAccountIdQueryStringParameters,\n GetAdvancedAssetReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'assets/report/advanced', sdkPartName: 'advancedAssetsReport'},\n ]\n}\n\nexport class GetAdvancedContactReportByAccountIdRequest extends RequestGet<\n GetAdvancedContactReportByAccountIdPathParameters,\n GetAdvancedContactReportByAccountIdQueryStringParameters,\n GetAdvancedContactReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'contacts/report/advanced', sdkPartName: 'advancedContactsReport'},\n ]\n}\n\nexport class GetAdvancedScanReportByAccountIdRequest extends RequestGet<\n GetAdvancedScanReportByAccountIdPathParameters,\n GetAdvancedScanReportByAccountIdQueryStringParameters,\n GetAdvancedScanReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'scans/report/advanced', sdkPartName: 'advancedScansReport'},\n ]\n}\n\nexport class GetApiKeysByAccountIdRequest extends RequestGet<\n GetApiKeysByAccountIdPathParameters,\n GetApiKeysByAccountIdQueryStringParameters,\n GetApiKeysByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'apikeys', sdkPartName: 'apikeys'},\n ]\n}\n\nexport class GetAssetExportByAccountIdRequest extends RequestGet<\n GetAssetExportByAccountIdPathParameters,\n GetAssetExportByAccountIdQueryStringParameters,\n GetAssetExportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'assets/export', sdkPartName: 'assetsExport'},\n ]\n}\n\nexport class GetAssetsByAccountIdRequest extends RequestGet<\n GetAssetsByAccountIdPathParameters,\n GetAssetsByAccountIdQueryStringParameters,\n GetAssetsByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'assets', sdkPartName: 'assets'},\n ]\n}\n\nexport class GetBasicAssetReportByAccountIdRequest extends RequestGet<\n GetBasicAssetReportByAccountIdPathParameters,\n undefined,\n GetBasicAssetReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'assets/report/basic', sdkPartName: 'basicAssetsReport'},\n ]\n}\n\nexport class GetBasicContactReportByAccountIdRequest extends RequestGet<\n GetBasicContactReportByAccountIdPathParameters,\n undefined,\n GetBasicContactReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'contacts/report/basic', sdkPartName: 'basicContactsReport'},\n ]\n}\n\nexport class GetBasicScanReportByAccountIdRequest extends RequestGet<\n GetBasicScanReportByAccountIdPathParameters,\n undefined,\n GetBasicScanReportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'scans/report/basic', sdkPartName: 'basicScansReport'},\n ]\n}\n\nexport class GetContactExportByAccountIdRequest extends RequestGet<\n GetContactExportByAccountIdPathParameters,\n GetContactExportByAccountIdQueryStringParameters,\n GetContactExportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'contacts/export', sdkPartName: 'contactsExport'},\n ]\n}\n\nexport class GetContactsByAccountIdRequest extends RequestGet<\n GetContactsByAccountIdPathParameters,\n GetContactsByAccountIdQueryStringParameters,\n GetContactsByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class GetInvitationRequest extends RequestGet<\n GetInvitationPathParameters,\n undefined,\n GetInvitationResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'invitationId', routePart: 'invitations', sdkPartName: 'invitation'}]\n}\n\nexport class GetPricePlanByAccountIdRequest extends RequestGet<\n GetPricePlanByAccountIdPathParameters,\n undefined,\n GetPricePlanByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'priceplan', sdkPartName: 'pricePlan'},\n ]\n}\n\nexport class GetProjectsByAccountIdRequest extends RequestGet<\n GetProjectsByAccountIdPathParameters,\n GetProjectsByAccountIdQueryStringParameters,\n GetProjectsByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'projects', sdkPartName: 'projects'},\n ]\n}\n\nexport class GetQrCodesByAccountIdRequest extends RequestGet<\n GetQrCodesByAccountIdPathParameters,\n GetQrCodesByAccountIdQueryStringParameters,\n GetQrCodesByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'qrcodes', sdkPartName: 'qrCodes'},\n ]\n}\n\nexport class GetScanExportByAccountIdRequest extends RequestGet<\n GetScanExportByAccountIdPathParameters,\n GetScanExportByAccountIdQueryStringParameters,\n GetScanExportByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'scans/export', sdkPartName: 'scansExport'},\n ]\n}\n\nexport class GetScansByAccountIdRequest extends RequestGet<\n GetScansByAccountIdPathParameters,\n GetScansByAccountIdQueryStringParameters,\n GetScansByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'scans', sdkPartName: 'scans'},\n ]\n}\n\nexport class GetUsersByAccountIdRequest extends RequestGet<\n GetUsersByAccountIdPathParameters,\n GetUsersByAccountIdQueryStringParameters,\n GetUsersByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'users', sdkPartName: 'users'},\n ]\n}\n\nexport class UpdateAccountRequest extends RequestPatch<\n UpdateAccountPathParameters,\n undefined,\n UpdateAccountRequestBody,\n UpdateAccountResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'}]\n}\n\nexport class UpdatePricePlanByAccountIdRequest extends RequestPatch<\n UpdatePricePlanByAccountIdPathParameters,\n undefined,\n UpdatePricePlanByAccountIdRequestBody,\n UpdatePricePlanByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {routePart: 'priceplan', sdkPartName: 'pricePlan'},\n ]\n}\n\nexport class UpdateUserByAccountIdRequest extends RequestPatch<\n UpdateUserByAccountIdPathParameters,\n undefined,\n UpdateUserByAccountIdRequestBody,\n UpdateUserByAccountIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'accounts', sdkPartName: 'account'},\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n ]\n}\n\nexport class GetApiKeyRequest extends RequestGet<GetApiKeyPathParameters, undefined, GetApiKeyResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'apiKeyId', routePart: 'apikeys', sdkPartName: 'apikey'}]\n}\n\nexport class GetApiKeySecretRequest extends RequestGet<\n GetApiKeySecretPathParameters,\n undefined,\n GetApiKeySecretResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'apiKeyId', routePart: 'apikeys', sdkPartName: 'apikey'},\n {routePart: 'secret', sdkPartName: 'secret'},\n ]\n}\n\nexport class ResetApiKeySecretRequest extends RequestPatch<\n ResetApiKeySecretPathParameters,\n undefined,\n undefined,\n ResetApiKeySecretResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'apiKeyId', routePart: 'apikeys', sdkPartName: 'apikey'},\n {routePart: 'secret', sdkPartName: 'secret'},\n ]\n}\n\nexport class UpdateApiKeyRequest extends RequestPatch<\n UpdateApiKeyPathParameters,\n undefined,\n UpdateApiKeyRequestBody,\n UpdateApiKeyResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'apiKeyId', routePart: 'apikeys', sdkPartName: 'apikey'}]\n}\n\nexport class CreateContactByAssetIdRequest extends RequestPost<\n CreateContactByAssetIdPathParameters,\n undefined,\n CreateContactByAssetIdRequestBody,\n CreateContactByAssetIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class CreateQrCodeByAssetIdRequest extends RequestPost<\n CreateQrCodeByAssetIdPathParameters,\n undefined,\n CreateQrCodeByAssetIdRequestBody,\n CreateQrCodeByAssetIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {routePart: 'qrcodes', sdkPartName: 'qrCodes'},\n ]\n}\n\nexport class DeleteAssetRequest extends RequestDelete<DeleteAssetPathParameters, undefined, DeleteAssetResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'}]\n}\n\nexport class GetAssetRequest extends RequestGet<\n GetAssetPathParameters,\n GetAssetQueryStringParameters,\n GetAssetResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'}]\n}\n\nexport class GetContactsByAssetIdRequest extends RequestGet<\n GetContactsByAssetIdPathParameters,\n GetContactsByAssetIdQueryStringParameters,\n GetContactsByAssetIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class GetQrCodesByAssetIdRequest extends RequestGet<\n GetQrCodesByAssetIdPathParameters,\n GetQrCodesByAssetIdQueryStringParameters,\n GetQrCodesByAssetIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {routePart: 'qrcodes', sdkPartName: 'qrCodes'},\n ]\n}\n\nexport class GetScansByAssetIdRequest extends RequestGet<\n GetScansByAssetIdPathParameters,\n GetScansByAssetIdQueryStringParameters,\n GetScansByAssetIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {routePart: 'scans', sdkPartName: 'scans'},\n ]\n}\n\nexport class LinkContactToAssetRequest extends RequestPost<\n LinkContactToAssetPathParameters,\n undefined,\n LinkContactToAssetRequestBody,\n LinkContactToAssetResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {parm: 'contactId', routePart: 'contacts', sdkPartName: 'contact'},\n ]\n}\n\nexport class UnlinkContactToAssetRequest extends RequestDelete<\n UnlinkContactToAssetPathParameters,\n undefined,\n undefined\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'},\n {parm: 'contactId', routePart: 'contacts', sdkPartName: 'contact'},\n ]\n}\n\nexport class UpdateAssetRequest extends RequestPatch<\n UpdateAssetPathParameters,\n undefined,\n UpdateAssetRequestBody,\n UpdateAssetResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'assetId', routePart: 'assets', sdkPartName: 'asset'}]\n}\n\nexport class CreateCustomerPortalSessionRequest extends RequestPost<\n CreateCustomerPortalSessionPathParameters,\n undefined,\n CreateCustomerPortalSessionRequestBody,\n CreateCustomerPortalSessionResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'billing/session', sdkPartName: 'billingSession'},\n ]\n}\n\nexport class DeleteContactRequest extends RequestDelete<\n DeleteContactPathParameters,\n undefined,\n DeleteContactResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'contactId', routePart: 'contacts', sdkPartName: 'contact'}]\n}\n\nexport class GetContactRequest extends RequestGet<GetContactPathParameters, undefined, GetContactResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'contactId', routePart: 'contacts', sdkPartName: 'contact'}]\n}\n\nexport class UpdateContactRequest extends RequestPatch<\n UpdateContactPathParameters,\n undefined,\n UpdateContactRequestBody,\n UpdateContactResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'contactId', routePart: 'contacts', sdkPartName: 'contact'}]\n}\n\nexport class GetAccountsOverviewRequest extends RequestGet<undefined, undefined, GetAccountsOverviewResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'overview/accounts', sdkPartName: 'overviewAccounts'}]\n}\n\nexport class GetActivityOverviewRequest extends RequestGet<undefined, undefined, GetActivityOverviewResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'overview/activity', sdkPartName: 'overviewActivity'}]\n}\n\nexport class GetUsersOverviewRequest extends RequestGet<undefined, undefined, GetUsersOverviewResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'overview/users', sdkPartName: 'overviewUsers'}]\n}\n\nexport class GetPricePlansRequest extends RequestGet<undefined, undefined, GetPricePlansResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'pricePlans', sdkPartName: 'pricePlans'}]\n}\n\nexport class CreateAssetByProjectIdRequest extends RequestPost<\n CreateAssetByProjectIdPathParameters,\n undefined,\n CreateAssetByProjectIdRequestBody,\n CreateAssetByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets', sdkPartName: 'assets'},\n ]\n}\n\nexport class CreateAssetsByProjectIdRequest extends RequestPost<\n CreateAssetsByProjectIdPathParameters,\n undefined,\n CreateAssetsByProjectIdRequestBody,\n CreateAssetsByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets/batch', sdkPartName: 'assetsBatch'},\n ]\n}\n\nexport class CreateContactByProjectIdRequest extends RequestPost<\n CreateContactByProjectIdPathParameters,\n undefined,\n CreateContactByProjectIdRequestBody,\n CreateContactByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class CreateContactsByProjectIdRequest extends RequestPost<\n CreateContactsByProjectIdPathParameters,\n undefined,\n CreateContactsByProjectIdRequestBody,\n CreateContactsByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts/batch', sdkPartName: 'contactsBatch'},\n ]\n}\n\nexport class CreateQrCodeByProjectIdRequest extends RequestPost<\n CreateQrCodeByProjectIdPathParameters,\n undefined,\n CreateQrCodeByProjectIdRequestBody,\n CreateQrCodeByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'qrcodes', sdkPartName: 'qrCodes'},\n ]\n}\n\nexport class CreateSmsTemplateByProjectIdRequest extends RequestPost<\n CreateSmsTemplateByProjectIdPathParameters,\n undefined,\n CreateSmsTemplateByProjectIdRequestBody,\n CreateSmsTemplateByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'smstemplates', sdkPartName: 'smsTemplates'},\n ]\n}\n\nexport class DeleteContactsByProjectIdRequest extends RequestDelete<\n DeleteContactsByProjectIdPathParameters,\n DeleteContactsByProjectIdQueryStringParameters,\n DeleteContactsByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts/batch', sdkPartName: 'contactsBatch'},\n ]\n}\n\nexport class DeleteProjectRequest extends RequestDelete<\n DeleteProjectPathParameters,\n undefined,\n DeleteProjectResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'projectId', routePart: 'projects', sdkPartName: 'project'}]\n}\n\nexport class DeleteSmsTemplateByProjectIdRequest extends RequestDelete<\n DeleteSmsTemplateByProjectIdPathParameters,\n undefined,\n DeleteSmsTemplateByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {parm: 'smsTemplateName', routePart: 'smstemplates', sdkPartName: 'smsTemplate'},\n ]\n}\n\nexport class GetAdvancedAssetReportByProjectIdRequest extends RequestGet<\n GetAdvancedAssetReportByProjectIdPathParameters,\n GetAdvancedAssetReportByProjectIdQueryStringParameters,\n GetAdvancedAssetReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets/report/advanced', sdkPartName: 'advancedAssetsReport'},\n ]\n}\n\nexport class GetAdvancedContactReportByProjectIdRequest extends RequestGet<\n GetAdvancedContactReportByProjectIdPathParameters,\n GetAdvancedContactReportByProjectIdQueryStringParameters,\n GetAdvancedContactReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts/report/advanced', sdkPartName: 'advancedContactsReport'},\n ]\n}\n\nexport class GetAdvancedScanReportByProjectIdRequest extends RequestGet<\n GetAdvancedScanReportByProjectIdPathParameters,\n GetAdvancedScanReportByProjectIdQueryStringParameters,\n GetAdvancedScanReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'scans/report/advanced', sdkPartName: 'advancedScansReport'},\n ]\n}\n\nexport class GetAssetExportByProjectIdRequest extends RequestGet<\n GetAssetExportByProjectIdPathParameters,\n GetAssetExportByProjectIdQueryStringParameters,\n GetAssetExportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets/export', sdkPartName: 'assetsExport'},\n ]\n}\n\nexport class GetAssetsByProjectIdRequest extends RequestGet<\n GetAssetsByProjectIdPathParameters,\n GetAssetsByProjectIdQueryStringParameters,\n GetAssetsByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets', sdkPartName: 'assets'},\n ]\n}\n\nexport class GetBasicAssetReportByProjectIdRequest extends RequestGet<\n GetBasicAssetReportByProjectIdPathParameters,\n undefined,\n GetBasicAssetReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'assets/report/basic', sdkPartName: 'basicAssetsReport'},\n ]\n}\n\nexport class GetBasicContactReportByProjectIdRequest extends RequestGet<\n GetBasicContactReportByProjectIdPathParameters,\n undefined,\n GetBasicContactReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts/report/basic', sdkPartName: 'basicContactsReport'},\n ]\n}\n\nexport class GetBasicScanReportByProjectIdRequest extends RequestGet<\n GetBasicScanReportByProjectIdPathParameters,\n undefined,\n GetBasicScanReportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'scans/report/basic', sdkPartName: 'basicScansReport'},\n ]\n}\n\nexport class GetContactExportByProjectIdRequest extends RequestGet<\n GetContactExportByProjectIdPathParameters,\n GetContactExportByProjectIdQueryStringParameters,\n GetContactExportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts/export', sdkPartName: 'contactsExport'},\n ]\n}\n\nexport class GetContactsByProjectIdRequest extends RequestGet<\n GetContactsByProjectIdPathParameters,\n GetContactsByProjectIdQueryStringParameters,\n GetContactsByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class GetProjectByProjectIdRequest extends RequestGet<\n GetProjectByProjectIdPathParameters,\n undefined,\n GetProjectByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'projectId', routePart: 'projects', sdkPartName: 'project'}]\n}\n\nexport class GetQrCodesByProjectIdRequest extends RequestGet<\n GetQrCodesByProjectIdPathParameters,\n GetQrCodesByProjectIdQueryStringParameters,\n GetQrCodesByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'qrcodes', sdkPartName: 'qrCodes'},\n ]\n}\n\nexport class GetScanExportByProjectIdRequest extends RequestGet<\n GetScanExportByProjectIdPathParameters,\n GetScanExportByProjectIdQueryStringParameters,\n GetScanExportByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'scans/export', sdkPartName: 'scansExport'},\n ]\n}\n\nexport class GetScansByProjectIdRequest extends RequestGet<\n GetScansByProjectIdPathParameters,\n GetScansByProjectIdQueryStringParameters,\n GetScansByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'scans', sdkPartName: 'scans'},\n ]\n}\n\nexport class GetSmsTemplateByProjectIdRequest extends RequestGet<\n GetSmsTemplateByProjectIdPathParameters,\n undefined,\n GetSmsTemplateByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {parm: 'smsTemplateName', routePart: 'smstemplates', sdkPartName: 'smsTemplate'},\n ]\n}\n\nexport class GetSmsTemplatesByProjectIdRequest extends RequestGet<\n GetSmsTemplatesByProjectIdPathParameters,\n GetSmsTemplatesByProjectIdQueryStringParameters,\n GetSmsTemplatesByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {routePart: 'smstemplates', sdkPartName: 'smsTemplates'},\n ]\n}\n\nexport class UpdateProjectByProjectIdRequest extends RequestPatch<\n UpdateProjectByProjectIdPathParameters,\n undefined,\n UpdateProjectByProjectIdRequestBody,\n UpdateProjectByProjectIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'projectId', routePart: 'projects', sdkPartName: 'project'}]\n}\n\nexport class UpdateSmsTemplateRequest extends RequestPatch<\n UpdateSmsTemplatePathParameters,\n undefined,\n UpdateSmsTemplateRequestBody,\n UpdateSmsTemplateResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'projectId', routePart: 'projects', sdkPartName: 'project'},\n {parm: 'smsTemplateName', routePart: 'smstemplates', sdkPartName: 'smsTemplate'},\n ]\n}\n\nexport class DeleteQrCodeRequest extends RequestDelete<\n DeleteQrCodePathParameters,\n undefined,\n DeleteQrCodeResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'qrCodeId', routePart: 'qrcodes', sdkPartName: 'qrCode'}]\n}\n\nexport class GetQrCodeRequest extends RequestGet<\n GetQrCodePathParameters,\n GetQrCodeQueryStringParameters,\n GetQrCodeResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'qrCodeId', routePart: 'qrcodes', sdkPartName: 'qrCode'}]\n}\n\nexport class UpdateQrCodeRequest extends RequestPatch<\n UpdateQrCodePathParameters,\n undefined,\n UpdateQrCodeRequestBody,\n UpdateQrCodeResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'qrCodeId', routePart: 'qrcodes', sdkPartName: 'qrCode'}]\n}\n\nexport class CreateContactByScanIdRequest extends RequestPost<\n CreateContactByScanIdPathParameters,\n undefined,\n CreateContactByScanIdRequestBody,\n CreateContactByScanIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'scanId', routePart: 'scans', sdkPartName: 'scan'},\n {routePart: 'contacts', sdkPartName: 'contacts'},\n ]\n}\n\nexport class GetScanRequest extends RequestGet<GetScanPathParameters, undefined, GetScanResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'scanId', routePart: 'scans', sdkPartName: 'scan'}]\n}\n\nexport class SendSmsByScanIdRequest extends RequestPost<\n SendSmsByScanIdPathParameters,\n undefined,\n SendSmsByScanIdRequestBody,\n SendSmsByScanIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'scanId', routePart: 'scans', sdkPartName: 'scan'},\n {routePart: 'sms', sdkPartName: 'sms'},\n ]\n}\n\nexport class GetAccountDetailsRequest extends RequestGet<\n GetAccountDetailsPathParameters,\n undefined,\n GetAccountDetailsResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'accountId', routePart: 'search/accounts', sdkPartName: 'searchAccount'},\n ]\n}\n\nexport class GetUserDetailsRequest extends RequestGet<\n GetUserDetailsPathParameters,\n undefined,\n GetUserDetailsResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'userId', routePart: 'search/users', sdkPartName: 'searchUser'}]\n}\n\nexport class SearchAccountsRequest extends RequestGet<\n undefined,\n SearchAccountsQueryStringParameters,\n SearchAccountsResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'search/accounts', sdkPartName: 'searchAccounts'}]\n}\n\nexport class CreateAccountByUserIdRequest extends RequestPost<\n CreateAccountByUserIdPathParameters,\n undefined,\n CreateAccountByUserIdRequestBody,\n CreateAccountByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {routePart: 'accounts', sdkPartName: 'accounts'},\n ]\n}\n\nexport class GetAccountsByUserIdRequest extends RequestGet<\n GetAccountsByUserIdPathParameters,\n GetAccountsByUserIdQueryStringParameters,\n GetAccountsByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {routePart: 'accounts', sdkPartName: 'accounts'},\n ]\n}\n\nexport class GetErrorsByUserIdRequest extends RequestGet<\n GetErrorsByUserIdPathParameters,\n GetErrorsByUserIdQueryStringParameters,\n GetErrorsByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {routePart: 'errors', sdkPartName: 'errors'},\n ]\n}\n\nexport class GetInvitationsByUserIdRequest extends RequestGet<\n GetInvitationsByUserIdPathParameters,\n GetInvitationsByUserIdQueryStringParameters,\n GetInvitationsByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {routePart: 'invitations', sdkPartName: 'invitations'},\n ]\n}\n\nexport class GetUserRequest extends RequestGet<GetUserPathParameters, undefined, GetUserResponseBody> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'userId', routePart: 'users', sdkPartName: 'user'}]\n}\n\nexport class GetUserSettingsByUserIdRequest extends RequestGet<\n GetUserSettingsByUserIdPathParameters,\n undefined,\n GetUserSettingsByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {parm: 'path', routePart: 'path', sdkPartName: 'path'},\n {routePart: 'settings', sdkPartName: 'settings'},\n ]\n}\n\nexport class SetUserSettingsByUserIdRequest extends RequestPatch<\n SetUserSettingsByUserIdPathParameters,\n undefined,\n SetUserSettingsByUserIdRequestBody,\n SetUserSettingsByUserIdResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [\n {parm: 'userId', routePart: 'users', sdkPartName: 'user'},\n {parm: 'path', routePart: 'path', sdkPartName: 'path'},\n {routePart: 'settings', sdkPartName: 'settings'},\n ]\n}\n\nexport class UpdateUserRequest extends RequestPatch<\n UpdateUserPathParameters,\n undefined,\n UpdateUserRequestBody,\n UpdateUserResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{parm: 'userId', routePart: 'users', sdkPartName: 'user'}]\n}\n\nexport class CreateSmsResponseRequest extends RequestPost<undefined, undefined, undefined, undefined> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'webhook/sms', sdkPartName: 'webhookSms'}]\n}\n\nexport class SmsStatusUpdateRequest extends RequestPost<undefined, undefined, undefined, undefined> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'webhook/sms-status', sdkPartName: 'webhookSmsStatus'}]\n}\n\nexport class ChangePasswordRequest extends RequestPost<\n undefined,\n undefined,\n ChangePasswordRequestBody,\n GetSessionRefreshUserSessionResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/user/password', sdkPartName: 'passwordAuthUser'}]\n}\n\nexport class ConfirmRequest extends RequestGet<undefined, ConfirmQueryStringParameters, undefined> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/confirm', sdkPartName: 'authConfirm'}]\n}\n\nexport class CreateUserRequest extends RequestPost<undefined, undefined, CreateUserRequestBody, undefined> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/user', sdkPartName: 'authUser'}]\n}\n\nexport class DeleteSessionRequest extends RequestDelete<\n undefined,\n undefined,\n GetSessionRefreshUserSessionResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/session', sdkPartName: 'authSession'}]\n}\n\nexport class GetSessionRequest extends RequestPost<\n undefined,\n undefined,\n GetSessionRequestBody,\n GetSessionRefreshUserSessionResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/session', sdkPartName: 'authSession'}]\n}\n\nexport class GetSessionRefreshRequest extends RequestPost<\n undefined,\n undefined,\n undefined,\n GetSessionRefreshUserSessionResponseBody\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/session/refresh', sdkPartName: 'refreshAuthSession'}]\n}\n\nexport class ResendConfirmationRequest extends RequestPost<\n undefined,\n undefined,\n ResendConfirmationRequestBody,\n undefined\n> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/user/confirmation', sdkPartName: 'confirmationAuthUser'}]\n}\n\nexport class ResetPasswordRequest extends RequestPost<undefined, undefined, ResetPasswordRequestBody, undefined> {\n routeSegments?: RequestRouteSegment[] = [{routePart: 'auth/user/reset', sdkPartName: 'resetAuthUser'}]\n}\n\n// HANDLER RESOURCE CLASSES\n\nexport class SdkAccountApikeysResources extends Resources {\n async create(\n requestBody: CreateApiKeyByAccountIdRequestBody,\n options?: any,\n ): Promise<CreateApiKeyByAccountIdResponseBody> {\n const request = new CreateApiKeyByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetApiKeysByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetApiKeysByAccountIdResponseBody> {\n const request = new GetApiKeysByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountInvitationsResources extends Resources {\n async create(\n requestBody: CreateInvitationByAccountIdRequestBody,\n options?: any,\n ): Promise<CreateInvitationByAccountIdResponseBody> {\n const request = new CreateInvitationByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAccountProjectsResources extends Resources {\n async create(\n requestBody: CreateProjectByAccountIdRequestBody,\n options?: any,\n ): Promise<CreateProjectByAccountIdResponseBody> {\n const request = new CreateProjectByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetProjectsByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetProjectsByAccountIdResponseBody> {\n const request = new GetProjectsByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountContactsBatchResources extends Resources {\n async delete(\n queryStringParameters: DeleteContactsByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<DeleteContactsByAccountIdResponseBody> {\n const request = new DeleteContactsByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountUserResource extends Resource {\n async delete(options?: any): Promise<any> {\n const request = new DeleteUserByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(\n requestBody: UpdateUserByAccountIdRequestBody,\n options?: any,\n ): Promise<UpdateUserByAccountIdResponseBody> {\n const request = new UpdateUserByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAccountAdvancedAssetsReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedAssetReportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedAssetReportByAccountIdResponseBody> {\n const request = new GetAdvancedAssetReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountAdvancedContactsReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedContactReportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedContactReportByAccountIdResponseBody> {\n const request = new GetAdvancedContactReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountAdvancedScansReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedScanReportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedScanReportByAccountIdResponseBody> {\n const request = new GetAdvancedScanReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountAssetsExportResources extends Resources {\n async get(\n queryStringParameters: GetAssetExportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetAssetExportByAccountIdResponseBody> {\n const request = new GetAssetExportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountAssetsResources extends Resources {\n async get(\n queryStringParameters: GetAssetsByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetAssetsByAccountIdResponseBody> {\n const request = new GetAssetsByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountBasicAssetsReportResources extends Resources {\n async get(options?: any): Promise<GetBasicAssetReportByAccountIdResponseBody> {\n const request = new GetBasicAssetReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkAccountBasicContactsReportResources extends Resources {\n async get(options?: any): Promise<GetBasicContactReportByAccountIdResponseBody> {\n const request = new GetBasicContactReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkAccountBasicScansReportResources extends Resources {\n async get(options?: any): Promise<GetBasicScanReportByAccountIdResponseBody> {\n const request = new GetBasicScanReportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkAccountContactsExportResources extends Resources {\n async get(\n queryStringParameters: GetContactExportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetContactExportByAccountIdResponseBody> {\n const request = new GetContactExportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountContactsResources extends Resources {\n async get(\n queryStringParameters: GetContactsByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetContactsByAccountIdResponseBody> {\n const request = new GetContactsByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountPricePlanResources extends Resources {\n async get(options?: any): Promise<GetPricePlanByAccountIdResponseBody> {\n const request = new GetPricePlanByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(\n requestBody: UpdatePricePlanByAccountIdRequestBody,\n options?: any,\n ): Promise<UpdatePricePlanByAccountIdResponseBody> {\n const request = new UpdatePricePlanByAccountIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAccountQrCodesResources extends Resources {\n async get(\n queryStringParameters: GetQrCodesByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetQrCodesByAccountIdResponseBody> {\n const request = new GetQrCodesByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountScansExportResources extends Resources {\n async get(\n queryStringParameters: GetScanExportByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetScanExportByAccountIdResponseBody> {\n const request = new GetScanExportByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountScansResources extends Resources {\n async get(\n queryStringParameters: GetScansByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetScansByAccountIdResponseBody> {\n const request = new GetScansByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountUsersResources extends Resources {\n async get(\n queryStringParameters: GetUsersByAccountIdQueryStringParameters,\n options?: any,\n ): Promise<GetUsersByAccountIdResponseBody> {\n const request = new GetUsersByAccountIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAccountResource extends Resource {\n apikeys(): SdkAccountApikeysResources {\n return new SdkAccountApikeysResources(this.getSession(), this.pathParameters)\n }\n\n invitations(): SdkAccountInvitationsResources {\n return new SdkAccountInvitationsResources(this.getSession(), this.pathParameters)\n }\n\n projects(): SdkAccountProjectsResources {\n return new SdkAccountProjectsResources(this.getSession(), this.pathParameters)\n }\n\n contactsBatch(): SdkAccountContactsBatchResources {\n return new SdkAccountContactsBatchResources(this.getSession(), this.pathParameters)\n }\n\n user(userId: string): SdkAccountUserResource {\n return new SdkAccountUserResource(this.getSession(), {...this.pathParameters, userId})\n }\n\n advancedAssetsReport(): SdkAccountAdvancedAssetsReportResources {\n return new SdkAccountAdvancedAssetsReportResources(this.getSession(), this.pathParameters)\n }\n\n advancedContactsReport(): SdkAccountAdvancedContactsReportResources {\n return new SdkAccountAdvancedContactsReportResources(this.getSession(), this.pathParameters)\n }\n\n advancedScansReport(): SdkAccountAdvancedScansReportResources {\n return new SdkAccountAdvancedScansReportResources(this.getSession(), this.pathParameters)\n }\n\n assetsExport(): SdkAccountAssetsExportResources {\n return new SdkAccountAssetsExportResources(this.getSession(), this.pathParameters)\n }\n\n assets(): SdkAccountAssetsResources {\n return new SdkAccountAssetsResources(this.getSession(), this.pathParameters)\n }\n\n basicAssetsReport(): SdkAccountBasicAssetsReportResources {\n return new SdkAccountBasicAssetsReportResources(this.getSession(), this.pathParameters)\n }\n\n basicContactsReport(): SdkAccountBasicContactsReportResources {\n return new SdkAccountBasicContactsReportResources(this.getSession(), this.pathParameters)\n }\n\n basicScansReport(): SdkAccountBasicScansReportResources {\n return new SdkAccountBasicScansReportResources(this.getSession(), this.pathParameters)\n }\n\n contactsExport(): SdkAccountContactsExportResources {\n return new SdkAccountContactsExportResources(this.getSession(), this.pathParameters)\n }\n\n contacts(): SdkAccountContactsResources {\n return new SdkAccountContactsResources(this.getSession(), this.pathParameters)\n }\n\n pricePlan(): SdkAccountPricePlanResources {\n return new SdkAccountPricePlanResources(this.getSession(), this.pathParameters)\n }\n\n qrCodes(): SdkAccountQrCodesResources {\n return new SdkAccountQrCodesResources(this.getSession(), this.pathParameters)\n }\n\n scansExport(): SdkAccountScansExportResources {\n return new SdkAccountScansExportResources(this.getSession(), this.pathParameters)\n }\n\n scans(): SdkAccountScansResources {\n return new SdkAccountScansResources(this.getSession(), this.pathParameters)\n }\n\n users(): SdkAccountUsersResources {\n return new SdkAccountUsersResources(this.getSession(), this.pathParameters)\n }\n\n async delete(options?: any): Promise<any> {\n const request = new DeleteAccountRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(options?: any): Promise<GetAccountResponseBody> {\n const request = new GetAccountRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(requestBody: UpdateAccountRequestBody, options?: any): Promise<UpdateAccountResponseBody> {\n const request = new UpdateAccountRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkInvitationUsersResources extends Resources {\n async create(options?: any): Promise<CreateUserByInvitationIdResponseBody> {\n const request = new CreateUserByInvitationIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkInvitationResource extends Resource {\n users(): SdkInvitationUsersResources {\n return new SdkInvitationUsersResources(this.getSession(), this.pathParameters)\n }\n\n async delete(options?: any): Promise<DeleteInvitationResponseBody> {\n const request = new DeleteInvitationRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(options?: any): Promise<GetInvitationResponseBody> {\n const request = new GetInvitationRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkApikeySecretResources extends Resources {\n async get(options?: any): Promise<GetApiKeySecretResponseBody> {\n const request = new GetApiKeySecretRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(options?: any): Promise<ResetApiKeySecretResponseBody> {\n const request = new ResetApiKeySecretRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkApikeyResource extends Resource {\n secret(): SdkApikeySecretResources {\n return new SdkApikeySecretResources(this.getSession(), this.pathParameters)\n }\n\n async get(options?: any): Promise<GetApiKeyResponseBody> {\n const request = new GetApiKeyRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(requestBody: UpdateApiKeyRequestBody, options?: any): Promise<UpdateApiKeyResponseBody> {\n const request = new UpdateApiKeyRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAssetContactsResources extends Resources {\n async create(\n requestBody: CreateContactByAssetIdRequestBody,\n options?: any,\n ): Promise<CreateContactByAssetIdResponseBody> {\n const request = new CreateContactByAssetIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetContactsByAssetIdQueryStringParameters,\n options?: any,\n ): Promise<GetContactsByAssetIdResponseBody> {\n const request = new GetContactsByAssetIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAssetQrCodesResources extends Resources {\n async create(\n requestBody: CreateQrCodeByAssetIdRequestBody,\n options?: any,\n ): Promise<CreateQrCodeByAssetIdResponseBody> {\n const request = new CreateQrCodeByAssetIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetQrCodesByAssetIdQueryStringParameters,\n options?: any,\n ): Promise<GetQrCodesByAssetIdResponseBody> {\n const request = new GetQrCodesByAssetIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAssetScansResources extends Resources {\n async get(\n queryStringParameters: GetScansByAssetIdQueryStringParameters,\n options?: any,\n ): Promise<GetScansByAssetIdResponseBody> {\n const request = new GetScansByAssetIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAssetContactResource extends Resource {\n async link(requestBody: LinkContactToAssetRequestBody, options?: any): Promise<LinkContactToAssetResponseBody> {\n const request = new LinkContactToAssetRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async unlink(options?: any): Promise<any> {\n const request = new UnlinkContactToAssetRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkAssetResource extends Resource {\n contacts(): SdkAssetContactsResources {\n return new SdkAssetContactsResources(this.getSession(), this.pathParameters)\n }\n\n qrCodes(): SdkAssetQrCodesResources {\n return new SdkAssetQrCodesResources(this.getSession(), this.pathParameters)\n }\n\n scans(): SdkAssetScansResources {\n return new SdkAssetScansResources(this.getSession(), this.pathParameters)\n }\n\n contact(contactId: string): SdkAssetContactResource {\n return new SdkAssetContactResource(this.getSession(), {...this.pathParameters, contactId})\n }\n\n async delete(options?: any): Promise<DeleteAssetResponseBody> {\n const request = new DeleteAssetRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(queryStringParameters: GetAssetQueryStringParameters, options?: any): Promise<GetAssetResponseBody> {\n const request = new GetAssetRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n\n async update(requestBody: UpdateAssetRequestBody, options?: any): Promise<UpdateAssetResponseBody> {\n const request = new UpdateAssetRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkBillingSessionResource extends Resource {\n async create(\n requestBody: CreateCustomerPortalSessionRequestBody,\n options?: any,\n ): Promise<CreateCustomerPortalSessionResponseBody> {\n const request = new CreateCustomerPortalSessionRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkContactResource extends Resource {\n async delete(options?: any): Promise<DeleteContactResponseBody> {\n const request = new DeleteContactRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(options?: any): Promise<GetContactResponseBody> {\n const request = new GetContactRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(requestBody: UpdateContactRequestBody, options?: any): Promise<UpdateContactResponseBody> {\n const request = new UpdateContactRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkOverviewAccountsResources extends Resources {\n async get(options?: any): Promise<GetAccountsOverviewResponseBody> {\n const request = new GetAccountsOverviewRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkOverviewActivityResources extends Resources {\n async get(options?: any): Promise<GetActivityOverviewResponseBody> {\n const request = new GetActivityOverviewRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkOverviewUsersResources extends Resources {\n async get(options?: any): Promise<GetUsersOverviewResponseBody> {\n const request = new GetUsersOverviewRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkPricePlansResources extends Resources {\n async get(options?: any): Promise<GetPricePlansResponseBody> {\n const request = new GetPricePlansRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkProjectAssetsResources extends Resources {\n async create(\n requestBody: CreateAssetByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateAssetByProjectIdResponseBody> {\n const request = new CreateAssetByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetAssetsByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetAssetsByProjectIdResponseBody> {\n const request = new GetAssetsByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectAssetsBatchResources extends Resources {\n async create(\n requestBody: CreateAssetsByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateAssetsByProjectIdResponseBody> {\n const request = new CreateAssetsByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkProjectContactsResources extends Resources {\n async create(\n requestBody: CreateContactByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateContactByProjectIdResponseBody> {\n const request = new CreateContactByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetContactsByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetContactsByProjectIdResponseBody> {\n const request = new GetContactsByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectContactsBatchResources extends Resources {\n async create(\n requestBody: CreateContactsByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateContactsByProjectIdResponseBody> {\n const request = new CreateContactsByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async delete(\n queryStringParameters: DeleteContactsByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<DeleteContactsByProjectIdResponseBody> {\n const request = new DeleteContactsByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectQrCodesResources extends Resources {\n async create(\n requestBody: CreateQrCodeByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateQrCodeByProjectIdResponseBody> {\n const request = new CreateQrCodeByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetQrCodesByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetQrCodesByProjectIdResponseBody> {\n const request = new GetQrCodesByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectSmsTemplatesResources extends Resources {\n async create(\n requestBody: CreateSmsTemplateByProjectIdRequestBody,\n options?: any,\n ): Promise<CreateSmsTemplateByProjectIdResponseBody> {\n const request = new CreateSmsTemplateByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetSmsTemplatesByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetSmsTemplatesByProjectIdResponseBody> {\n const request = new GetSmsTemplatesByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectSmsTemplateResource extends Resource {\n async delete(options?: any): Promise<DeleteSmsTemplateByProjectIdResponseBody> {\n const request = new DeleteSmsTemplateByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(options?: any): Promise<GetSmsTemplateByProjectIdResponseBody> {\n const request = new GetSmsTemplateByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(requestBody: UpdateSmsTemplateRequestBody, options?: any): Promise<UpdateSmsTemplateResponseBody> {\n const request = new UpdateSmsTemplateRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkProjectAdvancedAssetsReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedAssetReportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedAssetReportByProjectIdResponseBody> {\n const request = new GetAdvancedAssetReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectAdvancedContactsReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedContactReportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedContactReportByProjectIdResponseBody> {\n const request = new GetAdvancedContactReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectAdvancedScansReportResources extends Resources {\n async get(\n queryStringParameters: GetAdvancedScanReportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetAdvancedScanReportByProjectIdResponseBody> {\n const request = new GetAdvancedScanReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectAssetsExportResources extends Resources {\n async get(\n queryStringParameters: GetAssetExportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetAssetExportByProjectIdResponseBody> {\n const request = new GetAssetExportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectBasicAssetsReportResources extends Resources {\n async get(options?: any): Promise<GetBasicAssetReportByProjectIdResponseBody> {\n const request = new GetBasicAssetReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkProjectBasicContactsReportResources extends Resources {\n async get(options?: any): Promise<GetBasicContactReportByProjectIdResponseBody> {\n const request = new GetBasicContactReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkProjectBasicScansReportResources extends Resources {\n async get(options?: any): Promise<GetBasicScanReportByProjectIdResponseBody> {\n const request = new GetBasicScanReportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkProjectContactsExportResources extends Resources {\n async get(\n queryStringParameters: GetContactExportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetContactExportByProjectIdResponseBody> {\n const request = new GetContactExportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectScansExportResources extends Resources {\n async get(\n queryStringParameters: GetScanExportByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetScanExportByProjectIdResponseBody> {\n const request = new GetScanExportByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectScansResources extends Resources {\n async get(\n queryStringParameters: GetScansByProjectIdQueryStringParameters,\n options?: any,\n ): Promise<GetScansByProjectIdResponseBody> {\n const request = new GetScansByProjectIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkProjectResource extends Resource {\n assets(): SdkProjectAssetsResources {\n return new SdkProjectAssetsResources(this.getSession(), this.pathParameters)\n }\n\n assetsBatch(): SdkProjectAssetsBatchResources {\n return new SdkProjectAssetsBatchResources(this.getSession(), this.pathParameters)\n }\n\n contacts(): SdkProjectContactsResources {\n return new SdkProjectContactsResources(this.getSession(), this.pathParameters)\n }\n\n contactsBatch(): SdkProjectContactsBatchResources {\n return new SdkProjectContactsBatchResources(this.getSession(), this.pathParameters)\n }\n\n qrCodes(): SdkProjectQrCodesResources {\n return new SdkProjectQrCodesResources(this.getSession(), this.pathParameters)\n }\n\n smsTemplates(): SdkProjectSmsTemplatesResources {\n return new SdkProjectSmsTemplatesResources(this.getSession(), this.pathParameters)\n }\n\n smsTemplate(smsTemplateName: string): SdkProjectSmsTemplateResource {\n return new SdkProjectSmsTemplateResource(this.getSession(), {...this.pathParameters, smsTemplateName})\n }\n\n advancedAssetsReport(): SdkProjectAdvancedAssetsReportResources {\n return new SdkProjectAdvancedAssetsReportResources(this.getSession(), this.pathParameters)\n }\n\n advancedContactsReport(): SdkProjectAdvancedContactsReportResources {\n return new SdkProjectAdvancedContactsReportResources(this.getSession(), this.pathParameters)\n }\n\n advancedScansReport(): SdkProjectAdvancedScansReportResources {\n return new SdkProjectAdvancedScansReportResources(this.getSession(), this.pathParameters)\n }\n\n assetsExport(): SdkProjectAssetsExportResources {\n return new SdkProjectAssetsExportResources(this.getSession(), this.pathParameters)\n }\n\n basicAssetsReport(): SdkProjectBasicAssetsReportResources {\n return new SdkProjectBasicAssetsReportResources(this.getSession(), this.pathParameters)\n }\n\n basicContactsReport(): SdkProjectBasicContactsReportResources {\n return new SdkProjectBasicContactsReportResources(this.getSession(), this.pathParameters)\n }\n\n basicScansReport(): SdkProjectBasicScansReportResources {\n return new SdkProjectBasicScansReportResources(this.getSession(), this.pathParameters)\n }\n\n contactsExport(): SdkProjectContactsExportResources {\n return new SdkProjectContactsExportResources(this.getSession(), this.pathParameters)\n }\n\n scansExport(): SdkProjectScansExportResources {\n return new SdkProjectScansExportResources(this.getSession(), this.pathParameters)\n }\n\n scans(): SdkProjectScansResources {\n return new SdkProjectScansResources(this.getSession(), this.pathParameters)\n }\n\n async delete(options?: any): Promise<DeleteProjectResponseBody> {\n const request = new DeleteProjectRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(options?: any): Promise<GetProjectByProjectIdResponseBody> {\n const request = new GetProjectByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(\n requestBody: UpdateProjectByProjectIdRequestBody,\n options?: any,\n ): Promise<UpdateProjectByProjectIdResponseBody> {\n const request = new UpdateProjectByProjectIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkQrCodeResource extends Resource {\n async delete(options?: any): Promise<DeleteQrCodeResponseBody> {\n const request = new DeleteQrCodeRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async get(queryStringParameters: GetQrCodeQueryStringParameters, options?: any): Promise<GetQrCodeResponseBody> {\n const request = new GetQrCodeRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n\n async update(requestBody: UpdateQrCodeRequestBody, options?: any): Promise<UpdateQrCodeResponseBody> {\n const request = new UpdateQrCodeRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkScanContactsResources extends Resources {\n async create(\n requestBody: CreateContactByScanIdRequestBody,\n options?: any,\n ): Promise<CreateContactByScanIdResponseBody> {\n const request = new CreateContactByScanIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkScanSmsResources extends Resources {\n async send(requestBody: SendSmsByScanIdRequestBody, options?: any): Promise<SendSmsByScanIdResponseBody> {\n const request = new SendSmsByScanIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkScanResource extends Resource {\n contacts(): SdkScanContactsResources {\n return new SdkScanContactsResources(this.getSession(), this.pathParameters)\n }\n\n sms(): SdkScanSmsResources {\n return new SdkScanSmsResources(this.getSession(), this.pathParameters)\n }\n\n async get(options?: any): Promise<GetScanResponseBody> {\n const request = new GetScanRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkSearchAccountResource extends Resource {\n async get(options?: any): Promise<GetAccountDetailsResponseBody> {\n const request = new GetAccountDetailsRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkSearchUserResource extends Resource {\n async get(options?: any): Promise<GetUserDetailsResponseBody> {\n const request = new GetUserDetailsRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkSearchAccountsResources extends Resources {\n async get(\n queryStringParameters: SearchAccountsQueryStringParameters,\n options?: any,\n ): Promise<SearchAccountsResponseBody> {\n const request = new SearchAccountsRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkUserAccountsResources extends Resources {\n async create(\n requestBody: CreateAccountByUserIdRequestBody,\n options?: any,\n ): Promise<CreateAccountByUserIdResponseBody> {\n const request = new CreateAccountByUserIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n\n async get(\n queryStringParameters: GetAccountsByUserIdQueryStringParameters,\n options?: any,\n ): Promise<GetAccountsByUserIdResponseBody> {\n const request = new GetAccountsByUserIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkUserErrorsResources extends Resources {\n async get(\n queryStringParameters: GetErrorsByUserIdQueryStringParameters,\n options?: any,\n ): Promise<GetErrorsByUserIdResponseBody> {\n const request = new GetErrorsByUserIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkUserInvitationsResources extends Resources {\n async get(\n queryStringParameters: GetInvitationsByUserIdQueryStringParameters,\n options?: any,\n ): Promise<GetInvitationsByUserIdResponseBody> {\n const request = new GetInvitationsByUserIdRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkUserPathSettingsResources extends Resources {\n async get(options?: any): Promise<GetUserSettingsByUserIdResponseBody> {\n const request = new GetUserSettingsByUserIdRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(\n requestBody: SetUserSettingsByUserIdRequestBody,\n options?: any,\n ): Promise<SetUserSettingsByUserIdResponseBody> {\n const request = new SetUserSettingsByUserIdRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkUserPathResource extends Resource {\n settings(): SdkUserPathSettingsResources {\n return new SdkUserPathSettingsResources(this.getSession(), this.pathParameters)\n }\n}\n\nexport class SdkUserResource extends Resource {\n accounts(): SdkUserAccountsResources {\n return new SdkUserAccountsResources(this.getSession(), this.pathParameters)\n }\n\n errors(): SdkUserErrorsResources {\n return new SdkUserErrorsResources(this.getSession(), this.pathParameters)\n }\n\n invitations(): SdkUserInvitationsResources {\n return new SdkUserInvitationsResources(this.getSession(), this.pathParameters)\n }\n\n path(path: string): SdkUserPathResource {\n return new SdkUserPathResource(this.getSession(), {...this.pathParameters, path})\n }\n\n async get(options?: any): Promise<GetUserResponseBody> {\n const request = new GetUserRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async update(requestBody: UpdateUserRequestBody, options?: any): Promise<UpdateUserResponseBody> {\n const request = new UpdateUserRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkWebhookSmsResources extends Resources {\n async create(options?: any): Promise<any> {\n const request = new CreateSmsResponseRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkWebhookSmsStatusResources extends Resources {\n async create(options?: any): Promise<any> {\n const request = new SmsStatusUpdateRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkPasswordAuthUserResources extends Resources {\n async create(\n requestBody: ChangePasswordRequestBody,\n options?: any,\n ): Promise<GetSessionRefreshUserSessionResponseBody> {\n const request = new ChangePasswordRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAuthConfirmResources extends Resources {\n async get(queryStringParameters: ConfirmQueryStringParameters, options?: any): Promise<any> {\n const request = new ConfirmRequest(this.session)\n return request.go(this.pathParameters, queryStringParameters, options)\n }\n}\n\nexport class SdkAuthUserResources extends Resources {\n async create(requestBody: CreateUserRequestBody, options?: any): Promise<any> {\n const request = new CreateUserRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkAuthSessionResources extends Resources {\n async delete(options?: any): Promise<GetSessionRefreshUserSessionResponseBody> {\n const request = new DeleteSessionRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n\n async create(requestBody: GetSessionRequestBody, options?: any): Promise<GetSessionRefreshUserSessionResponseBody> {\n const request = new GetSessionRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkRefreshAuthSessionResources extends Resources {\n async create(options?: any): Promise<GetSessionRefreshUserSessionResponseBody> {\n const request = new GetSessionRefreshRequest(this.session)\n return request.go(this.pathParameters, undefined, options)\n }\n}\n\nexport class SdkConfirmationAuthUserResources extends Resources {\n async resend(requestBody: ResendConfirmationRequestBody, options?: any): Promise<any> {\n const request = new ResendConfirmationRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkResetAuthUserResources extends Resources {\n async reset(requestBody: ResetPasswordRequestBody, options?: any): Promise<any> {\n const request = new ResetPasswordRequest(this.session)\n return request.go(this.pathParameters, undefined, requestBody, options)\n }\n}\n\nexport class SdkResources extends Resources {\n account(accountId: string): SdkAccountResource {\n return new SdkAccountResource(this.getSession(), {...this.pathParameters, accountId})\n }\n\n invitation(invitationId: string): SdkInvitationResource {\n return new SdkInvitationResource(this.getSession(), {...this.pathParameters, invitationId})\n }\n\n apikey(apiKeyId: string): SdkApikeyResource {\n return new SdkApikeyResource(this.getSession(), {...this.pathParameters, apiKeyId})\n }\n\n asset(assetId: string): SdkAssetResource {\n return new SdkAssetResource(this.getSession(), {...this.pathParameters, assetId})\n }\n\n billingSession(accountId: string): SdkBillingSessionResource {\n return new SdkBillingSessionResource(this.getSession(), {...this.pathParameters, accountId})\n }\n\n contact(contactId: string): SdkContactResource {\n return new SdkContactResource(this.getSession(), {...this.pathParameters, contactId})\n }\n\n overviewAccounts(): SdkOverviewAccountsResources {\n return new SdkOverviewAccountsResources(this.getSession(), this.pathParameters)\n }\n\n overviewActivity(): SdkOverviewActivityResources {\n return new SdkOverviewActivityResources(this.getSession(), this.pathParameters)\n }\n\n overviewUsers(): SdkOverviewUsersResources {\n return new SdkOverviewUsersResources(this.getSession(), this.pathParameters)\n }\n\n pricePlans(): SdkPricePlansResources {\n return new SdkPricePlansResources(this.getSession(), this.pathParameters)\n }\n\n project(projectId: string): SdkProjectResource {\n return new SdkProjectResource(this.getSession(), {...this.pathParameters, projectId})\n }\n\n qrCode(qrCodeId: string): SdkQrCodeResource {\n return new SdkQrCodeResource(this.getSession(), {...this.pathParameters, qrCodeId})\n }\n\n scan(scanId: string): SdkScanResource {\n return new SdkScanResource(this.getSession(), {...this.pathParameters, scanId})\n }\n\n searchAccount(accountId: string): SdkSearchAccountResource {\n return new SdkSearchAccountResource(this.getSession(), {...this.pathParameters, accountId})\n }\n\n searchUser(userId: string): SdkSearchUserResource {\n return new SdkSearchUserResource(this.getSession(), {...this.pathParameters, userId})\n }\n\n searchAccounts(): SdkSearchAccountsResources {\n return new SdkSearchAccountsResources(this.getSession(), this.pathParameters)\n }\n\n user(userId: string): SdkUserResource {\n return new SdkUserResource(this.getSession(), {...this.pathParameters, userId})\n }\n\n webhookSms(): SdkWebhookSmsResources {\n return new SdkWebhookSmsResources(this.getSession(), this.pathParameters)\n }\n\n webhookSmsStatus(): SdkWebhookSmsStatusResources {\n return new SdkWebhookSmsStatusResources(this.getSession(), this.pathParameters)\n }\n\n passwordAuthUser(): SdkPasswordAuthUserResources {\n return new SdkPasswordAuthUserResources(this.getSession(), this.pathParameters)\n }\n\n authConfirm(): SdkAuthConfirmResources {\n return new SdkAuthConfirmResources(this.getSession(), this.pathParameters)\n }\n\n authUser(): SdkAuthUserResources {\n return new SdkAuthUserResources(this.getSession(), this.pathParameters)\n }\n\n authSession(): SdkAuthSessionResources {\n return new SdkAuthSessionResources(this.getSession(), this.pathParameters)\n }\n\n refreshAuthSession(): SdkRefreshAuthSessionResources {\n return new SdkRefreshAuthSessionResources(this.getSession(), this.pathParameters)\n }\n\n confirmationAuthUser(): SdkConfirmationAuthUserResources {\n return new SdkConfirmationAuthUserResources(this.getSession(), this.pathParameters)\n }\n\n resetAuthUser(): SdkResetAuthUserResources {\n return new SdkResetAuthUserResources(this.getSession(), this.pathParameters)\n }\n}\n","import axios, {AxiosInstance} from 'axios'\nimport {SdkResources} from './sdk'\nimport {ICloudConfig} from './cloud-config'\nimport {IConfig} from './config'\nimport {IOpenscreenSession} from './openscreen-session'\nimport {OpenscreenUser, SignUpUser} from './user'\n\nconst ProdConfigurationPath = 'internal-JG0adajZUHU'\n\nasync function getCloudConfig(pathToConfig: string): Promise<ICloudConfig> {\n const thisAxios = axios.create({\n baseURL: 'https://config.openscreen.com',\n timeout: 25000,\n responseType: 'json',\n maxContentLength: 10 * 1024,\n maxBodyLength: 10 * 1024,\n maxRedirects: 1,\n decompress: true,\n })\n const response = await thisAxios.get(`${pathToConfig}.json`).catch((err: {message: any}) => {\n throw new Error(`Openscreen: unable to load cloud configuration '${pathToConfig}': ${err.message}`)\n })\n const {data} = response\n return data as ICloudConfig\n}\n\nclass NullSession implements IOpenscreenSession {\n public debugConfig = false\n public debugAuth = false\n public debugRequest = false\n public debugResponse = false\n public debugError = false\n public debugQuery = false\n public debugOptions = false\n public exp = 0\n getConfig(): IConfig {\n throw Error('no session')\n }\n\n getCloudConfig(): Promise<ICloudConfig> {\n throw Error('no session')\n }\n\n getAxios(): Promise<AxiosInstance> {\n throw Error('no session')\n }\n\n authorize(): Promise<void> {\n throw Error('no session')\n }\n\n getUser(): OpenscreenUser {\n throw Error('no session')\n }\n\n getSignedInUser(): Promise<OpenscreenUser | undefined> {\n throw Error('no session')\n }\n\n signUpUser(): Promise<boolean> {\n throw Error('no session')\n }\n\n changePassword(): Promise<boolean> {\n throw Error('no session')\n }\n\n signOut(): Promise<void> {\n throw Error('no session')\n }\n}\n\nexport class Openscreen extends SdkResources implements IOpenscreenSession {\n protected _config?: IConfig\n protected cloudConfigName?: string\n protected cloudConfig?: Promise<ICloudConfig>\n protected axios?: AxiosInstance\n public debugConfig: boolean = false\n public debugAuth: boolean = false\n public debugRequest: boolean = false\n public debugResponse: boolean = false\n public debugError: boolean = false\n public debugQuery: boolean = false\n public debugOptions: boolean = false\n public exp: number\n protected _user: OpenscreenUser\n\n constructor() {\n super(new NullSession(), {})\n this.exp = 0\n let {OS_DEBUG} = process.env\n if (OS_DEBUG) {\n console.log(`OS_DEBUG=${OS_DEBUG}`)\n OS_DEBUG = OS_DEBUG.toLowerCase()\n let debug\n switch (OS_DEBUG) {\n case 'all':\n this.debugConfig = true\n this.debugAuth = true\n this.debugRequest = true\n this.debugResponse = true\n this.debugError = true\n this.debugQuery = true\n this.debugOptions = true\n break\n case 'none':\n case 'off':\n case 'false':\n case '':\n this.debugConfig = false\n this.debugAuth = false\n this.debugRequest = false\n this.debugResponse = false\n this.debugError = false\n this.debugQuery = false\n this.debugOptions = false\n break\n default:\n debug = OS_DEBUG.split(',')\n this.debugConfig = debug.includes('config')\n this.debugAuth = debug.includes('auth')\n this.debugRequest = debug.includes('request')\n this.debugResponse = debug.includes('response')\n this.debugError = debug.includes('error')\n this.debugQuery = debug.includes('query')\n this.debugOptions = debug.includes('options')\n if (\n !(\n this.debugConfig ||\n this.debugAuth ||\n this.debugRequest ||\n this.debugResponse ||\n this.debugError ||\n this.debugQuery ||\n this.debugOptions\n )\n ) {\n console.warn(`Openscreen: OS_DEBUG environment var has invalid value: '${process.env.OS_DEBUG}'`)\n }\n break\n }\n }\n }\n\n getSession() {\n return this\n }\n\n config(config: IConfig): Openscreen {\n if (this._config) {\n throw Error('Openscreen: client is already configured')\n }\n if (config.key) {\n if (!config.secret) {\n throw Error('Openscreen: invalid config, secret is missing')\n }\n } else {\n throw Error('Openscreen: invalid config, provide API key and secret, or email and password')\n }\n if (typeof config.environment === 'string') {\n this.cloudConfigName = config.environment\n } else if (typeof config.environment === 'object') {\n this.cloudConfig = Promise.resolve(config.environment)\n } else {\n this.cloudConfigName = ProdConfigurationPath\n }\n // eslint-disable-next-line no-param-reassign\n this._config = config\n return this\n }\n\n getConfig(): IConfig {\n if (!this._config) {\n throw Error('Openscreen: client must be configured before accessing resources')\n }\n return this._config\n }\n\n async getSignedInUser(environment?: string): Promise<OpenscreenUser | undefined> {\n // sends a request to refresh your current token, returns only if refresh token is valid\n if (environment) this.cloudConfigName = environment\n else this.cloudConfigName = ProdConfigurationPath\n const cloudConfig = await this.getCloudConfig()\n if (this.debugAuth) console.info(`Openscreen AUTH: refreshing using axios cookie`)\n await this.getAxios()\n const res = await this.axios!.post(`${cloudConfig.endpoint}/auth/session/refresh`)\n if (res.status === 403 || res.status === 500) {\n throw Error('Openscreen AUTH: User is not signed in')\n }\n if (res.status === 200) {\n const {expires, user} = res.data\n this._user = user\n if (this.debugAuth) console.info(`Openscreen AUTH: authorized '${user.userId}' until expiry=${expires}`)\n this.exp = expires\n return user\n }\n return\n }\n\n async signUpUser(signUpDetails: SignUpUser, environment?: string): Promise<boolean> {\n // sends a request to refresh your current token, returns only if refresh token is valid\n if (environment) this.cloudConfigName = environment\n else this.cloudConfigName = ProdConfigurationPath\n const cloudConfig = await this.getCloudConfig()\n if (this.debugAuth) console.info(`Openscreen AUTH: signing up User`)\n await this.getAxios()\n const res = await this.axios!.post(`${cloudConfig.endpoint}/auth/user`, signUpDetails)\n if (res.status === 403 || res.status === 500) {\n throw Error('Openscreen AUTH: User Sign Up failed')\n }\n if (res.status === 200 || res.status === 204) {\n if (this.debugAuth) console.info(`Openscreen AUTH: Signed up user`)\n return true\n }\n return false\n }\n\n async authorize(): Promise<void> {\n const cloudConfig = await this.getCloudConfig()\n\n if (this.exp > new Date().getTime()) {\n return\n } else if (this.exp !== 0) {\n //means token expired and session is not brand new\n if (this.debugAuth) console.info(`Openscreen AUTH: refreshing using axios cookie`)\n await this.getAxios()\n const res = await this.axios!.post(`${cloudConfig.endpoint}/auth/session/refresh`)\n if (res.status === 403 || res.status === 500) {\n throw Error('Openscreen AUTH: Refreshing failed, exiting')\n }\n if (res.status === 200) {\n const {expires, user} = res.data\n this._user = user\n if (this.debugAuth) console.info(`Openscreen AUTH: authorized '${user.userId}' until expiry=${expires}`)\n this.exp = expires\n return\n }\n }\n // if code reaches here that means the exp == 0 and its a brand new session so we gotta login\n const config = this.getConfig()\n\n if (this.debugConfig) {\n const c = {...config}\n if (c.secret) c.secret = '*'.repeat(c.secret.length)\n console.debug(`Openscreen CONFIG: ${JSON.stringify(c, null, 2)}`)\n }\n if (this.debugConfig) {\n console.debug(`Openscreen CONFIG: (environment) ${JSON.stringify(cloudConfig, null, 2)}`)\n }\n let key\n let secret\n key = config.key!\n secret = config.secret!\n\n if (this.debugAuth) console.info(`Openscreen AUTH: authorizing '${key}'`)\n await this.getAxios()\n const res = await this.axios!.post(`${cloudConfig.endpoint}/auth/session`, {\n email: key,\n password: secret,\n })\n if (res.status === 403 || res.status === 500) {\n throw Error('Openscreen AUTH: authentication failed')\n }\n if (res.status === 200) {\n const {expires, user} = res.data\n this._user = user\n if (this.debugAuth) console.info(`Openscreen AUTH: authorized '${key}' until expiry=${expires}`)\n this.exp = expires\n }\n }\n\n getUser(): OpenscreenUser {\n return this._user\n }\n\n async getCloudConfig(): Promise<ICloudConfig> {\n if (!this.cloudConfig) {\n if (!this.cloudConfigName) {\n throw Error('Openscreen: environment name missing')\n }\n this.cloudConfig = getCloudConfig(this.cloudConfigName)\n }\n return this.cloudConfig\n }\n\n async getAxios(): Promise<AxiosInstance> {\n if (this.axios) return this.axios\n const cloudConfig = await this.getCloudConfig()\n const config = cloudConfig.axios || {\n timeout: 25000,\n responseType: 'json',\n maxContentLength: 1024 * 1024,\n maxBodyLength: 1024 * 1024,\n maxRedirects: 1,\n decompress: true,\n }\n this.axios = axios.create(config)\n return axios!\n }\n\n async changePassword(oldPassword: string, newPassword: string): Promise<boolean> {\n const cloudConfig = await this.getCloudConfig()\n await this.getAxios()\n const res = await this.axios!.post(`${cloudConfig.endpoint}/auth/user/password`, {\n password: oldPassword,\n newPassword,\n })\n if (res.status === 200) {\n return true\n } else {\n if (this.debugAuth) console.log('password change failed for the current user, got the error', res.data)\n throw new Error('Failed to change password')\n }\n }\n\n async signOut() {\n const cloudConfig = await this.getCloudConfig()\n await this.getAxios()\n const res = await this.axios!.delete(`${cloudConfig.endpoint}/auth/session`)\n if (res.status === 200) return\n if (this.debugAuth) console.log('Sign out failed, response body is ', res.data)\n throw new Error('Failed to sign out')\n }\n}\n"],"names":["Request","constructor","session","routeSegments","this","async","pathParameters","urlParts","getCloudConfig","endpoint","replace","forEach","segment","push","routePart","parm","value","Error","join","debugRequest","method","url","queryParameters","body","options","console","debug","toUpperCase","JSON","stringify","debugQuery","debugOptions","debugResponse","response","data","handleAndDebugErr","err","debugError","error","_unused","RequestDelete","makeUri","authorize","getAxios","delete","_extends","params","RequestGet","get","RequestPatch","axios","patch","RequestPost","post","Resources","self","getSession","Resource","id","AccountStatus","AccountUserRole","AuthMessageId","AuthTokenScope","PricePlanName","PricePlanPaymentPeriod","QrCodeCornerDotTypes","QrCodeCornerSquareTypes","QrCodeDotTypes","QrCodeDynamicRedirectType","QrCodeErrorCorrectionLevel","QrCodeGradientTypes","QrCodeIntentType","QrCodeLocatorKeyType","QrCodeStatus","UserCredentialsStatus","UserGroups","UserSettingsDomain","PricePlanReporting","ProjectStatus","QrCodeType","CreateApiKeyByAccountIdRequest","sdkPartName","CreateInvitationByAccountIdRequest","args","super","CreateProjectByAccountIdRequest","CreateUserByInvitationIdRequest","DeleteAccountRequest","DeleteContactsByAccountIdRequest","DeleteInvitationRequest","GetAccountRequest","GetAdvancedAssetReportByAccountIdRequest","GetAdvancedContactReportByAccountIdRequest","GetAdvancedScanReportByAccountIdRequest","GetApiKeysByAccountIdRequest","GetAssetsByAccountIdRequest","GetBasicAssetReportByAccountIdRequest","GetBasicContactReportByAccountIdRequest","GetBasicScanReportByAccountIdRequest","GetContactExportByAccountIdRequest","GetContactsByAccountIdRequest","GetInvitationRequest","GetPricePlanByAccountIdRequest","GetProjectsByAccountIdRequest","GetQrCodesByAccountIdRequest","GetScanExportByAccountIdRequest","GetScansByAccountIdRequest","UpdateAccountRequest","UpdatePricePlanByAccountIdRequest","UpdateUserByAccountIdRequest","GetApiKeyRequest","GetApiKeySecretRequest","ResetApiKeySecretRequest","UpdateApiKeyRequest","CreateContactByAssetIdRequest","CreateQrCodeByAssetIdRequest","DeleteAssetRequest","GetAssetRequest","GetContactsByAssetIdRequest","GetScansByAssetIdRequest","LinkContactToAssetRequest","UnlinkContactToAssetRequest","CreateCustomerPortalSessionRequest","DeleteContactRequest","UpdateContactRequest","GetAccountsOverviewRequest","GetActivityOverviewRequest","GetUsersOverviewRequest","CreateAssetByProjectIdRequest","CreateContactByProjectIdRequest","CreateContactsByProjectIdRequest","CreateQrCodeByProjectIdRequest","CreateSmsTemplateByProjectIdRequest","DeleteContactsByProjectIdRequest","DeleteProjectRequest","DeleteSmsTemplateByProjectIdRequest","GetAdvancedAssetReportByProjectIdRequest","GetAdvancedContactReportByProjectIdRequest","GetAdvancedScanReportByProjectIdRequest","GetAssetExportByProjectIdRequest","GetAssetsByProjectIdRequest","GetBasicAssetReportByProjectIdRequest","GetBasicContactReportByProjectIdRequest","GetContactExportByProjectIdRequest","GetContactsByProjectIdRequest","GetProjectByProjectIdRequest","GetScanExportByProjectIdRequest","GetScansByProjectIdRequest","GetSmsTemplateByProjectIdRequest","GetSmsTemplatesByProjectIdRequest","UpdateProjectByProjectIdRequest","DeleteQrCodeRequest","GetQrCodeRequest","UpdateQrCodeRequest","CreateContactByScanIdRequest","SendSmsByScanIdRequest","GetAccountDetailsRequest","GetUserDetailsRequest","SearchAccountsRequest","GetAccountsByUserIdRequest","GetErrorsByUserIdRequest","GetInvitationsByUserIdRequest","GetUserRequest","GetUserSettingsByUserIdRequest","SetUserSettingsByUserIdRequest","UpdateUserRequest","CreateSmsResponseRequest","SmsStatusUpdateRequest","ChangePasswordRequest","ConfirmRequest","DeleteSessionRequest","GetSessionRequest","GetSessionRefreshRequest","ResendConfirmationRequest","ResetPasswordRequest","SdkAccountApikeysResources","requestBody","go","undefined","queryStringParameters","SdkAccountInvitationsResources","SdkAccountProjectsResources","SdkAccountContactsBatchResources","SdkAccountUserResource","DeleteUserByAccountIdRequest","SdkAccountAdvancedAssetsReportResources","SdkAccountAdvancedContactsReportResources","SdkAccountAdvancedScansReportResources","GetAssetExportByAccountIdRequest","SdkAccountAssetsResources","SdkAccountBasicAssetsReportResources","SdkAccountBasicContactsReportResources","SdkAccountBasicScansReportResources","SdkAccountContactsExportResources","SdkAccountContactsResources","SdkAccountPricePlanResources","SdkAccountQrCodesResources","SdkAccountScansExportResources","SdkAccountUsersResources","SdkAccountResource","apikeys","invitations","projects","contactsBatch","user","userId","advancedAssetsReport","advancedContactsReport","advancedScansReport","assetsExport","SdkAccountAssetsExportResources","assets","basicAssetsReport","basicContactsReport","basicScansReport","contactsExport","contacts","pricePlan","qrCodes","scansExport","scans","SdkAccountScansResources","users","SdkInvitationUsersResources","SdkInvitationResource","SdkApikeyResource","secret","SdkApikeySecretResources","SdkAssetContactsResources","SdkAssetQrCodesResources","GetQrCodesByAssetIdRequest","SdkAssetScansResources","SdkAssetContactResource","SdkAssetResource","contact","contactId","UpdateAssetRequest","SdkBillingSessionResource","SdkContactResource","GetContactRequest","SdkOverviewAccountsResources","SdkOverviewActivityResources","SdkOverviewUsersResources","SdkPricePlansResources","GetPricePlansRequest","SdkProjectAssetsResources","SdkProjectAssetsBatchResources","CreateAssetsByProjectIdRequest","SdkProjectContactsResources","SdkProjectQrCodesResources","GetQrCodesByProjectIdRequest","SdkProjectSmsTemplatesResources","SdkProjectSmsTemplateResource","UpdateSmsTemplateRequest","SdkProjectAdvancedAssetsReportResources","SdkProjectAdvancedContactsReportResources","SdkProjectAssetsExportResources","SdkProjectBasicAssetsReportResources","SdkProjectBasicContactsReportResources","SdkProjectBasicScansReportResources","SdkProjectContactsExportResources","SdkProjectScansExportResources","SdkProjectScansResources","SdkProjectResource","assetsBatch","SdkProjectContactsBatchResources","smsTemplates","smsTemplate","smsTemplateName","SdkProjectAdvancedScansReportResources","SdkQrCodeResource","SdkScanContactsResources","SdkScanSmsResources","SdkScanResource","sms","GetScanRequest","SdkSearchAccountResource","SdkSearchUserResource","SdkSearchAccountsResources","SdkUserAccountsResources","CreateAccountByUserIdRequest","SdkUserErrorsResources","SdkUserInvitationsResources","SdkUserPathSettingsResources","SdkUserPathResource","settings","SdkUserResource","accounts","errors","path","SdkWebhookSmsResources","SdkWebhookSmsStatusResources","SdkPasswordAuthUserResources","SdkAuthUserResources","SdkAuthSessionResources","SdkRefreshAuthSessionResources","SdkConfirmationAuthUserResources","SdkResetAuthUserResources","SdkResources","account","accountId","invitation","invitationId","apikey","apiKeyId","asset","assetId","billingSession","overviewAccounts","overviewActivity","overviewUsers","pricePlans","project","projectId","qrCode","qrCodeId","scan","scanId","searchAccount","searchUser","searchAccounts","webhookSms","webhookSmsStatus","passwordAuthUser","authConfirm","SdkAuthConfirmResources","authUser","authSession","refreshAuthSession","confirmationAuthUser","resetAuthUser","NullSession","debugConfig","debugAuth","exp","getConfig","getUser","getSignedInUser","signUpUser","changePassword","signOut","Openscreen","_config","cloudConfigName","cloudConfig","_user","OS_DEBUG","process","env","log","toLowerCase","split","includes","warn","config","key","environment","Promise","resolve","info","res","status","expires","signUpDetails","Date","getTime","_res","c","repeat","length","email","password","pathToConfig","thisAxios","create","baseURL","timeout","responseType","maxContentLength","maxBodyLength","maxRedirects","decompress","catch","message","oldPassword","newPassword"],"mappings":"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"}
|