export type ClientOptions = { baseUrl: 'https://iot.enerlab.io' | (string & {}); }; /** * A JSON value representing the custom translation. See API call notes above for valid example. */ export type JsonNode = unknown; export type LoginRequest = { /** * User email */ username: string; /** * User password */ password: string; }; export type LoginResponse = { /** * JWT token */ token: string; /** * Refresh token */ refreshToken: string; }; export type ThingsboardErrorResponse = { /** * HTTP Response Status Code */ readonly status?: number; /** * Error message */ readonly message?: string; /** * Platform error code: * * `2` - General error (HTTP: 500 - Internal Server Error) * * * `10` - Authentication failed (HTTP: 401 - Unauthorized) * * * `11` - JWT token expired (HTTP: 401 - Unauthorized) * * * `15` - Credentials expired (HTTP: 401 - Unauthorized) * * * `20` - Permission denied (HTTP: 403 - Forbidden) * * * `30` - Invalid arguments (HTTP: 400 - Bad Request) * * * `31` - Bad request params (HTTP: 400 - Bad Request) * * * `32` - Item not found (HTTP: 404 - Not Found) * * * `33` - Too many requests (HTTP: 429 - Too Many Requests) * * * `34` - Too many updates (Too many updates over Websocket session) * * * `40` - Subscription violation (HTTP: 403 - Forbidden) * * * `41` - Entities limit exceeded (HTTP: 403 - Forbidden) */ readonly errorCode?: number; /** * Timestamp */ readonly timestamp?: number; subscriptionErrorCode?: 'LIMIT_REACHED' | 'FEATURE_DISABLED' | 'UNSUPPORTED_SOLUTION_TEMPLATE_PLAN'; subscriptionEntry?: 'DEVICE_COUNT' | 'ASSET_COUNT' | 'EDGE_COUNT' | 'WHITE_LABELING'; subscriptionValue?: JsonNode; }; export type ThingsboardCredentialsExpiredResponse = { /** * HTTP Response Status Code */ readonly status?: number; /** * Error message */ readonly message?: string; /** * Platform error code: * * `2` - General error (HTTP: 500 - Internal Server Error) * * * `10` - Authentication failed (HTTP: 401 - Unauthorized) * * * `11` - JWT token expired (HTTP: 401 - Unauthorized) * * * `15` - Credentials expired (HTTP: 401 - Unauthorized) * * * `20` - Permission denied (HTTP: 403 - Forbidden) * * * `30` - Invalid arguments (HTTP: 400 - Bad Request) * * * `31` - Bad request params (HTTP: 400 - Bad Request) * * * `32` - Item not found (HTTP: 404 - Not Found) * * * `33` - Too many requests (HTTP: 429 - Too Many Requests) * * * `34` - Too many updates (Too many updates over Websocket session) * * * `40` - Subscription violation (HTTP: 403 - Forbidden) * * * `41` - Entities limit exceeded (HTTP: 403 - Forbidden) */ readonly errorCode?: number; /** * Timestamp */ readonly timestamp?: number; subscriptionErrorCode?: 'LIMIT_REACHED' | 'FEATURE_DISABLED' | 'UNSUPPORTED_SOLUTION_TEMPLATE_PLAN'; subscriptionEntry?: 'DEVICE_COUNT' | 'ASSET_COUNT' | 'EDGE_COUNT' | 'WHITE_LABELING'; subscriptionValue?: JsonNode; /** * Password reset token */ readonly resetToken?: string; }; export type SecretId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'SECRET'; }; export type SecretInfo = { /** * JSON object with the Secret Id. Specify this field to update the Secret. Referencing non-existing Secret Id will cause error. Omit this field to create new Secret. */ id?: SecretId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the secret cannot be changed. */ readonly tenantId?: TenantId; /** * Secret name */ name: string; /** * Secret type. */ type: 'TEXT' | 'TEXT_FILE'; /** * Secret description. */ description?: string; }; export type TenantId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'TENANT'; }; export type CustomerId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'CUSTOMER'; }; export type EntityId = { /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; /** * A JSON value representing the Scheduler Event. */ export type SchedulerEvent = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * Timestamp of the scheduler event creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Originator Id */ readonly originatorId?: EntityId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; configuration?: JsonNode; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type SchedulerEventId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'SCHEDULER_EVENT'; }; export type TbResourceId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'TB_RESOURCE'; }; /** * A JSON value representing the Resource Info. */ export type TbResourceInfo = { /** * JSON object with the Resource Id. Specify this field to update the Resource. Referencing non-existing Resource Id will cause error. Omit this field to create new Resource. */ id?: TbResourceId; /** * Timestamp of the resource creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the resource can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Customer Id of the resource can't be changed. */ readonly customerId?: CustomerId; /** * Resource title. */ title?: string; /** * Resource type. */ resourceType?: 'LWM2M_MODEL' | 'JKS' | 'PKCS_12' | 'JS_MODULE' | 'IMAGE' | 'DASHBOARD' | 'GENERAL'; /** * Resource sub type. */ resourceSubType?: 'IMAGE' | 'SCADA_SYMBOL' | 'EXTENSION' | 'MODULE'; /** * Resource key. */ readonly resourceKey?: string; publicResourceKey?: string; /** * Resource etag. */ readonly etag?: string; /** * Resource file name. */ readonly fileName?: string; descriptor?: JsonNode; readonly name?: string; public?: boolean; readonly link?: string; readonly publicLink?: string; }; export type ResourceExportData = { link?: string; title?: string; type?: 'LWM2M_MODEL' | 'JKS' | 'PKCS_12' | 'JS_MODULE' | 'IMAGE' | 'DASHBOARD' | 'GENERAL'; subType?: 'IMAGE' | 'SCADA_SYMBOL' | 'EXTENSION' | 'MODULE'; resourceKey?: string; fileName?: string; publicResourceKey?: string; mediaType?: string; data?: string; public?: boolean; }; /** * A JSON value representing the custom menu configuration */ export type CustomMenuConfig = { /** * List of custom menu items */ items: Array; }; export type CustomMenuItem = Omit & { /** * Name of the menu item */ name: string; /** * URL of the menu item icon. Overrides 'materialIcon' */ icon?: string; /** * Type of menu item (LINK or SECTION). LINK type means item has no child items, SECTION type should have at least one child */ menuItemType: 'LINK' | 'SECTION'; /** * Type of menu item (URL or DASHBOARD) */ linkType?: 'URL' | 'DASHBOARD'; /** * Id of the Dashboard to open, when user clicks the menu item */ dashboardId?: string; /** * Hide the dashboard toolbar */ hideDashboardToolbar?: boolean; /** * URL to open in the iframe, when user clicks the menu item */ url?: string; /** * Set the access token of the current user to a new dashboard */ setAccessToken?: boolean; /** * Mark if menu item is visible for user */ visible?: boolean; /** * List of child menu items */ pages?: Array; type?: 'CustomMenuItem'; }; export type DefaultMenuItem = Omit & { /** * Unique identifier for predefined menu items */ readonly id?: string; /** * Name of the menu item */ name?: string; /** * URL of the menu item icon. Overrides 'materialIcon' */ icon?: string; /** * Mark if menu item is visible for user */ visible?: boolean; /** * List of child menu items */ pages?: Array; type?: 'DefaultMenuItem'; }; export type HomeMenuItem = Omit & { /** * Unique identifier for predefined menu items */ readonly id?: string; /** * Name of the menu item */ name?: string; /** * URL of the menu item icon. Overrides 'materialIcon' */ icon?: string; /** * Mark if menu item is visible for user */ visible?: boolean; /** * List of child menu items */ pages?: Array; /** * DEFAULT or DASHBOARD. DASHBOARD means default home page presentation changed to refer to dashboard */ homeType?: 'DEFAULT' | 'DASHBOARD'; /** * Id of the Dashboard to open, when user clicks the menu item */ dashboardId?: string; /** * Hide the dashboard toolbar */ hideDashboardToolbar?: boolean; type?: 'HomeMenuItem'; }; export type MenuItem = { type?: 'HOME' | 'DEFAULT' | 'CUSTOM'; visible?: boolean; }; export type CustomMenu = { id?: CustomMenuId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id that owns the menu. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id that owns the menu. */ readonly customerId?: CustomerId; /** * Custom menu name */ name: string; /** * Custom menu scope. Possible values: SYSTEM, TENANT, CUSTOMER */ scope: 'SYSTEM' | 'TENANT' | 'CUSTOMER'; /** * Custom menu assignee type. Possible values are: All (all users of specified scope), CUSTOMERS (specified customers), USERS (specified list of users), NO_ASSIGN (no assignees), USER_GROUPS (user groups) */ assigneeType: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; /** * User group names menu is applied to */ userGroupNames?: Array; /** * Custom menu configuration */ config?: CustomMenuConfig; }; export type CustomMenuId = { /** * string */ id: string; }; export type ApiKeyId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'API_KEY'; }; /** * A JSON value representing the API key. */ export type ApiKeyInfo = { /** * JSON object with the API Key Id. Specify this field to update the API Key. Referencing non-existing API Key Id will cause error. Omit this field to create new API Key. */ id?: ApiKeyId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the API key cannot be changed. */ readonly tenantId?: TenantId; /** * JSON object with User Id. User Id of the API key cannot be changed. */ userId?: UserId; /** * Expiration time of the API key. */ expirationTime?: number; /** * API Key description. */ description: string; /** * Enabled/disabled API key. */ enabled?: boolean; /** * Indicates if the API key is expired based on current time. Returns false if expirationTime is 0 (no expiry). */ readonly expired?: boolean; }; export type UserId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'USER'; }; export type TwoFaAccountConfigUpdateRequest = { useByDefault?: boolean; }; export type AccountTwoFaSettings = { configs?: { [key: string]: BackupCodeTwoFaAccountConfig | EmailTwoFaAccountConfig | SmsTwoFaAccountConfig | TotpTwoFaAccountConfig; }; }; export type BackupCodeTwoFaAccountConfig = Omit & { codes: Array; codesLeft?: number; providerType: 'BACKUP_CODE'; }; export type EmailTwoFaAccountConfig = Omit & { email: string; providerType: 'EMAIL'; }; export type SmsTwoFaAccountConfig = Omit & { phoneNumber: string; providerType: 'SMS'; }; export type TotpTwoFaAccountConfig = Omit & { authUrl: string; providerType: 'TOTP'; }; export type TwoFaAccountConfig = { useByDefault?: boolean; providerType: string; }; /** * A JSON value representing the Widget Bundle. */ export type WidgetsBundle = { /** * JSON object with the Widget Bundle Id. Specify this field to update the Widget Bundle. Referencing non-existing Widget Bundle Id will cause error. Omit this field to create new Widget Bundle. */ id?: WidgetsBundleId; /** * Timestamp of the Widget Bundle creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Unique alias that is used in widget types as a reference widget bundle */ readonly alias?: string; /** * Title used in search and UI */ readonly title?: string; /** * Relative or external image URL. Replaced with image data URL (Base64) in case of relative URL and 'inlineImages' option enabled. */ readonly image?: string; /** * Whether widgets bundle contains SCADA symbol widget types. */ readonly scada?: boolean; /** * Description */ readonly description?: string; /** * Order */ readonly order?: number; version?: number; /** * Same as title of the Widget Bundle. Read-only field. Update the 'title' to change the 'name' of the Widget Bundle. */ readonly name?: string; }; export type WidgetsBundleId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'WIDGETS_BUNDLE'; }; /** * A JSON value representing the Widget Type Details. */ export type WidgetTypeDetails = { /** * Unique FQN that is used in dashboards as a reference widget type */ readonly fqn?: string; /** * Widget name used in search and UI */ readonly name?: string; /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Relative or external image URL. Replaced with image data URL (Base64) in case of relative URL and 'inlineImages' option enabled. */ image?: string; /** * Description of the widget */ description?: string; /** * Complex JSON object that describes the widget type */ readonly descriptor?: JsonNode; resources?: Array; /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Timestamp of the Widget Type creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; /** * Tags of the widget type */ tags?: Array; }; export type WidgetTypeId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'WIDGET_TYPE'; }; export type Favicon = { url?: string; }; export type Palette = { /** * Name of the pre-defined palette, or 'custom' */ type: string; /** * Mapping of hue identifier number to the rgb(a) color code */ colors?: { [key: string]: string; }; /** * Pre-defined palette name that the custom palette extends */ extends?: string; }; export type PaletteSettings = { /** * Primary palette JSON */ primaryPalette: Palette; /** * Accent palette JSON */ accentPalette: Palette; }; /** * A JSON value representing the white labeling configuration */ export type WhiteLabelingParams = { /** * Logo image URL */ logoImageUrl?: string; /** * The height of a logo container. Logo image will be automatically scaled. */ logoImageHeight?: number; /** * White-labeled name of the platform */ appTitle?: string; /** * JSON object that contains website icon url and type */ favicon?: Favicon; /** * Complex JSON that describes structure of the Angular Material Palette. See [theming](https://material.angular.io/guide/theming) for more details */ paletteSettings?: PaletteSettings; /** * Base URL for help link */ helpLinkBaseUrl?: string; /** * Base URL for the repository with the UI help components (markdown) */ uiHelpBaseUrl?: string; /** * Enable or Disable help links */ enableHelpLinks?: boolean; /** * Enable white-labeling */ readonly whiteLabelingEnabled?: boolean; /** * Show platform name and version on UI and login screen */ showNameVersion?: boolean; /** * White-labeled platform name */ platformName?: string; /** * White-labeled platform version */ platformVersion?: string; /** * Custom CSS content */ customCss?: string; /** * Hide device connectivity dialog */ hideConnectivityDialog?: boolean; /** * Override Trendz Add-on name */ overrideTrendzName?: boolean; }; export type DomainId = { /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; /** * A JSON value representing the login white labeling configuration */ export type LoginWhiteLabelingParams = { /** * Logo image URL */ logoImageUrl?: string; /** * The height of a logo container. Logo image will be automatically scaled. */ logoImageHeight?: number; /** * White-labeled name of the platform */ appTitle?: string; /** * JSON object that contains website icon url and type */ favicon?: Favicon; /** * Complex JSON that describes structure of the Angular Material Palette. See [theming](https://material.angular.io/guide/theming) for more details */ paletteSettings?: PaletteSettings; /** * Base URL for help link */ helpLinkBaseUrl?: string; /** * Base URL for the repository with the UI help components (markdown) */ uiHelpBaseUrl?: string; /** * Enable or Disable help links */ enableHelpLinks?: boolean; /** * Enable white-labeling */ readonly whiteLabelingEnabled?: boolean; /** * Show platform name and version on UI and login screen */ showNameVersion?: boolean; /** * White-labeled platform name */ platformName?: string; /** * White-labeled platform version */ platformVersion?: string; /** * Custom CSS content */ customCss?: string; /** * Hide device connectivity dialog */ hideConnectivityDialog?: boolean; /** * Override Trendz Add-on name */ overrideTrendzName?: boolean; /** * Login page background color */ pageBackgroundColor?: string; /** * Enable/Disable dark foreground */ darkForeground?: boolean; /** * Domain id */ domainId?: DomainId; /** * Base URL for the activation link, etc */ baseUrl?: string; /** * Prohibit use of other URLs. It is recommended to enable this setting */ prohibitDifferentUrl?: boolean; /** * Id of the settings object that store this parameters */ adminSettingsId?: string; /** * Show platform name and version on login page */ showNameBottom?: boolean; }; export type Report = { id?: ReportId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId: TenantId; customerId?: CustomerId; templateId: ReportTemplateId; format: 'PDF' | 'CSV'; name: string; userId: UserId; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type ReportId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'REPORT'; }; export type ReportTemplateId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'REPORT_TEMPLATE'; }; export type AggregationConfiguration = { type?: 'MIN' | 'MAX' | 'AVG' | 'SUM' | 'COUNT' | 'NONE'; limit?: number; }; export type AlarmFilterConfig = { typeList?: Array; statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; assigneeId?: UserId; searchPropagatedAlarms?: boolean; }; export type AlarmTableComponent = Omit & { margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; showTableHeading?: boolean; tableHeading?: Heading; tableSortOrder?: TableSortOrder; alarmSource?: DataSource; timewindow?: TimeWindowConfiguration; type?: 'AlarmTableComponent'; }; export type AliasEntityId = { aliasEntityType?: 'CURRENT_CUSTOMER' | 'CURRENT_TENANT' | 'CURRENT_USER' | 'CURRENT_USER_OWNER'; /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; export type ApiUsageStateFilter = Omit & { customerId?: CustomerId; type: 'apiUsageState'; }; export type AssetSearchQueryFilter = Omit & { rootEntity?: AliasEntityId; relationType?: string; direction?: 'FROM' | 'TO'; maxLevel?: number; fetchLastLevelOnly?: boolean; rootStateEntity?: boolean; defaultStateEntity?: AliasEntityId; assetTypes?: Array; type: 'assetSearchQuery'; }; export type AssetTypeFilter = Omit & { assetTypes?: Array; assetNameFilter?: string; type: 'assetType'; }; export type BarSeriesSettings = { showBorder?: boolean; borderWidth?: number; borderRadius?: number; barWidth?: number; showLabel?: boolean; labelPosition?: 'top' | 'bottom'; labelFont?: Font; labelColor?: string; enableLabelBackground?: boolean; labelBackground?: string; backgroundSettings?: ChartFillSettings; }; export type BooleanFilterPredicate = Omit & { operation?: 'EQUAL' | 'NOT_EQUAL'; value?: FilterPredicateValueBoolean; type: 'BOOLEAN'; }; export type CellSettings = { font?: Font; color?: string; backgroundColor?: string; textAlignment?: 'center' | 'right' | 'left' | 'justify'; verticalAlignment?: 'bottom' | 'top' | 'middle'; }; export type ChartFillSettings = { type?: 'none' | 'opacity' | 'gradient'; opacity?: number; gradient?: ChartFillSettingsGradient; }; export type ChartFillSettingsGradient = { start?: number; end?: number; }; export type ColorRange = { from?: number; to?: number; color?: string; }; export type ColumnSettings = { columnWidth?: string; header?: CellSettings; cell?: CellSettings; type?: 'COLUMN' | 'TIME_SERIES_CHART' | 'DEFAULT'; }; export type ComplexFilterPredicate = Omit & { operation?: 'AND' | 'OR'; predicates?: Array; } & { operation?: 'AND' | 'OR'; predicates?: Array; type: 'COMPLEX'; }; export type CsvReportTemplateConfig = Omit & { format?: 'CsvReportTemplateConfig'; }; export type DashboardComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; widthType?: 'fitWidth' | 'original' | 'custom'; customWidth?: number; alignment?: 'left' | 'center' | 'right'; /** * Dashboard report configuration. */ config: DashboardReportConfig; type?: 'DashboardComponent'; }; export type DashboardReportConfig = { /** * Base URL of ThingsBoard UI that should be accessible by Web Report Server. */ baseUrl: string; /** * A string value representing the dashboard id. */ dashboardId: string; /** * Target dashboard state for dashboard report generation. */ state?: string; /** * Timezone in which target dashboard will be presented in dashboard report. */ timezone: string; /** * If set, timewindow configured in the target dashboard will be used during dashboard report generation. */ useDashboardTimewindow?: boolean; /** * Specific dashboard timewindow that will be used during dashboard report generation. */ timewindow?: JsonNode; /** * If set, timewindow configured in the target dashboard will be used during dashboard report generation. */ namePattern: string; /** * Dashboard report file type, can be PDF | PNG | JPEG. */ type?: string; /** * If set, credentials of user created this dashboard report configuration will be used to open dashboard UI during dashboard report generation. */ useCurrentUserCredentials?: boolean; /** * A string value representing the user id. */ userId: string; }; export type DataKey = { name?: string; type?: string; label?: string; color?: string; decimals?: number; units?: string; aggregationType?: 'MIN' | 'MAX' | 'AVG' | 'SUM' | 'COUNT' | 'NONE'; timewindow?: TimeWindowConfiguration; usePostProcessing?: boolean; postFuncBody?: string; settings?: ColumnSettings | DefaultDataKeySettings | TimeSeriesChartKeySettings; }; export type DataKeyComparisonSettings = { showValuesForComparison?: boolean; comparisonValuesLabel?: string; color?: string; }; export type DataKeySettings = { type?: 'COLUMN' | 'TIME_SERIES_CHART' | 'DEFAULT'; }; export type DataSource = { type?: 'device' | 'entity' | 'entityCount' | 'alarmCount'; deviceId?: string; entityAliasId?: string; filterId?: string; dataKeys?: Array; latestDataKeys?: Array; alarmFilterConfig?: AlarmFilterConfig; }; export type DefaultDataKeySettings = Omit & { type?: 'DefaultDataKeySettings'; }; export type DeviceSearchQueryFilter = Omit & { rootEntity?: AliasEntityId; relationType?: string; direction?: 'FROM' | 'TO'; maxLevel?: number; fetchLastLevelOnly?: boolean; rootStateEntity?: boolean; defaultStateEntity?: AliasEntityId; deviceTypes?: Array; type: 'deviceSearchQuery'; }; export type DeviceTypeFilter = Omit & { deviceTypes?: Array; deviceNameFilter?: string; type: 'deviceType'; }; export type DividerComponent = Omit & { margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; length?: 'LONG' | 'SHORT'; borderType?: 'solid' | 'dashed' | 'dotted'; widthPx?: number; color?: string; type?: 'DividerComponent'; }; export type DynamicValueBoolean = { sourceType?: 'CURRENT_TENANT' | 'CURRENT_CUSTOMER' | 'CURRENT_USER' | 'CURRENT_DEVICE'; sourceAttribute?: string; inherit?: boolean; resolvedValue?: boolean; }; export type DynamicValueDouble = { sourceType?: 'CURRENT_TENANT' | 'CURRENT_CUSTOMER' | 'CURRENT_USER' | 'CURRENT_DEVICE'; sourceAttribute?: string; inherit?: boolean; resolvedValue?: number; }; export type DynamicValueString = { sourceType?: 'CURRENT_TENANT' | 'CURRENT_CUSTOMER' | 'CURRENT_USER' | 'CURRENT_DEVICE'; sourceAttribute?: string; inherit?: boolean; resolvedValue?: string; }; export type EdgeSearchQueryFilter = Omit & { rootEntity?: AliasEntityId; relationType?: string; direction?: 'FROM' | 'TO'; maxLevel?: number; fetchLastLevelOnly?: boolean; rootStateEntity?: boolean; defaultStateEntity?: AliasEntityId; edgeTypes?: Array; type: 'edgeSearchQuery'; }; export type EdgeTypeFilter = Omit & { edgeTypes?: Array; edgeNameFilter?: string; type: 'edgeType'; }; export type EntitiesByGroupNameFilter = Omit & { groupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; ownerId?: EntityId; entityGroupNameFilter?: string; groupStateEntity?: boolean; stateEntityParamName?: string; type: 'EntitiesByGroupNameFilter'; }; export type EntityAlias = { id?: string; alias?: string; filter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilter | DeviceSearchQueryFilter | DeviceTypeFilter | EdgeSearchQueryFilter | EdgeTypeFilter | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilter | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; }; export type EntityFilter = { type: string; }; export type EntityGroupFilter = Omit & { groupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entityGroup?: string; groupStateEntity?: boolean; defaultStateGroupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; defaultStateEntityGroup?: string; type: 'EntityGroupFilter'; }; export type EntityGroupListFilter = Omit & { groupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entityGroupList?: Array; type: 'EntityGroupListFilter'; }; export type EntityGroupNameFilter = Omit & { groupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entityGroupNameFilter?: string; type: 'EntityGroupNameFilter'; }; export type EntityKey = { type?: 'ATTRIBUTE' | 'CLIENT_ATTRIBUTE' | 'SHARED_ATTRIBUTE' | 'SERVER_ATTRIBUTE' | 'TIME_SERIES' | 'ENTITY_FIELD' | 'ALARM_FIELD'; key?: string; }; export type EntityListFilter = Omit & { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entityList?: Array; type: 'entityList'; }; export type EntityNameFilter = Omit & { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entityNameFilter?: string; type: 'entityName'; }; export type EntityTableComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; showTableHeading?: boolean; tableHeading?: Heading; tableSortOrder?: TableSortOrder; type?: 'EntityTableComponent'; }; export type EntityTypeFilter = Omit & { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; type: 'entityType'; }; export type EntityViewSearchQueryFilter = Omit & { rootEntity?: AliasEntityId; relationType?: string; direction?: 'FROM' | 'TO'; maxLevel?: number; fetchLastLevelOnly?: boolean; rootStateEntity?: boolean; defaultStateEntity?: AliasEntityId; entityViewTypes?: Array; type: 'entityViewSearchQuery'; }; export type EntityViewTypeFilter = Omit & { entityViewTypes?: Array; entityViewNameFilter?: string; type: 'entityViewType'; }; export type ErrorComponent = Omit & { errorMessage?: string; exception?: { cause?: { stackTrace?: Array<{ classLoaderName?: string; moduleName?: string; moduleVersion?: string; methodName?: string; fileName?: string; lineNumber?: number; className?: string; nativeMethod?: boolean; }>; message?: string; localizedMessage?: string; }; stackTrace?: Array<{ classLoaderName?: string; moduleName?: string; moduleVersion?: string; methodName?: string; fileName?: string; lineNumber?: number; className?: string; nativeMethod?: boolean; }>; message?: string; suppressed?: Array<{ stackTrace?: Array<{ classLoaderName?: string; moduleName?: string; moduleVersion?: string; methodName?: string; fileName?: string; lineNumber?: number; className?: string; nativeMethod?: boolean; }>; message?: string; localizedMessage?: string; }>; localizedMessage?: string; }; type?: 'ErrorComponent'; }; export type Filter = { id?: string; filter?: string; keyFilters?: Array; }; export type FilterPredicateValueBoolean = { defaultValue?: boolean; userValue?: boolean; dynamicValue?: DynamicValueBoolean; }; export type FilterPredicateValueDouble = { defaultValue?: number; userValue?: number; dynamicValue?: DynamicValueDouble; }; export type FilterPredicateValueString = { defaultValue?: string; userValue?: string; dynamicValue?: DynamicValueString; }; export type FixedTimeWindow = { startTimeMs?: number; endTimeMs?: number; }; export type Font = { size?: number; weight?: 'normal' | 'bold' | '500'; style?: 'normal' | 'italic'; family?: string; }; export type HeaderFooter = { enabled?: boolean; components: Array; firstPage?: unknown; }; export type Heading = { text?: string; font?: Font; color?: string; textAlignment?: 'center' | 'right' | 'left' | 'justify'; verticalAlignment?: 'bottom' | 'top' | 'middle'; height?: number; }; export type HeadingComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; value?: string; font?: Font; color?: string; textAlignment?: 'center' | 'right' | 'left' | 'justify'; verticalAlignment?: 'bottom' | 'top' | 'middle'; height?: number; type?: 'HeadingComponent'; }; export type History = { historyType?: number; interval?: Interval; timewindowMs?: number; fixedTimewindow?: FixedTimeWindow; quickInterval?: 'YESTERDAY' | 'DAY_BEFORE_YESTERDAY' | 'THIS_DAY_LAST_WEEK' | 'PREVIOUS_WEEK' | 'PREVIOUS_WEEK_ISO' | 'PREVIOUS_MONTH' | 'PREVIOUS_QUARTER' | 'PREVIOUS_HALF_YEAR' | 'PREVIOUS_YEAR' | 'CURRENT_HOUR' | 'CURRENT_DAY' | 'CURRENT_DAY_SO_FAR' | 'CURRENT_WEEK' | 'CURRENT_WEEK_ISO' | 'CURRENT_WEEK_SO_FAR' | 'CURRENT_WEEK_ISO_SO_FAR' | 'CURRENT_MONTH' | 'CURRENT_MONTH_SO_FAR' | 'CURRENT_QUARTER' | 'CURRENT_QUARTER_SO_FAR' | 'CURRENT_HALF_YEAR' | 'CURRENT_HALF_YEAR_SO_FAR' | 'CURRENT_YEAR' | 'CURRENT_YEAR_SO_FAR'; }; export type ImageComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; widthType?: 'fitWidth' | 'original' | 'custom'; customWidth?: number; alignment?: 'left' | 'center' | 'right'; sourceType?: 'image' | 'entityKey'; imageUrl?: string; type?: 'ImageComponent'; }; export type Insets = { left?: number; right?: number; top?: number; bottom?: number; }; export type Interval = { interval?: number; intervalType?: 'MILLISECONDS' | 'WEEK' | 'WEEK_ISO' | 'MONTH' | 'QUARTER'; }; export type KeyFilter = { key?: EntityKey; valueType?: 'STRING' | 'NUMERIC' | 'BOOLEAN' | 'DATE_TIME'; predicate?: BooleanFilterPredicate | ComplexFilterPredicate | NumericFilterPredicate | StringFilterPredicate; }; export type KeyFilterPredicate = { type: string; }; export type LatestChartComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; widthType?: 'fitWidth' | 'original' | 'custom'; customWidth?: number; alignment?: 'left' | 'center' | 'right'; height?: number; latestChartSettings?: ReportLatestChartSettings | ReportBarChartSettings | ReportDoughnutChartSettings | ReportPieChartSettings; type?: 'LatestChartComponent'; }; export type LegendConfig = { position?: 'top' | 'bottom' | 'left' | 'right'; sortDataKeys?: boolean; showMin?: boolean; showMax?: boolean; showAvg?: boolean; showTotal?: boolean; showLatest?: boolean; }; export type LineSeriesSettings = { showLine?: boolean; step?: boolean; stepType?: 'start' | 'middle' | 'end'; smooth?: boolean; lineType?: 'solid' | 'dashed' | 'dotted'; lineWidth?: number; showPoints?: boolean; showPointLabel?: boolean; pointLabelPosition?: 'top' | 'bottom'; pointLabelFont?: Font; pointLabelColor?: string; enablePointLabelBackground?: boolean; pointLabelBackground?: string; pointShape?: 'emptyCircle' | 'circle' | 'rect' | 'roundRect' | 'triangle' | 'diamond' | 'pin' | 'arrow' | 'none'; pointSize?: number; fillAreaSettings?: ChartFillSettings; }; export type NotificationTemplateId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'NOTIFICATION_TEMPLATE'; }; export type NumericFilterPredicate = Omit & { operation?: 'EQUAL' | 'NOT_EQUAL' | 'GREATER' | 'LESS' | 'GREATER_OR_EQUAL' | 'LESS_OR_EQUAL'; value?: FilterPredicateValueDouble; type: 'NUMERIC'; }; export type PageBreakComponent = Omit & { type?: 'PageBreakComponent'; }; export type PdfReportTemplateConfig = Omit & { pageSize?: 'A4' | 'LETTER' | 'LEGAL' | 'A5' | 'A3' | 'TABLOID'; pageOrientation?: 'PORTRAIT' | 'LANDSCAPE'; pageMargins?: Insets; pageBackground?: string; header?: HeaderFooter; footer?: HeaderFooter; format?: 'PdfReportTemplateConfig'; }; export type RelationEntityTypeFilter = { /** * Type of the relation between root entity and other entity (e.g. 'Contains' or 'Manages'). */ relationType?: string; /** * Array of entity types to filter the related entities (e.g. 'DEVICE', 'ASSET'). */ entityTypes?: Array<'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'>; /** * Negate relation type between root entity and other entity. */ negate?: boolean; }; export type RelationsQueryFilter = Omit & { rootEntity?: AliasEntityId; multiRootEntitiesType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; multiRootEntityIds?: Array; direction?: 'FROM' | 'TO'; filters?: Array; maxLevel?: number; fetchLastLevelOnly?: boolean; negate?: boolean; rootStateEntity?: boolean; defaultStateEntity?: AliasEntityId; multiRoot?: boolean; type: 'relationsQuery'; }; export type ReportBarChartSettings = ReportLatestChartSettings & { axisMin?: number; axisMax?: number; axisTickLabelFont?: Font; axisTickLabelColor?: string; barSettings?: BarSeriesSettings; }; export type ReportBarChartWithLabelsSettings = ReportTimeSeriesChartSettings & { showBarLabel?: boolean; barLabelFont?: Font; barLabelColor?: string; showBarValue?: boolean; barValueFont?: Font; barValueColor?: string; showBarBorder?: boolean; barBorderWidth?: number; barBorderRadius?: number; barBackgroundSettings?: ChartFillSettings; barUnits?: string; barDecimals?: number; }; export type ReportComponent = { type?: 'HEADING' | 'RICH_TEXT' | 'ENTITY_TABLE' | 'TIME_SERIES_TABLE' | 'ALARM_TABLE' | 'TIME_SERIES_CHART' | 'LATEST_CHART' | 'DASHBOARD' | 'IMAGE' | 'SUB_REPORT' | 'PAGE_BREAK' | 'ERROR' | 'DIVIDER' | 'SPLIT_VIEW'; subType?: 'doughnutChart' | 'horizontalDoughnutChart' | 'pointChart' | 'barChart' | 'pieChart' | 'lineChart' | 'latestBarChart' | 'rangeChart' | 'barChartWithLabels' | 'stateChart' | 'default'; }; export type ReportDoughnutChartSettings = ReportLatestChartSettings & { layout?: 'default' | 'with_total'; clockwise?: boolean; totalValueFont?: Font; totalValueColor?: string; }; export type ReportLatestChartSettings = { showTitle?: boolean; title?: string; titleFont?: Font; titleColor?: string; titleAlignment?: 'center' | 'right' | 'left' | 'justify'; units?: string; decimals?: number; autoScale?: boolean; sortSeries?: boolean; showTotal?: boolean; showLegend?: boolean; legendPosition?: 'top' | 'bottom' | 'left' | 'right'; legendLabelFont?: Font; legendLabelColor?: string; legendValueFont?: Font; legendValueColor?: string; legendShowTotal?: boolean; }; export type ReportPieChartSettings = ReportLatestChartSettings & { showLabel?: boolean; labelPosition?: 'inside' | 'outside'; labelFont?: Font; labelColor?: string; borderWidth?: number; borderColor?: string; radius?: number; clockwise?: boolean; }; export type ReportRangeChartSettings = ReportTimeSeriesChartSettings & { rangeColors?: Array; outOfRangeColor?: string; showRangeThresholds?: boolean; rangeThreshold?: TimeSeriesChartThreshold; fillArea?: boolean; fillAreaOpacity?: number; lineSettings?: LineSeriesSettings; rangeUnits?: string; rangeDecimals?: number; }; export type ReportRequest = { /** * Json object representing the report template id. */ reportTemplateId?: ReportTemplateId; /** * Json object representing the report template config. */ reportTemplateConfig?: CsvReportTemplateConfig | PdfReportTemplateConfig; /** * Timezone used for report generation. */ timezone?: string; /** * A string value representing the user id. */ userId?: string; /** * Json object representing the originator id. */ originator?: EntityId; targets?: Array; notificationTemplateId?: NotificationTemplateId; }; export type ReportTemplateConfig = { format?: 'PDF' | 'CSV'; filters?: Array; namePattern?: string; components?: Array; timeDataPattern?: string; entityAliases?: Array; }; export type ReportTimeSeriesChartSettings = { showTitle?: boolean; title?: string; titleFont?: Font; titleColor?: string; titleAlignment?: 'center' | 'right' | 'left' | 'justify'; stack?: boolean; comparisonEnabled?: boolean; timeForComparison?: 'previousInterval' | 'days' | 'weeks' | 'months' | 'years' | 'customInterval'; comparisonCustomIntervalValue?: number; showLegend?: boolean; legendColumnTitleFont?: Font; legendColumnTitleColor?: string; legendLabelFont?: Font; legendLabelColor?: string; legendValueFont?: Font; legendValueColor?: string; yaxes?: { [key: string]: TimeSeriesChartYAxisSettings; }; xaxis?: TimeSeriesChartXAxisSettings; thresholds?: Array; grid?: TimeSeriesChartGridSettings; yAxes?: { [key: string]: TimeSeriesChartYAxisSettings; }; xAxis?: TimeSeriesChartXAxisSettings; barWidthSettings?: TimeSeriesChartBarWidthSettings; noAggregationBarWidthSettings?: TimeSeriesChartNoAggregationBarWidthSettings; states?: Array; comparisonXAxis?: TimeSeriesChartXAxisSettings; legendConfig?: LegendConfig; }; export type RichTextComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; value?: string; type?: 'RichTextComponent'; }; export type SchedulerEventFilter = Omit & { originator?: AliasEntityId; eventType?: string; originatorStateEntity?: boolean; defaultStateEntity?: AliasEntityId; type: 'SchedulerEventFilter'; }; export type SingleEntityFilter = Omit & { singleEntity?: AliasEntityId; type: 'singleEntity'; }; export type SplitViewComponent = Omit & { margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; leftView?: ReportComponent; rightView?: ReportComponent; splitPosition?: number; splitGap?: number; leftVerticalAlignment?: 'bottom' | 'top' | 'middle'; rightVerticalAlignment?: 'bottom' | 'top' | 'middle'; type?: 'SplitViewComponent'; }; export type StateEntityFilter = Omit & { defaultStateEntity?: AliasEntityId; type: 'StateEntityFilter'; }; export type StateEntityOwnerFilter = Omit & { singleEntity?: AliasEntityId; defaultStateEntity?: AliasEntityId; type: 'StateEntityOwnerFilter'; }; export type StringFilterPredicate = Omit & { operation?: 'EQUAL' | 'NOT_EQUAL' | 'STARTS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'NOT_CONTAINS' | 'IN' | 'NOT_IN'; value?: FilterPredicateValueString; ignoreCase?: boolean; type: 'STRING'; }; export type SubReportComponent = Omit & { dataSources?: Array; templateId?: ReportTemplateId; avoidPageBreakInside?: boolean; type?: 'SubReportComponent'; }; export type TableSortOrder = { column?: string; direction?: 'ASC' | 'DESC'; }; export type TimeSeriesChartBarWidth = { relative?: boolean; relativeWidth?: number; absoluteWidth?: number; }; export type TimeSeriesChartBarWidthSettings = { barGap?: number; intervalGap?: number; }; export type TimeSeriesChartGridSettings = { show?: boolean; backgroundColor?: string; borderWidth?: number; borderColor?: string; }; export type TimeSeriesChartKeySettings = Omit & { showInLegend?: boolean; seriesType?: 'line' | 'bar'; lineSettings?: LineSeriesSettings; barSettings?: BarSeriesSettings; comparisonSettings?: DataKeyComparisonSettings; yaxisId?: string; yAxisId?: string; type?: 'TimeSeriesChartKeySettings'; }; export type TimeSeriesChartNoAggregationBarWidthSettings = { strategy?: 'group' | 'separate'; groupWidth?: TimeSeriesChartBarWidth; barWidth?: TimeSeriesChartBarWidth; }; export type TimeSeriesChartStateSettings = { label?: string; value?: number; sourceType?: 'constant' | 'range'; sourceRangeFrom?: number; sourceRangeTo?: number; sourceValue?: JsonNode; }; export type TimeSeriesChartThreshold = { type?: 'constant' | 'latestKey' | 'entity'; value?: number; latestKeyType?: string; latestKey?: string; entityKeyType?: string; entityAlias?: string; entityKey?: string; units?: string; decimals?: number; lineColor?: string; lineType?: 'solid' | 'dashed' | 'dotted'; lineWidth?: number; startSymbol?: 'emptyCircle' | 'circle' | 'rect' | 'roundRect' | 'triangle' | 'diamond' | 'pin' | 'arrow' | 'none'; startSymbolSize?: number; endSymbol?: 'emptyCircle' | 'circle' | 'rect' | 'roundRect' | 'triangle' | 'diamond' | 'pin' | 'arrow' | 'none'; endSymbolSize?: number; showLabel?: boolean; labelPosition?: 'start' | 'middle' | 'end' | 'insideStart' | 'insideStartTop' | 'insideStartBottom' | 'insideMiddle' | 'insideMiddleTop' | 'insideMiddleBottom' | 'insideEnd' | 'insideEndTop' | 'insideEndBottom'; labelFont?: Font; labelColor?: string; enableLabelBackground?: boolean; labelBackground?: string; yaxisId?: string; yAxisId?: string; }; export type TimeSeriesChartXAxisSettings = { show?: boolean; label?: string; labelFont?: Font; labelColor?: string; position?: 'left' | 'right' | 'top' | 'bottom'; showTickLabels?: boolean; tickLabelFont?: Font; tickLabelColor?: string; showTicks?: boolean; ticksColor?: string; showLine?: boolean; lineColor?: string; showSplitLines?: boolean; splitLinesColor?: string; ticksFormat?: { [key: string]: string; }; }; export type TimeSeriesChartYAxisSettings = { show?: boolean; label?: string; labelFont?: Font; labelColor?: string; position?: 'left' | 'right' | 'top' | 'bottom'; showTickLabels?: boolean; tickLabelFont?: Font; tickLabelColor?: string; showTicks?: boolean; ticksColor?: string; showLine?: boolean; lineColor?: string; showSplitLines?: boolean; splitLinesColor?: string; id?: string; order?: number; units?: string; decimals?: number; interval?: number; splitNumber?: number; min?: number; max?: number; }; export type TimeWindowConfiguration = { history?: History; aggregation?: AggregationConfiguration; timezone?: string; }; export type TimeseriesChartComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; widthType?: 'fitWidth' | 'original' | 'custom'; customWidth?: number; alignment?: 'left' | 'center' | 'right'; height?: number; timewindow?: TimeWindowConfiguration; timeSeriesChartSettings?: ReportTimeSeriesChartSettings | ReportBarChartWithLabelsSettings | ReportRangeChartSettings; type?: 'TimeseriesChartComponent'; }; export type TimeseriesTableComponent = Omit & { dataSources?: Array; margins?: Insets; paddings?: Insets; background?: string; borderWidth?: number; borderRadius?: number; borderColor?: string; showTableHeading?: boolean; tableHeading?: Heading; tableSortOrder?: TableSortOrder; timewindow?: TimeWindowConfiguration; showTimestamp?: boolean; timestampLabel?: string; timestampPattern?: string; timestampColumnSettings?: ColumnSettings; type?: 'TimeseriesTableComponent'; }; export type Button = { enabled?: boolean; text?: string; linkType?: 'LINK' | 'DASHBOARD'; link?: string; dashboardId?: string; dashboardState?: string; setEntityIdInState?: boolean; }; export type CalculatedFieldId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'CALCULATED_FIELD'; }; export type CfReprocessingJobConfiguration = Omit & { calculatedFieldId: CalculatedFieldId; calculatedFieldName?: string; startTs?: number; endTs?: number; type: 'CfReprocessingJobConfiguration'; }; export type CfReprocessingJobResult = Omit & { jobType: 'CfReprocessingJobResult'; }; export type CfReprocessingTaskFailure = { error?: string; entityInfo?: EntityInfo; }; export type CfReprocessingTaskResult = Omit & { failure?: CfReprocessingTaskFailure; jobType: 'CfReprocessingTaskResult'; }; export type DashboardId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'DASHBOARD'; }; export type DebugSettings = { /** * Debug failures. */ failuresEnabled?: boolean; /** * Debug All. Used as a trigger for updating debugAllUntil. */ allEnabled?: boolean; /** * Timestamp of the end time for the processing debug events. */ allEnabledUntil?: number; }; export type DeliveryMethodNotificationTemplate = { enabled?: boolean; body: string; method: string; }; export type DummyJobConfiguration = Omit & { taskProcessingTimeMs?: number; successfulTasksCount?: number; failedTasksCount?: number; permanentlyFailedTasksCount?: number; errors?: Array; retries?: number; taskProcessingTimeoutMs?: number; generalError?: string; submittedTasksBeforeGeneralError?: number; type: 'DUMMY'; }; export type DummyJobResult = Omit & { jobType: 'DUMMY'; }; export type DummyTaskFailure = { error?: string; number?: number; failAlways?: boolean; }; export type DummyTaskResult = Omit & { failure?: DummyTaskFailure; jobType: 'DUMMY'; }; export type EmailDeliveryMethodNotificationTemplate = Omit & { subject: string; method: 'EMAIL'; }; export type EntityInfo = { /** * JSON object with the entity Id. */ id?: EntityId; /** * Entity Name */ name?: string; }; export type Job = { id?: JobId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId: TenantId; type: 'CF_REPROCESSING' | 'REPORT' | 'DUMMY'; key: string; entityId: EntityId; entityName?: string; status: 'QUEUED' | 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'; configuration: CfReprocessingJobConfiguration | DummyJobConfiguration | ReportJobConfiguration; result: CfReprocessingJobResult | DummyJobResult | ReportJobResult; }; export type JobConfiguration = { tasksKey: string; toReprocess?: Array; type: string; }; export type JobId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'JOB'; }; export type JobResult = { successfulCount?: number; failedCount?: number; discardedCount?: number; totalCount?: number; results?: Array; generalError?: string; startTs?: number; finishTs?: number; cancellationTs?: number; jobType: string; }; export type MicrosoftTeamsDeliveryMethodNotificationTemplate = Omit & { subject?: string; themeColor?: string; button?: Button; method: 'MICROSOFT_TEAMS'; }; export type MobileAppDeliveryMethodNotificationTemplate = Omit & { subject: string; additionalConfig?: JsonNode; method: 'MOBILE_APP'; }; export type NotificationInfo = { dashboardId?: DashboardId; stateEntityId?: EntityId; type: string; }; export type NotificationRequest = { tenantId?: TenantId; targets: Array; templateId?: NotificationTemplateId; template?: NotificationTemplate; info?: NotificationInfo; additionalConfig?: NotificationRequestConfig; originatorEntityId?: EntityId; ruleId?: NotificationRuleId; status?: 'PROCESSING' | 'SENT' | 'SCHEDULED'; stats?: NotificationRequestStats; id?: NotificationRequestId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; }; export type NotificationRequestConfig = { sendingDelayInSec?: number; reports?: Array; }; export type NotificationRequestId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'NOTIFICATION_REQUEST'; }; export type NotificationRequestStats = { sent?: { [key: string]: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; }; errors?: { [key: string]: { [key: string]: string; }; }; totalErrors?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; error?: string; totalSent?: number; }; export type NotificationRuleId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'NOTIFICATION_RULE'; }; export type NotificationTemplate = { id?: NotificationTemplateId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; name: string; notificationType: 'GENERAL' | 'ALARM' | 'DEVICE_ACTIVITY' | 'ENTITY_ACTION' | 'ALARM_COMMENT' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'ALARM_ASSIGNMENT' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'ENTITIES_LIMIT_INCREASE_REQUEST' | 'ADDON_ACCESS_REQUEST' | 'ADDON_ACCESS_ERROR' | 'PLAN_UPGRADE_REQUEST' | 'API_USAGE_LIMIT' | 'RULE_NODE' | 'INTEGRATION_LIFECYCLE_EVENT' | 'RATE_LIMITS' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE' | 'USER_ACTIVATED' | 'USER_REGISTERED' | 'REPORT_GENERATED'; configuration: NotificationTemplateConfig; }; export type NotificationTemplateConfig = { deliveryMethodsTemplates: { [key: string]: EmailDeliveryMethodNotificationTemplate | MicrosoftTeamsDeliveryMethodNotificationTemplate | MobileAppDeliveryMethodNotificationTemplate | SlackDeliveryMethodNotificationTemplate | SmsDeliveryMethodNotificationTemplate | WebDeliveryMethodNotificationTemplate; }; attachReport?: boolean; reportTemplateId?: ReportTemplateId; userId?: UserId; timezone?: string; }; export type ReportJobConfiguration = Omit & { reportTemplateId?: ReportTemplateId; userId?: UserId; timezone?: string; targets?: Array; notificationTemplateId?: NotificationTemplateId; notificationRequests?: Array; originator?: EntityId; ruleNode?: RuleNode; outputTbMsgProto?: string; queueName?: string; schedulerEventInfo?: EntityInfo; type: 'ReportJobConfiguration'; }; export type ReportJobResult = Omit & { report?: Report; jobType: 'ReportJobResult'; }; export type ReportTaskResult = Omit & { report?: Report; error?: string; jobType: 'ReportTaskResult'; }; export type RuleChainId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'RULE_CHAIN'; }; export type RuleNode = { /** * JSON object with the Rule Node Id. Specify this field to update the Rule Node. Referencing non-existing Rule Node Id will cause error. Omit this field to create new rule node. */ id?: RuleNodeId; /** * Timestamp of the rule node creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with the Rule Chain Id. */ readonly ruleChainId?: RuleChainId; /** * Full Java Class Name of the rule node implementation. */ type?: string; /** * User defined name of the rule node. Used on UI and for logging. */ name?: string; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Enable/disable singleton mode. */ singletonMode?: boolean; /** * Queue name. */ queueName?: string; /** * Version of rule node configuration. */ configurationVersion?: number; /** * JSON with the rule node configuration. Structure depends on the rule node implementation. */ configuration?: JsonNode; externalId?: RuleNodeId; /** * Additional parameters of the rule node. Contains 'layoutX' and 'layoutY' properties for visualization. */ additionalInfo?: JsonNode; }; export type RuleNodeId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'RULE_NODE'; }; export type SlackDeliveryMethodNotificationTemplate = Omit & { method: 'SLACK'; }; export type SmsDeliveryMethodNotificationTemplate = Omit & { method: 'SMS'; }; export type TaskResult = { key?: string; success?: boolean; discarded?: boolean; finishTs?: number; jobType: string; }; export type WebDeliveryMethodNotificationTemplate = Omit & { subject: string; additionalConfig?: JsonNode; method: 'WEB'; }; /** * A JSON value representing the relation. */ export type EntityRelation = { /** * JSON object with [from] Entity Id. */ from: EntityId; /** * JSON object with [to] Entity Id. */ to: EntityId; /** * String value of relation type. */ type: string; /** * Represents the type group of the relation. */ typeGroup: 'COMMON' | 'DASHBOARD' | 'FROM_ENTITY_GROUP' | 'RULE_CHAIN' | 'RULE_NODE' | 'EDGE' | 'EDGE_AUTO_ASSIGN_RULE_CHAIN'; version?: number; /** * Additional parameters of the relation */ additionalInfo?: JsonNode; }; /** * A JSON value representing the User. */ export type User = { /** * JSON object with the User Id. Specify this field to update the device. Referencing non-existing User Id will cause error. Omit this field to create new customer. */ id?: UserId; /** * Timestamp of the user creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with the Customer Id. */ readonly customerId?: CustomerId; /** * Email of the user */ email: string; /** * Authority */ authority: 'SYS_ADMIN' | 'TENANT_ADMIN' | 'CUSTOMER_USER' | 'REFRESH_TOKEN' | 'PRE_VERIFICATION_TOKEN' | 'MFA_CONFIGURATION_TOKEN'; /** * First name of the user */ firstName?: string; /** * Last name of the user */ lastName?: string; /** * Phone number of the user */ phone?: string; customMenuId?: CustomMenuId; version?: number; /** * Duplicates the email of the user, readonly */ readonly name?: string; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the user */ additionalInfo?: JsonNode; }; export type EntityGroupId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ENTITY_GROUP'; }; /** * A JSON value representing the group permission. */ export type GroupPermission = { /** * JSON object with the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with the User Group Id. Represent user group that will have permissions to perform operations against corresponding Entity Group. */ userGroupId?: EntityGroupId; /** * JSON object with the Role Id. Represent set of permissions. */ roleId?: RoleId; /** * JSON object with the Entity Group Id. Represent entity (device, asset, etc.) group. */ entityGroupId?: EntityGroupId; /** * Type of the entities in the group: DEVICE, ASSET, CUSTOMER, etc. */ entityGroupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * JSON object with the Group Permission Id. Specify this field to update the Group Permission. Referencing non-existing Group Permission Id will cause error. Omit this field to create new Group Permission. */ id?: GroupPermissionId; /** * Timestamp of the group permission creation, in milliseconds */ readonly createdTime?: number; /** * Name of the Group Permissions. Auto-generated */ readonly name?: string; public?: boolean; }; export type GroupPermissionId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'GROUP_PERMISSION'; }; export type RoleId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ROLE'; }; export type GroupPermissionInfo = { /** * JSON object with the Group Permission Id. Specify this field to update the Group Permission. Referencing non-existing Group Permission Id will cause error. Omit this field to create new Group Permission. */ id?: GroupPermissionId; /** * Timestamp of the group permission creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with the User Group Id. Represent user group that will have permissions to perform operations against corresponding Entity Group. */ userGroupId?: EntityGroupId; /** * JSON object with the Role Id. Represent set of permissions. */ roleId?: RoleId; /** * JSON object with the Entity Group Id. Represent entity (device, asset, etc.) group. */ entityGroupId?: EntityGroupId; /** * Type of the entities in the group: DEVICE, ASSET, CUSTOMER, etc. */ entityGroupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * Represent set of permissions. */ role?: Role; /** * Entity Group Name. */ entityGroupName?: string; /** * Entity Group Owner Id (Tenant or Customer). */ entityGroupOwnerId?: EntityId; /** * Name of the entity group owner (Tenant or Customer title). */ entityGroupOwnerName?: string; /** * User Group Name. */ userGroupName?: string; /** * User Group Owner Id (Tenant or Customer). */ userGroupOwnerId?: EntityId; /** * Name of the user group owner (Tenant or Customer title). */ userGroupOwnerName?: string; readOnly?: boolean; /** * Name of the Group Permissions. Auto-generated */ readonly name?: string; public?: boolean; }; /** * A JSON value representing the role. */ export type Role = { /** * JSON object with Tenant Id. */ readonly tenantId: TenantId; /** * JSON object with Customer Id. */ readonly customerId?: CustomerId; /** * Role Name */ name: string; /** * Type of the role: generic or group */ type: 'GENERIC' | 'GROUP'; permissions?: JsonNode; version?: number; /** * JSON object with the Role Id. Specify this field to update the Role. Referencing non-existing Role Id will cause error. Omit this field to create new Role. */ id?: RoleId; /** * Timestamp of the role creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the role */ additionalInfo?: JsonNode; }; export type MobileSessionInfo = { fcmTokenTimestamp?: number; }; export type TrendzSynchronizationResult = { version?: string; updatedTs?: number; type?: 'SYNC_NOT_INITIALIZED' | 'SYNC_COMPLETED' | 'SYNC_DISABLED' | 'TRENDZ_UNSUPPORTED_VERSION' | 'TRENDZ_AUTH_INVALID' | 'TRENDZ_URL_UNREACHABLE' | 'TB_URL_MISMATCH' | 'TB_URL_UNREACHABLE' | 'TB_AUTH_INVALID' | 'SYNC_INTERNAL_ERROR'; status?: 'NOT_AVAILABLE' | 'AVAILABLE' | 'SYNCED'; }; export type TrendzConfiguration = { trendzUrl?: string; tbUrl?: string; }; /** * A JSON value representing the tenant. */ export type Tenant = { /** * JSON object with the tenant Id. Specify this field to update the tenant. Referencing non-existing tenant Id will cause error. Omit this field to create new tenant. */ id?: TenantId; /** * Timestamp of the tenant creation, in milliseconds */ readonly createdTime?: number; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the tenant */ title: string; /** * Geo region of the tenant */ region?: string; /** * JSON object with Tenant Profile Id */ tenantProfileId?: TenantProfileId; version?: number; /** * Name of the tenant. Read-only, duplicated from title for backward compatibility */ readonly name?: string; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type TenantProfileId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'TENANT_PROFILE'; }; export type DefaultTenantProfileConfiguration = Omit & { maxDevices?: number; maxAssets?: number; maxCustomers?: number; maxUsers?: number; maxDashboards?: number; maxRuleChains?: number; maxEdges?: number; maxResourcesInBytes?: number; maxOtaPackagesInBytes?: number; maxResourceSize?: number; maxReportSizeInBytes?: number; maxIntegrations?: number; maxConverters?: number; maxSchedulerEvents?: number; transportTenantMsgRateLimit?: string; transportTenantTelemetryMsgRateLimit?: string; transportTenantTelemetryDataPointsRateLimit?: string; transportDeviceMsgRateLimit?: string; transportDeviceTelemetryMsgRateLimit?: string; transportDeviceTelemetryDataPointsRateLimit?: string; transportGatewayMsgRateLimit?: string; transportGatewayTelemetryMsgRateLimit?: string; transportGatewayTelemetryDataPointsRateLimit?: string; transportGatewayDeviceMsgRateLimit?: string; transportGatewayDeviceTelemetryMsgRateLimit?: string; transportGatewayDeviceTelemetryDataPointsRateLimit?: string; integrationMsgsPerTenantRateLimit?: string; integrationMsgsPerDeviceRateLimit?: string; integrationMsgsPerAssetRateLimit?: string; tenantEntityExportRateLimit?: string; tenantEntityImportRateLimit?: string; tenantNotificationRequestsRateLimit?: string; tenantNotificationRequestsPerRuleRateLimit?: string; maxTransportMessages?: number; maxTransportDataPoints?: number; maxREExecutions?: number; maxJSExecutions?: number; maxTbelExecutions?: number; maxDPStorageDays?: number; maxRuleNodeExecutionsPerMessage?: number; maxDebugModeDurationMinutes?: number; maxEmails?: number; smsEnabled?: boolean; maxSms?: number; maxCreatedAlarms?: number; maxGeneratedReports?: number; tenantServerRestLimitsConfiguration?: string; customerServerRestLimitsConfiguration?: string; maxWsSessionsPerTenant?: number; maxWsSessionsPerCustomer?: number; maxWsSessionsPerRegularUser?: number; maxWsSessionsPerPublicUser?: number; wsMsgQueueLimitPerSession?: number; maxWsSubscriptionsPerTenant?: number; maxWsSubscriptionsPerCustomer?: number; maxWsSubscriptionsPerRegularUser?: number; maxWsSubscriptionsPerPublicUser?: number; wsUpdatesPerSessionRateLimit?: string; cassandraReadQueryTenantCoreRateLimits?: string; cassandraWriteQueryTenantCoreRateLimits?: string; cassandraReadQueryTenantRuleEngineRateLimits?: string; cassandraWriteQueryTenantRuleEngineRateLimits?: string; edgeEventRateLimits?: string; edgeEventRateLimitsPerEdge?: string; edgeUplinkMessagesRateLimits?: string; edgeUplinkMessagesRateLimitsPerEdge?: string; defaultStorageTtlDays?: number; alarmsTtlDays?: number; rpcTtlDays?: number; queueStatsTtlDays?: number; ruleEngineExceptionsTtlDays?: number; blobEntityTtlDays?: number; reportTtlDays?: number; warnThreshold?: number; maxCalculatedFieldsPerEntity?: number; maxArgumentsPerCF?: number; minAllowedScheduledUpdateIntervalInSecForCF?: number; maxRelationLevelPerCfArgument?: number; maxRelatedEntitiesToReturnPerCfArgument?: number; maxDataPointsPerRollingArg?: number; maxStateSizeInKBytes?: number; maxSingleValueArgumentSizeInKBytes?: number; minAllowedDeduplicationIntervalInSecForCF?: number; minAllowedAggregationIntervalInSecForCF?: number; intermediateAggregationIntervalInSecForCF?: number; cfReevaluationCheckInterval?: number; alarmsReevaluationInterval?: number; type: 'DEFAULT'; }; export type ProcessingStrategy = { type?: 'SKIP_ALL_FAILURES' | 'SKIP_ALL_FAILURES_AND_TIMED_OUT' | 'RETRY_ALL' | 'RETRY_FAILED' | 'RETRY_TIMED_OUT' | 'RETRY_FAILED_AND_TIMED_OUT'; retries?: number; failurePercentage?: number; pauseBetweenRetries?: number; maxPauseBetweenRetries?: number; }; export type SubmitStrategy = { type?: 'BURST' | 'BATCH' | 'SEQUENTIAL_BY_ORIGINATOR' | 'SEQUENTIAL_BY_TENANT' | 'SEQUENTIAL'; batchSize?: number; }; /** * A JSON value representing the tenant profile. */ export type TenantProfile = { /** * JSON object with the tenant profile Id. Specify this field to update the tenant profile. Referencing non-existing tenant profile Id will cause error. Omit this field to create new tenant profile. */ id?: TenantProfileId; /** * Timestamp of the tenant profile creation, in milliseconds */ readonly createdTime?: number; /** * Name of the tenant profile */ name?: string; /** * Description of the tenant profile */ description?: string; /** * If enabled, will push all messages related to this tenant and processed by the rule engine into separate queue. Useful for complex microservices deployments, to isolate processing of the data for specific tenants */ isolatedTbRuleEngine?: boolean; /** * Default Tenant profile to be used. */ default?: boolean; profileData?: TenantProfileData; }; export type TenantProfileConfiguration = { type: string; }; export type TenantProfileData = { /** * Complex JSON object that contains profile settings: max devices, max assets, rate limits, etc. */ configuration?: DefaultTenantProfileConfiguration; /** * JSON array of queue configuration per tenant profile */ queueConfiguration?: Array; }; export type TenantProfileQueueConfiguration = { name?: string; topic?: string; pollInterval?: number; partitions?: number; consumerPerPartition?: boolean; packProcessingTimeout?: number; submitStrategy?: SubmitStrategy; processingStrategy?: ProcessingStrategy; additionalInfo?: JsonNode; }; export type CoapDeviceTransportConfiguration = Omit & { powerMode?: 'PSM' | 'DRX' | 'E_DRX'; psmActivityTimer?: number; edrxCycle?: number; pagingTransmissionWindow?: number; type: 'COAP'; }; export type DefaultDeviceConfiguration = Omit & { type: 'DEFAULT'; }; export type DefaultDeviceTransportConfiguration = Omit & { type: 'DEFAULT'; }; export type Device = { /** * JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. */ id?: DeviceId; /** * Timestamp of the device creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Unique Device Name in scope of Tenant */ name?: string; /** * Device Profile Name */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Device Profile Id. */ deviceProfileId: DeviceProfileId; /** * JSON object with Ota Package Id. */ firmwareId?: OtaPackageId; /** * JSON object with Ota Package Id. */ softwareId?: OtaPackageId; version?: number; /** * JSON object with content specific to type of transport in the device profile. */ deviceData?: DeviceData; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type DeviceConfiguration = { type: string; }; export type DeviceData = { /** * Device configuration for device profile type. DEFAULT is only supported value for now */ configuration?: DefaultDeviceConfiguration; /** * Device transport configuration used to connect the device */ transportConfiguration?: CoapDeviceTransportConfiguration | DefaultDeviceTransportConfiguration | Lwm2mDeviceTransportConfiguration | MqttDeviceTransportConfiguration | SnmpDeviceTransportConfiguration; }; export type DeviceId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'DEVICE'; }; export type DeviceProfileId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'DEVICE_PROFILE'; }; export type DeviceTransportConfiguration = { type: string; }; export type Lwm2mDeviceTransportConfiguration = Omit & { powerMode?: 'PSM' | 'DRX' | 'E_DRX'; psmActivityTimer?: number; edrxCycle?: number; pagingTransmissionWindow?: number; type: 'LWM2M'; }; export type MqttDeviceTransportConfiguration = Omit & { type: 'MQTT'; }; export type OtaPackageId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'OTA_PACKAGE'; }; export type SnmpDeviceTransportConfiguration = Omit & { host?: string; port?: number; protocolVersion?: 'V1' | 'V2C' | 'V3'; community?: string; username?: string; securityName?: string; contextName?: string; authenticationProtocol?: 'SHA_1' | 'SHA_224' | 'SHA_256' | 'SHA_384' | 'SHA_512' | 'MD5'; authenticationPassphrase?: string; privacyProtocol?: 'DES' | 'AES_128' | 'AES_192' | 'AES_256'; privacyPassphrase?: string; engineId?: string; type: 'SNMP'; }; /** * A JSON object that represents home dashboard id and other parameters */ export type HomeDashboardInfo = { /** * JSON object with the dashboard Id. */ dashboardId?: DashboardId; /** * Hide dashboard toolbar flag. Useful for rendering dashboards on mobile. */ hideDashboardToolbar?: boolean; }; export type SolutionInstallResponse = { /** * Id of the group that contains main dashboard of the solution */ dashboardGroupId?: EntityGroupId; /** * Id of the main dashboard of the solution */ dashboardId?: DashboardId; /** * Id of the public customer if solution has public entities */ publicId?: CustomerId; /** * Is the main dashboard public */ mainDashboardPublic?: boolean; /** * Markdown with solution usage instructions */ details?: string; /** * Indicates that template was installed successfully */ success?: boolean; }; export type CaptchaParams = { version?: string; }; export type DefaultDashboardParams = { /** * Default dashboard Id to assign for the new user. */ id?: string; /** * Set default dashboard to full screen mode. */ fullscreen?: boolean; }; export type EnterpriseCaptchaParams = Omit & { /** * Your Google Cloud project ID */ projectId?: string; /** * Service account credentials */ serviceAccountCredentials?: string; /** * Service account credentials file name */ serviceAccountCredentialsFileName?: string; /** * The reCAPTCHA key associated with android app. */ androidKey?: string; /** * The reCAPTCHA key associated with iOS app. */ iosKey?: string; /** * Optional action name used for logging */ logActionName?: string; version?: 'EnterpriseCaptchaParams'; }; export type HomeDashboardParams = { /** * Home dashboard Id to assign for the new user. */ id?: string; /** * Indicates if hide toolbar should be hidden. */ hideToolbar?: boolean; }; export type NotificationTargetId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'NOTIFICATION_TARGET'; }; export type SignUpField = { /** * Signup field id */ id: 'EMAIL' | 'PASSWORD' | 'REPEAT_PASSWORD' | 'FIRST_NAME' | 'LAST_NAME' | 'PHONE' | 'COUNTRY' | 'CITY' | 'STATE' | 'ZIP' | 'ADDRESS' | 'ADDRESS2'; /** * Signup field label */ label: string; /** * Indicates if field is required */ required?: boolean; }; export type V2CaptchaParams = Omit & { /** * Captcha site key for 'I'm not a robot' validation */ siteKey?: string; /** * Optional action name used for logging (for captcha version 'v3' and 'enterprise') */ logActionName?: string; /** * Secret key to validate the Captcha. Should match the Captcha Site Key. */ secretKey?: string; version?: 'V2CaptchaParams'; }; export type V3CaptchaParams = Omit & { /** * Captcha site key for 'I'm not a robot' validation */ siteKey?: string; /** * Optional action name used for logging (for captcha version 'v3' and 'enterprise') */ logActionName?: string; /** * Secret key to validate the Captcha. Should match the Captcha Site Key. */ secretKey?: string; version?: 'V3CaptchaParams'; }; export type WebSelfRegistrationParams = Omit & { /** * Indicates if self-registration is allowed via sign-up form */ enabled?: boolean; /** * The text message to appear on login form */ title: string; /** * Captcha site key for 'I'm not a robot' validation */ captcha: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; /** * List of sign-up form fields */ signUpFields: Array; /** * Show or hide 'Privacy Policy' */ showPrivacyPolicy?: boolean; /** * Show or hide 'Terms of Use' */ showTermsOfUse?: boolean; /** * Recipient to use for notifications when new user self-registered. */ notificationRecipient?: NotificationTargetId; /** * Prefix to add to created customer */ customerTitlePrefix?: string; /** * Id of the customer group customer wil be added to. */ customerGroupId?: EntityGroupId; /** * Group Permissions to assign for the new customer user. */ permissions: Array; /** * Default dashboard params */ defaultDashboard?: DefaultDashboardParams; /** * Home dashboard params */ homeDashboard?: HomeDashboardParams; /** * Custom menu id */ customMenuId?: CustomMenuId; /** * Privacy policy text. Supports HTML. */ privacyPolicy?: string; /** * Terms of User text. Supports HTML. */ termsOfUse?: string; /** * Domain name for self registration URL. Typically this matches the domain name from the Login White Labeling page. */ domainId: DomainId; type?: 'WebSelfRegistrationParams'; }; /** * A JSON value representing the Secret. */ export type Secret = { /** * JSON object with the Secret Id. Specify this field to update the Secret. Referencing non-existing Secret Id will cause error. Omit this field to create new Secret. */ id?: SecretId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the secret cannot be changed. */ readonly tenantId?: TenantId; /** * Secret name */ name: string; /** * Secret type. */ type: 'TEXT' | 'TEXT_FILE'; /** * Secret description. */ description?: string; value?: string; encryptedValue?: string; }; export type NodeConnectionInfo = { /** * Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'from' part of the connection. */ fromIndex: number; /** * Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'to' part of the connection. */ toIndex: number; /** * Type of the relation. Typically indicated the result of processing by the 'from' rule node. For example, 'Success' or 'Failure' */ type: string; }; /** * A JSON value representing the rule chain. */ export type RuleChain = { /** * JSON object with the Rule Chain Id. Specify this field to update the Rule Chain. Referencing non-existing Rule Chain Id will cause error. Omit this field to create new rule chain. */ id?: RuleChainId; /** * Timestamp of the rule chain creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId: TenantId; /** * Rule Chain name */ name: string; /** * Rule Chain type. 'EDGE' rule chains are processing messages on the edge devices only. */ type?: 'CORE' | 'EDGE'; /** * JSON object with Rule Chain Id. Pointer to the first rule node that should receive all messages pushed to this rule chain. */ firstRuleNodeId?: RuleNodeId; /** * Indicates root rule chain. The root rule chain process messages from all devices and entities by default. User may configure default rule chain per device profile. */ root?: boolean; /** * Reserved for future usage. */ debugMode?: boolean; version?: number; configuration?: JsonNode; additionalInfo?: JsonNode; }; export type RuleChainConnectionInfo = { /** * Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'from' part of the connection. */ fromIndex: number; /** * JSON object with the Rule Chain Id. */ targetRuleChainId: RuleChainId; /** * JSON object with the additional information about the connection. */ additionalInfo: JsonNode; /** * Type of the relation. Typically indicated the result of processing by the 'from' rule node. For example, 'Success' or 'Failure' */ type: string; }; /** * A JSON value representing the rule chains. */ export type RuleChainData = { /** * List of the Rule Chain objects. */ readonly ruleChains: Array; /** * List of the Rule Chain metadata objects. */ readonly metadata: Array; }; /** * A JSON value representing the rule chain metadata. */ export type RuleChainMetaData = { /** * JSON object with Rule Chain Id. */ readonly ruleChainId: RuleChainId; /** * Version of the Rule Chain */ version?: number; /** * Index of the first rule node in the 'nodes' list */ firstNodeIndex: number; /** * List of rule node JSON objects */ nodes: Array; /** * List of JSON objects that represent connections between rule nodes */ connections: Array; /** * List of JSON objects that represent connections between rule nodes and other rule chains. */ ruleChainConnections: Array; }; export type RuleChainImportResult = { ruleChainId?: RuleChainId; ruleChainName?: string; updated?: boolean; error?: string; }; /** * A JSON value representing the request. */ export type DefaultRuleChainCreateRequest = { /** * Name of the new rule chain */ name: string; }; /** * A JSON value representing the Resource. */ export type TbResource = { /** * JSON object with the Resource Id. Specify this field to update the Resource. Referencing non-existing Resource Id will cause error. Omit this field to create new Resource. */ id?: TbResourceId; /** * Timestamp of the resource creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the resource can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Customer Id of the resource can't be changed. */ readonly customerId?: CustomerId; /** * Resource title. */ title?: string; /** * Resource type. */ resourceType?: 'LWM2M_MODEL' | 'JKS' | 'PKCS_12' | 'JS_MODULE' | 'IMAGE' | 'DASHBOARD' | 'GENERAL'; /** * Resource sub type. */ resourceSubType?: 'IMAGE' | 'SCADA_SYMBOL' | 'EXTENSION' | 'MODULE'; /** * Resource key. */ readonly resourceKey?: string; publicResourceKey?: string; /** * Resource etag. */ readonly etag?: string; /** * Resource file name. */ readonly fileName?: string; descriptor?: JsonNode; /** * Resource data. */ data?: string; preview?: string; readonly name?: string; public?: boolean; readonly link?: string; readonly publicLink?: string; }; /** * A JSON value representing the Report Template. */ export type ReportTemplate = { /** * JSON object with the report template Id. Specify this field to update the report. Referencing non-existing report template Id will cause error. Omit this field to create new report template */ id?: ReportTemplateId; /** * Timestamp of the report template creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the report template can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * Report name */ name: string; /** * Report format */ format: 'PDF, CSV'; /** * Report template type */ type: 'REPORT, SUB_REPORT'; /** * Description */ description?: string; version?: number; /** * a JSON value with report template configuration */ configuration: CsvReportTemplateConfig | PdfReportTemplateConfig; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; /** * A JSON value representing the entity relations query object. */ export type EntityRelationsQuery = { /** * Main search parameters. */ parameters?: RelationsSearchParameters; /** * Main filters. */ filters?: Array; }; export type RelationsSearchParameters = { /** * Root entity id to start search from. */ rootId?: string; /** * Type of the root entity. */ rootType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * Type of the root entity. */ direction?: 'FROM' | 'TO'; /** * Type of the relation. */ relationTypeGroup?: 'COMMON' | 'DASHBOARD' | 'FROM_ENTITY_GROUP' | 'RULE_CHAIN' | 'RULE_NODE' | 'EDGE' | 'EDGE_AUTO_ASSIGN_RULE_CHAIN'; /** * Maximum level of the search depth. */ maxLevel?: number; /** * Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. */ fetchLastLevelOnly?: boolean; }; export type EntityRelationInfo = { /** * JSON object with [from] Entity Id. */ from: EntityId; /** * JSON object with [to] Entity Id. */ to: EntityId; /** * String value of relation type. */ type: string; /** * Represents the type group of the relation. */ typeGroup: 'COMMON' | 'DASHBOARD' | 'FROM_ENTITY_GROUP' | 'RULE_CHAIN' | 'RULE_NODE' | 'EDGE' | 'EDGE_AUTO_ASSIGN_RULE_CHAIN'; version?: number; /** * Name of the entity for [from] direction. */ readonly fromName?: string; /** * Name of the entity for [to] direction. */ readonly toName?: string; /** * Additional parameters of the relation */ additionalInfo?: JsonNode; }; /** * A JSON value representing the queue. */ export type Queue = { id?: QueueId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; name?: string; topic?: string; pollInterval?: number; partitions?: number; consumerPerPartition?: boolean; packProcessingTimeout?: number; submitStrategy?: SubmitStrategy; processingStrategy?: ProcessingStrategy; additionalInfo?: JsonNode; }; export type QueueId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'QUEUE'; }; export type AggregationParams = { aggregation?: 'MIN' | 'MAX' | 'AVG' | 'SUM' | 'COUNT' | 'NONE'; intervalType?: 'MILLISECONDS' | 'WEEK' | 'WEEK_ISO' | 'MONTH' | 'QUARTER'; tzId?: string; interval?: number; }; export type BaseReadTsKvQuery = { key?: string; startTs?: number; endTs?: number; aggParameters?: AggregationParams; limit?: number; order?: string; id?: number; interval?: number; aggregation?: 'MIN' | 'MAX' | 'AVG' | 'SUM' | 'COUNT' | 'NONE'; }; /** * A JSON value representing the OTA Package. */ export type SaveOtaPackageInfoRequest = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; /** * Timestamp of the ota package creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the ota package can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Device Profile Id. Device Profile Id of the ota package can't be changed. */ readonly deviceProfileId?: DeviceProfileId; /** * OTA Package type. */ type?: 'FIRMWARE' | 'SOFTWARE'; /** * OTA Package title. */ readonly title?: string; /** * OTA Package version. */ readonly version?: string; /** * OTA Package tag. */ readonly tag?: string; /** * OTA Package url. */ readonly url?: string; /** * Indicates OTA Package 'has data'. Field is returned from DB ('true' if data exists or url is set). If OTA Package 'has data' is 'false' we can not assign the OTA Package to the Device or Device Profile. */ readonly hasData?: boolean; /** * OTA Package file name. */ readonly fileName?: string; /** * OTA Package content type. */ readonly contentType?: string; /** * OTA Package checksum algorithm. */ checksumAlgorithm?: 'MD5' | 'SHA256' | 'SHA384' | 'SHA512' | 'CRC32' | 'MURMUR3_32' | 'MURMUR3_128'; /** * OTA Package checksum. */ readonly checksum?: string; /** * OTA Package data size. */ readonly dataSize?: number; /** * Indicates OTA Package uses url. Should be 'true' if uses url or 'false' if will be used data. */ readonly usesUrl?: boolean; readonly name?: string; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OtaPackageInfo = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; /** * Timestamp of the ota package creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the ota package can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Device Profile Id. Device Profile Id of the ota package can't be changed. */ readonly deviceProfileId?: DeviceProfileId; /** * OTA Package type. */ type?: 'FIRMWARE' | 'SOFTWARE'; /** * OTA Package title. */ readonly title?: string; /** * OTA Package version. */ readonly version?: string; /** * OTA Package tag. */ readonly tag?: string; /** * OTA Package url. */ readonly url?: string; /** * Indicates OTA Package 'has data'. Field is returned from DB ('true' if data exists or url is set). If OTA Package 'has data' is 'false' we can not assign the OTA Package to the Device or Device Profile. */ readonly hasData?: boolean; /** * OTA Package file name. */ readonly fileName?: string; /** * OTA Package content type. */ readonly contentType?: string; /** * OTA Package checksum algorithm. */ checksumAlgorithm?: 'MD5' | 'SHA256' | 'SHA384' | 'SHA512' | 'CRC32' | 'MURMUR3_32' | 'MURMUR3_128'; /** * OTA Package checksum. */ readonly checksum?: string; /** * OTA Package data size. */ readonly dataSize?: number; readonly name?: string; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OAuth2BasicMapperConfig = { /** * Email attribute key of OAuth2 principal attributes. Must be specified for BASIC mapper type and cannot be specified for GITHUB type */ emailAttributeKey?: string; /** * First name attribute key */ firstNameAttributeKey?: string; /** * Last name attribute key */ lastNameAttributeKey?: string; /** * Tenant naming strategy. For DOMAIN type, domain for tenant name will be taken from the email (substring before '@') */ tenantNameStrategy: 'DOMAIN' | 'EMAIL' | 'CUSTOM'; /** * Tenant name pattern for CUSTOM naming strategy. OAuth2 attributes in the pattern can be used by enclosing attribute key in '%{' and '}' */ tenantNamePattern?: string; /** * Customer name pattern. When creating a user on the first OAuth2 log in, if specified, customer name will be used to create or find existing customer in the platform and assign customerId to the user */ customerNamePattern?: string; /** * Name of the tenant's dashboard to set as default dashboard for newly created user */ defaultDashboardName?: string; /** * Whether default dashboard should be open in full screen */ alwaysFullScreen?: boolean; parentCustomerNamePattern?: string; userGroupsNamePattern?: Array; }; export type OAuth2ClientRegistrationTemplate = { id?: OAuth2ClientRegistrationTemplateId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * OAuth2 provider identifier (e.g. its name) */ providerId: string; /** * Default config for mapping OAuth2 log in response to platform entities */ mapperConfig?: OAuth2MapperConfig; /** * Default authorization URI of the OAuth2 provider */ authorizationUri?: string; /** * Default access token URI of the OAuth2 provider */ accessTokenUri?: string; /** * Default OAuth scopes that will be requested from OAuth2 platform */ scope?: Array; /** * Default user info URI of the OAuth2 provider */ userInfoUri?: string; /** * Default name of the username attribute in OAuth2 provider log in response */ userNameAttributeName?: string; /** * Default JSON Web Key URI of the OAuth2 provider */ jwkSetUri?: string; /** * Default client authentication method to use: 'BASIC' or 'POST' */ clientAuthenticationMethod?: string; /** * Comment for OAuth2 provider */ comment?: string; /** * Default log in button icon for OAuth2 provider */ loginButtonIcon?: string; /** * Default OAuth2 provider label */ loginButtonLabel?: string; /** * Help link for OAuth2 provider */ helpLink?: string; name?: string; additionalInfo?: JsonNode; }; export type OAuth2ClientRegistrationTemplateId = { /** * string */ id: string; }; export type OAuth2CustomMapperConfig = { url?: string; username?: string; password?: string; sendToken?: boolean; }; export type OAuth2MapperConfig = { /** * Whether user should be created if not yet present on the platform after successful authentication */ allowUserCreation?: boolean; /** * Whether user credentials should be activated when user is created after successful authentication */ activateUser?: boolean; /** * Type of OAuth2 mapper. Depending on this param, different mapper config fields must be specified */ type: 'BASIC' | 'CUSTOM' | 'GITHUB' | 'APPLE'; /** * Mapper config for BASIC and GITHUB mapper types */ basic?: OAuth2BasicMapperConfig; /** * Mapper config for CUSTOM mapper type */ custom?: OAuth2CustomMapperConfig; }; export type OAuth2Client = { id?: OAuth2ClientId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * Additional info of OAuth2 client (e.g. providerName) */ additionalInfo: JsonNode; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Oauth2 client title */ title: string; /** * Config for mapping OAuth2 log in response to platform entities */ mapperConfig: OAuth2MapperConfig; /** * OAuth2 client ID. Cannot be empty */ clientId: string; /** * OAuth2 client secret. Cannot be empty */ clientSecret: string; /** * Authorization URI of the OAuth2 provider. Cannot be empty */ authorizationUri: string; /** * Access token URI of the OAuth2 provider. Cannot be empty */ accessTokenUri: string; /** * OAuth scopes that will be requested from OAuth2 platform. Cannot be empty */ scope: Array; /** * User info URI of the OAuth2 provider */ userInfoUri?: string; /** * Name of the username attribute in OAuth2 provider response. Cannot be empty */ userNameAttributeName: string; /** * JSON Web Key URI of the OAuth2 provider */ jwkSetUri?: string; /** * Client authentication method to use: 'BASIC' or 'POST'. Cannot be empty */ clientAuthenticationMethod: string; /** * OAuth2 provider label. Cannot be empty */ loginButtonLabel: string; /** * Log in button icon for OAuth2 provider */ loginButtonIcon?: string; /** * List of platforms for which usage of the OAuth2 client is allowed (empty for all allowed) */ platforms?: Array<'WEB' | 'ANDROID' | 'IOS'>; readonly name?: string; readonly ownerId?: EntityId; }; export type OAuth2ClientId = { /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; export type AffectedTenantAdministratorsFilter = Omit & { type: 'AFFECTED_TENANT_ADMINISTRATORS'; }; export type AffectedUserFilter = Omit & { type: 'AFFECTED_USER'; }; export type AllUsersFilter = Omit & { type: 'ALL_USERS'; }; export type CustomerUsersFilter = Omit & { customerId: string; type: 'CUSTOMER_USERS'; }; export type MicrosoftTeamsNotificationTargetConfig = Omit & { webhookUrl: string; channelName: string; useOldApi?: boolean; id?: unknown; title?: string; email?: string; firstName?: string; lastName?: string; type: 'MICROSOFT_TEAMS'; }; export type NotificationTarget = { id?: NotificationTargetId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; name: string; configuration: MicrosoftTeamsNotificationTargetConfig | PlatformUsersNotificationTargetConfig | SlackNotificationTargetConfig; }; export type NotificationTargetConfig = { description?: string; type: string; }; export type OriginatorEntityOwnerUsersFilter = Omit & { type: 'ORIGINATOR_ENTITY_OWNER_USERS'; }; export type PlatformUsersNotificationTargetConfig = Omit & { usersFilter: AffectedTenantAdministratorsFilter | AffectedUserFilter | AllUsersFilter | CustomerUsersFilter | OriginatorEntityOwnerUsersFilter | SystemAdministratorsFilter | TenantAdministratorsFilter | UserGroupListFilter | UserListFilter | UserRoleFilter; type: 'PLATFORM_USERS'; }; export type SlackConversation = { type: 'DIRECT' | 'PUBLIC_CHANNEL' | 'PRIVATE_CHANNEL'; id: string; name: string; wholeName?: string; email?: string; title?: string; }; export type SlackNotificationTargetConfig = Omit & { conversationType?: 'DIRECT' | 'PUBLIC_CHANNEL' | 'PRIVATE_CHANNEL'; conversation: SlackConversation; type: 'SLACK'; }; export type SystemAdministratorsFilter = Omit & { type: 'SYSTEM_ADMINISTRATORS'; }; export type TenantAdministratorsFilter = Omit & { tenantsIds?: Array; tenantProfilesIds?: Array; type: 'TENANT_ADMINISTRATORS'; }; export type UserGroupListFilter = Omit & { groupsIds: Array; type: 'UserGroupListFilter'; }; export type UserListFilter = Omit & { usersIds: Array; type: 'USER_LIST'; }; export type UserRoleFilter = Omit & { rolesIds: Array; type: 'UserRoleFilter'; }; export type UsersFilter = { type: string; }; export type PageDataUser = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type MobileAppNotificationDeliveryMethodConfig = Omit & { firebaseServiceAccountCredentialsFileName?: string; firebaseServiceAccountCredentials?: string; useSystemSettings?: boolean; method: 'MOBILE_APP'; }; export type NotificationDeliveryMethodConfig = { method: string; }; export type NotificationSettings = { deliveryMethodsConfigs: { [key: string]: MobileAppNotificationDeliveryMethodConfig | SlackNotificationDeliveryMethodConfig; }; }; export type SlackNotificationDeliveryMethodConfig = Omit & { botToken: string; method: 'SLACK'; }; export type NotificationPref = { enabled?: boolean; enabledDeliveryMethods: { [key: string]: boolean; }; }; export type UserNotificationSettings = { prefs: { [key: string]: NotificationPref; }; }; export type AlarmAssignmentNotificationRuleTriggerConfig = Omit & { alarmTypes?: Array; alarmSeverities?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; alarmStatuses?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; notifyOn: Array<'ASSIGNED' | 'UNASSIGNED'>; triggerType?: 'ALARM_ASSIGNMENT'; }; export type AlarmCommentNotificationRuleTriggerConfig = Omit & { alarmTypes?: Array; alarmSeverities?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; alarmStatuses?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; onlyUserComments?: boolean; notifyOnCommentUpdate?: boolean; triggerType?: 'ALARM_COMMENT'; }; export type AlarmNotificationRuleTriggerConfig = Omit & { alarmTypes?: Array; alarmSeverities?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; notifyOn: Array<'CREATED' | 'SEVERITY_CHANGED' | 'ACKNOWLEDGED' | 'CLEARED'>; clearRule?: ClearRule; triggerType?: 'ALARM'; }; export type ApiUsageLimitNotificationRuleTriggerConfig = Omit & { apiFeatures?: Array<'TRANSPORT' | 'DB' | 'RE' | 'JS' | 'TBEL' | 'EMAIL' | 'SMS' | 'ALARM' | 'REPORT'>; notifyOn?: Array<'ENABLED' | 'WARNING' | 'DISABLED'>; triggerType?: 'API_USAGE_LIMIT'; }; export type ClearRule = { alarmStatuses?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; }; export type DeviceActivityNotificationRuleTriggerConfig = Omit & { devices?: Array; deviceProfiles?: Array; notifyOn: Array<'ACTIVE' | 'INACTIVE'>; triggerType?: 'DEVICE_ACTIVITY'; }; export type EdgeCommunicationFailureNotificationRuleTriggerConfig = Omit & { edges?: Array; triggerType?: 'EDGE_COMMUNICATION_FAILURE'; }; export type EdgeConnectionNotificationRuleTriggerConfig = Omit & { edges?: Array; notifyOn?: Array<'CONNECTED' | 'DISCONNECTED'>; triggerType?: 'EDGE_CONNECTION'; }; export type EntitiesLimitNotificationRuleTriggerConfig = Omit & { entityTypes?: Array<'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'>; threshold?: number; triggerType?: 'ENTITIES_LIMIT'; }; export type EntityActionNotificationRuleTriggerConfig = Omit & { entityTypes?: Array<'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'>; created?: boolean; updated?: boolean; deleted?: boolean; triggerType?: 'ENTITY_ACTION'; }; export type EscalatedNotificationRuleRecipientsConfig = Omit & { escalationTable: { [key: string]: Array; }; triggerType: 'ALARM'; }; export type IntegrationLifecycleEventNotificationRuleTriggerConfig = Omit & { integrationTypes?: Array<'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'>; integrations?: Array; notifyOn?: Array<'CREATED' | 'STARTED' | 'ACTIVATED' | 'SUSPENDED' | 'UPDATED' | 'STOPPED' | 'DELETED' | 'FAILED' | 'DEACTIVATED' | 'RELATION_UPDATED' | 'RELATION_DELETED'>; onlyOnError?: boolean; triggerType?: 'IntegrationLifecycleEventNotificationRuleTriggerConfig'; }; export type NewPlatformVersionNotificationRuleTriggerConfig = Omit & { triggerType?: 'NEW_PLATFORM_VERSION'; }; export type NotificationRule = { id?: NotificationRuleId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; name: string; enabled?: boolean; templateId: NotificationTemplateId; triggerType: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; triggerConfig: AlarmAssignmentNotificationRuleTriggerConfig | AlarmCommentNotificationRuleTriggerConfig | AlarmNotificationRuleTriggerConfig | ApiUsageLimitNotificationRuleTriggerConfig | DeviceActivityNotificationRuleTriggerConfig | EdgeCommunicationFailureNotificationRuleTriggerConfig | EdgeConnectionNotificationRuleTriggerConfig | EntitiesLimitNotificationRuleTriggerConfig | EntityActionNotificationRuleTriggerConfig | IntegrationLifecycleEventNotificationRuleTriggerConfig | NewPlatformVersionNotificationRuleTriggerConfig | RateLimitsNotificationRuleTriggerConfig | ResourcesShortageNotificationRuleTriggerConfig | RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig | TaskProcessingFailureNotificationRuleTriggerConfig; recipientsConfig: EscalatedNotificationRuleRecipientsConfig; additionalConfig?: NotificationRuleConfig; }; export type NotificationRuleConfig = { description?: string; }; export type NotificationRuleRecipientsConfig = { triggerType: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; }; export type NotificationRuleTriggerConfig = { triggerType?: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; }; export type RateLimitsNotificationRuleTriggerConfig = Omit & { apis?: Array<'ENTITY_EXPORT' | 'ENTITY_IMPORT' | 'NOTIFICATION_REQUESTS' | 'NOTIFICATION_REQUESTS_PER_RULE' | 'REST_REQUESTS_PER_TENANT' | 'REST_REQUESTS_PER_CUSTOMER' | 'WS_UPDATES_PER_SESSION' | 'CASSANDRA_WRITE_QUERIES_CORE' | 'CASSANDRA_READ_QUERIES_CORE' | 'CASSANDRA_WRITE_QUERIES_RULE_ENGINE' | 'CASSANDRA_READ_QUERIES_RULE_ENGINE' | 'CASSANDRA_READ_QUERIES_MONOLITH' | 'CASSANDRA_WRITE_QUERIES_MONOLITH' | 'CASSANDRA_QUERIES' | 'EDGE_EVENTS' | 'EDGE_EVENTS_PER_EDGE' | 'EDGE_UPLINK_MESSAGES' | 'EDGE_UPLINK_MESSAGES_PER_EDGE' | 'INTEGRATION_MSGS_PER_TENANT' | 'INTEGRATION_MSGS_PER_DEVICE' | 'INTEGRATION_MSGS_PER_ASSET' | 'INTEGRATION_EVENTS' | 'CONVERTER_EVENTS' | 'REPORTS' | 'PASSWORD_RESET' | 'TWO_FA_VERIFICATION_CODE_SEND' | 'TWO_FA_VERIFICATION_CODE_CHECK' | 'TRANSPORT_MESSAGES_PER_TENANT' | 'TRANSPORT_MESSAGES_PER_DEVICE' | 'TRANSPORT_MESSAGES_PER_GATEWAY' | 'TRANSPORT_MESSAGES_PER_GATEWAY_DEVICE' | 'EMAILS' | 'WS_SUBSCRIPTIONS' | 'CALCULATED_FIELD_DEBUG_EVENTS' | 'TRENDZ_PUBLIC_SYNC'>; triggerType?: 'RATE_LIMITS'; }; export type ResourcesShortageNotificationRuleTriggerConfig = Omit & { cpuThreshold?: number; ramThreshold?: number; storageThreshold?: number; triggerType?: 'RESOURCES_SHORTAGE'; }; export type RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig = Omit & { ruleChains?: Array; ruleChainEvents?: Array<'CREATED' | 'STARTED' | 'ACTIVATED' | 'SUSPENDED' | 'UPDATED' | 'STOPPED' | 'DELETED' | 'FAILED' | 'DEACTIVATED' | 'RELATION_UPDATED' | 'RELATION_DELETED'>; onlyRuleChainLifecycleFailures?: boolean; trackRuleNodeEvents?: boolean; ruleNodeEvents?: Array<'CREATED' | 'STARTED' | 'ACTIVATED' | 'SUSPENDED' | 'UPDATED' | 'STOPPED' | 'DELETED' | 'FAILED' | 'DEACTIVATED' | 'RELATION_UPDATED' | 'RELATION_DELETED'>; onlyRuleNodeLifecycleFailures?: boolean; triggerType?: 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT'; }; export type TaskProcessingFailureNotificationRuleTriggerConfig = Omit & { triggerType?: 'TASK_PROCESSING_FAILURE'; }; export type NotificationRequestPreview = { processedTemplates?: { [key: string]: EmailDeliveryMethodNotificationTemplate | MicrosoftTeamsDeliveryMethodNotificationTemplate | MobileAppDeliveryMethodNotificationTemplate | SlackDeliveryMethodNotificationTemplate | SmsDeliveryMethodNotificationTemplate | WebDeliveryMethodNotificationTemplate; }; totalRecipientsCount?: number; recipientsCountByTarget?: { [key: string]: number; }; recipientsPreview?: Array; }; /** * A JSON value representing the signup request. */ export type SignUpRequest = { /** * List of sign-up form fields */ fields?: { [key: string]: string; }; /** * Response from reCAPTCHA validation */ recaptchaResponse?: string; /** * For mobile apps only. Mobile app package name */ pkgName?: string; /** * For mobile apps only. Mobile app package platform */ platform?: 'WEB' | 'ANDROID' | 'IOS'; /** * For mobile apps only. Mobile app secret */ appSecret?: string; }; /** * Reset password request. */ export type ResetPasswordRequest = { /** * The reset token to verify */ resetToken?: string; /** * The new password to set */ password?: string; }; /** * The JSON object representing the reset password email request. */ export type ResetPasswordEmailRequest = { /** * The email of the user */ email?: string; }; export type OAuth2ClientLoginInfo = { /** * OAuth2 client name */ name?: string; /** * Name of the icon, displayed on OAuth2 log in button */ icon?: string; /** * URI for OAuth2 log in. On HTTP GET request to this URI, it redirects to the OAuth2 provider page */ url?: string; }; /** * Activate user request. */ export type ActivateUserRequest = { /** * The activate token to verify */ activateToken?: string; /** * The new password to set */ password?: string; }; /** * JWT Pair */ export type JwtPair = { /** * The JWT Access Token. Used to perform API calls. */ token?: string; /** * The JWT Refresh Token. Used to get new JWT Access Token if old one has expired. */ refreshToken?: string; scope?: 'SYS_ADMIN' | 'TENANT_ADMIN' | 'CUSTOMER_USER' | 'REFRESH_TOKEN' | 'PRE_VERIFICATION_TOKEN' | 'MFA_CONFIGURATION_TOKEN'; }; export type MobileAppBundleId = { /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; export type QrCodeConfig = { showOnHomePage?: boolean; badgeEnabled?: boolean; qrCodeLabelEnabled?: boolean; badgePosition?: 'RIGHT' | 'LEFT'; qrCodeLabel?: string; }; /** * A JSON value representing the mobile apps configuration */ export type QrCodeSettings = { id?: QrCodeSettingsId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Use settings from system level */ useSystemSettings?: boolean; /** * Type of application: true means use default Thingsboard app */ useDefaultApp?: boolean; /** * Mobile app bundle. */ mobileAppBundleId?: MobileAppBundleId; /** * QR code config configuration. */ qrCodeConfig: QrCodeConfig; /** * Indicates if google play link is available */ androidEnabled?: boolean; /** * Indicates if apple store link is available */ iosEnabled?: boolean; readonly googlePlayLink?: string; readonly appStoreLink?: string; }; export type QrCodeSettingsId = { /** * string */ id: string; }; export type CustomMobilePage = Omit & { /** * Path to custom page */ path?: string; /** * Page label */ label?: string; /** * Indicates if page is visible */ visible: boolean; /** * URL of the page icon */ icon?: string; type?: 'CUSTOM'; }; export type DashboardPage = Omit & { /** * Dashboard id */ dashboardId?: string; /** * Page label */ label?: string; /** * Indicates if page is visible */ visible: boolean; /** * URL of the page icon */ icon?: string; type?: 'DASHBOARD'; }; export type DefaultMobilePage = Omit & { /** * Identifier for default page */ id?: 'HOME' | 'ALARMS' | 'DEVICES' | 'CUSTOMERS' | 'ASSETS' | 'AUDIT_LOGS' | 'NOTIFICATIONS' | 'DEVICE_LIST' | 'DASHBOARDS'; /** * Page label */ label?: string; /** * Indicates if page is visible */ visible: boolean; /** * URL of the page icon */ icon?: string; type?: 'DEFAULT'; }; /** * A JSON value representing the Mobile Application Bundle. */ export type MobileAppBundle = { id?: MobileAppBundleId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application bundle title. Cannot be empty */ title: string; /** * Application bundle description. */ description?: string; /** * Android application id */ androidAppId?: MobileAppId; /** * IOS application id */ iosAppId?: MobileAppId; /** * Application layout configuration */ layoutConfig?: MobileLayoutConfig; /** * Application self registration configuration */ selfRegistrationParams?: MobileSelfRegistrationParams; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Mobile app bundle title */ readonly name?: string; }; export type MobileAppId = { /** * ID of the entity, time-based UUID v1 */ id: string; entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; export type MobileLayoutConfig = { /** * List of pages */ pages?: Array; }; export type MobilePage = { type?: 'DEFAULT' | 'DASHBOARD' | 'WEB_VIEW' | 'CUSTOM'; visible?: boolean; }; export type MobileRedirectParams = { /** * Mobile application verification settings. Used for callback to mobile application once user is registered. */ scheme?: string; /** * Mobile application verification settings. Used for callback to mobile application once user is registered. */ host?: string; }; export type MobileSelfRegistrationParams = Omit & { /** * Indicates if self-registration is allowed via sign-up form */ enabled?: boolean; /** * The text message to appear on login form */ title: string; /** * Captcha site key for 'I'm not a robot' validation */ captcha: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; /** * List of sign-up form fields */ signUpFields: Array; /** * Show or hide 'Privacy Policy' */ showPrivacyPolicy?: boolean; /** * Show or hide 'Terms of Use' */ showTermsOfUse?: boolean; /** * Recipient to use for notifications when new user self-registered. */ notificationRecipient?: NotificationTargetId; /** * Prefix to add to created customer */ customerTitlePrefix?: string; /** * Id of the customer group customer wil be added to. */ customerGroupId?: EntityGroupId; /** * Group Permissions to assign for the new customer user. */ permissions: Array; /** * Default dashboard params */ defaultDashboard?: DefaultDashboardParams; /** * Home dashboard params */ homeDashboard?: HomeDashboardParams; /** * Custom menu id */ customMenuId?: CustomMenuId; /** * Privacy policy text. Supports HTML. */ privacyPolicy?: string; /** * Terms of User text. Supports HTML. */ termsOfUse?: string; /** * Mobile redirect params. */ redirect: MobileRedirectParams; type?: 'MobileSelfRegistrationParams'; }; export type WebViewPage = Omit & { /** * Url */ url?: string; /** * Page label */ label?: string; /** * Indicates if page is visible */ visible: boolean; /** * URL of the page icon */ icon?: string; type?: 'WEB_VIEW'; }; /** * A JSON value representing the Mobile Application. */ export type MobileApp = { id?: MobileAppId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application package name. Cannot be empty */ pkgName: string; /** * Application title */ title?: string; /** * Application secret. The length must be at least 16 characters */ appSecret: string; /** * Application platform type: ANDROID or IOS */ platformType: 'WEB' | 'ANDROID' | 'IOS'; /** * Application status: PUBLISHED, DEPRECATED, SUSPENDED, DRAFT */ status: 'DRAFT' | 'PUBLISHED' | 'DEPRECATED' | 'SUSPENDED'; /** * Application version info */ versionInfo?: MobileAppVersionInfo; /** * Application store information */ storeInfo?: StoreInfo; /** * Mobile app package name */ readonly name?: string; }; export type MobileAppVersionInfo = { /** * Minimum supported version */ minVersion?: string; /** * Release notes of minimum supported version */ minVersionReleaseNotes?: string; /** * Latest supported version */ latestVersion?: string; /** * Release notes of latest supported version */ latestVersionReleaseNotes?: string; }; export type StoreInfo = { appId?: string; sha256CertFingerprints?: string; storeLink?: string; }; export type ConverterId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'CONVERTER'; }; /** * A JSON value representing the integration. */ export type Integration = { /** * JSON object with the Integration Id. Specify this field to update the Integration. Referencing non-existing Integration Id will cause error. Omit this field to create new Integration. */ id?: IntegrationId; /** * Timestamp of the integration creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * Integration Name */ name: string; /** * The type of the integration */ type: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Boolean flag to enable/disable the integration */ enabled?: boolean; /** * Boolean flag to allow/disallow the integration to create devices or assets that send message and do not exist in the system yet */ allowCreateDevicesOrAssets?: boolean; version?: number; /** * JSON object with the Uplink Converter Id */ defaultConverterId: ConverterId; /** * JSON object with the Downlink Converter Id */ downlinkConverterId?: ConverterId; /** * String value used by HTTP based integrations for the base URL construction and by the remote integrations. Remote integration uses this value along with the 'secret' for kind of security and validation to be able to connect to the platform using Grpc */ routingKey: string; /** * String value used by the remote integrations. Remote integration uses this value along with the 'routingKey' for kind of security and validation to be able to connect to the platform using Grpc */ secret?: string; /** * JSON object representing integration configuration. Each integration type has specific configuration with the connectivity parameters (like 'host' and 'port' for MQTT type or 'baseUrl' for HTTP based type, etc.) and other important parameters dependent on the integration type */ configuration: JsonNode; /** * Additional parameters of the integration */ additionalInfo?: JsonNode; /** * Boolean flag that specifies that is regular or edge template integration */ edgeTemplate?: boolean; /** * Boolean flag to enable/disable the integration to be executed remotely. Remote integration is launched in a separate microservice. Local integration is executed by the platform core */ remote?: boolean; }; export type IntegrationId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'INTEGRATION'; }; export type CalculatedFieldDebugEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing the entity id in the event body */ entityId?: string; /** * String value representing the entity type */ entityType?: 'DEVICE'; /** * String value representing the message id in the rule engine */ msgId?: string; /** * String value representing the message type */ msgType?: string; /** * String value representing the arguments that were used in the calculation performed */ arguments?: string; /** * String value representing the result of a calculation */ result?: string; error?: boolean; eventType: 'DEBUG_CALCULATED_FIELD'; }; export type DebugConverterEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; type?: string; in?: string; out?: string; metadata?: string; error?: boolean; eventType: 'DebugConverterEventFilter'; }; export type DebugIntegrationEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; type?: string; message?: string; statusIntegration?: string; error?: boolean; eventType: 'DebugIntegrationEventFilter'; }; export type ErrorEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * String value representing the method name when the error happened */ method?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; eventType: 'ERROR'; }; export type EventFilter = { /** * String value representing the event type */ eventType: 'ERROR' | 'LC_EVENT' | 'STATS' | 'RAW_DATA' | 'DEBUG_RULE_NODE' | 'DEBUG_RULE_CHAIN' | 'DEBUG_CONVERTER' | 'DEBUG_INTEGRATION' | 'DEBUG_CALCULATED_FIELD'; notEmpty?: boolean; }; export type LifeCycleEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * String value representing the lifecycle event type */ event?: string; /** * String value representing status of the lifecycle event */ status?: 'Success' | 'Failure'; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; eventType: 'LC_EVENT'; }; export type RawDataEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * String value representing the uuid */ uuid?: string; /** * String value representing the message type */ messageType?: string; /** * String value representing the message */ message?: string; eventType: 'RawDataEventFilter'; }; export type RuleChainDebugEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing the message */ message?: string; error?: boolean; eventType: 'DEBUG_RULE_CHAIN'; }; export type RuleNodeDebugEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing msg direction type (incoming to entity or outcoming from entity) */ msgDirectionType?: 'IN' | 'OUT'; /** * String value representing the entity id in the event body (originator of the message) */ entityId?: string; /** * String value representing the entity type */ entityType?: 'DEVICE'; /** * String value representing the message id in the rule engine */ msgId?: string; /** * String value representing the message type */ msgType?: string; /** * String value representing the type of message routing */ relationType?: string; /** * The case insensitive 'contains' filter based on data (key and value) for the message. */ dataSearch?: string; /** * The case insensitive 'contains' filter based on metadata (key and value) for the message. */ metadataSearch?: string; error?: boolean; eventType: 'DEBUG_RULE_NODE'; }; export type StatisticsEventFilter = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; /** * The minimum number of successfully processed messages */ minMessagesProcessed?: number; /** * The maximum number of successfully processed messages */ maxMessagesProcessed?: number; /** * The minimum number of errors occurred during messages processing */ minErrorsOccurred?: number; /** * The maximum number of errors occurred during messages processing */ maxErrorsOccurred?: number; eventType: 'STATS'; }; export type EventId = { /** * string */ id: string; }; export type EventInfo = { id?: EventId; /** * Timestamp of the event creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Event type */ type?: string; /** * string */ uid?: string; /** * JSON object with Entity Id for which event is created. */ readonly entityId?: EntityId; body?: JsonNode; }; export type PageDataEventInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; /** * The entity view search query JSON */ export type EntityViewSearchQuery = { /** * Main search parameters. */ parameters?: RelationsSearchParameters; /** * Type of the relation between root entity and device (e.g. 'Contains' or 'Manages'). */ relationType?: string; /** * Array of entity view types to filter the related entities (e.g. 'Temperature Sensor', 'Smoke Sensor'). */ entityViewTypes?: Array; }; export type AttributesEntityView = { /** * List of client-side attribute keys to expose */ cs: Array; /** * List of server-side attribute keys to expose */ ss: Array; /** * List of shared attribute keys to expose */ sh: Array; }; /** * A JSON object representing the entity view. */ export type EntityView = { /** * JSON object with the referenced Entity Id (Device or Asset). */ entityId: EntityId; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Entity View name */ name: string; /** * Device Profile Name */ type: string; /** * Set of telemetry and attribute keys to expose via Entity View. */ keys?: TelemetryEntityView; /** * Represents the start time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ startTimeMs?: number; /** * Represents the end time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ endTimeMs?: number; version?: number; /** * JSON object with the Entity View Id. Specify this field to update the Entity View. Referencing non-existing Entity View Id will cause error. Omit this field to create new Entity View. */ id?: EntityViewId; /** * Timestamp of the Entity View creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type EntityViewId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ENTITY_VIEW'; }; export type TelemetryEntityView = { /** * List of time-series data keys to expose */ timeseries: Array; /** * JSON object with attributes to expose */ attributes: AttributesEntityView; }; /** * A JSON value representing the entity group. */ export type EntityGroup = { /** * JSON object with the EntityGroupId Id. Specify this field to update the Entity Group. Referencing non-existing Entity Group Id will cause error. Omit this field to create new Entity Group. */ id?: EntityGroupId; /** * Timestamp of the entity group creation, in milliseconds */ readonly createdTime?: number; type: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * Name of the entity group */ name: string; /** * JSON object with the owner of the group - Tenant or Customer Id. */ ownerId?: EntityId; /** * Arbitrary JSON with additional information about the group */ additionalInfo?: JsonNode; /** * JSON with the configuration for UI components: list of columns, settings, actions, etc */ configuration?: JsonNode; version?: number; /** * Indicates special group 'All' that contains all entities and can't be deleted. */ groupAll?: boolean; /** * Indicates special edge group 'All' that contains all entities and can't be deleted. */ readonly edgeGroupAll?: boolean; }; export type EntityGroupInfo = { /** * JSON object with the EntityGroupId Id. Specify this field to update the Entity Group. Referencing non-existing Entity Group Id will cause error. Omit this field to create new Entity Group. */ id?: EntityGroupId; /** * Timestamp of the entity group creation, in milliseconds */ readonly createdTime?: number; type: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * Name of the entity group */ name: string; /** * JSON object with the owner of the group - Tenant or Customer Id. */ ownerId?: EntityId; /** * Arbitrary JSON with additional information about the group */ additionalInfo?: JsonNode; /** * JSON with the configuration for UI components: list of columns, settings, actions, etc */ configuration?: JsonNode; version?: number; /** * List of the entity group owners. */ ownerIds: Array; /** * Indicates special group 'All' that contains all entities and can't be deleted. */ groupAll?: boolean; /** * Indicates special edge group 'All' that contains all entities and can't be deleted. */ readonly edgeGroupAll?: boolean; }; /** * The Share Group Request JSON */ export type ShareGroupRequest = { /** * In case 'allUserGroup' is set to true, this property specifies the owner of the user group 'All'. Either Tenant or Customer Id. */ ownerId?: EntityId; /** * Indicate that the group should be shared with user group 'All' that belongs to Tenant or Customer (see 'ownerId' property description). */ allUserGroup: boolean; /** * In case 'allUserGroup' is set to false, this property specifies the specific user group that the entity group should be shared with. */ userGroupId?: EntityGroupId; /** * Used if 'roleIds' property is not present. if the value is 'true', creates role with read-only permissions. If the value is 'false', creates role with write permissions. */ readElseWrite?: boolean; /** * List of group role Ids that should be used to share the entity group with the user group. If not set, the platform will create new role (see 'readElseWrite' property description) */ roleIds?: Array; }; export type Dashboard = { /** * Title of the dashboard. */ title?: string; /** * Thumbnail picture for rendering of the dashboards in a grid view on mobile devices. */ readonly image?: string; /** * Hide dashboard from mobile devices. Useful if the dashboard is not designed for small screens. */ readonly mobileHide?: boolean; /** * Order on mobile devices. Useful to adjust sorting of the dashboards for mobile applications */ readonly mobileOrder?: number; /** * JSON object with main configuration of the dashboard: layouts, widgets, aliases, etc. The JSON structure of the dashboard configuration is quite complex. The easiest way to learn it is to export existing dashboard to JSON. */ configuration?: JsonNode; /** * Same as title of the dashboard. Read-only field. Update the 'title' to change the 'name' of the dashboard. */ readonly name?: string; resources?: Array; /** * JSON object with the dashboard Id. Specify existing dashboard Id to update the dashboard. Referencing non-existing dashboard id will cause error. Omit this field to create new dashboard. */ id?: DashboardId; /** * Timestamp of the dashboard creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the dashboard can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. */ customerId?: CustomerId; /** * List of assigned customers with their info. */ readonly assignedCustomers?: Array; version?: number; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type ShortCustomerInfo = { /** * JSON object with the customer Id. */ customerId?: CustomerId; /** * Title of the customer. */ title?: string; public?: boolean; }; export type EntityDataPageLink = { pageSize?: number; page?: number; textSearch?: string; sortOrder?: EntityDataSortOrder; dynamic?: boolean; }; /** * Entity data query to find entities. Page size is capped at 100. */ export type EntityDataQuery = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilter | DeviceSearchQueryFilter | DeviceTypeFilter | EdgeSearchQueryFilter | EdgeTypeFilter | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilter | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; pageLink?: EntityDataPageLink; entityFields?: Array; latestValues?: Array; }; export type EntityDataSortOrder = { key?: EntityKey; direction?: 'ASC' | 'DESC'; }; export type ComparisonTsValue = { current?: TsValue; previous?: TsValue; }; export type EntityData = { entityId?: EntityId; readAttrs?: boolean; readTs?: boolean; latest?: { [key: string]: { [key: string]: TsValue; }; }; timeseries?: { [key: string]: Array; }; aggLatest?: { [key: string]: ComparisonTsValue; }; }; export type PageDataEntityData = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type TsValue = { ts?: number; value?: string | number | boolean; count?: number; }; /** * Contains unique time series and attribute key names discovered from entities matching a query. Used primarily for UI hints such as autocomplete suggestions. */ export type AvailableEntityKeys = { /** * Set of entity types found among the matched entities. */ entityTypes: Array<'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'>; timeseries: Array; attribute: Array; }; /** * A JSON value representing the entity count query. See API call notes above for more details. */ export type EntityCountQuery = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilter | DeviceSearchQueryFilter | DeviceTypeFilter | EdgeSearchQueryFilter | EdgeTypeFilter | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilter | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; }; export type ComplexVersionCreateRequest = Omit & { syncStrategy?: 'MERGE' | 'OVERWRITE'; entityTypes?: { [key: string]: EntityTypeVersionCreateConfig; }; type?: 'COMPLEX'; }; export type EntityTypeVersionCreateConfig = { saveRelations?: boolean; saveAttributes?: boolean; saveCredentials?: boolean; saveCalculatedFields?: boolean; savePermissions?: boolean; saveGroupEntities?: boolean; syncStrategy?: 'MERGE' | 'OVERWRITE'; entityIds?: Array; allEntities?: boolean; }; export type SingleEntityVersionCreateRequest = Omit & { entityId?: EntityId; config?: VersionCreateConfig; type?: 'SINGLE_ENTITY'; }; export type VersionCreateConfig = { saveRelations?: boolean; saveAttributes?: boolean; saveCredentials?: boolean; saveCalculatedFields?: boolean; savePermissions?: boolean; saveGroupEntities?: boolean; }; export type VersionCreateRequest = { versionName?: string; branch?: string; type?: 'SINGLE_ENTITY' | 'COMPLEX'; }; export type EntityTypeVersionLoadConfig = { loadRelations?: boolean; loadAttributes?: boolean; loadCredentials?: boolean; loadCalculatedFields?: boolean; loadPermissions?: boolean; loadGroupEntities?: boolean; autoGenerateIntegrationKey?: boolean; removeOtherEntities?: boolean; findExistingEntityByName?: boolean; }; export type EntityTypeVersionLoadRequest = Omit & { entityTypes?: { [key: string]: EntityTypeVersionLoadConfig; }; rollbackOnError?: boolean; type?: 'ENTITY_TYPE'; }; export type SingleEntityVersionLoadRequest = Omit & { internalEntityId?: EntityId; externalEntityId?: EntityId; config?: VersionLoadConfig; type?: 'SINGLE_ENTITY'; }; export type VersionLoadConfig = { loadRelations?: boolean; loadAttributes?: boolean; loadCredentials?: boolean; loadCalculatedFields?: boolean; loadPermissions?: boolean; loadGroupEntities?: boolean; autoGenerateIntegrationKey?: boolean; }; export type VersionLoadRequest = { versionId?: string; type?: 'SINGLE_ENTITY' | 'ENTITY_TYPE'; }; export type EdqsSyncRequest = { objectTypes?: Array<'TENANT' | 'TENANT_PROFILE' | 'CUSTOMER' | 'QUEUE' | 'RPC' | 'RULE_CHAIN' | 'OTA_PACKAGE' | 'RESOURCE' | 'ROLE' | 'ENTITY_GROUP' | 'DEVICE_GROUP_OTA_PACKAGE' | 'GROUP_PERMISSION' | 'BLOB_ENTITY' | 'SCHEDULER_EVENT' | 'EVENT' | 'RULE_NODE' | 'CONVERTER' | 'INTEGRATION' | 'USER' | 'EDGE' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'DASHBOARD' | 'REPORT_TEMPLATE' | 'REPORT' | 'DEVICE_PROFILE' | 'DEVICE' | 'DEVICE_CREDENTIALS' | 'ASSET_PROFILE' | 'ASSET' | 'ENTITY_VIEW' | 'ALARM' | 'ENTITY_ALARM' | 'OAUTH2_CLIENT' | 'OAUTH2_DOMAIN' | 'OAUTH2_MOBILE' | 'USER_SETTINGS' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_RULE' | 'WHITE_LABELING' | 'CUSTOM_TRANSLATION' | 'ALARM_COMMENT' | 'API_USAGE_STATE' | 'QUEUE_STATS' | 'AUDIT_LOG' | 'RELATION' | 'ATTRIBUTE_KV' | 'LATEST_TS_KV'>; }; export type ToCoreEdqsRequest = { syncRequest?: EdqsSyncRequest; apiEnabled?: boolean; }; export type EdgeSearchQuery = { /** * Main search parameters. */ parameters?: RelationsSearchParameters; /** * Type of the relation between root entity and edge (e.g. 'Contains' or 'Manages'). */ relationType?: string; /** * Array of edge types to filter the related entities (e.g. 'Silos', 'Stores'). */ edgeTypes?: Array; }; /** * A JSON value representing the edge. */ export type Edge = { /** * JSON object with the Edge Id. Specify this field to update the Edge. Referencing non-existing Edge Id will cause error. Omit this field to create new Edge. */ id?: EdgeId; /** * Timestamp of the edge creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. */ readonly rootRuleChainId?: RuleChainId; /** * Unique Edge Name in scope of Tenant */ name: string; /** * Edge type */ type: string; /** * Label that may be used in widgets */ label?: string; /** * Edge routing key ('username') to authorize on cloud */ routingKey: string; /** * Edge secret ('password') to authorize on cloud */ secret: string; /** * Edge license key obtained from license portal */ edgeLicenseKey: string; /** * Edge uses this cloud URL to activate and periodically check it's license */ cloudEndpoint: string; version?: number; readonly ownerId?: EntityId; additionalInfo?: JsonNode; }; export type EdgeId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'EDGE'; }; export type SchedulerEventInfo = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * Timestamp of the scheduler event creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Originator Id */ readonly originatorId?: EntityId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type BulkImportRequest = { file?: string; mapping?: Mapping; customerId?: CustomerId; entityGroupId?: string; }; export type ColumnMapping = { type?: 'NAME' | 'TYPE' | 'LABEL' | 'SHARED_ATTRIBUTE' | 'SERVER_ATTRIBUTE' | 'TIMESERIES' | 'ACCESS_TOKEN' | 'X509' | 'MQTT_CLIENT_ID' | 'MQTT_USER_NAME' | 'MQTT_PASSWORD' | 'LWM2M_CLIENT_ENDPOINT' | 'LWM2M_CLIENT_SECURITY_CONFIG_MODE' | 'LWM2M_CLIENT_IDENTITY' | 'LWM2M_CLIENT_KEY' | 'LWM2M_CLIENT_CERT' | 'LWM2M_BOOTSTRAP_SERVER_SECURITY_MODE' | 'LWM2M_BOOTSTRAP_SERVER_PUBLIC_KEY_OR_ID' | 'LWM2M_BOOTSTRAP_SERVER_SECRET_KEY' | 'LWM2M_SERVER_SECURITY_MODE' | 'LWM2M_SERVER_CLIENT_PUBLIC_KEY_OR_ID' | 'LWM2M_SERVER_CLIENT_SECRET_KEY' | 'SNMP_HOST' | 'SNMP_PORT' | 'SNMP_VERSION' | 'SNMP_COMMUNITY_STRING' | 'IS_GATEWAY' | 'DESCRIPTION' | 'EDGE_LICENSE_KEY' | 'CLOUD_ENDPOINT' | 'ROUTING_KEY' | 'SECRET'; key?: string; }; export type Mapping = { columns?: Array; delimiter?: string; update?: boolean; header?: boolean; }; export type BulkImportResultEdge = { created?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; /** * A JSON value representing the Domain. */ export type Domain = { id?: DomainId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Domain name. Cannot be empty */ name: string; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Whether OAuth2 settings are enabled on Edge or not */ propagateToEdge?: boolean; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; /** * The device search query JSON */ export type DeviceSearchQuery = { /** * Main search parameters. */ parameters?: RelationsSearchParameters; /** * Type of the relation between root entity and device (e.g. 'Contains' or 'Manages'). */ relationType?: string; /** * Array of device types to filter the related entities (e.g. 'Temperature Sensor', 'Smoke Sensor'). */ deviceTypes?: Array; }; export type AlarmCondition = { /** * JSON array of alarm condition filters */ condition?: Array; /** * JSON object representing alarm condition type */ spec?: DurationAlarmConditionSpec | RepeatingAlarmConditionSpec | SimpleAlarmConditionSpec; }; export type AlarmConditionFilter = { /** * JSON object for specifying alarm condition by specific key */ key?: AlarmConditionFilterKey; /** * String representation of the type of the value */ valueType?: 'STRING' | 'NUMERIC' | 'BOOLEAN' | 'DATE_TIME'; /** * Value used in Constant comparison. For other types, such as TIME_SERIES or ATTRIBUTE, the predicate condition is used */ value?: unknown; /** * JSON object representing filter condition */ predicate?: BooleanFilterPredicate | ComplexFilterPredicate | NumericFilterPredicate | StringFilterPredicate; }; export type AlarmConditionFilterKey = { /** * The key type */ type?: 'ATTRIBUTE' | 'TIME_SERIES' | 'ENTITY_FIELD' | 'CONSTANT'; /** * String value representing the key */ key?: string; }; export type AlarmConditionSpec = { type: string; }; export type AlarmRule = { /** * JSON object representing the alarm rule condition */ condition?: AlarmCondition; /** * JSON object representing time interval during which the rule is active */ schedule?: AnyTimeSchedule | CustomTimeSchedule | SpecificTimeSchedule; /** * String value representing the additional details for an alarm rule */ alarmDetails?: string; /** * JSON object with the dashboard Id representing the reference to alarm details dashboard used by mobile application */ dashboardId?: DashboardId; }; export type AlarmSchedule = { type?: 'ANY_TIME' | 'SPECIFIC_TIME' | 'CUSTOM'; dynamicValue?: DynamicValueString; }; export type AllowCreateNewDevicesDeviceProfileProvisionConfiguration = Omit & { type: 'ALLOW_CREATE_NEW_DEVICES'; }; export type AnyTimeSchedule = Omit & { type?: 'ANY_TIME'; }; export type CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration = Omit & { type: 'CHECK_PRE_PROVISIONED_DEVICES'; }; export type ClientAttributesQueryingSnmpCommunicationConfig = Omit & { mappings?: Array; queryingFrequencyMs?: number; spec?: 'CLIENT_ATTRIBUTES_QUERYING'; }; export type CoapDeviceProfileTransportConfiguration = Omit & { coapDeviceTypeConfiguration?: DefaultCoapDeviceTypeConfiguration | EfentoCoapDeviceTypeConfiguration; clientSettings?: PowerSavingConfiguration; type: 'COAP'; }; export type CoapDeviceTypeConfiguration = { coapDeviceType: string; }; export type CustomTimeSchedule = Omit & { timezone?: string; items?: Array; type?: 'CUSTOM'; }; export type CustomTimeScheduleItem = { enabled?: boolean; dayOfWeek?: number; startsOn?: number; endsOn?: number; }; export type DefaultCoapDeviceTypeConfiguration = Omit & { transportPayloadTypeConfiguration?: JsonTransportPayloadConfiguration | ProtoTransportPayloadConfiguration; coapDeviceType: 'DEFAULT'; }; export type DefaultDeviceProfileConfiguration = Omit & { type: 'DEFAULT'; }; export type DefaultDeviceProfileTransportConfiguration = Omit & { type: 'DEFAULT'; }; /** * A JSON value representing the device profile. */ export type DeviceProfile = { /** * JSON object with the device profile Id. Specify this field to update the device profile. Referencing non-existing device profile Id will cause error. Omit this field to create new device profile. */ id?: DeviceProfileId; /** * Timestamp of the profile creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id that owns the profile. */ readonly tenantId?: TenantId; /** * Unique Device Profile Name in scope of Tenant. */ name?: string; /** * Device Profile description. */ description?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of device profiles in the grid view. */ image?: string; /** * Type of the profile. Always 'DEFAULT' for now. Reserved for future use. */ type?: 'DEFAULT'; /** * Type of the transport used to connect the device. Default transport supports HTTP, CoAP and MQTT. */ transportType?: 'DEFAULT' | 'MQTT' | 'COAP' | 'LWM2M' | 'SNMP'; /** * Provisioning strategy. */ provisionType?: 'DISABLED' | 'ALLOW_CREATE_NEW_DEVICES' | 'CHECK_PRE_PROVISIONED_DEVICES' | 'X509_CERTIFICATE_CHAIN'; /** * Reference to the rule chain. If present, the specified rule chain will be used to process all messages related to device, including telemetry, attribute updates, etc. Otherwise, the root rule chain will be used to process those messages. */ defaultRuleChainId?: RuleChainId; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to device details. */ defaultDashboardId?: DashboardId; /** * Rule engine queue name. If present, the specified queue will be used to store all unprocessed messages related to device, including telemetry, attribute updates, etc. Otherwise, the 'Main' queue will be used to store those messages. */ defaultQueueName?: string; /** * Unique provisioning key used by 'Device Provisioning' feature. */ provisionDeviceKey?: string; /** * Reference to the firmware OTA package. If present, the specified package will be used as default device firmware. */ firmwareId?: OtaPackageId; /** * Reference to the software OTA package. If present, the specified package will be used as default device software. */ softwareId?: OtaPackageId; /** * Reference to the edge rule chain. If present, the specified edge rule chain will be used on the edge to process all messages related to device, including telemetry, attribute updates, etc. Otherwise, the edge root rule chain will be used to process those messages. */ defaultEdgeRuleChainId?: RuleChainId; version?: number; /** * Used to mark the default profile. Default profile is used when the device profile is not specified during device creation. */ default?: boolean; /** * Complex JSON object that includes addition device profile configuration (transport, alarm rules, etc). */ profileData?: DeviceProfileData; }; export type DeviceProfileAlarm = { /** * String value representing the alarm rule id */ id?: string; /** * String value representing type of the alarm */ alarmType?: string; /** * Complex JSON object representing create alarm rules. The unique create alarm rule can be created for each alarm severity type. There can be 5 create alarm rules configured per a single alarm type. See method implementation notes and AlarmRule model for more details */ createRules?: { [key: string]: AlarmRule; }; /** * JSON object representing clear alarm rule */ clearRule?: AlarmRule; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; }; export type DeviceProfileConfiguration = { type: string; }; export type DeviceProfileData = { /** * JSON object of device profile configuration */ configuration?: DefaultDeviceProfileConfiguration; /** * JSON object of device profile transport configuration */ transportConfiguration?: CoapDeviceProfileTransportConfiguration | DefaultDeviceProfileTransportConfiguration | Lwm2mDeviceProfileTransportConfiguration | MqttDeviceProfileTransportConfiguration | SnmpDeviceProfileTransportConfiguration; /** * JSON object of provisioning strategy type per device profile */ provisionConfiguration?: AllowCreateNewDevicesDeviceProfileProvisionConfiguration | CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration | DisabledDeviceProfileProvisionConfiguration | X509CertificateChainProvisionConfiguration; /** * JSON array of alarm rules configuration per device profile */ alarms?: Array; }; export type DeviceProfileProvisionConfiguration = { provisionDeviceSecret?: string; type: string; }; export type DeviceProfileTransportConfiguration = { type: string; }; export type DisabledDeviceProfileProvisionConfiguration = Omit & { type: 'DISABLED'; }; export type DurationAlarmConditionSpec = Omit & { unit?: 'NANOSECONDS' | 'MICROSECONDS' | 'MILLISECONDS' | 'SECONDS' | 'MINUTES' | 'HOURS' | 'DAYS'; predicate?: FilterPredicateValueLong; type: 'DURATION'; }; export type DynamicValueInteger = { sourceType?: 'CURRENT_TENANT' | 'CURRENT_CUSTOMER' | 'CURRENT_USER' | 'CURRENT_DEVICE'; sourceAttribute?: string; inherit?: boolean; resolvedValue?: number; }; export type DynamicValueLong = { sourceType?: 'CURRENT_TENANT' | 'CURRENT_CUSTOMER' | 'CURRENT_USER' | 'CURRENT_DEVICE'; sourceAttribute?: string; inherit?: boolean; resolvedValue?: number; }; export type EfentoCoapDeviceTypeConfiguration = Omit & { coapDeviceType: 'EFENTO'; }; export type FilterPredicateValueInteger = { defaultValue?: number; userValue?: number; dynamicValue?: DynamicValueInteger; }; export type FilterPredicateValueLong = { defaultValue?: number; userValue?: number; dynamicValue?: DynamicValueLong; }; export type JsonTransportPayloadConfiguration = Omit & { transportPayloadType: 'JSON'; }; export type LwM2mBootstrapServerCredential = { securityMode: string; }; export type LwM2mVersion = { supported?: boolean; }; export type Lwm2mDeviceProfileTransportConfiguration = Omit & { observeAttr?: TelemetryMappingConfiguration; bootstrapServerUpdateEnable?: boolean; bootstrap?: Array; clientLwM2mSettings?: OtherConfiguration; type: 'LWM2M'; }; export type MqttDeviceProfileTransportConfiguration = Omit & { deviceTelemetryTopic?: string; deviceAttributesTopic?: string; deviceAttributesSubscribeTopic?: string; transportPayloadTypeConfiguration?: JsonTransportPayloadConfiguration | ProtoTransportPayloadConfiguration; sparkplug?: boolean; sparkplugAttributesMetricNames?: Array; sendAckOnValidationException?: boolean; type: 'MQTT'; }; export type NoSecLwM2mBootstrapServerCredential = Omit & { /** * Server short Id. Used as link to associate server Object Instance. This identifier uniquely identifies each LwM2M Server configured for the LwM2M Client. This Resource MUST be set when the Bootstrap-Server Resource has a value of 'false'. The values ID:0 and ID:65535 values MUST NOT be used for identifying the LwM2M Server. */ readonly shortServerId?: number; /** * Is Bootstrap Server or Lwm2m Server. The LwM2M Client MAY be configured to use one or more LwM2M Server Account(s). The LwM2M Client MUST have at most one LwM2M Bootstrap-Server Account. (*) The LwM2M client MUST have at least one LwM2M server account after completing the boot sequence specified. */ readonly bootstrapServerIs?: boolean; /** * Host for 'No Security' mode */ readonly host?: string; /** * Port for Lwm2m Server: 'No Security' mode: Lwm2m Server or Bootstrap Server */ readonly port?: number; /** * Client Hold Off Time. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode. (This information is relevant for use with a Bootstrap-Server only.) */ readonly clientHoldOffTime?: number; /** * Server Public Key for 'Security' mode (DTLS): RPK or X509. Format: base64 encoded */ readonly serverPublicKey?: string; /** * Server Public Key for 'Security' mode (DTLS): X509. Format: base64 encoded */ readonly serverCertificate?: string; /** * Bootstrap Server Account Timeout (If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.) */ readonly bootstrapServerAccountTimeout?: number; /** * Specify the lifetime of the registration in seconds. */ readonly lifetime?: number; /** * The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation. If this Resource doesn’t exist, the default value is 0. */ readonly defaultMinPeriod?: number; /** * If true, the LwM2M Client stores “Notify” operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored “Notify” operations to the Server. If false, the LwM2M Client discards all the “Notify” operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline. The default value is true. */ readonly notifIfDisabled?: boolean; /** * This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. */ readonly binding?: string; securityMode: 'NO_SEC'; }; export type ObjectAttributes = { dim?: number; ssid?: number; uri?: string; ver?: Version; lwm2m?: LwM2mVersion; pmin?: number; pmax?: number; gt?: number; lt?: number; st?: number; epmin?: number; epmax?: number; }; export type OtherConfiguration = { useObject19ForOtaInfo?: boolean; fwUpdateStrategy?: number; swUpdateStrategy?: number; clientOnlyObserveAfterConnect?: number; powerMode?: 'PSM' | 'DRX' | 'E_DRX'; psmActivityTimer?: number; edrxCycle?: number; pagingTransmissionWindow?: number; fwUpdateResource?: string; swUpdateResource?: string; defaultObjectIDVer?: string; }; export type PskLwM2mBootstrapServerCredential = Omit & { /** * Server short Id. Used as link to associate server Object Instance. This identifier uniquely identifies each LwM2M Server configured for the LwM2M Client. This Resource MUST be set when the Bootstrap-Server Resource has a value of 'false'. The values ID:0 and ID:65535 values MUST NOT be used for identifying the LwM2M Server. */ readonly shortServerId?: number; /** * Is Bootstrap Server or Lwm2m Server. The LwM2M Client MAY be configured to use one or more LwM2M Server Account(s). The LwM2M Client MUST have at most one LwM2M Bootstrap-Server Account. (*) The LwM2M client MUST have at least one LwM2M server account after completing the boot sequence specified. */ readonly bootstrapServerIs?: boolean; /** * Host for 'No Security' mode */ readonly host?: string; /** * Port for Lwm2m Server: 'No Security' mode: Lwm2m Server or Bootstrap Server */ readonly port?: number; /** * Client Hold Off Time. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode. (This information is relevant for use with a Bootstrap-Server only.) */ readonly clientHoldOffTime?: number; /** * Server Public Key for 'Security' mode (DTLS): RPK or X509. Format: base64 encoded */ readonly serverPublicKey?: string; /** * Server Public Key for 'Security' mode (DTLS): X509. Format: base64 encoded */ readonly serverCertificate?: string; /** * Bootstrap Server Account Timeout (If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.) */ readonly bootstrapServerAccountTimeout?: number; /** * Specify the lifetime of the registration in seconds. */ readonly lifetime?: number; /** * The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation. If this Resource doesn’t exist, the default value is 0. */ readonly defaultMinPeriod?: number; /** * If true, the LwM2M Client stores “Notify” operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored “Notify” operations to the Server. If false, the LwM2M Client discards all the “Notify” operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline. The default value is true. */ readonly notifIfDisabled?: boolean; /** * This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. */ readonly binding?: string; securityMode: 'PSK'; }; export type PowerSavingConfiguration = { powerMode?: 'PSM' | 'DRX' | 'E_DRX'; psmActivityTimer?: number; edrxCycle?: number; pagingTransmissionWindow?: number; }; export type ProtoTransportPayloadConfiguration = Omit & { deviceTelemetryProtoSchema?: string; deviceAttributesProtoSchema?: string; deviceRpcRequestProtoSchema?: string; deviceRpcResponseProtoSchema?: string; enableCompatibilityWithJsonPayloadFormat?: boolean; useJsonPayloadFormatForDefaultDownlinkTopics?: boolean; transportPayloadType: 'PROTOBUF'; }; export type RpkLwM2mBootstrapServerCredential = Omit & { /** * Server short Id. Used as link to associate server Object Instance. This identifier uniquely identifies each LwM2M Server configured for the LwM2M Client. This Resource MUST be set when the Bootstrap-Server Resource has a value of 'false'. The values ID:0 and ID:65535 values MUST NOT be used for identifying the LwM2M Server. */ readonly shortServerId?: number; /** * Is Bootstrap Server or Lwm2m Server. The LwM2M Client MAY be configured to use one or more LwM2M Server Account(s). The LwM2M Client MUST have at most one LwM2M Bootstrap-Server Account. (*) The LwM2M client MUST have at least one LwM2M server account after completing the boot sequence specified. */ readonly bootstrapServerIs?: boolean; /** * Host for 'No Security' mode */ readonly host?: string; /** * Port for Lwm2m Server: 'No Security' mode: Lwm2m Server or Bootstrap Server */ readonly port?: number; /** * Client Hold Off Time. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode. (This information is relevant for use with a Bootstrap-Server only.) */ readonly clientHoldOffTime?: number; /** * Server Public Key for 'Security' mode (DTLS): RPK or X509. Format: base64 encoded */ readonly serverPublicKey?: string; /** * Server Public Key for 'Security' mode (DTLS): X509. Format: base64 encoded */ readonly serverCertificate?: string; /** * Bootstrap Server Account Timeout (If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.) */ readonly bootstrapServerAccountTimeout?: number; /** * Specify the lifetime of the registration in seconds. */ readonly lifetime?: number; /** * The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation. If this Resource doesn’t exist, the default value is 0. */ readonly defaultMinPeriod?: number; /** * If true, the LwM2M Client stores “Notify” operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored “Notify” operations to the Server. If false, the LwM2M Client discards all the “Notify” operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline. The default value is true. */ readonly notifIfDisabled?: boolean; /** * This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. */ readonly binding?: string; securityMode: 'RPK'; }; export type RepeatingAlarmConditionSpec = Omit & { predicate?: FilterPredicateValueInteger; type: 'REPEATING'; }; export type SharedAttributesSettingSnmpCommunicationConfig = Omit & { mappings?: Array; spec?: 'SHARED_ATTRIBUTES_SETTING'; }; export type SimpleAlarmConditionSpec = Omit & { type: 'SIMPLE'; }; export type SnmpCommunicationConfig = { spec?: 'TELEMETRY_QUERYING' | 'CLIENT_ATTRIBUTES_QUERYING' | 'SHARED_ATTRIBUTES_SETTING' | 'TO_DEVICE_RPC_REQUEST' | 'TO_SERVER_RPC_REQUEST'; }; export type SnmpDeviceProfileTransportConfiguration = Omit & { timeoutMs?: number; retries?: number; communicationConfigs?: Array; type: 'SNMP'; }; export type SnmpMapping = { oid?: string; key?: string; dataType?: 'BOOLEAN' | 'LONG' | 'DOUBLE' | 'STRING' | 'JSON'; }; export type SpecificTimeSchedule = Omit & { timezone?: string; daysOfWeek?: Array; startsOn?: number; endsOn?: number; type?: 'SPECIFIC_TIME'; }; export type TelemetryMappingConfiguration = { keyName?: { [key: string]: string; }; observe?: Array; attribute?: Array; telemetry?: Array; attributeLwm2m?: { [key: string]: ObjectAttributes; }; initAttrTelAsObsStrategy?: boolean; observeStrategy?: 'SINGLE (0): One resource equals one single observe request' | 'COMPOSITE_ALL (1): All resources in one composite observe request' | 'COMPOSITE_BY_OBJECT (2): Grouped composite observe requests by object'; }; export type TelemetryQueryingSnmpCommunicationConfig = Omit & { mappings?: Array; queryingFrequencyMs?: number; spec?: 'TELEMETRY_QUERYING'; }; export type ToDeviceRpcRequestSnmpCommunicationConfig = Omit & { mappings?: Array; spec?: 'TO_DEVICE_RPC_REQUEST'; }; export type ToServerRpcRequestSnmpCommunicationConfig = Omit & { mappings?: Array; spec?: 'TO_SERVER_RPC_REQUEST'; }; export type TransportPayloadTypeConfiguration = { transportPayloadType: string; }; export type Version = unknown; export type X509CertificateChainProvisionConfiguration = Omit & { certificateRegExPattern?: string; allowCreateNewDevicesByX509Certificate?: boolean; type: 'X509_CERTIFICATE_CHAIN'; }; export type X509LwM2mBootstrapServerCredential = Omit & { /** * Server short Id. Used as link to associate server Object Instance. This identifier uniquely identifies each LwM2M Server configured for the LwM2M Client. This Resource MUST be set when the Bootstrap-Server Resource has a value of 'false'. The values ID:0 and ID:65535 values MUST NOT be used for identifying the LwM2M Server. */ readonly shortServerId?: number; /** * Is Bootstrap Server or Lwm2m Server. The LwM2M Client MAY be configured to use one or more LwM2M Server Account(s). The LwM2M Client MUST have at most one LwM2M Bootstrap-Server Account. (*) The LwM2M client MUST have at least one LwM2M server account after completing the boot sequence specified. */ readonly bootstrapServerIs?: boolean; /** * Host for 'No Security' mode */ readonly host?: string; /** * Port for Lwm2m Server: 'No Security' mode: Lwm2m Server or Bootstrap Server */ readonly port?: number; /** * Client Hold Off Time. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode. (This information is relevant for use with a Bootstrap-Server only.) */ readonly clientHoldOffTime?: number; /** * Server Public Key for 'Security' mode (DTLS): RPK or X509. Format: base64 encoded */ readonly serverPublicKey?: string; /** * Server Public Key for 'Security' mode (DTLS): X509. Format: base64 encoded */ readonly serverCertificate?: string; /** * Bootstrap Server Account Timeout (If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.) */ readonly bootstrapServerAccountTimeout?: number; /** * Specify the lifetime of the registration in seconds. */ readonly lifetime?: number; /** * The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation. If this Resource doesn’t exist, the default value is 0. */ readonly defaultMinPeriod?: number; /** * If true, the LwM2M Client stores “Notify” operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored “Notify” operations to the Server. If false, the LwM2M Client discards all the “Notify” operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline. The default value is true. */ readonly notifIfDisabled?: boolean; /** * This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. */ readonly binding?: string; securityMode: 'X509'; }; export type DeviceGroupOtaPackage = { id?: string; groupId?: EntityGroupId; otaPackageType?: 'FIRMWARE' | 'SOFTWARE'; otaPackageId?: OtaPackageId; otaPackageUpdateTime?: number; }; /** * A JSON value representing the device credentials. */ export type DeviceCredentials = { /** * The Id is automatically generated during device creation. Use 'getDeviceCredentialsByDeviceId' to obtain the id based on device id. Use 'updateDeviceCredentials' to update device credentials. */ readonly id: DeviceCredentialsId; /** * Timestamp of the device credentials creation, in milliseconds */ createdTime?: number; /** * JSON object with the device Id. */ deviceId: DeviceId; /** * Type of the credentials */ credentialsType?: 'ACCESS_TOKEN' | 'X509_CERTIFICATE' | 'MQTT_BASIC' | 'LWM2M_CREDENTIALS'; /** * Unique Credentials Id per platform instance. Used to lookup credentials from the database. By default, new access token for your device. Depends on the type of the credentials. */ credentialsId: string; /** * Value of the credentials. Null in case of ACCESS_TOKEN credentials type. Base64 value in case of X509_CERTIFICATE. Complex object in case of MQTT_BASIC and LWM2M_CREDENTIALS */ credentialsValue?: string; version?: number; }; export type DeviceCredentialsId = { /** * string */ id: string; }; export type BulkImportResultDevice = { created?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; /** * The JSON object with device and credentials. See method description above for example. */ export type SaveDeviceWithCredentialsRequest = { /** * The JSON with device entity. */ device: Device; /** * The JSON with credentials entity. */ credentials: DeviceCredentials; }; export type Customer = { /** * JSON object with the customer Id. Specify this field to update the customer. Referencing non-existing customer Id will cause error. Omit this field to create new customer. */ id?: CustomerId; /** * Timestamp of the customer creation, in milliseconds */ readonly createdTime?: number; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the customer */ title: string; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with parent Customer Id */ parentCustomerId?: CustomerId; version?: number; customMenuId?: CustomMenuId; /** * Name of the customer. Read-only, duplicated from title for backward compatibility */ readonly name?: string; /** * JSON object with parent Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; /** * Claiming request which can optionally contain secret key */ export type ClaimRequest = { secretKey?: string; }; /** * A JSON value representing the custom menu basic info fields */ export type CustomMenuInfo = { id?: CustomMenuId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id that owns the menu. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id that owns the menu. */ readonly customerId?: CustomerId; /** * Custom menu name */ name: string; /** * Custom menu scope. Possible values: SYSTEM, TENANT, CUSTOMER */ scope: 'SYSTEM' | 'TENANT' | 'CUSTOMER'; /** * Custom menu assignee type. Possible values are: All (all users of specified scope), CUSTOMERS (specified customers), USERS (specified list of users), NO_ASSIGN (no assignees), USER_GROUPS (user groups) */ assigneeType: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; /** * User group names menu is applied to */ userGroupNames?: Array; }; export type Converter = { /** * JSON object with the Converter Id. Specify this field to update the Converter. Referencing non-existing Converter Id will cause error. Omit this field to create new Converter. */ id?: ConverterId; /** * Timestamp of the converter creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * Unique Converter Name in scope of Tenant */ name: string; /** * The type of the converter to process incoming or outgoing messages */ type: 'UPLINK' | 'DOWNLINK'; /** * The type of the integration to which the converter is dedicated */ integrationType?: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * JSON object representing converter configuration. It should contain one of two possible fields: 'decoder' or 'encoder'. The former is used when the converter has UPLINK type, the latter is used - when DOWNLINK type. It can contain both 'decoder' and 'encoder' fields, when the correct one is specified for the appropriate converter type, another one can be set to 'null' */ configuration?: JsonNode; /** * Additional parameters of the converter */ additionalInfo?: JsonNode; /** * Boolean flag that specifies that is regular or edge template converter */ edgeTemplate?: boolean; converterVersion?: number; version?: number; }; export type Argument = { refEntityId?: EntityId; refDynamicSourceConfiguration?: CurrentOwnerDynamicSourceConfiguration | RelationPathQueryDynamicSourceConfiguration; refEntityKey?: ReferencedEntityKey; defaultValue?: string; limit?: number; timeWindow?: number; }; export type AttributesImmediateOutputStrategy = Omit & { sendAttributesUpdatedNotification?: boolean; updateAttributesOnlyOnValueChange?: boolean; saveAttribute?: boolean; sendWsUpdate?: boolean; processCfs?: boolean; type: 'IMMEDIATE'; }; export type AttributesOutput = Omit & { strategy?: AttributesImmediateOutputStrategy | AttributesRuleChainOutputStrategy; type: 'ATTRIBUTES'; }; export type AttributesOutputStrategy = { type: string; }; export type AttributesRuleChainOutputStrategy = Omit & { type: 'RULE_CHAIN'; }; export type CalculatedField = { /** * JSON object with the Calculated Field Id. Referencing non-existing Calculated Field Id will cause error. */ id?: CalculatedFieldId; /** * Timestamp of the calculated field creation, in milliseconds */ readonly createdTime?: number; tenantId?: TenantId; entityId?: EntityId; type?: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * User defined name of the calculated field. */ name?: string; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Version of calculated field configuration. */ configurationVersion?: number; configuration: ({ type: 'SIMPLE'; } & SimpleCalculatedFieldConfiguration) | ({ type: 'SCRIPT'; } & ScriptCalculatedFieldConfiguration) | ({ type: 'PROPAGATION'; } & PropagationCalculatedFieldConfiguration) | ({ type: 'ALARM'; } & AlarmCalculatedFieldConfiguration) | ({ type: 'RELATED_ENTITIES_AGGREGATION'; } & RelatedEntitiesAggregationCalculatedFieldConfiguration) | ({ type: 'ENTITY_AGGREGATION'; } & EntityAggregationCalculatedFieldConfiguration); version?: number; }; export type CfArgumentDynamicSourceConfiguration = { type: string; }; export type CurrentOwnerDynamicSourceConfiguration = Omit & { type: 'CURRENT_OWNER'; }; export type Output = { name?: string; scope?: 'CLIENT_SCOPE' | 'SERVER_SCOPE' | 'SHARED_SCOPE'; decimalsByDefault?: number; strategy?: OutputStrategy; type: string; }; export type OutputStrategy = { type: string; }; export type ReferencedEntityKey = { key?: string; type?: 'TS_LATEST' | 'ATTRIBUTE' | 'TS_ROLLING'; scope?: 'CLIENT_SCOPE' | 'SERVER_SCOPE' | 'SHARED_SCOPE'; }; export type RelationPathLevel = { direction: 'FROM' | 'TO'; relationType: string; }; export type RelationPathQueryDynamicSourceConfiguration = Omit & { levels?: Array; type: 'RELATION_PATH_QUERY'; }; export type SimpleCalculatedFieldConfiguration = { arguments: { [key: string]: Argument; }; expression?: string; output: AttributesOutput | TimeSeriesOutput; useLatestTs?: boolean; type: 'SIMPLE'; }; export type TimeSeriesImmediateOutputStrategy = Omit & { ttl?: number; saveTimeSeries?: boolean; saveLatest?: boolean; sendWsUpdate?: boolean; processCfs?: boolean; type: 'IMMEDIATE'; }; export type TimeSeriesOutput = Omit & { strategy?: TimeSeriesImmediateOutputStrategy | TimeSeriesRuleChainOutputStrategy; type: 'TIME_SERIES'; }; export type TimeSeriesOutputStrategy = { type: string; }; export type TimeSeriesRuleChainOutputStrategy = Omit & { type: 'RULE_CHAIN'; }; /** * Change Password Request */ export type ChangePasswordRequest = { /** * The old password */ currentPassword?: string; /** * The new password */ newPassword?: string; }; export type AssetSearchQuery = { /** * Main search parameters. */ parameters?: RelationsSearchParameters; /** * Type of the relation between root entity and asset (e.g. 'Contains' or 'Manages'). */ relationType?: string; /** * Array of asset types to filter the related entities (e.g. 'Building', 'Vehicle'). */ assetTypes?: Array; }; export type Asset = { /** * JSON object with the asset Id. Specify this field to update the asset. Referencing non-existing asset Id will cause error. Omit this field to create new asset. */ id?: AssetId; /** * Timestamp of the asset creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Unique Asset Name in scope of Tenant */ name: string; /** * Asset type */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Asset Profile Id. */ assetProfileId?: AssetProfileId; version?: number; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the asset */ additionalInfo?: JsonNode; }; export type AssetId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ASSET'; }; export type AssetProfileId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ASSET_PROFILE'; }; /** * A JSON value representing the asset profile. */ export type AssetProfile = { /** * JSON object with the asset profile Id. Specify this field to update the asset profile. Referencing non-existing asset profile Id will cause error. Omit this field to create new asset profile. */ id?: AssetProfileId; /** * Timestamp of the profile creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id that owns the profile. */ readonly tenantId?: TenantId; /** * Unique Asset Profile Name in scope of Tenant. */ name?: string; /** * Asset Profile description. */ description?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of asset profiles in the grid view. */ image?: string; /** * Reference to the rule chain. If present, the specified rule chain will be used to process all messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the root rule chain will be used to process those messages. */ defaultRuleChainId?: RuleChainId; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to asset details. */ defaultDashboardId?: DashboardId; /** * Rule engine queue name. If present, the specified queue will be used to store all unprocessed messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the 'Main' queue will be used to store those messages. */ defaultQueueName?: string; /** * Reference to the edge rule chain. If present, the specified edge rule chain will be used on the edge to process all messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the edge root rule chain will be used to process those messages. */ defaultEdgeRuleChainId?: RuleChainId; version?: number; /** * Used to mark the default profile. Default profile is used when the asset profile is not specified during asset creation. */ default?: boolean; }; export type BulkImportResultAsset = { created?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; export type ApiKey = { /** * JSON object with the API Key Id. Specify this field to update the API Key. Referencing non-existing API Key Id will cause error. Omit this field to create new API Key. */ id?: ApiKeyId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the API key cannot be changed. */ readonly tenantId?: TenantId; /** * JSON object with User Id. User Id of the API key cannot be changed. */ userId?: UserId; /** * Expiration time of the API key. */ expirationTime?: number; /** * API Key description. */ description: string; /** * Enabled/disabled API key. */ enabled?: boolean; /** * API key value */ value: string; /** * Indicates if the API key is expired based on current time. Returns false if expirationTime is 0 (no expiry). */ readonly expired?: boolean; }; export type AlarmDataPageLink = { startTs?: number; endTs?: number; timeWindow?: number; typeList?: Array; statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; searchPropagatedAlarms?: boolean; assigneeId?: UserId; pageSize?: number; page?: number; textSearch?: string; sortOrder?: EntityDataSortOrder; dynamic?: boolean; }; /** * A JSON value representing the alarm data query. See API call notes above for more details. */ export type AlarmDataQuery = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilter | DeviceSearchQueryFilter | DeviceTypeFilter | EdgeSearchQueryFilter | EdgeTypeFilter | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilter | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; pageLink?: AlarmDataPageLink; entityFields?: Array; latestValues?: Array; alarmFields?: Array; }; export type AlarmAssignee = { id?: UserId; firstName?: string; lastName?: string; email?: string; }; export type AlarmData = { entityId?: EntityId; latest?: { [key: string]: { [key: string]: TsValue; }; }; /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; /** * Timestamp of the alarm creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * Alarm originator name */ originatorName?: string; /** * Alarm originator label */ originatorLabel?: string; /** * Originator display name */ originatorDisplayName?: string; /** * Alarm assignee */ assignee?: AlarmAssignee; /** * representing type of the Alarm */ readonly name: string; /** * status of the Alarm */ status: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; details?: JsonNode; }; export type AlarmId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ALARM'; }; export type PageDataAlarmData = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; /** * A JSON value representing the alarm count query. */ export type AlarmCountQuery = { startTs?: number; endTs?: number; timeWindow?: number; typeList?: Array; statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; searchPropagatedAlarms?: boolean; assigneeId?: UserId; entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilter | DeviceSearchQueryFilter | DeviceTypeFilter | EdgeSearchQueryFilter | EdgeTypeFilter | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilter | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; }; export type Alarm = { /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; details?: JsonNode; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; /** * Timestamp of the alarm creation, in milliseconds */ readonly createdTime?: number; /** * representing type of the Alarm */ readonly name: string; /** * status of the Alarm */ status: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; }; export type AlarmComment = { /** * JSON object with Alarm id. */ readonly alarmId?: AlarmId; /** * JSON object with User id. */ readonly userId?: UserId; /** * Defines origination of comment. System type means comment was created by TB. OTHER type means comment was created by user. */ type?: 'SYSTEM' | 'OTHER'; /** * JSON object with text of comment. */ comment?: JsonNode; /** * JSON object with the alarm comment Id. Specify this field to update the alarm comment. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ readonly id?: AlarmCommentId; /** * Timestamp of the alarm comment creation, in milliseconds */ readonly createdTime?: number; /** * representing comment text */ readonly name?: string; }; export type AlarmCommentId = { /** * string */ id: string; }; export type AlarmInfo = { /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; /** * Timestamp of the alarm creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * Alarm originator name */ originatorName?: string; /** * Alarm originator label */ originatorLabel?: string; /** * Originator display name */ originatorDisplayName?: string; /** * Alarm assignee */ assignee?: AlarmAssignee; /** * representing type of the Alarm */ readonly name: string; /** * status of the Alarm */ status: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; details?: JsonNode; }; export type AiModel = { /** * JSON object representing the ID of the tenant associated with this AI model */ readonly tenantId: TenantId; /** * Version of the AI model record; increments automatically whenever the record is changed */ readonly version: number; /** * Display name for this AI model configuration; not the technical model identifier */ name: string; /** * Configuration of the AI model */ configuration?: AmazonBedrockChatModelConfig | AnthropicChatModelConfig | AzureOpenAiChatModelConfig | GitHubModelsChatModelConfig | GoogleAiGeminiChatModelConfig | GoogleVertexAiGeminiChatModelConfig | MistralAiChatModelConfig | OllamaChatModelConfig | OpenAiChatModelConfig; id?: AiModelId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; }; export type AiModelConfig = { providerConfig?: AmazonBedrockProviderConfig | AnthropicProviderConfig | AzureOpenAiProviderConfig | GitHubModelsProviderConfig | GoogleAiGeminiProviderConfig | GoogleVertexAiGeminiProviderConfig | MistralAiProviderConfig | OllamaProviderConfig | OpenAiProviderConfig; provider: string; }; export type AiModelId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * Entity type of the AI model */ entityType: 'AI_MODEL'; }; export type AiProviderConfig = unknown; export type AmazonBedrockChatModelConfig = Omit & { providerConfig: AmazonBedrockProviderConfig; modelId: string; temperature?: number; topP?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: AmazonBedrockProviderConfig; modelId: string; temperature?: number; topP?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'AMAZON_BEDROCK'; }; export type AmazonBedrockProviderConfig = { region: string; accessKeyId: string; secretAccessKey: string; }; export type AnthropicChatModelConfig = Omit & { providerConfig: AnthropicProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: AnthropicProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'ANTHROPIC'; }; export type AnthropicProviderConfig = { apiKey: string; }; export type AzureOpenAiChatModelConfig = Omit & { providerConfig: AzureOpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: AzureOpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'AZURE_OPENAI'; }; export type AzureOpenAiProviderConfig = { endpoint: string; serviceVersion?: string; apiKey: string; }; export type Basic = Omit & { username: string; password: string; type: 'BASIC'; }; export type GitHubModelsChatModelConfig = Omit & { providerConfig: GitHubModelsProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: GitHubModelsProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GITHUB_MODELS'; }; export type GitHubModelsProviderConfig = { personalAccessToken: string; }; export type GoogleAiGeminiChatModelConfig = Omit & { providerConfig: GoogleAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: GoogleAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GOOGLE_AI_GEMINI'; }; export type GoogleAiGeminiProviderConfig = { apiKey: string; }; export type GoogleVertexAiGeminiChatModelConfig = Omit & { providerConfig: GoogleVertexAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: GoogleVertexAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GOOGLE_VERTEX_AI_GEMINI'; }; export type GoogleVertexAiGeminiProviderConfig = { fileName?: string; projectId: string; location: string; serviceAccountKey: string; }; export type MistralAiChatModelConfig = Omit & { providerConfig: MistralAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: MistralAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'MISTRAL_AI'; }; export type MistralAiProviderConfig = { apiKey: string; }; export type None = Omit & { type: 'NONE'; }; export type OllamaAuth = { type: string; }; export type OllamaChatModelConfig = Omit & { providerConfig: OllamaProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; contextLength?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: OllamaProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; contextLength?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'OLLAMA'; }; export type OllamaProviderConfig = { baseUrl: string; auth: Basic | None | Token; }; export type OpenAiChatModelConfig = Omit & { providerConfig: OpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; modelType?: 'CHAT'; } & AiChatModelConfigObject & { providerConfig: OpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'OPENAI'; }; export type OpenAiProviderConfig = { baseUrl?: string; apiKey?: string; }; export type Token = Omit & { token: string; type: 'TOKEN'; }; export type AiChatModelConfigObject = { providerConfig?: AmazonBedrockProviderConfig | AnthropicProviderConfig | AzureOpenAiProviderConfig | GitHubModelsProviderConfig | GoogleAiGeminiProviderConfig | GoogleVertexAiGeminiProviderConfig | MistralAiProviderConfig | OllamaProviderConfig | OpenAiProviderConfig; modelType?: 'CHAT'; }; export type TbChatRequest = { /** * A system-level instruction that frames the user's input, setting the persona, tone, and constraints for the generated response */ systemMessage?: string; /** * The actual user prompt that will be answered by the AI model */ userMessage: TbUserMessage; /** * Configuration of the AI chat model that should execute the request */ chatModelConfig: AmazonBedrockChatModelConfig | AnthropicChatModelConfig | AzureOpenAiChatModelConfig | GitHubModelsChatModelConfig | GoogleAiGeminiChatModelConfig | GoogleVertexAiGeminiChatModelConfig | MistralAiChatModelConfig | OllamaChatModelConfig | OpenAiChatModelConfig; }; export type TbContent = { contentType: string; }; /** * Text-based content part of a user's prompt */ export type TbTextContent = Omit & { /** * The text content */ text: string; contentType: 'TEXT'; }; export type TbUserMessage = { /** * A list of content parts that make up the complete user prompt */ contents: Array; }; export type Failure = Omit & { /** * A string containing details about the failure */ errorDetails?: string; status?: 'FAILURE'; }; export type Success = Omit & { /** * The text content generated by the model */ generatedContent?: string; status?: 'SUCCESS'; }; export type TbChatResponse = { /** * Indicates whether the request was successful or not */ status?: string; }; /** * A JSON value representing the Mail Settings. */ export type AdminSettings = { /** * The Id of the Administration Settings, auto-generated, UUID */ id?: AdminSettingsId; /** * Timestamp of the settings creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * The Administration Settings key, (e.g. 'general' or 'mail') */ key?: string; /** * JSON representation of the Administration Settings value */ jsonValue?: JsonNode; }; export type AdminSettingsId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'ADMIN_SETTINGS'; }; export type AwsSnsSmsProviderConfiguration = Omit & { /** * The AWS SNS Access Key ID. */ accessKeyId?: string; /** * The AWS SNS Access Key. */ secretAccessKey?: string; /** * The AWS region. */ region?: string; type: 'AWS_SNS'; }; export type SmppSmsProviderConfiguration = Omit & { /** * SMPP version */ protocolVersion: '3.3, 3.4'; /** * SMPP host */ host: string; /** * SMPP port */ port: number; /** * System ID */ systemId: string; /** * Password */ password: string; /** * System type */ systemType?: string; /** * TX - Transmitter, RX - Receiver, TRX - Transciever. By default TX is used */ bindType?: 'TX' | 'RX' | 'TRX'; /** * Service type */ serviceType?: string; /** * Source address */ sourceAddress?: string; /** * Source TON (Type of Number). Needed is source address is set. 5 by default. * 0 - Unknown * 1 - International * 2 - National * 3 - Network Specific * 4 - Subscriber Number * 5 - Alphanumeric * 6 - Abbreviated */ sourceTon?: string; /** * Source NPI (Numbering Plan Identification). Needed is source address is set. 0 by default. * 0 - Unknown * 1 - ISDN/telephone numbering plan (E163/E164) * 3 - Data numbering plan (X.121) * 4 - Telex numbering plan (F.69) * 6 - Land Mobile (E.212) =6 * 8 - National numbering plan * 9 - Private numbering plan * 10 - ERMES numbering plan (ETSI DE/PS 3 01-3) * 13 - Internet (IP) * 18 - WAP Client Id (to be defined by WAP Forum) */ sourceNpi?: string; /** * Destination TON (Type of Number). 5 by default. * 0 - Unknown * 1 - International * 2 - National * 3 - Network Specific * 4 - Subscriber Number * 5 - Alphanumeric * 6 - Abbreviated */ destinationTon?: string; /** * Destination NPI (Numbering Plan Identification). 0 by default. * 0 - Unknown * 1 - ISDN/telephone numbering plan (E163/E164) * 3 - Data numbering plan (X.121) * 4 - Telex numbering plan (F.69) * 6 - Land Mobile (E.212) =6 * 8 - National numbering plan * 9 - Private numbering plan * 10 - ERMES numbering plan (ETSI DE/PS 3 01-3) * 13 - Internet (IP) * 18 - WAP Client Id (to be defined by WAP Forum) */ destinationNpi?: string; /** * Address range */ addressRange?: string; /** * 0 - SMSC Default Alphabet (ASCII for short and long code and to GSM for toll-free, used as default) * 1 - IA5 (ASCII for short and long code, Latin 9 for toll-free (ISO-8859-9)) * 2 - Octet Unspecified (8-bit binary) * 3 - Latin 1 (ISO-8859-1) * 4 - Octet Unspecified (8-bit binary) * 5 - JIS (X 0208-1990) * 6 - Cyrillic (ISO-8859-5) * 7 - Latin/Hebrew (ISO-8859-8) * 8 - UCS2/UTF-16 (ISO/IEC-10646) * 9 - Pictogram Encoding * 10 - Music Codes (ISO-2022-JP) * 13 - Extended Kanji JIS (X 0212-1990) * 14 - Korean Graphic Character Set (KS C 5601/KS X 1001) */ codingScheme?: '0-10' | '13-14'; type: 'SMPP'; }; export type SmsProviderConfiguration = { type: string; }; /** * A JSON value representing the Test SMS request. */ export type TestSmsRequest = { /** * The SMS provider configuration */ providerConfiguration?: AwsSnsSmsProviderConfiguration | SmppSmsProviderConfiguration | TwilioSmsProviderConfiguration; /** * The phone number or other identifier to specify as a recipient of the SMS. */ numberTo?: string; /** * The test message */ message?: string; }; export type TwilioSmsProviderConfiguration = Omit & { /** * Twilio account Sid. */ accountSid?: string; /** * Twilio account Token. */ accountToken?: string; /** * The number/id of a sender. */ numberFrom?: string; type: 'TWILIO'; }; /** * A JSON value representing the Security Settings. */ export type SecuritySettings = { /** * The user password policy object. */ passwordPolicy?: UserPasswordPolicy; /** * Maximum number of failed login attempts allowed before user account is locked. */ maxFailedLoginAttempts?: number; /** * Email to use for notifications about locked users. */ userLockoutNotificationEmail?: string; /** * Mobile secret key length */ mobileSecretKeyLength?: number; /** * TTL in hours for user activation link */ userActivationTokenTtl: number; /** * TTL in hours for password reset link */ passwordResetTokenTtl: number; }; export type UserPasswordPolicy = { /** * Minimum number of symbols in the password. */ minimumLength?: number; /** * Maximum number of symbols in the password. */ maximumLength?: number; /** * Minimum number of uppercase letters in the password. */ minimumUppercaseLetters?: number; /** * Minimum number of lowercase letters in the password. */ minimumLowercaseLetters?: number; /** * Minimum number of digits in the password. */ minimumDigits?: number; /** * Minimum number of special in the password. */ minimumSpecialCharacters?: number; /** * Allow whitespaces */ allowWhitespaces?: boolean; /** * Force user to update password if existing one does not pass validation */ forceUserToResetPasswordIfNotValid?: boolean; /** * Password expiration period (days). Force expiration of the password. */ passwordExpirationPeriodDays?: number; /** * Password reuse frequency (days). Disallow to use the same password for the defined number of days */ passwordReuseFrequencyDays?: number; }; /** * A JSON value representing the Repository Settings. */ export type RepositorySettings = { repositoryUri?: string; authMethod?: 'USERNAME_PASSWORD' | 'PRIVATE_KEY'; username?: string; password?: string; privateKeyFileName?: string; privateKey?: string; privateKeyPassword?: string; defaultBranch?: string; readOnly?: boolean; showMergeCommits?: boolean; localOnly?: boolean; }; export type SubscriptionInfo = { subscriptionId?: string; subscriptionPlanName?: string; planUiType?: string; currentPeriodStartTs?: number; currentPeriodEndTs?: number; endTs?: number; upcomingInvoiceDate?: number; upcomingInvoiceAmountDue?: number; planExtraDeviceEnabled?: boolean; planEdgeEnabled?: boolean; planExtraEdgeEnabled?: boolean; planTrendzEnabled?: boolean; dataTs?: number; licenseServerEndpoint?: string; maxDevices?: number; maxAssets?: number; maxEdges?: number; whiteLabelingEnabled?: boolean; edgeEnabled?: boolean; trendzEnabled?: boolean; development?: boolean; devicesCount?: number; assetsCount?: number; edgesCount?: number; offline?: boolean; perpetual?: boolean; }; /** * A JSON value representing the JWT Settings. */ export type JwtSettings = { /** * The JWT will expire after seconds. */ tokenExpirationTime?: number; /** * The JWT can be refreshed during seconds. */ refreshTokenExpTime?: number; /** * The JWT issuer. */ tokenIssuer?: string; /** * The JWT key is used to sing token. Base64 encoded. */ tokenSigningKey?: string; }; export type AutoCommitSettings = { [key: string]: AutoVersionCreateConfig; }; export type AutoVersionCreateConfig = { saveRelations?: boolean; saveAttributes?: boolean; saveCredentials?: boolean; saveCalculatedFields?: boolean; savePermissions?: boolean; saveGroupEntities?: boolean; branch?: string; }; export type BackupCodeTwoFaProviderConfig = Omit & { codesQuantity?: number; providerType: 'BACKUP_CODE'; }; export type EmailTwoFaProviderConfig = Omit & { verificationCodeLifetime?: number; providerType: 'EMAIL'; }; /** * Settings value */ export type PlatformTwoFaSettings = { useSystemTwoFactorAuthSettings?: boolean; providers: Array; minVerificationCodeSendPeriod: number; verificationCodeCheckRateLimit?: string; maxVerificationFailuresBeforeUserLockout?: number; totalAllowedTimeForVerification: number; enforceTwoFa?: boolean; enforcedUsersFilter?: SystemLevelUsersFilter; }; export type SmsTwoFaProviderConfig = Omit & { verificationCodeLifetime?: number; smsVerificationMessageTemplate: string; providerType: 'SMS'; }; export type SystemLevelUsersFilter = unknown; export type TotpTwoFaProviderConfig = Omit & { issuerName: string; providerType: 'TOTP'; }; export type TwoFaProviderConfig = { providerType: string; }; export type PageDataCalculatedField = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataWidgetsBundle = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type WidgetType = { /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Timestamp of the Widget Type creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Unique FQN that is used in dashboards as a reference widget type */ readonly fqn?: string; /** * Widget name used in search and UI */ readonly name?: string; /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; /** * Complex JSON object that describes the widget type */ readonly descriptor?: JsonNode; }; export type PageDataWidgetTypeInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type WidgetBundleInfo = { /** * JSON object with the entity Id. */ id?: EntityId; /** * Entity Name */ name?: string; }; export type WidgetTypeInfo = { /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Timestamp of the Widget Type creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * Unique FQN that is used in dashboards as a reference widget type */ readonly fqn?: string; /** * Widget name used in search and UI */ readonly name?: string; /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; /** * Base64 encoded widget thumbnail */ readonly image?: string; /** * Description of the widget type */ readonly description?: string; /** * Tags of the widget type */ readonly tags?: Array; /** * Type of the widget (timeseries, latest, control, alarm or static) */ readonly widgetType?: string; /** * Bundles */ readonly bundles?: Array; }; export type PageDataReport = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type ReportInfo = { id?: ReportId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId: TenantId; customerId?: CustomerId; templateId: ReportTemplateId; format: 'PDF' | 'CSV'; name: string; userId: UserId; templateInfo?: EntityInfo; customerTitle?: string; userName?: string; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type PageDataReportInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataAlarmInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataUserEmailInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type UserEmailInfo = { /** * User id */ id?: UserId; /** * User email */ email?: string; /** * User first name */ firstName?: string; /** * User last name */ lastName?: string; }; export type PageDataUserInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type UserInfo = { /** * JSON object with the User Id. Specify this field to update the device. Referencing non-existing User Id will cause error. Omit this field to create new customer. */ id?: UserId; /** * Timestamp of the user creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with the Customer Id. */ readonly customerId?: CustomerId; /** * Email of the user */ email: string; /** * Authority */ authority: 'SYS_ADMIN' | 'TENANT_ADMIN' | 'CUSTOMER_USER' | 'REFRESH_TOKEN' | 'PRE_VERIFICATION_TOKEN' | 'MFA_CONFIGURATION_TOKEN'; /** * First name of the user */ firstName?: string; /** * Last name of the user */ lastName?: string; /** * Phone number of the user */ phone?: string; customMenuId?: CustomMenuId; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * Duplicates the email of the user, readonly */ readonly name?: string; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the user */ additionalInfo?: JsonNode; }; export type UserActivationLink = { value?: string; ttlMs?: number; }; export type PageDataEntityView = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataEdge = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataDevice = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type LastVisitedDashboardInfo = { /** * JSON object with Dashboard id. */ readonly id?: string; /** * Title of the dashboard. */ title?: string; /** * Starred flag */ starred?: boolean; /** * Last visit timestamp */ lastVisited?: number; }; export type StarredDashboardInfo = { /** * JSON object with Dashboard id. */ readonly id?: string; /** * Title of the dashboard. */ title?: string; /** * Starred timestamp */ starredAt?: number; }; export type UserDashboardsInfo = { /** * List of last visited dashboards. */ readonly last?: Array; /** * List of starred dashboards. */ readonly starred?: Array; }; export type DashboardInfo = { /** * Title of the dashboard. */ title?: string; /** * Thumbnail picture for rendering of the dashboards in a grid view on mobile devices. */ readonly image?: string; /** * Hide dashboard from mobile devices. Useful if the dashboard is not designed for small screens. */ readonly mobileHide?: boolean; /** * Order on mobile devices. Useful to adjust sorting of the dashboards for mobile applications */ readonly mobileOrder?: number; /** * JSON object with main configuration of the dashboard: layouts, widgets, aliases, etc. The JSON structure of the dashboard configuration is quite complex. The easiest way to learn it is to export existing dashboard to JSON. */ configuration?: JsonNode; /** * Same as title of the dashboard. Read-only field. Update the 'title' to change the 'name' of the dashboard. */ readonly name?: string; resources?: Array; /** * JSON object with the dashboard Id. Specify existing dashboard Id to update the dashboard. Referencing non-existing dashboard id will cause error. Omit this field to create new dashboard. */ id?: DashboardId; /** * Timestamp of the dashboard creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the dashboard can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. */ customerId?: CustomerId; /** * List of assigned customers with their info. */ readonly assignedCustomers?: Array; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type PageDataDashboardInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataCustomer = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataAsset = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type UsageInfo = { devices?: number; maxDevices?: number; assets?: number; maxAssets?: number; customers?: number; maxCustomers?: number; users?: number; maxUsers?: number; dashboards?: number; maxDashboards?: number; edges?: number; maxEdges?: number; transportMessages?: number; maxTransportMessages?: number; jsExecutions?: number; tbelExecutions?: number; maxJsExecutions?: number; maxTbelExecutions?: number; emails?: number; maxEmails?: number; sms?: number; maxSms?: number; smsEnabled?: boolean; alarms?: number; maxAlarms?: number; reports?: number; maxReports?: number; }; export type TrendzViewConfig = { id?: string; name?: string; runtimeFilters?: Array; }; export type PageDataTrendzViewConfigLite = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type TrendzViewConfigLite = { id?: string; name?: string; }; export type Entity = { used?: boolean; activeCount?: number; totalCount?: number; }; export type SimpleEntity = { used?: boolean; totalCount?: number; }; export type TrendzUsage = { used?: boolean; anomalyUsage?: Entity; predictionUsage?: Entity; calculationUsage?: Entity; viewUsage?: SimpleEntity; metricUsage?: SimpleEntity; chatUsage?: SimpleEntity; }; export type TrendzSummary = { metricSummaryItems?: Array; anomalyModelSummaryItems?: Array; calculationFieldSummaryItems?: Array; predictionModelSummaryItems?: Array; viewSummaryItems?: Array; aiSummaryItems?: Array; }; export type TrendzHealthcheckResult = { version?: string; type?: 'SYNC_NOT_INITIALIZED' | 'SYNC_COMPLETED' | 'SYNC_DISABLED' | 'TRENDZ_UNSUPPORTED_VERSION' | 'TRENDZ_AUTH_INVALID' | 'TRENDZ_URL_UNREACHABLE' | 'TB_URL_MISMATCH' | 'TB_URL_UNREACHABLE' | 'TB_AUTH_INVALID' | 'SYNC_INTERNAL_ERROR'; status?: 'NOT_AVAILABLE' | 'AVAILABLE' | 'SYNCED'; message?: string; }; export type TranslationInfo = { /** * Locale code formed by combining the ISO 639-1 language code and the ISO 3166-1 region code. For example, "en_US" */ localeCode?: string; /** * Locale code language display name. For example, "Polish (Polski)" */ language?: string; /** * Locale code country display name. For example, "Poland" */ country?: string; /** * Number representing translation percentage progress. For example, 40 that means 40% of all keys are translated. */ progress?: number; /** * Boolean representing if current language has customization. */ customized?: boolean; }; export type PageDataTenant = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataTenantProfile = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataEntityInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataTenantInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type TenantInfo = { /** * JSON object with the tenant Id. Specify this field to update the tenant. Referencing non-existing tenant Id will cause error. Omit this field to create new tenant. */ id?: TenantId; /** * Timestamp of the tenant creation, in milliseconds */ readonly createdTime?: number; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the tenant */ title: string; /** * Geo region of the tenant */ region?: string; /** * JSON object with Tenant Profile Id */ tenantProfileId?: TenantProfileId; version?: number; /** * Tenant Profile name */ tenantProfileName?: string; /** * Name of the tenant. Read-only, duplicated from title for backward compatibility */ readonly name?: string; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type TenantSolutionTemplateInstructions = { /** * Id of the group that contains main dashboard of the solution */ dashboardGroupId?: EntityGroupId; /** * Id of the main dashboard of the solution */ dashboardId?: DashboardId; /** * Id of the public customer if solution has public entities */ publicId?: CustomerId; /** * Is the main dashboard public */ mainDashboardPublic?: boolean; /** * Markdown with solution usage instructions */ details?: string; }; export type TenantSolutionTemplateInfo = { /** * ID of the solution template */ id?: string; /** * Template Title */ title?: string; /** * Level of the subscription that is required to unlock the template */ level?: 'MAKER' | 'PROTOTYPE' | 'STARTUP'; /** * Timeout for the installation UI to wait while template is installing */ installTimeoutMs?: number; /** * What keys to delete during template uninstall */ tenantTelemetryKeys?: Array; /** * What attributes to delete during template uninstall */ tenantAttributeKeys?: Array; /** * URL of the preview image */ previewImageUrl?: string; /** * Video preview image URL */ videoPreviewImageUrl?: string; /** * Video MP4 URL */ previewMp4Url?: string; /** * Video WEBM URL */ previewWebmUrl?: string; /** * Indicates that template is already installed for the current tenant */ installed?: boolean; }; export type TenantSolutionTemplateDetails = { /** * ID of the solution template */ id?: string; /** * Template Title */ title?: string; /** * Level of the subscription that is required to unlock the template */ level?: 'MAKER' | 'PROTOTYPE' | 'STARTUP'; /** * Timeout for the installation UI to wait while template is installing */ installTimeoutMs?: number; /** * What keys to delete during template uninstall */ tenantTelemetryKeys?: Array; /** * What attributes to delete during template uninstall */ tenantAttributeKeys?: Array; imageUrls?: Array; highlights?: string; description?: string; installed?: boolean; }; export type SelfRegistrationParams = { permissions?: Array; type?: 'WEB' | 'MOBILE'; showPrivacyPolicy?: boolean; showTermsOfUse?: boolean; title?: string; enabled?: boolean; homeDashboard?: HomeDashboardParams; notificationRecipient?: NotificationTargetId; captcha?: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; signUpFields?: Array; defaultDashboard?: DefaultDashboardParams; customerTitlePrefix?: string; customMenuId?: CustomMenuId; customerGroupId?: EntityGroupId; }; export type PageDataSecretInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type SchedulerEventWithCustomerInfo = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * Timestamp of the scheduler event creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Originator Id */ readonly originatorId?: EntityId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * Title of the customer */ customerTitle?: string; /** * Parameter that specifies if customer is public */ readonly customerIsPublic?: boolean; timestamps?: Array; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type PageDataSchedulerEventWithCustomerInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataScheduledReportInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type ScheduledReportInfo = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * Timestamp of the scheduler event creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Originator Id */ readonly originatorId?: EntityId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * Report template info */ readonly templateInfo?: EntityInfo; /** * Customer title */ readonly customerTitle?: string; /** * Report user name */ readonly userName?: string; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type PageDataRuleChain = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type RuleChainOutputLabelsUsage = { /** * Rule Chain Id */ readonly ruleChainId: RuleChainId; /** * Rule Node Id */ readonly ruleNodeId: RuleNodeId; /** * Rule Chain Name */ readonly ruleChainName: string; /** * Rule Node Name */ readonly ruleNodeName: string; /** * Output labels */ readonly labels: Array; }; export type Rpc = { /** * JSON object with the rpc Id. Referencing non-existing rpc Id will cause error. */ id?: RpcId; /** * Timestamp of the rpc creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Device Id. */ readonly deviceId?: DeviceId; /** * Expiration time of the request. */ readonly expirationTime?: number; /** * The request body that will be used to send message to device. */ readonly request?: JsonNode; /** * The response from the device. */ readonly response?: JsonNode; /** * The current status of the RPC call. */ status?: 'QUEUED' | 'SENT' | 'DELIVERED' | 'SUCCESSFUL' | 'TIMEOUT' | 'EXPIRED' | 'FAILED' | 'DELETED'; /** * Additional info used in the rule engine to process the updates to the RPC state. */ readonly additionalInfo?: JsonNode; }; export type RpcId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'RPC'; }; export type PageDataRole = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataTbResourceInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type LwM2mInstance = { /** * LwM2M Instance id. */ id?: number; /** * LwM2M Resource observe. */ resources?: Array; }; export type LwM2mObject = { /** * LwM2M Object id. */ id?: number; /** * LwM2M Object key id. */ keyId?: string; /** * LwM2M Object name. */ name?: string; /** * LwM2M Object multiple. */ multiple?: boolean; /** * LwM2M Object mandatory. */ mandatory?: boolean; /** * LwM2M Object instances. */ instances?: Array; }; export type LwM2mResourceObserve = { /** * LwM2M Resource Observe id. */ id?: number; /** * LwM2M Resource Observe name. */ name?: string; /** * LwM2M Resource Observe observe. */ observe?: boolean; /** * LwM2M Resource Observe attribute. */ attribute?: boolean; /** * LwM2M Resource Observe telemetry. */ telemetry?: boolean; /** * LwM2M Resource Observe key name. */ keyName?: string; }; export type ReportTemplateInfo = { /** * JSON object with the report template Id. Specify this field to update the report. Referencing non-existing report template Id will cause error. Omit this field to create new report template */ id?: ReportTemplateId; /** * Timestamp of the report template creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the report template can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * Report name */ name: string; /** * Report format */ format: 'PDF, CSV'; /** * Report template type */ type: 'REPORT, SUB_REPORT'; /** * Description */ description?: string; version?: number; /** * Owner name */ readonly ownerName?: string; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type PageDataReportTemplateInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataQueue = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type QueueStats = { id?: QueueStatsId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; queueName?: string; serviceId?: string; }; export type QueueStatsId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'QUEUE_STATS'; }; export type PageDataQueueStats = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type MultiValueMapStringString = { all?: { [key: string]: string; }; [key: string]: Array | { [key: string]: string; } | undefined; }; export type AllowedPermissionsInfo = { /** * Static map (vocabulary) of allowed operations by resource type */ operationsByResource?: { [key: string]: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; }; /** * Static set (vocabulary) of allowed operations for group roles */ allowedForGroupRoleOperations?: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; /** * Static set (vocabulary) of allowed operations for group owner */ allowedForGroupOwnerOnlyOperations?: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; /** * Static set (vocabulary) of allowed group operations for group owner */ allowedForGroupOwnerOnlyGroupOperations?: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; /** * Static set (vocabulary) of all possibly allowed resources. Static and depends only on the authority of the user */ allowedResources?: Array<'ALL' | 'PROFILE' | 'ADMIN_SETTINGS' | 'ALARM' | 'DEVICE' | 'ASSET' | 'CUSTOMER' | 'DASHBOARD' | 'ENTITY_VIEW' | 'EDGE' | 'TENANT' | 'RULE_CHAIN' | 'USER' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'OAUTH2_CONFIGURATION_TEMPLATE' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'CONVERTER' | 'INTEGRATION' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'CUSTOMER_GROUP' | 'DEVICE_GROUP' | 'ASSET_GROUP' | 'USER_GROUP' | 'ENTITY_VIEW_GROUP' | 'EDGE_GROUP' | 'DASHBOARD_GROUP' | 'ROLE' | 'GROUP_PERMISSION' | 'WHITE_LABELING' | 'AUDIT_LOG' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'QUEUE' | 'QUEUE_STATS' | 'VERSION_CONTROL' | 'NOTIFICATION' | 'MOBILE_APP_SETTINGS' | 'CUSTOM_MENU' | 'JOB' | 'SECRET' | 'REPORT_TEMPLATE' | 'REPORT' | 'AI_MODEL' | 'API_KEY'>; /** * JSON object with merged permission for all generic and group roles assigned to all user groups the user belongs to */ userPermissions?: MergedUserPermissions; /** * Owner Id of the user (Tenant or Customer) */ userOwnerId?: EntityId; }; export type MergedGroupPermissionInfo = { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; operations?: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; }; export type MergedGroupTypePermissionInfo = { /** * List of Entity Groups in case of group roles are assigned to the user (user group) */ entityGroupIds?: Array; /** * Indicates if generic permission assigned to the user group. */ hasGenericRead?: boolean; }; export type MergedUserPermissions = { /** * Map of permissions defined using generic roles ('Customer Administrator', etc) */ genericPermissions?: { [key: string]: Array<'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'>; }; /** * Map of permissions defined using group roles ('Read' or 'Write' access to specific entity group, etc) */ groupPermissions?: { [key: string]: MergedGroupPermissionInfo; }; /** * Map of read permissions per entity type. Used on the UI to enable/disable certain components. */ readGroupPermissions?: { [key: string]: MergedGroupTypePermissionInfo; }; /** * Map of read permissions per resource. Used on the UI to enable/disable certain components. */ readEntityPermissions?: { [key: string]: MergedGroupTypePermissionInfo; }; /** * Map of read entity attributes permissions per resource. Used on the UI to enable/disable certain tabs. */ readAttrPermissions?: { [key: string]: MergedGroupTypePermissionInfo; }; /** * Map of read entity time-series permissions per resource. Used on the UI to enable/disable certain tabs. */ readTsPermissions?: { [key: string]: MergedGroupTypePermissionInfo; }; }; export type ContactBasedObject = { id?: unknown; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; country?: string; state?: string; city?: string; address?: string; address2?: string; zip?: string; phone?: string; email?: string; name?: string; additionalInfo?: JsonNode; }; export type PageDataContactBasedObject = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataOtaPackageInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type OtaPackage = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; /** * Timestamp of the ota package creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Tenant Id of the ota package can't be changed. */ readonly tenantId?: TenantId; /** * JSON object with Device Profile Id. Device Profile Id of the ota package can't be changed. */ readonly deviceProfileId?: DeviceProfileId; /** * OTA Package type. */ type?: 'FIRMWARE' | 'SOFTWARE'; /** * OTA Package title. */ readonly title?: string; /** * OTA Package version. */ readonly version?: string; /** * OTA Package tag. */ readonly tag?: string; /** * OTA Package url. */ readonly url?: string; /** * Indicates OTA Package 'has data'. Field is returned from DB ('true' if data exists or url is set). If OTA Package 'has data' is 'false' we can not assign the OTA Package to the Device or Device Profile. */ readonly hasData?: boolean; /** * OTA Package file name. */ readonly fileName?: string; /** * OTA Package content type. */ readonly contentType?: string; /** * OTA Package checksum algorithm. */ checksumAlgorithm?: 'MD5' | 'SHA256' | 'SHA384' | 'SHA512' | 'CRC32' | 'MURMUR3_32' | 'MURMUR3_128'; /** * OTA Package checksum. */ readonly checksum?: string; /** * OTA Package data size. */ readonly dataSize?: number; data?: { short?: number; char?: string; int?: number; long?: number; float?: number; double?: number; direct?: boolean; readOnly?: boolean; }; readonly name?: string; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OAuth2ClientInfo = { id?: OAuth2ClientId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * Oauth2 client registration title (e.g. My google) */ title?: string; /** * Oauth2 client provider name (e.g. Google) */ providerName?: string; /** * List of platforms for which usage of the OAuth2 client is allowed (empty for all allowed) */ platforms?: Array<'WEB' | 'ANDROID' | 'IOS'>; readonly name?: string; }; export type PageDataOAuth2ClientInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type Notification = { requestId?: NotificationRequestId; recipientId?: UserId; type?: 'GENERAL' | 'ALARM' | 'DEVICE_ACTIVITY' | 'ENTITY_ACTION' | 'ALARM_COMMENT' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'ALARM_ASSIGNMENT' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'ENTITIES_LIMIT_INCREASE_REQUEST' | 'ADDON_ACCESS_REQUEST' | 'ADDON_ACCESS_ERROR' | 'PLAN_UPGRADE_REQUEST' | 'API_USAGE_LIMIT' | 'RULE_NODE' | 'INTEGRATION_LIFECYCLE_EVENT' | 'RATE_LIMITS' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE' | 'USER_ACTIVATED' | 'USER_REGISTERED' | 'REPORT_GENERATED'; deliveryMethod?: 'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'; subject?: string; text?: string; additionalConfig?: JsonNode; info?: NotificationInfo; status?: 'SENT' | 'READ'; id?: NotificationId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; }; export type NotificationId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'NOTIFICATION'; }; export type PageDataNotification = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataNotificationTemplate = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataNotificationTarget = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type NotificationRuleInfo = { id?: NotificationRuleId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; name: string; enabled?: boolean; templateId: NotificationTemplateId; triggerType: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; triggerConfig: AlarmAssignmentNotificationRuleTriggerConfig | AlarmCommentNotificationRuleTriggerConfig | AlarmNotificationRuleTriggerConfig | ApiUsageLimitNotificationRuleTriggerConfig | DeviceActivityNotificationRuleTriggerConfig | EdgeCommunicationFailureNotificationRuleTriggerConfig | EdgeConnectionNotificationRuleTriggerConfig | EntitiesLimitNotificationRuleTriggerConfig | EntityActionNotificationRuleTriggerConfig | IntegrationLifecycleEventNotificationRuleTriggerConfig | NewPlatformVersionNotificationRuleTriggerConfig | RateLimitsNotificationRuleTriggerConfig | ResourcesShortageNotificationRuleTriggerConfig | RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig | TaskProcessingFailureNotificationRuleTriggerConfig; recipientsConfig: EscalatedNotificationRuleRecipientsConfig; additionalConfig?: NotificationRuleConfig; templateName?: string; deliveryMethods?: Array<'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'>; }; export type PageDataNotificationRuleInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type NotificationRequestInfo = { id?: NotificationRequestId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; tenantId?: TenantId; targets: Array; templateId?: NotificationTemplateId; template?: NotificationTemplate; info?: NotificationInfo; additionalConfig?: NotificationRequestConfig; originatorEntityId?: EntityId; ruleId?: NotificationRuleId; status?: 'PROCESSING' | 'SENT' | 'SCHEDULED'; stats?: NotificationRequestStats; templateName?: string; deliveryMethods?: Array<'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'>; }; export type PageDataNotificationRequestInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type SignUpSelfRegistrationParams = { title?: string; captcha?: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; fields?: Array; showPrivacyPolicy?: boolean; showTermsOfUse?: boolean; }; export type LoginMobileInfo = { oAuth2ClientLoginInfos?: Array; selfRegistrationParams?: SignUpSelfRegistrationParams; storeInfo?: StoreInfo; versionInfo?: MobileAppVersionInfo; }; export type UserMobileInfo = { user?: User; storeInfo?: StoreInfo; versionInfo?: MobileAppVersionInfo; homeDashboardInfo?: HomeDashboardInfo; pages?: JsonNode; }; export type MobileAppBundleInfo = { id?: MobileAppBundleId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application bundle title. Cannot be empty */ title: string; /** * Application bundle description. */ description?: string; /** * Android application id */ androidAppId?: MobileAppId; /** * IOS application id */ iosAppId?: MobileAppId; /** * Application layout configuration */ layoutConfig?: MobileLayoutConfig; /** * Application self registration configuration */ selfRegistrationParams?: MobileSelfRegistrationParams; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Android package name */ androidPkgName?: string; /** * IOS package name */ iosPkgName?: string; /** * List of available oauth2 clients */ oauth2ClientInfos?: Array; /** * Indicates if qr code is available for bundle */ qrCodeEnabled?: boolean; /** * Mobile app bundle title */ readonly name?: string; }; export type PageDataMobileAppBundleInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataMobileApp = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type LwM2mServerSecurityConfigDefault = { /** * Server short Id. Used as link to associate server Object Instance. This identifier uniquely identifies each LwM2M Server configured for the LwM2M Client. This Resource MUST be set when the Bootstrap-Server Resource has a value of 'false'. The values ID:0 and ID:65535 values MUST NOT be used for identifying the LwM2M Server. */ readonly shortServerId?: number; /** * Is Bootstrap Server or Lwm2m Server. The LwM2M Client MAY be configured to use one or more LwM2M Server Account(s). The LwM2M Client MUST have at most one LwM2M Bootstrap-Server Account. (*) The LwM2M client MUST have at least one LwM2M server account after completing the boot sequence specified. */ readonly bootstrapServerIs?: boolean; /** * Host for 'No Security' mode */ readonly host?: string; /** * Port for Lwm2m Server: 'No Security' mode: Lwm2m Server or Bootstrap Server */ readonly port?: number; /** * Client Hold Off Time. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode. (This information is relevant for use with a Bootstrap-Server only.) */ readonly clientHoldOffTime?: number; /** * Server Public Key for 'Security' mode (DTLS): RPK or X509. Format: base64 encoded */ readonly serverPublicKey?: string; /** * Server Public Key for 'Security' mode (DTLS): X509. Format: base64 encoded */ readonly serverCertificate?: string; /** * Bootstrap Server Account Timeout (If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.) */ readonly bootstrapServerAccountTimeout?: number; /** * Specify the lifetime of the registration in seconds. */ readonly lifetime?: number; /** * The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation. If this Resource doesn’t exist, the default value is 0. */ readonly defaultMinPeriod?: number; /** * If true, the LwM2M Client stores “Notify” operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored “Notify” operations to the Server. If false, the LwM2M Client discards all the “Notify” operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline. The default value is true. */ readonly notifIfDisabled?: boolean; /** * This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. */ readonly binding?: string; /** * Host for 'Security' mode (DTLS) */ readonly securityHost?: string; /** * Port for 'Security' mode (DTLS): Lwm2m Server or Bootstrap Server */ readonly securityPort?: number; }; export type PageDataJob = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataIntegration = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type ConvertersInfo = { library?: boolean; existing?: boolean; keys?: Array; }; export type IntegrationConvertersInfo = { uplink?: ConvertersInfo; downlink?: ConvertersInfo; }; export type ArrayNode = unknown; export type IntegrationInfo = { /** * JSON object with the Integration Id. Specify this field to update the Integration. Referencing non-existing Integration Id will cause error. Omit this field to create new Integration. */ id?: IntegrationId; /** * Timestamp of the integration creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * Integration Name */ name: string; /** * The type of the integration */ type: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Boolean flag to enable/disable the integration */ enabled?: boolean; /** * Boolean flag to allow/disallow the integration to create devices or assets that send message and do not exist in the system yet */ allowCreateDevicesOrAssets?: boolean; version?: number; stats?: ArrayNode; /** * Boolean flag that specifies that is regular or edge template integration */ edgeTemplate?: boolean; /** * Boolean flag to enable/disable the integration to be executed remotely. Remote integration is launched in a separate microservice. Local integration is executed by the platform core */ remote?: boolean; }; export type PageDataIntegrationInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type EntityViewInfo = { /** * JSON object with the Entity View Id. Specify this field to update the Entity View. Referencing non-existing Entity View Id will cause error. Omit this field to create new Entity View. */ id?: EntityViewId; /** * Timestamp of the Entity View creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with the referenced Entity Id (Device or Asset). */ entityId: EntityId; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Entity View name */ name: string; /** * Device Profile Name */ type: string; /** * Set of telemetry and attribute keys to expose via Entity View. */ keys?: TelemetryEntityView; /** * Represents the start time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ startTimeMs?: number; /** * Represents the end time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ endTimeMs?: number; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataEntityViewInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type EntitySubtype = { tenantId?: TenantId; entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; type?: string; }; export type PageDataEntityGroupInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type ShortEntityView = { /** * Entity Id object */ readonly id: EntityId; /** * Name of the entity */ readonly name: string; }; export type PageDataShortEntityView = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type EntityVersion = { timestamp?: number; id?: string; name?: string; author?: string; }; export type PageDataEntityVersion = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type VersionCreationResult = { version?: EntityVersion; added?: number; modified?: number; removed?: number; error?: string; done?: boolean; }; export type EntityDataInfo = { hasRelations?: boolean; hasAttributes?: boolean; hasCredentials?: boolean; hasCalculatedFields?: boolean; hasPermissions?: boolean; hasGroupEntities?: boolean; }; export type VersionedEntityInfo = { externalId?: EntityId; path?: string; }; export type EntityLoadError = { type?: string; source?: EntityId; target?: EntityId; message?: string; }; export type EntityTypeLoadResult = { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; created?: number; updated?: number; deleted?: number; groupsCreated?: number; groupsUpdated?: number; groupsDeleted?: number; }; export type VersionLoadResult = { result?: Array; error?: EntityLoadError; done?: boolean; }; export type AttributeExportData = { key?: string; lastUpdateTs?: number; booleanValue?: boolean; strValue?: string; longValue?: number; doubleValue?: number; jsonValue?: string; }; export type DeviceExportData = Omit & { entity?: Device; credentials?: DeviceCredentials; entityType?: 'DEVICE'; }; export type EntityDataDiff = { currentVersion?: EntityExportDataObject | DeviceExportData | EntityGroupExportData | GroupEntityExportData | OtaPackageExportData | RuleChainExportData | SchedulerEventExportData | WidgetTypeExportData | WidgetsBundleExportData; otherVersion?: EntityExportDataObject | DeviceExportData | EntityGroupExportData | GroupEntityExportData | OtaPackageExportData | RuleChainExportData | SchedulerEventExportData | WidgetTypeExportData | WidgetsBundleExportData; }; export type EntityExportDataObject = { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entity?: unknown; relations?: Array; attributes?: { [key: string]: Array; }; calculatedFields?: Array; }; export type EntityGroupExportData = Omit & { entity?: EntityGroup; permissions?: Array; groupOtaPackages?: Array; groupEntities?: boolean; entityType?: 'EntityGroupExportData'; }; export type ExportableEntityEntityId = { id?: EntityId; name?: string; }; export type GroupEntityExportData = Omit & { entity?: ExportableEntityEntityId; entityType?: 'GroupEntityExportData'; }; export type OtaPackageExportData = Omit & { entity?: OtaPackage; entityType?: 'OTA_PACKAGE'; }; export type RuleChainExportData = Omit & { entity?: RuleChain; metaData?: RuleChainMetaData; entityType?: 'RULE_CHAIN'; }; export type SchedulerEventExportData = Omit & { entity?: SchedulerEvent; entityType?: 'SchedulerEventExportData'; }; export type WidgetTypeExportData = Omit & { entity?: WidgetTypeDetails; entityType?: 'WIDGET_TYPE'; }; export type WidgetsBundleExportData = Omit & { entity?: WidgetsBundle; widgets?: Array; fqns?: Array; entityType?: 'WIDGETS_BUNDLE'; }; export type BranchInfo = { name?: string; default?: boolean; }; export type EdqsState = { edqsReady?: boolean; syncStatus?: 'REQUESTED' | 'STARTED' | 'FINISHED' | 'FAILED'; apiMode?: 'ENABLED' | 'AUTO_ENABLED' | 'DISABLED' | 'AUTO_DISABLED'; }; export type EdgeInfo = { /** * JSON object with the Edge Id. Specify this field to update the Edge. Referencing non-existing Edge Id will cause error. Omit this field to create new Edge. */ id?: EdgeId; /** * Timestamp of the edge creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. */ readonly rootRuleChainId?: RuleChainId; /** * Unique Edge Name in scope of Tenant */ name: string; /** * Edge type */ type: string; /** * Label that may be used in widgets */ label?: string; /** * Edge routing key ('username') to authorize on cloud */ routingKey: string; /** * Edge secret ('password') to authorize on cloud */ secret: string; /** * Edge license key obtained from license portal */ edgeLicenseKey: string; /** * Edge uses this cloud URL to activate and periodically check it's license */ cloudEndpoint: string; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; readonly ownerId?: EntityId; additionalInfo?: JsonNode; }; export type PageDataEdgeInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataSchedulerEventInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type EdgeEvent = { id?: EdgeEventId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; seqId?: number; tenantId?: TenantId; edgeId?: EdgeId; action?: 'ADDED' | 'UPDATED' | 'DELETED' | 'POST_ATTRIBUTES' | 'ATTRIBUTES_UPDATED' | 'ATTRIBUTES_DELETED' | 'TIMESERIES_UPDATED' | 'CREDENTIALS_UPDATED' | 'RELATION_ADD_OR_UPDATE' | 'RELATION_DELETED' | 'RPC_CALL' | 'ALARM_ACK' | 'ALARM_CLEAR' | 'ALARM_DELETE' | 'ALARM_ASSIGNED' | 'ALARM_UNASSIGNED' | 'ADDED_COMMENT' | 'UPDATED_COMMENT' | 'DELETED_COMMENT' | 'ASSIGNED_TO_EDGE' | 'UNASSIGNED_FROM_EDGE' | 'CREDENTIALS_REQUEST' | 'ADDED_TO_ENTITY_GROUP' | 'REMOVED_FROM_ENTITY_GROUP' | 'CHANGE_OWNER' | 'ENTITY_MERGE_REQUEST'; entityId?: string; uid?: string; type?: 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'ENTITY_VIEW' | 'ALARM' | 'ALARM_COMMENT' | 'RULE_CHAIN' | 'RULE_CHAIN_METADATA' | 'EDGE' | 'USER' | 'CUSTOMER' | 'RELATION' | 'TENANT' | 'TENANT_PROFILE' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ADMIN_SETTINGS' | 'OTA_PACKAGE' | 'QUEUE' | 'ENTITY_GROUP' | 'SCHEDULER_EVENT' | 'WHITE_LABELING' | 'LOGIN_WHITE_LABELING' | 'MAIL_TEMPLATES' | 'CUSTOM_TRANSLATION' | 'CUSTOM_MENU' | 'ROLE' | 'GROUP_PERMISSION' | 'CONVERTER' | 'INTEGRATION' | 'NOTIFICATION_RULE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'TB_RESOURCE' | 'DEVICE_GROUP_OTA' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'CALCULATED_FIELD' | 'ENCRYPTION_KEY' | 'SECRET' | 'REPORT_TEMPLATE' | 'AI_MODEL'; entityGroupId?: string; body?: JsonNode; }; export type EdgeEventId = { /** * string */ id: string; }; export type PageDataEdgeEvent = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type EdgeInstructions = { /** * Markdown with install/upgrade instructions */ instructions?: string; }; export type DomainInfo = { id?: DomainId; /** * Entity creation timestamp in milliseconds since Unix epoch */ readonly createdTime?: number; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Domain name. Cannot be empty */ name: string; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Whether OAuth2 settings are enabled on Edge or not */ propagateToEdge?: boolean; /** * List of available oauth2 clients */ oauth2ClientInfos?: Array; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; }; export type PageDataDomainInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataDeviceProfile = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type DeviceProfileInfo = { /** * JSON object with the entity Id. */ id?: EntityId; /** * Tenant id. */ tenantId?: TenantId; /** * Entity Name */ name?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of device profiles in the grid view. */ image?: string; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to device details. */ defaultDashboardId?: DashboardId; /** * Type of the profile. Always 'DEFAULT' for now. Reserved for future use. */ type?: 'DEFAULT'; /** * Type of the transport used to connect the device. Default transport supports HTTP, CoAP and MQTT. */ transportType?: 'DEFAULT' | 'MQTT' | 'COAP' | 'LWM2M' | 'SNMP'; }; export type PageDataDeviceProfileInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type DeviceInfo = { /** * JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. */ id?: DeviceId; /** * Timestamp of the device creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Unique Device Name in scope of Tenant */ name?: string; /** * Device Profile Name */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Device Profile Id. */ deviceProfileId: DeviceProfileId; /** * JSON object with Ota Package Id. */ firmwareId?: OtaPackageId; /** * JSON object with Ota Package Id. */ softwareId?: OtaPackageId; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * Device active flag. */ readonly active?: boolean; /** * JSON object with content specific to type of transport in the device profile. */ deviceData?: DeviceData; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataDeviceInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type CustomerInfo = { /** * JSON object with the customer Id. Specify this field to update the customer. Referencing non-existing customer Id will cause error. Omit this field to create new customer. */ id?: CustomerId; /** * Timestamp of the customer creation, in milliseconds */ readonly createdTime?: number; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the customer */ title: string; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with parent Customer Id */ parentCustomerId?: CustomerId; version?: number; customMenuId?: CustomMenuId; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * Name of the customer. Read-only, duplicated from title for backward compatibility */ readonly name?: string; /** * JSON object with parent Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataCustomerInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type AssetInfo = { /** * JSON object with the asset Id. Specify this field to update the asset. Referencing non-existing asset Id will cause error. Omit this field to create new asset. */ id?: AssetId; /** * Timestamp of the asset creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id. */ readonly tenantId?: TenantId; /** * JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. */ readonly customerId?: CustomerId; /** * Unique Asset Name in scope of Tenant */ name: string; /** * Asset type */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Asset Profile Id. */ assetProfileId?: AssetProfileId; version?: number; /** * Owner name */ readonly ownerName?: string; /** * Groups */ readonly groups?: Array; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the asset */ additionalInfo?: JsonNode; }; export type PageDataAssetInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataCustomMenuInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataConverter = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type Model = { name?: string; info?: JsonNode; photo?: string; }; export type Vendor = { name?: string; logo?: string; }; export type ComponentDescriptor = { /** * JSON object with the descriptor Id. Specify existing descriptor id to update the descriptor. Referencing non-existing descriptor Id will cause error. Omit this field to create new descriptor. */ id?: ComponentDescriptorId; /** * Timestamp of the descriptor creation, in milliseconds */ readonly createdTime?: number; /** * Type of the Rule Node */ type?: 'ENRICHMENT' | 'FILTER' | 'TRANSFORMATION' | 'ACTION' | 'ANALYTICS' | 'EXTERNAL' | 'FLOW'; /** * Scope of the Rule Node. Always set to 'TENANT', since no rule chains on the 'SYSTEM' level yet. */ scope?: 'TENANT'; /** * Clustering mode of the RuleNode. This mode represents the ability to start Rule Node in multiple microservices. */ clusteringMode?: 'USER_PREFERENCE' | 'ENABLED' | 'SINGLETON'; /** * Name of the Rule Node. Taken from the @RuleNode annotation. */ readonly name?: string; /** * Full name of the Java class that implements the Rule Engine Node interface. */ readonly clazz?: string; /** * Rule node configuration version. By default, this value is 0. If the rule node is a versioned node, this value might be greater than 0. */ readonly configurationVersion?: number; /** * Rule Node Actions. Deprecated. Always null. */ readonly actions?: string; /** * Indicates that the RuleNode supports queue name configuration. */ readonly hasQueueName?: boolean; /** * Indicates that the RuleNode configuration uses secrets placeholders. */ readonly hasSecrets?: boolean; configurationDescriptor?: JsonNode; }; export type ComponentDescriptorId = { /** * string */ id: string; }; export type CalculatedFieldInfo = { /** * JSON object with the Calculated Field Id. Referencing non-existing Calculated Field Id will cause error. */ id?: CalculatedFieldId; /** * Timestamp of the calculated field creation, in milliseconds */ readonly createdTime?: number; tenantId?: TenantId; entityId?: EntityId; type?: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * User defined name of the calculated field. */ name?: string; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Version of calculated field configuration. */ configurationVersion?: number; configuration: ({ type: 'SIMPLE'; } & SimpleCalculatedFieldConfiguration) | ({ type: 'SCRIPT'; } & ScriptCalculatedFieldConfiguration) | ({ type: 'PROPAGATION'; } & PropagationCalculatedFieldConfiguration) | ({ type: 'ALARM'; } & AlarmCalculatedFieldConfiguration) | ({ type: 'RELATED_ENTITIES_AGGREGATION'; } & RelatedEntitiesAggregationCalculatedFieldConfiguration) | ({ type: 'ENTITY_AGGREGATION'; } & EntityAggregationCalculatedFieldConfiguration); version?: number; entityName?: string; }; export type PageDataCalculatedFieldInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataString = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type CfReprocessingValidationResult = { isValid?: boolean; message?: string; lastJobStatus?: 'QUEUED' | 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'; }; export type BlobEntityId = { /** * ID of the entity, time-based UUID v1 */ id: string; /** * string */ entityType: 'BLOB_ENTITY'; }; export type BlobEntityWithCustomerInfo = { /** * JSON object with the blob entity Id. Referencing non-existing blob entity Id will cause error */ id?: BlobEntityId; /** * Timestamp of the blob entity creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * blob entity name */ readonly name?: string; /** * blob entity type */ readonly type?: string; /** * blob content type */ contentType?: 'application/pdf' | 'image/jpeg' | 'image/png'; /** * Title of the customer */ customerTitle?: string; /** * Parameter that specifies if customer is public */ readonly customerIsPublic?: boolean; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the blob entity */ additionalInfo?: JsonNode; }; export type PageDataBlobEntityWithCustomerInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type BlobEntityInfo = { /** * JSON object with the blob entity Id. Referencing non-existing blob entity Id will cause error */ id?: BlobEntityId; /** * Timestamp of the blob entity creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * blob entity name */ readonly name?: string; /** * blob entity type */ readonly type?: string; /** * blob content type */ contentType?: 'application/pdf' | 'image/jpeg' | 'image/png'; /** * JSON object with Customer or Tenant Id */ readonly ownerId?: EntityId; /** * Additional parameters of the blob entity */ additionalInfo?: JsonNode; }; export type TwoFaProviderInfo = { type?: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; contact?: string; minVerificationCodeSendPeriod?: number; default?: boolean; }; export type AuditLog = { /** * JSON object with the auditLog Id */ id?: AuditLogId; /** * Timestamp of the auditLog creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Tenant Id */ readonly tenantId?: TenantId; /** * JSON object with Customer Id */ readonly customerId?: CustomerId; /** * JSON object with Entity id */ readonly entityId?: EntityId; /** * Name of the logged entity */ readonly entityName?: string; /** * JSON object with User id. */ readonly userId?: UserId; /** * Unique user name(email) of the user that performed some action on logged entity */ readonly userName?: string; /** * String represented Action type */ actionType?: 'ADDED' | 'DELETED' | 'UPDATED' | 'ATTRIBUTES_UPDATED' | 'ATTRIBUTES_DELETED' | 'TIMESERIES_UPDATED' | 'TIMESERIES_DELETED' | 'RPC_CALL' | 'CREDENTIALS_UPDATED' | 'ASSIGNED_TO_CUSTOMER' | 'UNASSIGNED_FROM_CUSTOMER' | 'CHANGE_OWNER' | 'ACTIVATED' | 'SUSPENDED' | 'CREDENTIALS_READ' | 'ATTRIBUTES_READ' | 'RELATION_ADD_OR_UPDATE' | 'RELATION_DELETED' | 'RELATIONS_DELETED' | 'ALARM_ACK' | 'ALARM_CLEAR' | 'ALARM_DELETE' | 'ALARM_ASSIGNED' | 'ALARM_UNASSIGNED' | 'ADDED_TO_ENTITY_GROUP' | 'REMOVED_FROM_ENTITY_GROUP' | 'REST_API_RULE_ENGINE_CALL' | 'MADE_PUBLIC' | 'MADE_PRIVATE' | 'LOGIN' | 'LOGOUT' | 'LOCKOUT' | 'ASSIGNED_FROM_TENANT' | 'ASSIGNED_TO_TENANT' | 'PROVISION_SUCCESS' | 'PROVISION_FAILURE' | 'ASSIGNED_TO_EDGE' | 'UNASSIGNED_FROM_EDGE' | 'ADDED_COMMENT' | 'UPDATED_COMMENT' | 'DELETED_COMMENT' | 'SMS_SENT'; /** * JsonNode represented action data */ readonly actionData?: JsonNode; /** * String represented Action status */ actionStatus?: 'SUCCESS' | 'FAILURE'; /** * Failure action details info. An empty string in case of action status type 'SUCCESS', otherwise includes stack trace of the caused exception. */ readonly actionFailureDetails?: string; }; export type AuditLogId = { /** * string */ id: string; }; export type PageDataAuditLog = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataAssetProfile = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type AssetProfileInfo = { /** * JSON object with the entity Id. */ id?: EntityId; /** * Tenant id. */ tenantId?: TenantId; /** * Entity Name */ name?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of asset profiles in the grid view. */ image?: string; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to asset details. */ defaultDashboardId?: DashboardId; }; export type PageDataAssetProfileInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataApiKeyInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type AlarmCommentInfo = { /** * JSON object with the alarm comment Id. Specify this field to update the alarm comment. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ readonly id?: AlarmCommentId; /** * Timestamp of the alarm comment creation, in milliseconds */ readonly createdTime?: number; /** * JSON object with Alarm id. */ readonly alarmId?: AlarmId; /** * JSON object with User id. */ readonly userId?: UserId; /** * Defines origination of comment. System type means comment was created by TB. OTHER type means comment was created by user. */ type?: 'SYSTEM' | 'OTHER'; /** * JSON object with text of comment. */ comment?: JsonNode; /** * User first name */ firstName?: string; /** * User last name */ lastName?: string; /** * User email address */ email?: string; /** * representing comment text */ readonly name?: string; }; export type PageDataAlarmCommentInfo = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataEntitySubtype = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type PageDataAiModel = { /** * Array of the entities */ readonly data?: Array; /** * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria */ readonly totalPages?: number; /** * Total number of elements in all available pages */ readonly totalElements?: number; /** * 'false' value indicates the end of the result set */ readonly hasNext?: boolean; }; export type UpdateMessage = { /** * 'True' if new platform update is available. */ updateAvailable?: boolean; /** * Current ThingsBoard version. */ currentVersion?: string; /** * Latest ThingsBoard version. */ latestVersion?: string; /** * Upgrade instructions URL. */ upgradeInstructionsUrl?: string; /** * Current ThingsBoard version release notes URL. */ currentVersionReleaseNotesUrl?: string; /** * Latest ThingsBoard version release notes URL. */ latestVersionReleaseNotesUrl?: string; }; export type SystemInfo = { /** * System data. */ systemData?: Array; monolith?: boolean; }; export type SystemInfoData = { /** * Service Id. */ serviceId?: string; /** * Service type. */ serviceType?: string; /** * CPU usage, in percent. */ cpuUsage?: number; /** * Total CPU usage. */ cpuCount?: number; /** * Memory usage, in percent. */ memoryUsage?: number; /** * Total memory in bytes. */ totalMemory?: number; /** * Disk usage, in percent. */ discUsage?: number; /** * Total disc space in bytes. */ totalDiscSpace?: number; }; export type RepositorySettingsInfo = { configured?: boolean; readOnly?: boolean; }; export type LicenseUsageInfo = { maxDevices?: number; maxAssets?: number; maxEdges?: number; whiteLabelingEnabled?: boolean; development?: boolean; plan?: string; devicesCount?: number; assetsCount?: number; edgesCount?: number; dashboardsCount?: number; integrationsCount?: number; }; export type FeaturesInfo = { smsEnabled?: boolean; oauthEnabled?: boolean; whiteLabelingEnabled?: boolean; notificationEnabled?: boolean; twoFaEnabled?: boolean; emailEnabled?: boolean; }; export type TbSecretDeleteResult = { success?: boolean; references?: { [key: string]: Array; }; }; export type TbResourceDeleteResult = { success?: boolean; references?: { [key: string]: Array; }; }; export type HasIdObject = { id?: unknown; }; export type TbImageDeleteResult = { success?: boolean; whiteLabelingList?: Array; references?: { [key: string]: Array; }; }; export type WhiteLabeling = { tenantId?: TenantId; customerId?: CustomerId; type?: 'LOGIN' | 'GENERAL' | 'MAIL_TEMPLATES' | 'SELF_REGISTRATION' | 'TERMS_OF_USE' | 'PRIVACY_POLICY'; settings?: JsonNode; domainId?: DomainId; }; export type CustomMenuDeleteResult = { success?: boolean; assigneeType?: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; assigneeList?: Array; }; export type ScriptCalculatedFieldConfiguration = { arguments: { [key: string]: Argument; }; expression?: string; output: AttributesOutput | TimeSeriesOutput; useLatestTs?: boolean; type: 'SCRIPT'; }; export type PropagationCalculatedFieldConfiguration = { type: 'PROPAGATION'; arguments: { [key: string]: Argument; }; expression?: string | null; output: AttributesOutput | TimeSeriesOutput; relation: { direction: 'TO' | 'FROM'; relationType: string; }; applyExpressionToResolvedArguments: boolean; }; export type AlarmCalculatedFieldConfiguration = { type: 'ALARM'; arguments: { [key: string]: Argument; }; createRules: { [key: string]: AlarmRule; }; clearRule?: AlarmRule; propagate?: boolean; propagateToOwner?: boolean; propagateToTenant?: boolean; propagateRelationTypes?: Array; }; export type RelatedEntitiesAggregationCalculatedFieldConfiguration = { type: 'RELATED_ENTITIES_AGGREGATION'; relation: RelationPathLevel; arguments: { [key: string]: Argument; }; deduplicationIntervalInSec?: number; metrics: { [key: string]: AggMetric; }; output: AttributesOutput | TimeSeriesOutput; useLatestTs?: boolean; scheduledUpdateInterval?: number; }; export type EntityAggregationCalculatedFieldConfiguration = { type: 'ENTITY_AGGREGATION'; arguments: { [key: string]: Argument; }; metrics: { [key: string]: AggMetric; }; interval: ({ type: 'HOUR'; } & HourInterval) | ({ type: 'DAY'; } & DayInterval) | ({ type: 'WEEK'; } & WeekInterval) | ({ type: 'WEEK_SUN_SAT'; } & WeekSunSatInterval) | ({ type: 'MONTH'; } & MonthInterval) | ({ type: 'QUARTER'; } & QuarterInterval) | ({ type: 'YEAR'; } & YearInterval) | ({ type: 'CUSTOM'; } & CustomInterval); watermark?: Watermark; produceIntermediateResult?: boolean; output: AttributesOutput | TimeSeriesOutput; }; export type AggKeyInput = { type: 'key'; key: string; }; export type AggFunctionInput = { type: 'function'; function: string; }; export type AggMetric = { function?: 'MIN' | 'MAX' | 'SUM' | 'AVG' | 'COUNT' | 'COUNT_UNIQUE'; filter?: string; input?: ({ type: 'key'; } & AggKeyInput) | ({ type: 'function'; } & AggFunctionInput); defaultValue?: number; }; export type BaseAggInterval = { tz: string; offsetSec?: number; }; export type HourInterval = BaseAggInterval & { type: 'HOUR'; }; export type DayInterval = BaseAggInterval & { type: 'DAY'; }; export type WeekInterval = BaseAggInterval & { type: 'WEEK'; }; export type WeekSunSatInterval = BaseAggInterval & { type: 'WEEK_SUN_SAT'; }; export type MonthInterval = BaseAggInterval & { type: 'MONTH'; }; export type QuarterInterval = BaseAggInterval & { type: 'QUARTER'; }; export type YearInterval = BaseAggInterval & { type: 'YEAR'; }; export type CustomInterval = BaseAggInterval & { type: 'CUSTOM'; durationSec: number; }; export type Watermark = { duration: number; }; /** * Any TB-accepted JSON value: string, number, boolean, object, or array (recursive). `null` is rejected by TB. */ export type JsonValue = string | number | boolean | Array | { [key: string]: JsonValue; }; export type ThingsboardErrorResponseWritable = { subscriptionErrorCode?: 'LIMIT_REACHED' | 'FEATURE_DISABLED' | 'UNSUPPORTED_SOLUTION_TEMPLATE_PLAN'; subscriptionEntry?: 'DEVICE_COUNT' | 'ASSET_COUNT' | 'EDGE_COUNT' | 'WHITE_LABELING'; subscriptionValue?: JsonNode; }; export type ThingsboardCredentialsExpiredResponseWritable = { subscriptionErrorCode?: 'LIMIT_REACHED' | 'FEATURE_DISABLED' | 'UNSUPPORTED_SOLUTION_TEMPLATE_PLAN'; subscriptionEntry?: 'DEVICE_COUNT' | 'ASSET_COUNT' | 'EDGE_COUNT' | 'WHITE_LABELING'; subscriptionValue?: JsonNode; }; export type SecretInfoWritable = { /** * JSON object with the Secret Id. Specify this field to update the Secret. Referencing non-existing Secret Id will cause error. Omit this field to create new Secret. */ id?: SecretId; /** * Secret name */ name: string; /** * Secret type. */ type: 'TEXT' | 'TEXT_FILE'; /** * Secret description. */ description?: string; }; /** * A JSON value representing the Scheduler Event. */ export type SchedulerEventWritable = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; configuration?: JsonNode; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; /** * A JSON value representing the Resource Info. */ export type TbResourceInfoWritable = { /** * JSON object with the Resource Id. Specify this field to update the Resource. Referencing non-existing Resource Id will cause error. Omit this field to create new Resource. */ id?: TbResourceId; /** * Resource title. */ title?: string; publicResourceKey?: string; descriptor?: JsonNode; public?: boolean; }; export type ResourceExportDataWritable = { link?: string; title?: string; type?: 'LWM2M_MODEL' | 'JKS' | 'PKCS_12' | 'JS_MODULE' | 'IMAGE' | 'DASHBOARD' | 'GENERAL'; subType?: 'IMAGE' | 'SCADA_SYMBOL' | 'EXTENSION' | 'MODULE'; resourceKey?: string; fileName?: string; publicResourceKey?: string; isPublic?: boolean; mediaType?: string; data?: string; public?: boolean; }; /** * A JSON value representing the custom menu configuration */ export type CustomMenuConfigWritable = { /** * List of custom menu items */ items: Array; }; export type DefaultMenuItemWritable = Omit & { /** * Name of the menu item */ name?: string; /** * URL of the menu item icon. Overrides 'materialIcon' */ icon?: string; /** * Mark if menu item is visible for user */ visible?: boolean; /** * List of child menu items */ pages?: Array; type?: 'DefaultMenuItemWritable'; }; export type HomeMenuItemWritable = Omit & { /** * Name of the menu item */ name?: string; /** * URL of the menu item icon. Overrides 'materialIcon' */ icon?: string; /** * Mark if menu item is visible for user */ visible?: boolean; /** * List of child menu items */ pages?: Array; /** * DEFAULT or DASHBOARD. DASHBOARD means default home page presentation changed to refer to dashboard */ homeType?: 'DEFAULT' | 'DASHBOARD'; /** * Id of the Dashboard to open, when user clicks the menu item */ dashboardId?: string; /** * Hide the dashboard toolbar */ hideDashboardToolbar?: boolean; type?: 'HomeMenuItemWritable'; }; export type CustomMenuWritable = { id?: CustomMenuId; /** * Custom menu name */ name: string; /** * Custom menu scope. Possible values: SYSTEM, TENANT, CUSTOMER */ scope: 'SYSTEM' | 'TENANT' | 'CUSTOMER'; /** * Custom menu assignee type. Possible values are: All (all users of specified scope), CUSTOMERS (specified customers), USERS (specified list of users), NO_ASSIGN (no assignees), USER_GROUPS (user groups) */ assigneeType: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; /** * User group names menu is applied to */ userGroupNames?: Array; /** * Custom menu configuration */ config?: CustomMenuConfigWritable; }; /** * A JSON value representing the API key. */ export type ApiKeyInfoWritable = { /** * JSON object with the API Key Id. Specify this field to update the API Key. Referencing non-existing API Key Id will cause error. Omit this field to create new API Key. */ id?: ApiKeyId; /** * JSON object with User Id. User Id of the API key cannot be changed. */ userId?: UserId; /** * Expiration time of the API key. */ expirationTime?: number; /** * API Key description. */ description: string; /** * Enabled/disabled API key. */ enabled?: boolean; }; /** * A JSON value representing the Widget Bundle. */ export type WidgetsBundleWritable = { /** * JSON object with the Widget Bundle Id. Specify this field to update the Widget Bundle. Referencing non-existing Widget Bundle Id will cause error. Omit this field to create new Widget Bundle. */ id?: WidgetsBundleId; version?: number; }; /** * A JSON value representing the Widget Type Details. */ export type WidgetTypeDetailsWritable = { /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Relative or external image URL. Replaced with image data URL (Base64) in case of relative URL and 'inlineImages' option enabled. */ image?: string; /** * Description of the widget */ description?: string; resources?: Array; /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; /** * Tags of the widget type */ tags?: Array; }; /** * A JSON value representing the white labeling configuration */ export type WhiteLabelingParamsWritable = { /** * Logo image URL */ logoImageUrl?: string; /** * The height of a logo container. Logo image will be automatically scaled. */ logoImageHeight?: number; /** * White-labeled name of the platform */ appTitle?: string; /** * JSON object that contains website icon url and type */ favicon?: Favicon; /** * Complex JSON that describes structure of the Angular Material Palette. See [theming](https://material.angular.io/guide/theming) for more details */ paletteSettings?: PaletteSettings; /** * Base URL for help link */ helpLinkBaseUrl?: string; /** * Base URL for the repository with the UI help components (markdown) */ uiHelpBaseUrl?: string; /** * Enable or Disable help links */ enableHelpLinks?: boolean; /** * Show platform name and version on UI and login screen */ showNameVersion?: boolean; /** * White-labeled platform name */ platformName?: string; /** * White-labeled platform version */ platformVersion?: string; /** * Custom CSS content */ customCss?: string; /** * Hide device connectivity dialog */ hideConnectivityDialog?: boolean; /** * Override Trendz Add-on name */ overrideTrendzName?: boolean; }; /** * A JSON value representing the login white labeling configuration */ export type LoginWhiteLabelingParamsWritable = { /** * Logo image URL */ logoImageUrl?: string; /** * The height of a logo container. Logo image will be automatically scaled. */ logoImageHeight?: number; /** * White-labeled name of the platform */ appTitle?: string; /** * JSON object that contains website icon url and type */ favicon?: Favicon; /** * Complex JSON that describes structure of the Angular Material Palette. See [theming](https://material.angular.io/guide/theming) for more details */ paletteSettings?: PaletteSettings; /** * Base URL for help link */ helpLinkBaseUrl?: string; /** * Base URL for the repository with the UI help components (markdown) */ uiHelpBaseUrl?: string; /** * Enable or Disable help links */ enableHelpLinks?: boolean; /** * Show platform name and version on UI and login screen */ showNameVersion?: boolean; /** * White-labeled platform name */ platformName?: string; /** * White-labeled platform version */ platformVersion?: string; /** * Custom CSS content */ customCss?: string; /** * Hide device connectivity dialog */ hideConnectivityDialog?: boolean; /** * Override Trendz Add-on name */ overrideTrendzName?: boolean; /** * Login page background color */ pageBackgroundColor?: string; /** * Enable/Disable dark foreground */ darkForeground?: boolean; /** * Domain id */ domainId?: DomainId; /** * Base URL for the activation link, etc */ baseUrl?: string; /** * Prohibit use of other URLs. It is recommended to enable this setting */ prohibitDifferentUrl?: boolean; /** * Id of the settings object that store this parameters */ adminSettingsId?: string; /** * Show platform name and version on login page */ showNameBottom?: boolean; }; export type ReportWritable = { id?: ReportId; tenantId: TenantId; customerId?: CustomerId; templateId: ReportTemplateId; format: 'PDF' | 'CSV'; name: string; userId: UserId; }; export type AssetTypeFilterWritable = Omit & { /** * @deprecated */ assetType?: string; assetTypes?: Array; assetNameFilter?: string; type: 'assetType'; }; export type CsvReportTemplateConfigWritable = Omit & { format?: 'CsvReportTemplateConfigWritable'; }; export type DeviceTypeFilterWritable = Omit & { /** * @deprecated */ deviceType?: string; deviceTypes?: Array; deviceNameFilter?: string; type: 'deviceType'; }; export type EdgeTypeFilterWritable = Omit & { /** * @deprecated */ edgeType?: string; edgeTypes?: Array; edgeNameFilter?: string; type: 'edgeType'; }; export type EntityAliasWritable = { id?: string; alias?: string; filter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilterWritable | DeviceSearchQueryFilter | DeviceTypeFilterWritable | EdgeSearchQueryFilter | EdgeTypeFilterWritable | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilterWritable | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; }; export type EntityViewTypeFilterWritable = Omit & { /** * @deprecated */ entityViewType?: string; entityViewTypes?: Array; entityViewNameFilter?: string; type: 'entityViewType'; }; export type PdfReportTemplateConfigWritable = Omit & { pageSize?: 'A4' | 'LETTER' | 'LEGAL' | 'A5' | 'A3' | 'TABLOID'; pageOrientation?: 'PORTRAIT' | 'LANDSCAPE'; pageMargins?: Insets; pageBackground?: string; header?: HeaderFooter; footer?: HeaderFooter; format?: 'PdfReportTemplateConfigWritable'; }; export type ReportRequestWritable = { /** * Json object representing the report template id. */ reportTemplateId?: ReportTemplateId; /** * Json object representing the report template config. */ reportTemplateConfig?: CsvReportTemplateConfigWritable | PdfReportTemplateConfigWritable; /** * Timezone used for report generation. */ timezone?: string; /** * A string value representing the user id. */ userId?: string; /** * Json object representing the originator id. */ originator?: EntityId; targets?: Array; notificationTemplateId?: NotificationTemplateId; }; export type ReportTemplateConfigWritable = { format?: 'PDF' | 'CSV'; filters?: Array; namePattern?: string; components?: Array; timeDataPattern?: string; entityAliases?: Array; }; export type CfReprocessingJobConfigurationWritable = Omit & { calculatedFieldId: CalculatedFieldId; calculatedFieldName?: string; startTs?: number; endTs?: number; type: 'CfReprocessingJobConfigurationWritable'; }; export type CfReprocessingJobResultWritable = Omit & { jobType: 'CfReprocessingJobResultWritable'; }; export type DummyJobConfigurationWritable = Omit & { taskProcessingTimeMs?: number; successfulTasksCount?: number; failedTasksCount?: number; permanentlyFailedTasksCount?: number; errors?: Array; retries?: number; taskProcessingTimeoutMs?: number; generalError?: string; submittedTasksBeforeGeneralError?: number; type: 'DUMMY'; }; export type DummyJobResultWritable = Omit & { jobType: 'DUMMY'; }; export type JobWritable = { id?: JobId; tenantId: TenantId; type: 'CF_REPROCESSING' | 'REPORT' | 'DUMMY'; key: string; entityId: EntityId; entityName?: string; status: 'QUEUED' | 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'; configuration: CfReprocessingJobConfigurationWritable | DummyJobConfigurationWritable | ReportJobConfigurationWritable; result: CfReprocessingJobResultWritable | DummyJobResultWritable | ReportJobResultWritable; }; export type JobConfigurationWritable = { tasksKey: string; toReprocess?: Array; type: string; }; export type JobResultWritable = { successfulCount?: number; failedCount?: number; discardedCount?: number; totalCount?: number; results?: Array; generalError?: string; startTs?: number; finishTs?: number; cancellationTs?: number; jobType: string; }; export type NotificationRequestWritable = { tenantId?: TenantId; targets: Array; templateId?: NotificationTemplateId; template?: NotificationTemplateWritable; info?: NotificationInfo; additionalConfig?: NotificationRequestConfig; originatorEntityId?: EntityId; ruleId?: NotificationRuleId; status?: 'PROCESSING' | 'SENT' | 'SCHEDULED'; stats?: NotificationRequestStatsWritable; id?: NotificationRequestId; }; export type NotificationRequestStatsWritable = { sent?: { [key: string]: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; }; errors?: { [key: string]: { [key: string]: string; }; }; totalErrors?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; error?: string; totalSent?: number; }; export type NotificationTemplateWritable = { id?: NotificationTemplateId; tenantId?: TenantId; name: string; notificationType: 'GENERAL' | 'ALARM' | 'DEVICE_ACTIVITY' | 'ENTITY_ACTION' | 'ALARM_COMMENT' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'ALARM_ASSIGNMENT' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'ENTITIES_LIMIT_INCREASE_REQUEST' | 'ADDON_ACCESS_REQUEST' | 'ADDON_ACCESS_ERROR' | 'PLAN_UPGRADE_REQUEST' | 'API_USAGE_LIMIT' | 'RULE_NODE' | 'INTEGRATION_LIFECYCLE_EVENT' | 'RATE_LIMITS' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE' | 'USER_ACTIVATED' | 'USER_REGISTERED' | 'REPORT_GENERATED'; configuration: NotificationTemplateConfig; }; export type ReportJobConfigurationWritable = Omit & { reportTemplateId?: ReportTemplateId; userId?: UserId; timezone?: string; targets?: Array; notificationTemplateId?: NotificationTemplateId; notificationRequests?: Array; originator?: EntityId; ruleNode?: RuleNodeWritable; outputTbMsgProto?: string; queueName?: string; schedulerEventInfo?: EntityInfo; type: 'ReportJobConfigurationWritable'; }; export type ReportJobResultWritable = Omit & { report?: ReportWritable; jobType: 'ReportJobResultWritable'; }; export type ReportTaskResultWritable = Omit & { report?: ReportWritable; error?: string; jobType: 'ReportTaskResultWritable'; }; export type RuleNodeWritable = { /** * JSON object with the Rule Node Id. Specify this field to update the Rule Node. Referencing non-existing Rule Node Id will cause error. Omit this field to create new rule node. */ id?: RuleNodeId; /** * Full Java Class Name of the rule node implementation. */ type?: string; /** * User defined name of the rule node. Used on UI and for logging. */ name?: string; /** * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Enable/disable singleton mode. */ singletonMode?: boolean; /** * Queue name. */ queueName?: string; /** * Version of rule node configuration. */ configurationVersion?: number; /** * JSON with the rule node configuration. Structure depends on the rule node implementation. */ configuration?: JsonNode; externalId?: RuleNodeId; /** * Additional parameters of the rule node. Contains 'layoutX' and 'layoutY' properties for visualization. */ additionalInfo?: JsonNode; }; /** * A JSON value representing the User. */ export type UserWritable = { /** * JSON object with the User Id. Specify this field to update the device. Referencing non-existing User Id will cause error. Omit this field to create new customer. */ id?: UserId; /** * Email of the user */ email: string; /** * Authority */ authority: 'SYS_ADMIN' | 'TENANT_ADMIN' | 'CUSTOMER_USER' | 'REFRESH_TOKEN' | 'PRE_VERIFICATION_TOKEN' | 'MFA_CONFIGURATION_TOKEN'; /** * First name of the user */ firstName?: string; /** * Last name of the user */ lastName?: string; /** * Phone number of the user */ phone?: string; customMenuId?: CustomMenuId; version?: number; /** * Additional parameters of the user */ additionalInfo?: JsonNode; }; /** * A JSON value representing the group permission. */ export type GroupPermissionWritable = { /** * JSON object with the User Group Id. Represent user group that will have permissions to perform operations against corresponding Entity Group. */ userGroupId?: EntityGroupId; /** * JSON object with the Role Id. Represent set of permissions. */ roleId?: RoleId; /** * JSON object with the Entity Group Id. Represent entity (device, asset, etc.) group. */ entityGroupId?: EntityGroupId; /** * Type of the entities in the group: DEVICE, ASSET, CUSTOMER, etc. */ entityGroupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; isPublic?: boolean; /** * JSON object with the Group Permission Id. Specify this field to update the Group Permission. Referencing non-existing Group Permission Id will cause error. Omit this field to create new Group Permission. */ id?: GroupPermissionId; public?: boolean; }; export type GroupPermissionInfoWritable = { /** * JSON object with the Group Permission Id. Specify this field to update the Group Permission. Referencing non-existing Group Permission Id will cause error. Omit this field to create new Group Permission. */ id?: GroupPermissionId; /** * JSON object with the User Group Id. Represent user group that will have permissions to perform operations against corresponding Entity Group. */ userGroupId?: EntityGroupId; /** * JSON object with the Role Id. Represent set of permissions. */ roleId?: RoleId; /** * JSON object with the Entity Group Id. Represent entity (device, asset, etc.) group. */ entityGroupId?: EntityGroupId; /** * Type of the entities in the group: DEVICE, ASSET, CUSTOMER, etc. */ entityGroupType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * Represent set of permissions. */ role?: RoleWritable; /** * Entity Group Name. */ entityGroupName?: string; /** * Entity Group Owner Id (Tenant or Customer). */ entityGroupOwnerId?: EntityId; /** * Name of the entity group owner (Tenant or Customer title). */ entityGroupOwnerName?: string; /** * User Group Name. */ userGroupName?: string; /** * User Group Owner Id (Tenant or Customer). */ userGroupOwnerId?: EntityId; /** * Name of the user group owner (Tenant or Customer title). */ userGroupOwnerName?: string; readOnly?: boolean; public?: boolean; }; /** * A JSON value representing the role. */ export type RoleWritable = { /** * Role Name */ name: string; /** * Type of the role: generic or group */ type: 'GENERIC' | 'GROUP'; permissions?: JsonNode; version?: number; /** * JSON object with the Role Id. Specify this field to update the Role. Referencing non-existing Role Id will cause error. Omit this field to create new Role. */ id?: RoleId; /** * Additional parameters of the role */ additionalInfo?: JsonNode; }; /** * A JSON value representing the tenant. */ export type TenantWritable = { /** * JSON object with the tenant Id. Specify this field to update the tenant. Referencing non-existing tenant Id will cause error. Omit this field to create new tenant. */ id?: TenantId; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the tenant */ title: string; /** * Geo region of the tenant */ region?: string; /** * JSON object with Tenant Profile Id */ tenantProfileId?: TenantProfileId; version?: number; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; /** * A JSON value representing the tenant profile. */ export type TenantProfileWritable = { /** * JSON object with the tenant profile Id. Specify this field to update the tenant profile. Referencing non-existing tenant profile Id will cause error. Omit this field to create new tenant profile. */ id?: TenantProfileId; /** * Name of the tenant profile */ name?: string; /** * Description of the tenant profile */ description?: string; /** * If enabled, will push all messages related to this tenant and processed by the rule engine into separate queue. Useful for complex microservices deployments, to isolate processing of the data for specific tenants */ isolatedTbRuleEngine?: boolean; /** * Default Tenant profile to be used. */ default?: boolean; profileData?: TenantProfileData; }; export type DeviceWritable = { /** * JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. */ id?: DeviceId; /** * Unique Device Name in scope of Tenant */ name?: string; /** * Device Profile Name */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Device Profile Id. */ deviceProfileId: DeviceProfileId; /** * JSON object with Ota Package Id. */ firmwareId?: OtaPackageId; /** * JSON object with Ota Package Id. */ softwareId?: OtaPackageId; version?: number; /** * JSON object with content specific to type of transport in the device profile. */ deviceData?: DeviceData; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type WebSelfRegistrationParamsWritable = Omit & { /** * Indicates if self-registration is allowed via sign-up form */ enabled?: boolean; /** * The text message to appear on login form */ title: string; /** * Captcha site key for 'I'm not a robot' validation */ captcha: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; /** * List of sign-up form fields */ signUpFields: Array; /** * Show or hide 'Privacy Policy' */ showPrivacyPolicy?: boolean; /** * Show or hide 'Terms of Use' */ showTermsOfUse?: boolean; /** * Recipient to use for notifications when new user self-registered. */ notificationRecipient?: NotificationTargetId; /** * Prefix to add to created customer */ customerTitlePrefix?: string; /** * Id of the customer group customer wil be added to. */ customerGroupId?: EntityGroupId; /** * Group Permissions to assign for the new customer user. */ permissions: Array; /** * Default dashboard params */ defaultDashboard?: DefaultDashboardParams; /** * Home dashboard params */ homeDashboard?: HomeDashboardParams; /** * Custom menu id */ customMenuId?: CustomMenuId; /** * Privacy policy text. Supports HTML. */ privacyPolicy?: string; /** * Terms of User text. Supports HTML. */ termsOfUse?: string; /** * Domain name for self registration URL. Typically this matches the domain name from the Login White Labeling page. */ domainId: DomainId; type?: 'WebSelfRegistrationParamsWritable'; }; /** * A JSON value representing the Secret. */ export type SecretWritable = { /** * JSON object with the Secret Id. Specify this field to update the Secret. Referencing non-existing Secret Id will cause error. Omit this field to create new Secret. */ id?: SecretId; /** * Secret name */ name: string; /** * Secret type. */ type: 'TEXT' | 'TEXT_FILE'; /** * Secret description. */ description?: string; value?: string; encryptedValue?: string; }; /** * A JSON value representing the rule chain. */ export type RuleChainWritable = { /** * JSON object with the Rule Chain Id. Specify this field to update the Rule Chain. Referencing non-existing Rule Chain Id will cause error. Omit this field to create new rule chain. */ id?: RuleChainId; /** * Rule Chain name */ name: string; /** * Rule Chain type. 'EDGE' rule chains are processing messages on the edge devices only. */ type?: 'CORE' | 'EDGE'; /** * JSON object with Rule Chain Id. Pointer to the first rule node that should receive all messages pushed to this rule chain. */ firstRuleNodeId?: RuleNodeId; /** * Indicates root rule chain. The root rule chain process messages from all devices and entities by default. User may configure default rule chain per device profile. */ root?: boolean; /** * Reserved for future usage. */ debugMode?: boolean; version?: number; configuration?: JsonNode; additionalInfo?: JsonNode; }; /** * A JSON value representing the rule chains. */ export type RuleChainDataWritable = { [key: string]: unknown; }; /** * A JSON value representing the rule chain metadata. */ export type RuleChainMetaDataWritable = { /** * Version of the Rule Chain */ version?: number; /** * Index of the first rule node in the 'nodes' list */ firstNodeIndex: number; /** * List of rule node JSON objects */ nodes: Array; /** * List of JSON objects that represent connections between rule nodes */ connections: Array; /** * List of JSON objects that represent connections between rule nodes and other rule chains. */ ruleChainConnections: Array; }; /** * A JSON value representing the Resource. */ export type TbResourceWritable = { /** * JSON object with the Resource Id. Specify this field to update the Resource. Referencing non-existing Resource Id will cause error. Omit this field to create new Resource. */ id?: TbResourceId; /** * Resource title. */ title?: string; publicResourceKey?: string; descriptor?: JsonNode; /** * Resource data. */ data?: string; preview?: string; public?: boolean; }; /** * A JSON value representing the Report Template. */ export type ReportTemplateWritable = { /** * JSON object with the report template Id. Specify this field to update the report. Referencing non-existing report template Id will cause error. Omit this field to create new report template */ id?: ReportTemplateId; /** * Report name */ name: string; /** * Report format */ format: 'PDF, CSV'; /** * Report template type */ type: 'REPORT, SUB_REPORT'; /** * Description */ description?: string; version?: number; /** * a JSON value with report template configuration */ configuration: CsvReportTemplateConfigWritable | PdfReportTemplateConfigWritable; }; export type EntityRelationInfoWritable = { /** * JSON object with [from] Entity Id. */ from: EntityId; /** * JSON object with [to] Entity Id. */ to: EntityId; /** * String value of relation type. */ type: string; /** * Represents the type group of the relation. */ typeGroup: 'COMMON' | 'DASHBOARD' | 'FROM_ENTITY_GROUP' | 'RULE_CHAIN' | 'RULE_NODE' | 'EDGE' | 'EDGE_AUTO_ASSIGN_RULE_CHAIN'; version?: number; /** * Additional parameters of the relation */ additionalInfo?: JsonNode; }; /** * A JSON value representing the queue. */ export type QueueWritable = { id?: QueueId; tenantId?: TenantId; name?: string; topic?: string; pollInterval?: number; partitions?: number; consumerPerPartition?: boolean; packProcessingTimeout?: number; submitStrategy?: SubmitStrategy; processingStrategy?: ProcessingStrategy; additionalInfo?: JsonNode; }; /** * A JSON value representing the OTA Package. */ export type SaveOtaPackageInfoRequestWritable = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OtaPackageInfoWritable = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OAuth2ClientRegistrationTemplateWritable = { id?: OAuth2ClientRegistrationTemplateId; /** * OAuth2 provider identifier (e.g. its name) */ providerId: string; /** * Default config for mapping OAuth2 log in response to platform entities */ mapperConfig?: OAuth2MapperConfig; /** * Default authorization URI of the OAuth2 provider */ authorizationUri?: string; /** * Default access token URI of the OAuth2 provider */ accessTokenUri?: string; /** * Default OAuth scopes that will be requested from OAuth2 platform */ scope?: Array; /** * Default user info URI of the OAuth2 provider */ userInfoUri?: string; /** * Default name of the username attribute in OAuth2 provider log in response */ userNameAttributeName?: string; /** * Default JSON Web Key URI of the OAuth2 provider */ jwkSetUri?: string; /** * Default client authentication method to use: 'BASIC' or 'POST' */ clientAuthenticationMethod?: string; /** * Comment for OAuth2 provider */ comment?: string; /** * Default log in button icon for OAuth2 provider */ loginButtonIcon?: string; /** * Default OAuth2 provider label */ loginButtonLabel?: string; /** * Help link for OAuth2 provider */ helpLink?: string; name?: string; additionalInfo?: JsonNode; }; export type OAuth2ClientWritable = { id?: OAuth2ClientId; /** * Additional info of OAuth2 client (e.g. providerName) */ additionalInfo: JsonNode; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Oauth2 client title */ title: string; /** * Config for mapping OAuth2 log in response to platform entities */ mapperConfig: OAuth2MapperConfig; /** * OAuth2 client ID. Cannot be empty */ clientId: string; /** * OAuth2 client secret. Cannot be empty */ clientSecret: string; /** * Authorization URI of the OAuth2 provider. Cannot be empty */ authorizationUri: string; /** * Access token URI of the OAuth2 provider. Cannot be empty */ accessTokenUri: string; /** * OAuth scopes that will be requested from OAuth2 platform. Cannot be empty */ scope: Array; /** * User info URI of the OAuth2 provider */ userInfoUri?: string; /** * Name of the username attribute in OAuth2 provider response. Cannot be empty */ userNameAttributeName: string; /** * JSON Web Key URI of the OAuth2 provider */ jwkSetUri?: string; /** * Client authentication method to use: 'BASIC' or 'POST'. Cannot be empty */ clientAuthenticationMethod: string; /** * OAuth2 provider label. Cannot be empty */ loginButtonLabel: string; /** * Log in button icon for OAuth2 provider */ loginButtonIcon?: string; /** * List of platforms for which usage of the OAuth2 client is allowed (empty for all allowed) */ platforms?: Array<'WEB' | 'ANDROID' | 'IOS'>; }; export type NotificationTargetWritable = { id?: NotificationTargetId; tenantId?: TenantId; name: string; configuration: MicrosoftTeamsNotificationTargetConfig | PlatformUsersNotificationTargetConfig | SlackNotificationTargetConfig; }; export type PageDataUserWritable = { [key: string]: unknown; }; export type NotificationRuleWritable = { id?: NotificationRuleId; tenantId?: TenantId; name: string; enabled?: boolean; templateId: NotificationTemplateId; triggerType: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; triggerConfig: AlarmAssignmentNotificationRuleTriggerConfig | AlarmCommentNotificationRuleTriggerConfig | AlarmNotificationRuleTriggerConfig | ApiUsageLimitNotificationRuleTriggerConfig | DeviceActivityNotificationRuleTriggerConfig | EdgeCommunicationFailureNotificationRuleTriggerConfig | EdgeConnectionNotificationRuleTriggerConfig | EntitiesLimitNotificationRuleTriggerConfig | EntityActionNotificationRuleTriggerConfig | IntegrationLifecycleEventNotificationRuleTriggerConfig | NewPlatformVersionNotificationRuleTriggerConfig | RateLimitsNotificationRuleTriggerConfig | ResourcesShortageNotificationRuleTriggerConfig | RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig | TaskProcessingFailureNotificationRuleTriggerConfig; recipientsConfig: EscalatedNotificationRuleRecipientsConfig; additionalConfig?: NotificationRuleConfig; }; /** * A JSON value representing the mobile apps configuration */ export type QrCodeSettingsWritable = { id?: QrCodeSettingsId; /** * Use settings from system level */ useSystemSettings?: boolean; /** * Type of application: true means use default Thingsboard app */ useDefaultApp?: boolean; /** * Mobile app bundle. */ mobileAppBundleId?: MobileAppBundleId; /** * QR code config configuration. */ qrCodeConfig: QrCodeConfig; /** * Indicates if google play link is available */ androidEnabled?: boolean; /** * Indicates if apple store link is available */ iosEnabled?: boolean; }; /** * A JSON value representing the Mobile Application Bundle. */ export type MobileAppBundleWritable = { id?: MobileAppBundleId; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application bundle title. Cannot be empty */ title: string; /** * Application bundle description. */ description?: string; /** * Android application id */ androidAppId?: MobileAppId; /** * IOS application id */ iosAppId?: MobileAppId; /** * Application layout configuration */ layoutConfig?: MobileLayoutConfig; /** * Application self registration configuration */ selfRegistrationParams?: MobileSelfRegistrationParamsWritable; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; }; export type MobileSelfRegistrationParamsWritable = Omit & { /** * Indicates if self-registration is allowed via sign-up form */ enabled?: boolean; /** * The text message to appear on login form */ title: string; /** * Captcha site key for 'I'm not a robot' validation */ captcha: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; /** * List of sign-up form fields */ signUpFields: Array; /** * Show or hide 'Privacy Policy' */ showPrivacyPolicy?: boolean; /** * Show or hide 'Terms of Use' */ showTermsOfUse?: boolean; /** * Recipient to use for notifications when new user self-registered. */ notificationRecipient?: NotificationTargetId; /** * Prefix to add to created customer */ customerTitlePrefix?: string; /** * Id of the customer group customer wil be added to. */ customerGroupId?: EntityGroupId; /** * Group Permissions to assign for the new customer user. */ permissions: Array; /** * Default dashboard params */ defaultDashboard?: DefaultDashboardParams; /** * Home dashboard params */ homeDashboard?: HomeDashboardParams; /** * Custom menu id */ customMenuId?: CustomMenuId; /** * Privacy policy text. Supports HTML. */ privacyPolicy?: string; /** * Terms of User text. Supports HTML. */ termsOfUse?: string; /** * Mobile redirect params. */ redirect: MobileRedirectParams; type?: 'MobileSelfRegistrationParamsWritable'; }; /** * A JSON value representing the Mobile Application. */ export type MobileAppWritable = { id?: MobileAppId; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application package name. Cannot be empty */ pkgName: string; /** * Application title */ title?: string; /** * Application secret. The length must be at least 16 characters */ appSecret: string; /** * Application platform type: ANDROID or IOS */ platformType: 'WEB' | 'ANDROID' | 'IOS'; /** * Application status: PUBLISHED, DEPRECATED, SUSPENDED, DRAFT */ status: 'DRAFT' | 'PUBLISHED' | 'DEPRECATED' | 'SUSPENDED'; /** * Application version info */ versionInfo?: MobileAppVersionInfo; /** * Application store information */ storeInfo?: StoreInfo; }; /** * A JSON value representing the integration. */ export type IntegrationWritable = { /** * JSON object with the Integration Id. Specify this field to update the Integration. Referencing non-existing Integration Id will cause error. Omit this field to create new Integration. */ id?: IntegrationId; /** * Integration Name */ name: string; /** * The type of the integration */ type: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Boolean flag to enable/disable the integration */ enabled?: boolean; /** * Boolean flag to allow/disallow the integration to create devices or assets that send message and do not exist in the system yet */ allowCreateDevicesOrAssets?: boolean; version?: number; /** * JSON object with the Uplink Converter Id */ defaultConverterId: ConverterId; /** * JSON object with the Downlink Converter Id */ downlinkConverterId?: ConverterId; /** * String value used by HTTP based integrations for the base URL construction and by the remote integrations. Remote integration uses this value along with the 'secret' for kind of security and validation to be able to connect to the platform using Grpc */ routingKey: string; /** * String value used by the remote integrations. Remote integration uses this value along with the 'routingKey' for kind of security and validation to be able to connect to the platform using Grpc */ secret?: string; /** * JSON object representing integration configuration. Each integration type has specific configuration with the connectivity parameters (like 'host' and 'port' for MQTT type or 'baseUrl' for HTTP based type, etc.) and other important parameters dependent on the integration type */ configuration: JsonNode; /** * Additional parameters of the integration */ additionalInfo?: JsonNode; /** * Boolean flag that specifies that is regular or edge template integration */ edgeTemplate?: boolean; /** * Boolean flag to enable/disable the integration to be executed remotely. Remote integration is launched in a separate microservice. Local integration is executed by the platform core */ remote?: boolean; }; export type CalculatedFieldDebugEventFilterWritable = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; isError?: boolean; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing the entity id in the event body */ entityId?: string; /** * String value representing the entity type */ entityType?: 'DEVICE'; /** * String value representing the message id in the rule engine */ msgId?: string; /** * String value representing the message type */ msgType?: string; /** * String value representing the arguments that were used in the calculation performed */ arguments?: string; /** * String value representing the result of a calculation */ result?: string; error?: boolean; eventType: 'DEBUG_CALCULATED_FIELD'; }; export type DebugConverterEventFilterWritable = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; isError?: boolean; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; type?: string; in?: string; out?: string; metadata?: string; error?: boolean; eventType: 'DebugConverterEventFilterWritable'; }; export type DebugIntegrationEventFilterWritable = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; isError?: boolean; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; type?: string; message?: string; statusIntegration?: string; error?: boolean; eventType: 'DebugIntegrationEventFilterWritable'; }; export type RuleChainDebugEventFilterWritable = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; isError?: boolean; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing the message */ message?: string; error?: boolean; eventType: 'DEBUG_RULE_CHAIN'; }; export type RuleNodeDebugEventFilterWritable = Omit & { /** * String value representing the server name, identifier or ip address where the platform is running */ server?: string; isError?: boolean; /** * The case insensitive 'contains' filter based on error message */ errorStr?: string; /** * String value representing msg direction type (incoming to entity or outcoming from entity) */ msgDirectionType?: 'IN' | 'OUT'; /** * String value representing the entity id in the event body (originator of the message) */ entityId?: string; /** * String value representing the entity type */ entityType?: 'DEVICE'; /** * String value representing the message id in the rule engine */ msgId?: string; /** * String value representing the message type */ msgType?: string; /** * String value representing the type of message routing */ relationType?: string; /** * The case insensitive 'contains' filter based on data (key and value) for the message. */ dataSearch?: string; /** * The case insensitive 'contains' filter based on metadata (key and value) for the message. */ metadataSearch?: string; error?: boolean; eventType: 'DEBUG_RULE_NODE'; }; export type EventInfoWritable = { id?: EventId; /** * Event type */ type?: string; /** * string */ uid?: string; body?: JsonNode; }; export type PageDataEventInfoWritable = { [key: string]: unknown; }; /** * A JSON object representing the entity view. */ export type EntityViewWritable = { /** * JSON object with the referenced Entity Id (Device or Asset). */ entityId: EntityId; /** * Entity View name */ name: string; /** * Device Profile Name */ type: string; /** * Set of telemetry and attribute keys to expose via Entity View. */ keys?: TelemetryEntityView; /** * Represents the start time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ startTimeMs?: number; /** * Represents the end time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ endTimeMs?: number; version?: number; /** * JSON object with the Entity View Id. Specify this field to update the Entity View. Referencing non-existing Entity View Id will cause error. Omit this field to create new Entity View. */ id?: EntityViewId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; /** * A JSON value representing the entity group. */ export type EntityGroupWritable = { /** * JSON object with the EntityGroupId Id. Specify this field to update the Entity Group. Referencing non-existing Entity Group Id will cause error. Omit this field to create new Entity Group. */ id?: EntityGroupId; type: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * Name of the entity group */ name: string; /** * JSON object with the owner of the group - Tenant or Customer Id. */ ownerId?: EntityId; /** * Arbitrary JSON with additional information about the group */ additionalInfo?: JsonNode; /** * JSON with the configuration for UI components: list of columns, settings, actions, etc */ configuration?: JsonNode; version?: number; /** * Indicates special group 'All' that contains all entities and can't be deleted. */ groupAll?: boolean; tenantId?: TenantId; }; export type EntityGroupInfoWritable = { /** * JSON object with the EntityGroupId Id. Specify this field to update the Entity Group. Referencing non-existing Entity Group Id will cause error. Omit this field to create new Entity Group. */ id?: EntityGroupId; type: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * Name of the entity group */ name: string; /** * JSON object with the owner of the group - Tenant or Customer Id. */ ownerId?: EntityId; /** * Arbitrary JSON with additional information about the group */ additionalInfo?: JsonNode; /** * JSON with the configuration for UI components: list of columns, settings, actions, etc */ configuration?: JsonNode; version?: number; /** * List of the entity group owners. */ ownerIds: Array; /** * Indicates special group 'All' that contains all entities and can't be deleted. */ groupAll?: boolean; tenantId?: TenantId; }; export type DashboardWritable = { /** * Title of the dashboard. */ title?: string; /** * JSON object with main configuration of the dashboard: layouts, widgets, aliases, etc. The JSON structure of the dashboard configuration is quite complex. The easiest way to learn it is to export existing dashboard to JSON. */ configuration?: JsonNode; resources?: Array; /** * JSON object with the dashboard Id. Specify existing dashboard Id to update the dashboard. Referencing non-existing dashboard id will cause error. Omit this field to create new dashboard. */ id?: DashboardId; /** * JSON object with Customer Id. */ customerId?: CustomerId; version?: number; }; export type ShortCustomerInfoWritable = { /** * JSON object with the customer Id. */ customerId?: CustomerId; /** * Title of the customer. */ title?: string; isPublic?: boolean; public?: boolean; }; /** * Entity data query to find entities. Page size is capped at 100. */ export type EntityDataQueryWritable = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilterWritable | DeviceSearchQueryFilter | DeviceTypeFilterWritable | EdgeSearchQueryFilter | EdgeTypeFilterWritable | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilterWritable | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; pageLink?: EntityDataPageLink; entityFields?: Array; latestValues?: Array; }; export type PageDataEntityDataWritable = { [key: string]: unknown; }; /** * A JSON value representing the entity count query. See API call notes above for more details. */ export type EntityCountQueryWritable = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilterWritable | DeviceSearchQueryFilter | DeviceTypeFilterWritable | EdgeSearchQueryFilter | EdgeTypeFilterWritable | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilterWritable | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; }; /** * A JSON value representing the edge. */ export type EdgeWritable = { /** * JSON object with the Edge Id. Specify this field to update the Edge. Referencing non-existing Edge Id will cause error. Omit this field to create new Edge. */ id?: EdgeId; /** * Unique Edge Name in scope of Tenant */ name: string; /** * Edge type */ type: string; /** * Label that may be used in widgets */ label?: string; /** * Edge routing key ('username') to authorize on cloud */ routingKey: string; /** * Edge secret ('password') to authorize on cloud */ secret: string; /** * Edge license key obtained from license portal */ edgeLicenseKey: string; /** * Edge uses this cloud URL to activate and periodically check it's license */ cloudEndpoint: string; version?: number; additionalInfo?: JsonNode; }; export type SchedulerEventInfoWritable = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type BulkImportResultEdgeWritable = { created?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; /** * A JSON value representing the Domain. */ export type DomainWritable = { id?: DomainId; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Domain name. Cannot be empty */ name: string; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Whether OAuth2 settings are enabled on Edge or not */ propagateToEdge?: boolean; }; /** * A JSON value representing the device profile. */ export type DeviceProfileWritable = { /** * JSON object with the device profile Id. Specify this field to update the device profile. Referencing non-existing device profile Id will cause error. Omit this field to create new device profile. */ id?: DeviceProfileId; /** * Unique Device Profile Name in scope of Tenant. */ name?: string; /** * Device Profile description. */ description?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of device profiles in the grid view. */ image?: string; /** * Type of the profile. Always 'DEFAULT' for now. Reserved for future use. */ type?: 'DEFAULT'; /** * Type of the transport used to connect the device. Default transport supports HTTP, CoAP and MQTT. */ transportType?: 'DEFAULT' | 'MQTT' | 'COAP' | 'LWM2M' | 'SNMP'; /** * Provisioning strategy. */ provisionType?: 'DISABLED' | 'ALLOW_CREATE_NEW_DEVICES' | 'CHECK_PRE_PROVISIONED_DEVICES' | 'X509_CERTIFICATE_CHAIN'; /** * Reference to the rule chain. If present, the specified rule chain will be used to process all messages related to device, including telemetry, attribute updates, etc. Otherwise, the root rule chain will be used to process those messages. */ defaultRuleChainId?: RuleChainId; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to device details. */ defaultDashboardId?: DashboardId; /** * Rule engine queue name. If present, the specified queue will be used to store all unprocessed messages related to device, including telemetry, attribute updates, etc. Otherwise, the 'Main' queue will be used to store those messages. */ defaultQueueName?: string; /** * Unique provisioning key used by 'Device Provisioning' feature. */ provisionDeviceKey?: string; /** * Reference to the firmware OTA package. If present, the specified package will be used as default device firmware. */ firmwareId?: OtaPackageId; /** * Reference to the software OTA package. If present, the specified package will be used as default device software. */ softwareId?: OtaPackageId; /** * Reference to the edge rule chain. If present, the specified edge rule chain will be used on the edge to process all messages related to device, including telemetry, attribute updates, etc. Otherwise, the edge root rule chain will be used to process those messages. */ defaultEdgeRuleChainId?: RuleChainId; version?: number; /** * Used to mark the default profile. Default profile is used when the device profile is not specified during device creation. */ default?: boolean; /** * Complex JSON object that includes addition device profile configuration (transport, alarm rules, etc). */ profileData?: DeviceProfileDataWritable; }; export type DeviceProfileDataWritable = { /** * JSON object of device profile configuration */ configuration?: DefaultDeviceProfileConfiguration; /** * JSON object of device profile transport configuration */ transportConfiguration?: CoapDeviceProfileTransportConfiguration | DefaultDeviceProfileTransportConfiguration | Lwm2mDeviceProfileTransportConfigurationWritable | MqttDeviceProfileTransportConfiguration | SnmpDeviceProfileTransportConfiguration; /** * JSON object of provisioning strategy type per device profile */ provisionConfiguration?: AllowCreateNewDevicesDeviceProfileProvisionConfiguration | CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration | DisabledDeviceProfileProvisionConfiguration | X509CertificateChainProvisionConfiguration; /** * JSON array of alarm rules configuration per device profile */ alarms?: Array; }; export type Lwm2mDeviceProfileTransportConfigurationWritable = Omit & { observeAttr?: TelemetryMappingConfiguration; bootstrapServerUpdateEnable?: boolean; bootstrap?: Array; clientLwM2mSettings?: OtherConfiguration; type: 'LWM2M'; }; export type NoSecLwM2mBootstrapServerCredentialWritable = Omit & { securityMode: 'NO_SEC'; }; export type PskLwM2mBootstrapServerCredentialWritable = Omit & { securityMode: 'PSK'; }; export type RpkLwM2mBootstrapServerCredentialWritable = Omit & { securityMode: 'RPK'; }; export type X509LwM2mBootstrapServerCredentialWritable = Omit & { securityMode: 'X509'; }; /** * A JSON value representing the device credentials. */ export type DeviceCredentialsWritable = { /** * Timestamp of the device credentials creation, in milliseconds */ createdTime?: number; /** * JSON object with the device Id. */ deviceId: DeviceId; /** * Type of the credentials */ credentialsType?: 'ACCESS_TOKEN' | 'X509_CERTIFICATE' | 'MQTT_BASIC' | 'LWM2M_CREDENTIALS'; /** * Unique Credentials Id per platform instance. Used to lookup credentials from the database. By default, new access token for your device. Depends on the type of the credentials. */ credentialsId: string; /** * Value of the credentials. Null in case of ACCESS_TOKEN credentials type. Base64 value in case of X509_CERTIFICATE. Complex object in case of MQTT_BASIC and LWM2M_CREDENTIALS */ credentialsValue?: string; version?: number; }; export type BulkImportResultDeviceWritable = { created?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; /** * The JSON object with device and credentials. See method description above for example. */ export type SaveDeviceWithCredentialsRequestWritable = { /** * The JSON with device entity. */ device: DeviceWritable; /** * The JSON with credentials entity. */ credentials: DeviceCredentialsWritable; }; export type CustomerWritable = { /** * JSON object with the customer Id. Specify this field to update the customer. Referencing non-existing customer Id will cause error. Omit this field to create new customer. */ id?: CustomerId; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the customer */ title: string; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with parent Customer Id */ parentCustomerId?: CustomerId; version?: number; customMenuId?: CustomMenuId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; /** * A JSON value representing the custom menu basic info fields */ export type CustomMenuInfoWritable = { id?: CustomMenuId; /** * Custom menu name */ name: string; /** * Custom menu scope. Possible values: SYSTEM, TENANT, CUSTOMER */ scope: 'SYSTEM' | 'TENANT' | 'CUSTOMER'; /** * Custom menu assignee type. Possible values are: All (all users of specified scope), CUSTOMERS (specified customers), USERS (specified list of users), NO_ASSIGN (no assignees), USER_GROUPS (user groups) */ assigneeType: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; /** * User group names menu is applied to */ userGroupNames?: Array; }; export type ConverterWritable = { /** * JSON object with the Converter Id. Specify this field to update the Converter. Referencing non-existing Converter Id will cause error. Omit this field to create new Converter. */ id?: ConverterId; /** * Unique Converter Name in scope of Tenant */ name: string; /** * The type of the converter to process incoming or outgoing messages */ type: 'UPLINK' | 'DOWNLINK'; /** * The type of the integration to which the converter is dedicated */ integrationType?: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * JSON object representing converter configuration. It should contain one of two possible fields: 'decoder' or 'encoder'. The former is used when the converter has UPLINK type, the latter is used - when DOWNLINK type. It can contain both 'decoder' and 'encoder' fields, when the correct one is specified for the appropriate converter type, another one can be set to 'null' */ configuration?: JsonNode; /** * Additional parameters of the converter */ additionalInfo?: JsonNode; /** * Boolean flag that specifies that is regular or edge template converter */ edgeTemplate?: boolean; converterVersion?: number; version?: number; }; export type CalculatedFieldWritable = { /** * JSON object with the Calculated Field Id. Referencing non-existing Calculated Field Id will cause error. */ id?: CalculatedFieldId; tenantId?: TenantId; entityId?: EntityId; type?: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * User defined name of the calculated field. */ name?: string; /** * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Version of calculated field configuration. */ configurationVersion?: number; configuration: ({ type: 'SIMPLE'; } & SimpleCalculatedFieldConfiguration) | ({ type: 'SCRIPT'; } & ScriptCalculatedFieldConfiguration) | ({ type: 'PROPAGATION'; } & PropagationCalculatedFieldConfiguration) | ({ type: 'ALARM'; } & AlarmCalculatedFieldConfiguration) | ({ type: 'RELATED_ENTITIES_AGGREGATION'; } & RelatedEntitiesAggregationCalculatedFieldConfiguration) | ({ type: 'ENTITY_AGGREGATION'; } & EntityAggregationCalculatedFieldConfiguration); version?: number; }; export type AssetWritable = { /** * JSON object with the asset Id. Specify this field to update the asset. Referencing non-existing asset Id will cause error. Omit this field to create new asset. */ id?: AssetId; /** * Unique Asset Name in scope of Tenant */ name: string; /** * Asset type */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Asset Profile Id. */ assetProfileId?: AssetProfileId; version?: number; /** * Additional parameters of the asset */ additionalInfo?: JsonNode; }; /** * A JSON value representing the asset profile. */ export type AssetProfileWritable = { /** * JSON object with the asset profile Id. Specify this field to update the asset profile. Referencing non-existing asset profile Id will cause error. Omit this field to create new asset profile. */ id?: AssetProfileId; /** * Unique Asset Profile Name in scope of Tenant. */ name?: string; /** * Asset Profile description. */ description?: string; /** * Either URL or Base64 data of the icon. Used in the mobile application to visualize set of asset profiles in the grid view. */ image?: string; /** * Reference to the rule chain. If present, the specified rule chain will be used to process all messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the root rule chain will be used to process those messages. */ defaultRuleChainId?: RuleChainId; /** * Reference to the dashboard. Used in the mobile application to open the default dashboard when user navigates to asset details. */ defaultDashboardId?: DashboardId; /** * Rule engine queue name. If present, the specified queue will be used to store all unprocessed messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the 'Main' queue will be used to store those messages. */ defaultQueueName?: string; /** * Reference to the edge rule chain. If present, the specified edge rule chain will be used on the edge to process all messages related to asset, including asset updates, telemetry, attribute updates, etc. Otherwise, the edge root rule chain will be used to process those messages. */ defaultEdgeRuleChainId?: RuleChainId; version?: number; /** * Used to mark the default profile. Default profile is used when the asset profile is not specified during asset creation. */ default?: boolean; }; export type BulkImportResultAssetWritable = { created?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; updated?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errors?: { opaque?: number; acquire?: number; release?: number; andIncrement?: number; andDecrement?: number; plain?: number; }; errorsList?: Array; }; export type ApiKeyWritable = { /** * JSON object with the API Key Id. Specify this field to update the API Key. Referencing non-existing API Key Id will cause error. Omit this field to create new API Key. */ id?: ApiKeyId; /** * JSON object with User Id. User Id of the API key cannot be changed. */ userId?: UserId; /** * Expiration time of the API key. */ expirationTime?: number; /** * API Key description. */ description: string; /** * Enabled/disabled API key. */ enabled?: boolean; /** * API key value */ value: string; }; /** * A JSON value representing the alarm data query. See API call notes above for more details. */ export type AlarmDataQueryWritable = { entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilterWritable | DeviceSearchQueryFilter | DeviceTypeFilterWritable | EdgeSearchQueryFilter | EdgeTypeFilterWritable | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilterWritable | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; pageLink?: AlarmDataPageLink; entityFields?: Array; latestValues?: Array; alarmFields?: Array; }; export type AlarmDataWritable = { entityId?: EntityId; latest?: { [key: string]: { [key: string]: TsValue; }; }; /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * Alarm originator name */ originatorName?: string; /** * Alarm originator label */ originatorLabel?: string; /** * Originator display name */ originatorDisplayName?: string; /** * Alarm assignee */ assignee?: AlarmAssignee; details?: JsonNode; }; export type PageDataAlarmDataWritable = { [key: string]: unknown; }; /** * A JSON value representing the alarm count query. */ export type AlarmCountQueryWritable = { startTs?: number; endTs?: number; timeWindow?: number; typeList?: Array; statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; searchPropagatedAlarms?: boolean; assigneeId?: UserId; entityFilter?: ApiUsageStateFilter | AssetSearchQueryFilter | AssetTypeFilterWritable | DeviceSearchQueryFilter | DeviceTypeFilterWritable | EdgeSearchQueryFilter | EdgeTypeFilterWritable | EntitiesByGroupNameFilter | EntityGroupFilter | EntityGroupListFilter | EntityGroupNameFilter | EntityListFilter | EntityNameFilter | EntityTypeFilter | EntityViewSearchQueryFilter | EntityViewTypeFilterWritable | RelationsQueryFilter | SchedulerEventFilter | SingleEntityFilter | StateEntityFilter | StateEntityOwnerFilter; keyFilters?: Array; }; export type AlarmWritable = { /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; details?: JsonNode; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; }; export type AlarmCommentWritable = { /** * JSON object with text of comment. */ comment?: JsonNode; }; export type AlarmInfoWritable = { /** * JSON object with the alarm Id. Specify this field to update the alarm. Referencing non-existing alarm Id will cause error. Omit this field to create new alarm. */ id?: AlarmId; /** * representing type of the Alarm */ type: string; /** * JSON object with alarm originator id */ originator: EntityId; /** * Alarm severity */ severity: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; /** * Acknowledged */ acknowledged: boolean; /** * Cleared */ cleared: boolean; /** * Alarm assignee user id */ assigneeId?: UserId; /** * Timestamp of the alarm start time, in milliseconds */ startTs?: number; /** * Timestamp of the alarm end time(last time update), in milliseconds */ endTs?: number; /** * Timestamp of the alarm acknowledgement, in milliseconds */ ackTs?: number; /** * Timestamp of the alarm clearing, in milliseconds */ clearTs?: number; /** * Timestamp of the alarm assignment, in milliseconds */ assignTs?: number; /** * Propagation flag to specify if alarm should be propagated to parent entities of alarm originator */ propagate?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator */ propagateToOwner?: boolean; /** * Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) and all parent owners in the customer hierarchy */ propagateToOwnerHierarchy?: boolean; /** * Propagation flag to specify if alarm should be propagated to the tenant entity */ propagateToTenant?: boolean; /** * JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored. */ propagateRelationTypes?: Array; /** * Alarm originator name */ originatorName?: string; /** * Alarm originator label */ originatorLabel?: string; /** * Originator display name */ originatorDisplayName?: string; /** * Alarm assignee */ assignee?: AlarmAssignee; details?: JsonNode; }; export type AiModelWritable = { /** * Display name for this AI model configuration; not the technical model identifier */ name: string; /** * Configuration of the AI model */ configuration?: AmazonBedrockChatModelConfigWritable | AnthropicChatModelConfigWritable | AzureOpenAiChatModelConfigWritable | GitHubModelsChatModelConfigWritable | GoogleAiGeminiChatModelConfigWritable | GoogleVertexAiGeminiChatModelConfigWritable | MistralAiChatModelConfigWritable | OllamaChatModelConfigWritable | OpenAiChatModelConfigWritable; id?: AiModelId; }; export type AmazonBedrockChatModelConfigWritable = Omit & { providerConfig: AmazonBedrockProviderConfig; modelId: string; temperature?: number; topP?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: AmazonBedrockProviderConfig; modelId: string; temperature?: number; topP?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'AMAZON_BEDROCK'; }; export type AnthropicChatModelConfigWritable = Omit & { providerConfig: AnthropicProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: AnthropicProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'ANTHROPIC'; }; export type AzureOpenAiChatModelConfigWritable = Omit & { providerConfig: AzureOpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: AzureOpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'AZURE_OPENAI'; }; export type GitHubModelsChatModelConfigWritable = Omit & { providerConfig: GitHubModelsProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: GitHubModelsProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GITHUB_MODELS'; }; export type GoogleAiGeminiChatModelConfigWritable = Omit & { providerConfig: GoogleAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: GoogleAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GOOGLE_AI_GEMINI'; }; export type GoogleVertexAiGeminiChatModelConfigWritable = Omit & { providerConfig: GoogleVertexAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: GoogleVertexAiGeminiProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'GOOGLE_VERTEX_AI_GEMINI'; }; export type MistralAiChatModelConfigWritable = Omit & { providerConfig: MistralAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: MistralAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'MISTRAL_AI'; }; export type OllamaChatModelConfigWritable = Omit & { providerConfig: OllamaProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; contextLength?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: OllamaProviderConfig; modelId: string; temperature?: number; topP?: number; topK?: number; contextLength?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'OLLAMA'; }; export type OpenAiChatModelConfigWritable = Omit & { providerConfig: OpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; } & AiChatModelConfigObjectWritable & { providerConfig: OpenAiProviderConfig; modelId: string; temperature?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number; maxOutputTokens?: number; timeoutSeconds?: number; maxRetries?: number; provider: 'OPENAI'; }; export type AiChatModelConfigObjectWritable = { providerConfig?: AmazonBedrockProviderConfig | AnthropicProviderConfig | AzureOpenAiProviderConfig | GitHubModelsProviderConfig | GoogleAiGeminiProviderConfig | GoogleVertexAiGeminiProviderConfig | MistralAiProviderConfig | OllamaProviderConfig | OpenAiProviderConfig; }; export type TbChatRequestWritable = { /** * A system-level instruction that frames the user's input, setting the persona, tone, and constraints for the generated response */ systemMessage?: string; /** * The actual user prompt that will be answered by the AI model */ userMessage: TbUserMessage; /** * Configuration of the AI chat model that should execute the request */ chatModelConfig: AmazonBedrockChatModelConfigWritable | AnthropicChatModelConfigWritable | AzureOpenAiChatModelConfigWritable | GitHubModelsChatModelConfigWritable | GoogleAiGeminiChatModelConfigWritable | GoogleVertexAiGeminiChatModelConfigWritable | MistralAiChatModelConfigWritable | OllamaChatModelConfigWritable | OpenAiChatModelConfigWritable; }; /** * A JSON value representing the Mail Settings. */ export type AdminSettingsWritable = { /** * The Id of the Administration Settings, auto-generated, UUID */ id?: AdminSettingsId; /** * The Administration Settings key, (e.g. 'general' or 'mail') */ key?: string; /** * JSON representation of the Administration Settings value */ jsonValue?: JsonNode; }; export type PageDataCalculatedFieldWritable = { [key: string]: unknown; }; export type PageDataWidgetsBundleWritable = { [key: string]: unknown; }; export type WidgetTypeWritable = { /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; }; export type PageDataWidgetTypeInfoWritable = { [key: string]: unknown; }; export type WidgetTypeInfoWritable = { /** * JSON object with the Widget Type Id. Specify this field to update the Widget Type. Referencing non-existing Widget Type Id will cause error. Omit this field to create new Widget Type. */ id?: WidgetTypeId; /** * Whether widget type is deprecated. */ deprecated?: boolean; /** * Whether widget type is SCADA symbol. */ scada?: boolean; version?: number; }; export type PageDataReportWritable = { [key: string]: unknown; }; export type ReportInfoWritable = { id?: ReportId; tenantId: TenantId; customerId?: CustomerId; templateId: ReportTemplateId; format: 'PDF' | 'CSV'; name: string; userId: UserId; templateInfo?: EntityInfo; customerTitle?: string; userName?: string; }; export type PageDataReportInfoWritable = { [key: string]: unknown; }; export type PageDataAlarmInfoWritable = { [key: string]: unknown; }; export type PageDataUserEmailInfoWritable = { [key: string]: unknown; }; export type PageDataUserInfoWritable = { [key: string]: unknown; }; export type UserInfoWritable = { /** * JSON object with the User Id. Specify this field to update the device. Referencing non-existing User Id will cause error. Omit this field to create new customer. */ id?: UserId; /** * Email of the user */ email: string; /** * Authority */ authority: 'SYS_ADMIN' | 'TENANT_ADMIN' | 'CUSTOMER_USER' | 'REFRESH_TOKEN' | 'PRE_VERIFICATION_TOKEN' | 'MFA_CONFIGURATION_TOKEN'; /** * First name of the user */ firstName?: string; /** * Last name of the user */ lastName?: string; /** * Phone number of the user */ phone?: string; customMenuId?: CustomMenuId; version?: number; /** * Additional parameters of the user */ additionalInfo?: JsonNode; }; export type PageDataEntityViewWritable = { [key: string]: unknown; }; export type PageDataEdgeWritable = { [key: string]: unknown; }; export type PageDataDeviceWritable = { [key: string]: unknown; }; export type LastVisitedDashboardInfoWritable = { /** * Title of the dashboard. */ title?: string; /** * Starred flag */ starred?: boolean; /** * Last visit timestamp */ lastVisited?: number; }; export type StarredDashboardInfoWritable = { /** * Title of the dashboard. */ title?: string; /** * Starred timestamp */ starredAt?: number; }; export type UserDashboardsInfoWritable = { [key: string]: unknown; }; export type DashboardInfoWritable = { /** * Title of the dashboard. */ title?: string; /** * JSON object with main configuration of the dashboard: layouts, widgets, aliases, etc. The JSON structure of the dashboard configuration is quite complex. The easiest way to learn it is to export existing dashboard to JSON. */ configuration?: JsonNode; resources?: Array; /** * JSON object with the dashboard Id. Specify existing dashboard Id to update the dashboard. Referencing non-existing dashboard id will cause error. Omit this field to create new dashboard. */ id?: DashboardId; /** * JSON object with Customer Id. */ customerId?: CustomerId; version?: number; }; export type PageDataDashboardInfoWritable = { [key: string]: unknown; }; export type PageDataCustomerWritable = { [key: string]: unknown; }; export type PageDataAssetWritable = { [key: string]: unknown; }; export type PageDataTrendzViewConfigLiteWritable = { [key: string]: unknown; }; export type PageDataTenantWritable = { [key: string]: unknown; }; export type PageDataTenantProfileWritable = { [key: string]: unknown; }; export type PageDataEntityInfoWritable = { [key: string]: unknown; }; export type PageDataTenantInfoWritable = { [key: string]: unknown; }; export type TenantInfoWritable = { /** * JSON object with the tenant Id. Specify this field to update the tenant. Referencing non-existing tenant Id will cause error. Omit this field to create new tenant. */ id?: TenantId; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the tenant */ title: string; /** * Geo region of the tenant */ region?: string; /** * JSON object with Tenant Profile Id */ tenantProfileId?: TenantProfileId; version?: number; /** * Tenant Profile name */ tenantProfileName?: string; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type SelfRegistrationParamsWritable = { permissions?: Array; type?: 'WEB' | 'MOBILE'; showPrivacyPolicy?: boolean; showTermsOfUse?: boolean; title?: string; enabled?: boolean; homeDashboard?: HomeDashboardParams; notificationRecipient?: NotificationTargetId; captcha?: EnterpriseCaptchaParams | V2CaptchaParams | V3CaptchaParams; signUpFields?: Array; defaultDashboard?: DefaultDashboardParams; customerTitlePrefix?: string; customMenuId?: CustomMenuId; customerGroupId?: EntityGroupId; }; export type PageDataSecretInfoWritable = { [key: string]: unknown; }; export type SchedulerEventWithCustomerInfoWritable = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * Title of the customer */ customerTitle?: string; timestamps?: Array; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type PageDataSchedulerEventWithCustomerInfoWritable = { [key: string]: unknown; }; export type PageDataScheduledReportInfoWritable = { [key: string]: unknown; }; export type ScheduledReportInfoWritable = { /** * JSON object with the scheduler event Id. Specify this field to update the scheduler event. Referencing non-existing scheduler event Id will cause error. Omit this field to create new scheduler event */ id?: SchedulerEventId; /** * scheduler event name */ name?: string; /** * scheduler event type */ type?: string; /** * a JSON value with schedule time configuration */ schedule?: JsonNode; /** * Enable/disable scheduler */ enabled?: boolean; version?: number; /** * Additional parameters of the scheduler event */ additionalInfo?: JsonNode; }; export type PageDataRuleChainWritable = { [key: string]: unknown; }; export type RuleChainOutputLabelsUsageWritable = { [key: string]: unknown; }; export type RpcWritable = { /** * JSON object with the rpc Id. Referencing non-existing rpc Id will cause error. */ id?: RpcId; }; export type PageDataRoleWritable = { [key: string]: unknown; }; export type PageDataTbResourceInfoWritable = { [key: string]: unknown; }; export type ReportTemplateInfoWritable = { /** * JSON object with the report template Id. Specify this field to update the report. Referencing non-existing report template Id will cause error. Omit this field to create new report template */ id?: ReportTemplateId; /** * Report name */ name: string; /** * Report format */ format: 'PDF, CSV'; /** * Report template type */ type: 'REPORT, SUB_REPORT'; /** * Description */ description?: string; version?: number; }; export type PageDataReportTemplateInfoWritable = { [key: string]: unknown; }; export type PageDataQueueWritable = { [key: string]: unknown; }; export type QueueStatsWritable = { id?: QueueStatsId; tenantId?: TenantId; queueName?: string; serviceId?: string; }; export type PageDataQueueStatsWritable = { [key: string]: unknown; }; export type ContactBasedObjectWritable = { id?: unknown; country?: string; state?: string; city?: string; address?: string; address2?: string; zip?: string; phone?: string; email?: string; name?: string; additionalInfo?: JsonNode; }; export type PageDataContactBasedObjectWritable = { [key: string]: unknown; }; export type PageDataOtaPackageInfoWritable = { [key: string]: unknown; }; export type OtaPackageWritable = { /** * JSON object with the ota package Id. Specify existing ota package Id to update the ota package. Referencing non-existing ota package id will cause error. Omit this field to create new ota package. */ id?: OtaPackageId; data?: { short?: number; char?: string; int?: number; long?: number; float?: number; double?: number; direct?: boolean; readOnly?: boolean; }; /** * OTA Package description. */ additionalInfo?: JsonNode; }; export type OAuth2ClientInfoWritable = { id?: OAuth2ClientId; /** * Oauth2 client registration title (e.g. My google) */ title?: string; /** * Oauth2 client provider name (e.g. Google) */ providerName?: string; /** * List of platforms for which usage of the OAuth2 client is allowed (empty for all allowed) */ platforms?: Array<'WEB' | 'ANDROID' | 'IOS'>; }; export type PageDataOAuth2ClientInfoWritable = { [key: string]: unknown; }; export type NotificationWritable = { requestId?: NotificationRequestId; recipientId?: UserId; type?: 'GENERAL' | 'ALARM' | 'DEVICE_ACTIVITY' | 'ENTITY_ACTION' | 'ALARM_COMMENT' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'ALARM_ASSIGNMENT' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'ENTITIES_LIMIT_INCREASE_REQUEST' | 'ADDON_ACCESS_REQUEST' | 'ADDON_ACCESS_ERROR' | 'PLAN_UPGRADE_REQUEST' | 'API_USAGE_LIMIT' | 'RULE_NODE' | 'INTEGRATION_LIFECYCLE_EVENT' | 'RATE_LIMITS' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE' | 'USER_ACTIVATED' | 'USER_REGISTERED' | 'REPORT_GENERATED'; deliveryMethod?: 'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'; subject?: string; text?: string; additionalConfig?: JsonNode; info?: NotificationInfo; status?: 'SENT' | 'READ'; id?: NotificationId; }; export type PageDataNotificationWritable = { [key: string]: unknown; }; export type PageDataNotificationTemplateWritable = { [key: string]: unknown; }; export type PageDataNotificationTargetWritable = { [key: string]: unknown; }; export type NotificationRuleInfoWritable = { id?: NotificationRuleId; tenantId?: TenantId; name: string; enabled?: boolean; templateId: NotificationTemplateId; triggerType: 'ENTITY_ACTION' | 'ALARM' | 'ALARM_COMMENT' | 'ALARM_ASSIGNMENT' | 'DEVICE_ACTIVITY' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'INTEGRATION_LIFECYCLE_EVENT' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'API_USAGE_LIMIT' | 'RATE_LIMITS' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE'; triggerConfig: AlarmAssignmentNotificationRuleTriggerConfig | AlarmCommentNotificationRuleTriggerConfig | AlarmNotificationRuleTriggerConfig | ApiUsageLimitNotificationRuleTriggerConfig | DeviceActivityNotificationRuleTriggerConfig | EdgeCommunicationFailureNotificationRuleTriggerConfig | EdgeConnectionNotificationRuleTriggerConfig | EntitiesLimitNotificationRuleTriggerConfig | EntityActionNotificationRuleTriggerConfig | IntegrationLifecycleEventNotificationRuleTriggerConfig | NewPlatformVersionNotificationRuleTriggerConfig | RateLimitsNotificationRuleTriggerConfig | ResourcesShortageNotificationRuleTriggerConfig | RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig | TaskProcessingFailureNotificationRuleTriggerConfig; recipientsConfig: EscalatedNotificationRuleRecipientsConfig; additionalConfig?: NotificationRuleConfig; templateName?: string; deliveryMethods?: Array<'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'>; }; export type PageDataNotificationRuleInfoWritable = { [key: string]: unknown; }; export type NotificationRequestInfoWritable = { id?: NotificationRequestId; tenantId?: TenantId; targets: Array; templateId?: NotificationTemplateId; template?: NotificationTemplateWritable; info?: NotificationInfo; additionalConfig?: NotificationRequestConfig; originatorEntityId?: EntityId; ruleId?: NotificationRuleId; status?: 'PROCESSING' | 'SENT' | 'SCHEDULED'; stats?: NotificationRequestStatsWritable; templateName?: string; deliveryMethods?: Array<'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'>; }; export type PageDataNotificationRequestInfoWritable = { [key: string]: unknown; }; export type UserMobileInfoWritable = { user?: UserWritable; storeInfo?: StoreInfo; versionInfo?: MobileAppVersionInfo; homeDashboardInfo?: HomeDashboardInfo; pages?: JsonNode; }; export type MobileAppBundleInfoWritable = { id?: MobileAppBundleId; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * Application bundle title. Cannot be empty */ title: string; /** * Application bundle description. */ description?: string; /** * Android application id */ androidAppId?: MobileAppId; /** * IOS application id */ iosAppId?: MobileAppId; /** * Application layout configuration */ layoutConfig?: MobileLayoutConfig; /** * Application self registration configuration */ selfRegistrationParams?: MobileSelfRegistrationParamsWritable; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Android package name */ androidPkgName?: string; /** * IOS package name */ iosPkgName?: string; /** * List of available oauth2 clients */ oauth2ClientInfos?: Array; /** * Indicates if qr code is available for bundle */ qrCodeEnabled?: boolean; }; export type PageDataMobileAppBundleInfoWritable = { [key: string]: unknown; }; export type PageDataMobileAppWritable = { [key: string]: unknown; }; export type PageDataJobWritable = { [key: string]: unknown; }; export type PageDataIntegrationWritable = { [key: string]: unknown; }; export type IntegrationInfoWritable = { /** * JSON object with the Integration Id. Specify this field to update the Integration. Referencing non-existing Integration Id will cause error. Omit this field to create new Integration. */ id?: IntegrationId; /** * Integration Name */ name: string; /** * The type of the integration */ type: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * Enable/disable debug. * * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Boolean flag to enable/disable the integration */ enabled?: boolean; /** * Boolean flag to allow/disallow the integration to create devices or assets that send message and do not exist in the system yet */ allowCreateDevicesOrAssets?: boolean; version?: number; stats?: ArrayNode; /** * Boolean flag that specifies that is regular or edge template integration */ edgeTemplate?: boolean; /** * Boolean flag to enable/disable the integration to be executed remotely. Remote integration is launched in a separate microservice. Local integration is executed by the platform core */ remote?: boolean; }; export type PageDataIntegrationInfoWritable = { [key: string]: unknown; }; export type EntityViewInfoWritable = { /** * JSON object with the Entity View Id. Specify this field to update the Entity View. Referencing non-existing Entity View Id will cause error. Omit this field to create new Entity View. */ id?: EntityViewId; /** * JSON object with the referenced Entity Id (Device or Asset). */ entityId: EntityId; /** * Entity View name */ name: string; /** * Device Profile Name */ type: string; /** * Set of telemetry and attribute keys to expose via Entity View. */ keys?: TelemetryEntityView; /** * Represents the start time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ startTimeMs?: number; /** * Represents the end time of the interval that is used to limit access to target device telemetry. Customer will not be able to see entity telemetry that is outside the specified interval; */ endTimeMs?: number; version?: number; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataEntityViewInfoWritable = { [key: string]: unknown; }; export type PageDataEntityGroupInfoWritable = { [key: string]: unknown; }; export type ShortEntityViewWritable = { [key: string]: unknown; }; export type PageDataShortEntityViewWritable = { [key: string]: unknown; }; export type PageDataEntityVersionWritable = { [key: string]: unknown; }; export type DeviceExportDataWritable = Omit & { entity?: DeviceWritable; credentials?: DeviceCredentialsWritable; entityType?: 'DEVICE'; }; export type EntityDataDiffWritable = { currentVersion?: EntityExportDataObjectWritable | DeviceExportDataWritable | EntityGroupExportDataWritable | GroupEntityExportDataWritable | OtaPackageExportDataWritable | RuleChainExportDataWritable | SchedulerEventExportDataWritable | WidgetTypeExportDataWritable | WidgetsBundleExportDataWritable; otherVersion?: EntityExportDataObjectWritable | DeviceExportDataWritable | EntityGroupExportDataWritable | GroupEntityExportDataWritable | OtaPackageExportDataWritable | RuleChainExportDataWritable | SchedulerEventExportDataWritable | WidgetTypeExportDataWritable | WidgetsBundleExportDataWritable; }; export type EntityExportDataObjectWritable = { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entity?: unknown; relations?: Array; attributes?: { [key: string]: Array; }; calculatedFields?: Array; }; export type EntityGroupExportDataWritable = Omit & { entity?: EntityGroupWritable; permissions?: Array; groupOtaPackages?: Array; groupEntities?: boolean; entityType?: 'EntityGroupExportDataWritable'; }; export type GroupEntityExportDataWritable = Omit & { entity?: ExportableEntityEntityId; entityType?: 'GroupEntityExportDataWritable'; }; export type OtaPackageExportDataWritable = Omit & { entity?: OtaPackageWritable; entityType?: 'OTA_PACKAGE'; }; export type RuleChainExportDataWritable = Omit & { entity?: RuleChainWritable; metaData?: RuleChainMetaDataWritable; entityType?: 'RULE_CHAIN'; }; export type SchedulerEventExportDataWritable = Omit & { entity?: SchedulerEventWritable; entityType?: 'SchedulerEventExportDataWritable'; }; export type WidgetTypeExportDataWritable = Omit & { entity?: WidgetTypeDetailsWritable; entityType?: 'WIDGET_TYPE'; }; export type WidgetsBundleExportDataWritable = Omit & { entity?: WidgetsBundleWritable; widgets?: Array; fqns?: Array; entityType?: 'WIDGETS_BUNDLE'; }; export type EdgeInfoWritable = { /** * JSON object with the Edge Id. Specify this field to update the Edge. Referencing non-existing Edge Id will cause error. Omit this field to create new Edge. */ id?: EdgeId; /** * Unique Edge Name in scope of Tenant */ name: string; /** * Edge type */ type: string; /** * Label that may be used in widgets */ label?: string; /** * Edge routing key ('username') to authorize on cloud */ routingKey: string; /** * Edge secret ('password') to authorize on cloud */ secret: string; /** * Edge license key obtained from license portal */ edgeLicenseKey: string; /** * Edge uses this cloud URL to activate and periodically check it's license */ cloudEndpoint: string; version?: number; additionalInfo?: JsonNode; }; export type PageDataEdgeInfoWritable = { [key: string]: unknown; }; export type PageDataSchedulerEventInfoWritable = { [key: string]: unknown; }; export type EdgeEventWritable = { id?: EdgeEventId; seqId?: number; tenantId?: TenantId; edgeId?: EdgeId; action?: 'ADDED' | 'UPDATED' | 'DELETED' | 'POST_ATTRIBUTES' | 'ATTRIBUTES_UPDATED' | 'ATTRIBUTES_DELETED' | 'TIMESERIES_UPDATED' | 'CREDENTIALS_UPDATED' | 'RELATION_ADD_OR_UPDATE' | 'RELATION_DELETED' | 'RPC_CALL' | 'ALARM_ACK' | 'ALARM_CLEAR' | 'ALARM_DELETE' | 'ALARM_ASSIGNED' | 'ALARM_UNASSIGNED' | 'ADDED_COMMENT' | 'UPDATED_COMMENT' | 'DELETED_COMMENT' | 'ASSIGNED_TO_EDGE' | 'UNASSIGNED_FROM_EDGE' | 'CREDENTIALS_REQUEST' | 'ADDED_TO_ENTITY_GROUP' | 'REMOVED_FROM_ENTITY_GROUP' | 'CHANGE_OWNER' | 'ENTITY_MERGE_REQUEST'; entityId?: string; uid?: string; type?: 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'ENTITY_VIEW' | 'ALARM' | 'ALARM_COMMENT' | 'RULE_CHAIN' | 'RULE_CHAIN_METADATA' | 'EDGE' | 'USER' | 'CUSTOMER' | 'RELATION' | 'TENANT' | 'TENANT_PROFILE' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ADMIN_SETTINGS' | 'OTA_PACKAGE' | 'QUEUE' | 'ENTITY_GROUP' | 'SCHEDULER_EVENT' | 'WHITE_LABELING' | 'LOGIN_WHITE_LABELING' | 'MAIL_TEMPLATES' | 'CUSTOM_TRANSLATION' | 'CUSTOM_MENU' | 'ROLE' | 'GROUP_PERMISSION' | 'CONVERTER' | 'INTEGRATION' | 'NOTIFICATION_RULE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'TB_RESOURCE' | 'DEVICE_GROUP_OTA' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'CALCULATED_FIELD' | 'ENCRYPTION_KEY' | 'SECRET' | 'REPORT_TEMPLATE' | 'AI_MODEL'; entityGroupId?: string; body?: JsonNode; }; export type PageDataEdgeEventWritable = { [key: string]: unknown; }; export type DomainInfoWritable = { id?: DomainId; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with Customer Id */ customerId?: CustomerId; /** * Domain name. Cannot be empty */ name: string; /** * Whether OAuth2 settings are enabled or not */ oauth2Enabled?: boolean; /** * Whether OAuth2 settings are enabled on Edge or not */ propagateToEdge?: boolean; /** * List of available oauth2 clients */ oauth2ClientInfos?: Array; }; export type PageDataDomainInfoWritable = { [key: string]: unknown; }; export type PageDataDeviceProfileWritable = { [key: string]: unknown; }; export type PageDataDeviceProfileInfoWritable = { [key: string]: unknown; }; export type DeviceInfoWritable = { /** * JSON object with the Device Id. Specify this field to update the Device. Referencing non-existing Device Id will cause error. Omit this field to create new Device. */ id?: DeviceId; /** * Unique Device Name in scope of Tenant */ name?: string; /** * Device Profile Name */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Device Profile Id. */ deviceProfileId: DeviceProfileId; /** * JSON object with Ota Package Id. */ firmwareId?: OtaPackageId; /** * JSON object with Ota Package Id. */ softwareId?: OtaPackageId; version?: number; /** * JSON object with content specific to type of transport in the device profile. */ deviceData?: DeviceData; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataDeviceInfoWritable = { [key: string]: unknown; }; export type CustomerInfoWritable = { /** * JSON object with the customer Id. Specify this field to update the customer. Referencing non-existing customer Id will cause error. Omit this field to create new customer. */ id?: CustomerId; /** * Country */ country?: string; /** * State */ state?: string; /** * City */ city?: string; /** * Address Line 1 */ address?: string; /** * Address Line 2 */ address2?: string; /** * Zip code */ zip?: string; /** * Phone number */ phone?: string; /** * Email */ email?: string; /** * Title of the customer */ title: string; /** * JSON object with Tenant Id */ tenantId?: TenantId; /** * JSON object with parent Customer Id */ parentCustomerId?: CustomerId; version?: number; customMenuId?: CustomMenuId; /** * Additional parameters of the device */ additionalInfo?: JsonNode; }; export type PageDataCustomerInfoWritable = { [key: string]: unknown; }; export type AssetInfoWritable = { /** * JSON object with the asset Id. Specify this field to update the asset. Referencing non-existing asset Id will cause error. Omit this field to create new asset. */ id?: AssetId; /** * Unique Asset Name in scope of Tenant */ name: string; /** * Asset type */ type?: string; /** * Label that may be used in widgets */ label?: string; /** * JSON object with Asset Profile Id. */ assetProfileId?: AssetProfileId; version?: number; /** * Additional parameters of the asset */ additionalInfo?: JsonNode; }; export type PageDataAssetInfoWritable = { [key: string]: unknown; }; export type PageDataCustomMenuInfoWritable = { [key: string]: unknown; }; export type PageDataConverterWritable = { [key: string]: unknown; }; export type ComponentDescriptorWritable = { /** * JSON object with the descriptor Id. Specify existing descriptor id to update the descriptor. Referencing non-existing descriptor Id will cause error. Omit this field to create new descriptor. */ id?: ComponentDescriptorId; configurationDescriptor?: JsonNode; }; export type CalculatedFieldInfoWritable = { /** * JSON object with the Calculated Field Id. Referencing non-existing Calculated Field Id will cause error. */ id?: CalculatedFieldId; tenantId?: TenantId; entityId?: EntityId; type?: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * User defined name of the calculated field. */ name?: string; /** * @deprecated */ debugMode?: boolean; /** * Debug settings object. */ debugSettings?: DebugSettings; /** * Version of calculated field configuration. */ configurationVersion?: number; configuration: ({ type: 'SIMPLE'; } & SimpleCalculatedFieldConfiguration) | ({ type: 'SCRIPT'; } & ScriptCalculatedFieldConfiguration) | ({ type: 'PROPAGATION'; } & PropagationCalculatedFieldConfiguration) | ({ type: 'ALARM'; } & AlarmCalculatedFieldConfiguration) | ({ type: 'RELATED_ENTITIES_AGGREGATION'; } & RelatedEntitiesAggregationCalculatedFieldConfiguration) | ({ type: 'ENTITY_AGGREGATION'; } & EntityAggregationCalculatedFieldConfiguration); version?: number; entityName?: string; }; export type PageDataCalculatedFieldInfoWritable = { [key: string]: unknown; }; export type BlobEntityWithCustomerInfoWritable = { /** * JSON object with the blob entity Id. Referencing non-existing blob entity Id will cause error */ id?: BlobEntityId; /** * Title of the customer */ customerTitle?: string; /** * Additional parameters of the blob entity */ additionalInfo?: JsonNode; }; export type PageDataBlobEntityWithCustomerInfoWritable = { [key: string]: unknown; }; export type BlobEntityInfoWritable = { /** * JSON object with the blob entity Id. Referencing non-existing blob entity Id will cause error */ id?: BlobEntityId; /** * Additional parameters of the blob entity */ additionalInfo?: JsonNode; }; export type TwoFaProviderInfoWritable = { type?: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; isDefault?: boolean; contact?: string; minVerificationCodeSendPeriod?: number; default?: boolean; }; export type AuditLogWritable = { /** * JSON object with the auditLog Id */ id?: AuditLogId; }; export type PageDataAuditLogWritable = { [key: string]: unknown; }; export type PageDataAssetProfileWritable = { [key: string]: unknown; }; export type PageDataAssetProfileInfoWritable = { [key: string]: unknown; }; export type PageDataApiKeyInfoWritable = { [key: string]: unknown; }; export type AlarmCommentInfoWritable = { /** * JSON object with text of comment. */ comment?: JsonNode; /** * User first name */ firstName?: string; /** * User last name */ lastName?: string; /** * User email address */ email?: string; }; export type PageDataAlarmCommentInfoWritable = { [key: string]: unknown; }; export type PageDataEntitySubtypeWritable = { [key: string]: unknown; }; export type PageDataAiModelWritable = { [key: string]: unknown; }; /** * Any TB-accepted JSON value: string, number, boolean, object, or array (recursive). `null` is rejected by TB. */ export type JsonValueWritable = string | number | boolean | Array | { [key: string]: JsonValueWritable; }; export type EntityFilterWritable = { type: string; }; export type JobConfigurationWritable2 = { tasksKey: string; toReprocess?: Array; type: string; }; export type JobResultWritable2 = { successfulCount?: number; failedCount?: number; discardedCount?: number; totalCount?: number; results?: Array; generalError?: string; startTs?: number; finishTs?: number; cancellationTs?: number; jobType: string; }; export type TaskResultWritable = { key?: string; success?: boolean; discarded?: boolean; finishTs?: number; jobType: string; }; export type EventFilterWritable = { /** * String value representing the event type */ eventType: 'ERROR' | 'LC_EVENT' | 'STATS' | 'RAW_DATA' | 'DEBUG_RULE_NODE' | 'DEBUG_RULE_CHAIN' | 'DEBUG_CONVERTER' | 'DEBUG_INTEGRATION' | 'DEBUG_CALCULATED_FIELD'; notEmpty?: boolean; }; export type DeviceProfileTransportConfigurationWritable = { type: string; }; export type LwM2mBootstrapServerCredentialWritable = { securityMode: string; }; export type AiModelConfigWritable = { providerConfig?: AmazonBedrockProviderConfig | AnthropicProviderConfig | AzureOpenAiProviderConfig | GitHubModelsProviderConfig | GoogleAiGeminiProviderConfig | GoogleVertexAiGeminiProviderConfig | MistralAiProviderConfig | OllamaProviderConfig | OpenAiProviderConfig; provider: string; }; export type EntityExportDataObjectWritable2 = { entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; entity?: unknown; relations?: Array; attributes?: { [key: string]: Array; }; calculatedFields?: Array; }; export type PostApiAuthLoginData = { /** * Login request */ body?: LoginRequest; path?: never; query?: never; url: '/api/auth/login'; }; export type PostApiAuthLoginErrors = { /** * Unauthorized */ 401: ThingsboardErrorResponse; /** * Unauthorized (**Expired credentials**) */ '401 ': ThingsboardCredentialsExpiredResponse; }; export type PostApiAuthLoginError = PostApiAuthLoginErrors[keyof PostApiAuthLoginErrors]; export type PostApiAuthLoginResponses = { /** * OK */ 200: LoginResponse; }; export type PostApiAuthLoginResponse = PostApiAuthLoginResponses[keyof PostApiAuthLoginResponses]; export type PostApiAuthTokenData = { /** * Refresh token request */ body?: { refreshToken?: unknown; }; path?: never; query?: never; url: '/api/auth/token'; }; export type PostApiAuthTokenErrors = { /** * Unauthorized */ 401: ThingsboardErrorResponse; /** * Unauthorized (**Expired credentials**) */ '401 ': ThingsboardCredentialsExpiredResponse; }; export type PostApiAuthTokenError = PostApiAuthTokenErrors[keyof PostApiAuthTokenErrors]; export type PostApiAuthTokenResponses = { /** * OK */ 200: LoginResponse; }; export type PostApiAuthTokenResponse = PostApiAuthTokenResponses[keyof PostApiAuthTokenResponses]; export type GetUserSettingsData = { body?: never; path?: never; query?: never; url: '/api/user/settings'; }; export type GetUserSettingsResponses = { /** * OK */ 200: JsonNode; }; export type GetUserSettingsResponse = GetUserSettingsResponses[keyof GetUserSettingsResponses]; export type SaveUserSettingsData = { body: JsonNode; path?: never; query?: never; url: '/api/user/settings'; }; export type SaveUserSettingsResponses = { /** * OK */ 200: JsonNode; }; export type SaveUserSettingsResponse = SaveUserSettingsResponses[keyof SaveUserSettingsResponses]; export type PutUserSettingsData = { body: JsonNode; path?: never; query?: never; url: '/api/user/settings'; }; export type PutUserSettingsResponses = { /** * OK */ 200: unknown; }; export type GetUserSettings1Data = { body?: never; path: { /** * Settings type, case insensitive, one of: "general", "quick_links", "doc_links" or "dashboards". */ type: string; }; query?: never; url: '/api/user/settings/{type}'; }; export type GetUserSettings1Responses = { /** * OK */ 200: JsonNode; }; export type GetUserSettings1Response = GetUserSettings1Responses[keyof GetUserSettings1Responses]; export type PutUserSettings1Data = { body: JsonNode; path: { /** * Settings type, case insensitive, one of: "general", "quick_links", "doc_links" or "dashboards". */ type: string; }; query?: never; url: '/api/user/settings/{type}'; }; export type PutUserSettings1Responses = { /** * OK */ 200: unknown; }; export type UpdateSecretValueData = { /** * New value for the Secret */ body: string; path: { /** * Unique identifier of the Secret to update */ id: string; }; query?: never; url: '/api/secret/{id}/value'; }; export type UpdateSecretValueResponses = { /** * OK */ 200: SecretInfo; }; export type UpdateSecretValueResponse = UpdateSecretValueResponses[keyof UpdateSecretValueResponses]; export type UpdateSecretDescriptionData = { /** * New description for the Secret */ body?: string; path: { /** * Unique identifier of the Secret to update */ id: string; }; query?: never; url: '/api/secret/{id}/description'; }; export type UpdateSecretDescriptionResponses = { /** * OK */ 200: SecretInfo; }; export type UpdateSecretDescriptionResponse = UpdateSecretDescriptionResponses[keyof UpdateSecretDescriptionResponses]; export type EnableSchedulerEventData = { body?: never; path: { /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; /** * Enabled or disabled scheduler */ enabledValue: boolean; }; query?: never; url: '/api/schedulerEvent/{schedulerEventId}/enabled/{enabledValue}'; }; export type EnableSchedulerEventResponses = { /** * OK */ 200: SchedulerEvent; }; export type EnableSchedulerEventResponse = EnableSchedulerEventResponses[keyof EnableSchedulerEventResponses]; export type UpdateResourceInfoData = { body: TbResourceInfoWritable; path: { /** * Unique identifier of the Resource to update */ id: string; }; query?: never; url: '/api/resource/{id}/info'; }; export type UpdateResourceInfoResponses = { /** * OK */ 200: TbResourceInfo; }; export type UpdateResourceInfoResponse = UpdateResourceInfoResponses[keyof UpdateResourceInfoResponses]; export type UpdateResourceDataData = { body?: { /** * Resource file. */ file: Blob | File; }; path: { /** * Unique identifier of the Resource to update */ id: string; }; query?: never; url: '/api/resource/{id}/data'; }; export type UpdateResourceDataResponses = { /** * OK */ 200: TbResourceInfo; }; export type UpdateResourceDataResponse = UpdateResourceDataResponses[keyof UpdateResourceDataResponses]; export type MarkAllNotificationsAsReadData = { body?: never; path?: never; query?: { /** * Delivery method */ deliveryMethod?: 'WEB' | 'MOBILE_APP'; }; url: '/api/notifications/read'; }; export type MarkAllNotificationsAsReadResponses = { /** * OK */ 200: unknown; }; export type MarkNotificationAsReadData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/{id}/read'; }; export type MarkNotificationAsReadResponses = { /** * OK */ 200: unknown; }; export type UpdateOauth2ClientsData = { body: Array; path: { id: string; }; query?: never; url: '/api/mobile/bundle/{id}/oauth2Clients'; }; export type UpdateOauth2ClientsResponses = { /** * OK */ 200: unknown; }; export type DeleteImageData = { body?: never; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: { force?: boolean; }; url: '/api/images/{type}/{key}'; }; export type DeleteImageResponses = { /** * OK */ 200: TbImageDeleteResult; }; export type DeleteImageResponse = DeleteImageResponses[keyof DeleteImageResponses]; export type DownloadImageData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}'; }; export type DownloadImageResponses = { /** * OK */ 200: Blob | File; }; export type DownloadImageResponse = DownloadImageResponses[keyof DownloadImageResponses]; export type UpdateImageData = { body?: { file: Blob | File; }; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}'; }; export type UpdateImageResponses = { /** * OK */ 200: TbResourceInfo; }; export type UpdateImageResponse = UpdateImageResponses[keyof UpdateImageResponses]; export type UpdateImagePublicStatusData = { body?: never; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; isPublic: boolean; }; query?: never; url: '/api/images/{type}/{key}/public/{isPublic}'; }; export type UpdateImagePublicStatusResponses = { /** * OK */ 200: TbResourceInfo; }; export type UpdateImagePublicStatusResponse = UpdateImagePublicStatusResponses[keyof UpdateImagePublicStatusResponses]; export type GetImageInfoData = { body?: never; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}/info'; }; export type GetImageInfoResponses = { /** * OK */ 200: TbResourceInfo; }; export type GetImageInfoResponse = GetImageInfoResponses[keyof GetImageInfoResponses]; export type UpdateImageInfoData = { body: TbResourceInfoWritable; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}/info'; }; export type UpdateImageInfoResponses = { /** * OK */ 200: TbResourceInfo; }; export type UpdateImageInfoResponse = UpdateImageInfoResponses[keyof UpdateImageInfoResponses]; export type ImportImageData = { body: ResourceExportDataWritable; path?: never; query?: never; url: '/api/image/import'; }; export type ImportImageResponses = { /** * OK */ 200: TbResourceInfo; }; export type ImportImageResponse = ImportImageResponses[keyof ImportImageResponses]; export type UpdateOauth2Clients1Data = { body: Array; path: { id: string; }; query?: never; url: '/api/domain/{id}/oauth2Clients'; }; export type UpdateOauth2Clients1Responses = { /** * OK */ 200: unknown; }; export type UpdateCustomMenuAssigneeListData = { body?: Array; path: { id: string; assigneeType: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; }; query?: { /** * Use force if you want to override default menu */ force?: boolean; }; url: '/api/customMenu/{id}/assign/{assigneeType}'; }; export type UpdateCustomMenuAssigneeListResponses = { /** * OK */ 200: unknown; }; export type UpdateCustomMenuNameData = { /** * New name of the custom menu */ body: string; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: never; url: '/api/customMenu/{customMenuId}/name'; }; export type UpdateCustomMenuNameResponses = { /** * OK */ 200: unknown; }; export type GetCustomMenuConfigData = { body?: never; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: never; url: '/api/customMenu/{customMenuId}/config'; }; export type GetCustomMenuConfigResponses = { /** * OK */ 200: CustomMenuConfig; }; export type GetCustomMenuConfigResponse = GetCustomMenuConfigResponses[keyof GetCustomMenuConfigResponses]; export type UpdateCustomMenuConfigData = { body: CustomMenuConfigWritable; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: never; url: '/api/customMenu/{customMenuId}/config'; }; export type UpdateCustomMenuConfigResponses = { /** * OK */ 200: CustomMenu; }; export type UpdateCustomMenuConfigResponse = UpdateCustomMenuConfigResponses[keyof UpdateCustomMenuConfigResponses]; export type EnableApiKeyData = { body?: never; path: { /** * Unique identifier of the API key to enable/disable */ id: string; /** * Enabled or disabled api key */ enabledValue: boolean; }; query?: never; url: '/api/apiKey/{id}/enabled/{enabledValue}'; }; export type EnableApiKeyResponses = { /** * OK */ 200: ApiKeyInfo; }; export type EnableApiKeyResponse = EnableApiKeyResponses[keyof EnableApiKeyResponses]; export type UpdateApiKeyDescriptionData = { /** * New description for the API key */ body?: string; path: { /** * A string value representing the api key id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ id: string; }; query?: never; url: '/api/apiKey/{id}/description'; }; export type UpdateApiKeyDescriptionResponses = { /** * OK */ 200: ApiKeyInfo; }; export type UpdateApiKeyDescriptionResponse = UpdateApiKeyDescriptionResponses[keyof UpdateApiKeyDescriptionResponses]; export type DeleteTwoFaAccountConfigData = { body?: never; path?: never; query: { providerType: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; }; url: '/api/2fa/account/config'; }; export type DeleteTwoFaAccountConfigResponses = { /** * OK */ 200: AccountTwoFaSettings; }; export type DeleteTwoFaAccountConfigResponse = DeleteTwoFaAccountConfigResponses[keyof DeleteTwoFaAccountConfigResponses]; export type VerifyAndSaveTwoFaAccountConfigData = { body: BackupCodeTwoFaAccountConfig | EmailTwoFaAccountConfig | SmsTwoFaAccountConfig | TotpTwoFaAccountConfig; path?: never; query?: { verificationCode?: string; }; url: '/api/2fa/account/config'; }; export type VerifyAndSaveTwoFaAccountConfigResponses = { /** * OK */ 200: AccountTwoFaSettings; }; export type VerifyAndSaveTwoFaAccountConfigResponse = VerifyAndSaveTwoFaAccountConfigResponses[keyof VerifyAndSaveTwoFaAccountConfigResponses]; export type UpdateTwoFaAccountConfigData = { body: TwoFaAccountConfigUpdateRequest; path?: never; query: { providerType: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; }; url: '/api/2fa/account/config'; }; export type UpdateTwoFaAccountConfigResponses = { /** * OK */ 200: AccountTwoFaSettings; }; export type UpdateTwoFaAccountConfigResponse = UpdateTwoFaAccountConfigResponses[keyof UpdateTwoFaAccountConfigResponses]; export type SaveWidgetsBundleData = { body: WidgetsBundleWritable; path?: never; query?: never; url: '/api/widgetsBundle'; }; export type SaveWidgetsBundleResponses = { /** * OK */ 200: WidgetsBundle; }; export type SaveWidgetsBundleResponse = SaveWidgetsBundleResponses[keyof SaveWidgetsBundleResponses]; export type UpdateWidgetsBundleWidgetTypesData = { /** * Ordered list of widget type Ids to be included by widgets bundle */ body: Array; path: { /** * A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetsBundleId: string; }; query?: never; url: '/api/widgetsBundle/{widgetsBundleId}/widgetTypes'; }; export type UpdateWidgetsBundleWidgetTypesResponses = { /** * OK */ 200: unknown; }; export type UpdateWidgetsBundleWidgetFqnsData = { /** * Ordered list of widget type FQNs to be included by widgets bundle */ body: Array; path: { /** * A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetsBundleId: string; }; query?: never; url: '/api/widgetsBundle/{widgetsBundleId}/widgetTypeFqns'; }; export type UpdateWidgetsBundleWidgetFqnsResponses = { /** * OK */ 200: unknown; }; export type GetWidgetTypeByBundleAliasAndTypeAliasData = { body?: never; path?: never; query: { /** * System or Tenant */ isSystem: boolean; /** * Widget Bundle alias */ bundleAlias: string; /** * Widget Type alias */ alias: string; /** * Widget Type fqn */ fqn: string; }; url: '/api/widgetType'; }; export type GetWidgetTypeByBundleAliasAndTypeAliasResponses = { /** * OK */ 200: WidgetType; }; export type GetWidgetTypeByBundleAliasAndTypeAliasResponse = GetWidgetTypeByBundleAliasAndTypeAliasResponses[keyof GetWidgetTypeByBundleAliasAndTypeAliasResponses]; export type SaveWidgetTypeData = { body: WidgetTypeDetailsWritable; path?: never; query?: { /** * Optional boolean parameter indicating whether to update existing widget type by FQN if present instead of creating new one */ updateExistingByFqn?: boolean; }; url: '/api/widgetType'; }; export type SaveWidgetTypeResponses = { /** * OK */ 200: WidgetTypeDetails; }; export type SaveWidgetTypeResponse = SaveWidgetTypeResponses[keyof SaveWidgetTypeResponses]; export type GetWhiteLabelParamsData = { body?: never; path?: never; query?: never; url: '/api/whiteLabel/whiteLabelParams'; }; export type GetWhiteLabelParamsResponses = { /** * OK */ 200: WhiteLabelingParams; }; export type GetWhiteLabelParamsResponse = GetWhiteLabelParamsResponses[keyof GetWhiteLabelParamsResponses]; export type SaveWhiteLabelParamsData = { body: WhiteLabelingParamsWritable; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/whiteLabelParams'; }; export type SaveWhiteLabelParamsResponses = { /** * OK */ 200: WhiteLabelingParams; }; export type SaveWhiteLabelParamsResponse = SaveWhiteLabelParamsResponses[keyof SaveWhiteLabelParamsResponses]; export type PreviewWhiteLabelParamsData = { body: WhiteLabelingParamsWritable; path?: never; query?: never; url: '/api/whiteLabel/previewWhiteLabelParams'; }; export type PreviewWhiteLabelParamsResponses = { /** * OK */ 200: WhiteLabelingParams; }; export type PreviewWhiteLabelParamsResponse = PreviewWhiteLabelParamsResponses[keyof PreviewWhiteLabelParamsResponses]; export type GetMailTemplatesData = { body?: never; path?: never; query?: { /** * Use system settings if settings are not defined on tenant level. */ systemByDefault?: boolean; }; url: '/api/whiteLabel/mailTemplates'; }; export type GetMailTemplatesResponses = { /** * OK */ 200: JsonNode; }; export type GetMailTemplatesResponse = GetMailTemplatesResponses[keyof GetMailTemplatesResponses]; export type SaveMailTemplatesData = { /** * A JSON value representing the Administration Settings. */ body: JsonNode; path?: never; query?: never; url: '/api/whiteLabel/mailTemplates'; }; export type SaveMailTemplatesResponses = { /** * OK */ 200: JsonNode; }; export type SaveMailTemplatesResponse = SaveMailTemplatesResponses[keyof SaveMailTemplatesResponses]; export type SaveLoginWhiteLabelParamsData = { body: LoginWhiteLabelingParamsWritable; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/loginWhiteLabelParams'; }; export type SaveLoginWhiteLabelParamsResponses = { /** * OK */ 200: LoginWhiteLabelingParams; }; export type SaveLoginWhiteLabelParamsResponse = SaveLoginWhiteLabelParamsResponses[keyof SaveLoginWhiteLabelParamsResponses]; export type CreateReportData = { body?: { file: Blob | File; info: string; }; path?: never; query?: never; url: '/api/v2/report'; }; export type CreateReportResponses = { /** * OK */ 200: Report; }; export type CreateReportResponse = CreateReportResponses[keyof CreateReportResponses]; export type TestReportAndDownloadData = { body: ReportRequestWritable; path?: never; query?: never; url: '/api/v2/report/test'; }; export type TestReportAndDownloadResponses = { /** * OK */ 200: Blob | File; }; export type TestReportAndDownloadResponse = TestReportAndDownloadResponses[keyof TestReportAndDownloadResponses]; export type RequestReportData = { body: ReportRequestWritable; path?: never; query?: never; url: '/api/v2/report/request'; }; export type RequestReportResponses = { /** * OK */ 200: Job; }; export type RequestReportResponse = RequestReportResponses[keyof RequestReportResponses]; export type DeleteRelationV2Data = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ fromId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ fromType: string; /** * A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value. */ relationType: string; /** * A string value representing relation type group. For example, 'COMMON' */ relationTypeGroup?: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ toId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ toType: string; }; url: '/api/v2/relation'; }; export type DeleteRelationV2Responses = { /** * OK */ 200: EntityRelation; }; export type DeleteRelationV2Response = DeleteRelationV2Responses[keyof DeleteRelationV2Responses]; export type SaveRelationV2Data = { body: EntityRelation; path?: never; query?: never; url: '/api/v2/relation'; }; export type SaveRelationV2Responses = { /** * OK */ 200: EntityRelation; }; export type SaveRelationV2Response = SaveRelationV2Responses[keyof SaveRelationV2Responses]; export type PostTelemetryData = { body: string; path: { /** * Your device access token. */ deviceToken: string; }; query?: never; url: '/api/v1/{deviceToken}/telemetry'; }; export type PostTelemetryResponses = { /** * OK */ 200: string; }; export type PostTelemetryResponse = PostTelemetryResponses[keyof PostTelemetryResponses]; export type SubscribeToCommandsData = { body?: never; path: { /** * Your device access token. */ deviceToken: string; }; query?: { /** * Optional timeout of the long poll. Typically less then 60 seconds, since limited on the server side. */ timeout?: number; }; url: '/api/v1/{deviceToken}/rpc'; }; export type SubscribeToCommandsResponses = { /** * OK */ 200: string; }; export type SubscribeToCommandsResponse = SubscribeToCommandsResponses[keyof SubscribeToCommandsResponses]; export type PostRpcRequestData = { /** * The RPC request JSON */ body: { [key: string]: JsonValueWritable; }; path: { /** * Your device access token. */ deviceToken: string; }; query?: never; url: '/api/v1/{deviceToken}/rpc'; }; export type PostRpcRequestErrors = { /** * Invalid structure of the request. */ 400: string; /** * Request payload too large. */ 413: string; }; export type PostRpcRequestError = PostRpcRequestErrors[keyof PostRpcRequestErrors]; export type PostRpcRequestResponses = { /** * RPC request to server was sent to Rule Engine. */ 200: string; }; export type PostRpcRequestResponse = PostRpcRequestResponses[keyof PostRpcRequestResponses]; export type ReplyToCommandData = { /** * Reply to the RPC request, JSON. For example: {"status":"success"} */ body: { [key: string]: JsonValueWritable; }; path: { /** * Your device access token. */ deviceToken: string; /** * RPC request id from the incoming RPC request */ requestId: string; }; query?: never; url: '/api/v1/{deviceToken}/rpc/{requestId}'; }; export type ReplyToCommandErrors = { /** * Invalid structure of the request. */ 400: string; /** * Request payload is too large. */ 413: string; }; export type ReplyToCommandError = ReplyToCommandErrors[keyof ReplyToCommandErrors]; export type ReplyToCommandResponses = { /** * RPC reply to command request was sent to Core. */ 200: string; }; export type ReplyToCommandResponse = ReplyToCommandResponses[keyof ReplyToCommandResponses]; export type ClaimDeviceData = { body?: string; path: { /** * Your device access token. */ deviceToken: string; }; query?: never; url: '/api/v1/{deviceToken}/claim'; }; export type ClaimDeviceResponses = { /** * OK */ 200: string; }; export type ClaimDeviceResponse = ClaimDeviceResponses[keyof ClaimDeviceResponses]; export type GetDeviceAttributesData = { body?: never; path: { /** * Your device access token. */ deviceToken: string; }; query: { /** * Comma separated key names for attribute with client scope */ clientKeys: string; /** * Comma separated key names for attribute with shared scope */ sharedKeys: string; }; url: '/api/v1/{deviceToken}/attributes'; }; export type GetDeviceAttributesResponses = { /** * OK */ 200: string; }; export type GetDeviceAttributesResponse = GetDeviceAttributesResponses[keyof GetDeviceAttributesResponses]; export type PostDeviceAttributesData = { /** * JSON with attribute key-value pairs. See API call description for example. */ body: { [key: string]: JsonValueWritable; }; path: { /** * Your device access token. */ deviceToken: string; }; query?: never; url: '/api/v1/{deviceToken}/attributes'; }; export type PostDeviceAttributesResponses = { /** * OK */ 200: string; }; export type PostDeviceAttributesResponse = PostDeviceAttributesResponses[keyof PostDeviceAttributesResponses]; export type ProvisionDeviceData = { /** * JSON with provision request. See API call description for example. */ body: { [key: string]: JsonValueWritable; }; path?: never; query?: never; url: '/api/v1/provision'; }; export type ProvisionDeviceResponses = { /** * OK */ 200: string; }; export type ProvisionDeviceResponse = ProvisionDeviceResponses[keyof ProvisionDeviceResponses]; export type SaveUserData = { body: UserWritable; path?: never; query?: { /** * Send activation email (or use activation link) */ sendActivationMail?: string; entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; }; url: '/api/user'; }; export type SaveUserResponses = { /** * OK */ 200: User; }; export type SaveUserResponse = SaveUserResponses[keyof SaveUserResponses]; export type LoadUserGroupPermissionInfosData = { /** * JSON array of group permission objects */ body: Array; path?: never; query?: never; url: '/api/userGroup/groupPermissions/info'; }; export type LoadUserGroupPermissionInfosResponses = { /** * OK */ 200: Array; }; export type LoadUserGroupPermissionInfosResponse = LoadUserGroupPermissionInfosResponses[keyof LoadUserGroupPermissionInfosResponses]; export type SetUserCredentialsEnabledData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: { /** * Enable ("true") or disable ("false") the credentials. */ userCredentialsEnabled?: string; }; url: '/api/user/{userId}/userCredentialsEnabled'; }; export type SetUserCredentialsEnabledResponses = { /** * OK */ 200: unknown; }; export type SendActivationEmailData = { body?: never; path?: never; query: { /** * Email of the user */ email: string; }; url: '/api/user/sendActivationMail'; }; export type SendActivationEmailResponses = { /** * OK */ 200: unknown; }; export type RemoveMobileSessionData = { body?: never; headers: { 'X-Mobile-Token': string; }; path?: never; query?: never; url: '/api/user/mobile/session'; }; export type RemoveMobileSessionResponses = { /** * OK */ 200: unknown; }; export type GetMobileSessionData = { body?: never; headers: { 'X-Mobile-Token': string; }; path?: never; query?: never; url: '/api/user/mobile/session'; }; export type GetMobileSessionResponses = { /** * OK */ 200: MobileSessionInfo; }; export type GetMobileSessionResponse = GetMobileSessionResponses[keyof GetMobileSessionResponses]; export type SaveMobileSessionData = { body: MobileSessionInfo; headers: { 'X-Mobile-Token': string; }; path?: never; query?: never; url: '/api/user/mobile/session'; }; export type SaveMobileSessionResponses = { /** * OK */ 200: unknown; }; export type PublicConnectToTrendzData = { body?: never; path?: never; query?: never; url: '/api/trendz/public/connect'; }; export type PublicConnectToTrendzResponses = { /** * OK */ 200: unknown; }; export type ConnectToTrendzData = { body?: never; path?: never; query?: never; url: '/api/trendz/connect'; }; export type ConnectToTrendzResponses = { /** * OK */ 200: TrendzSynchronizationResult; }; export type ConnectToTrendzResponse = ConnectToTrendzResponses[keyof ConnectToTrendzResponses]; export type GetTrendzConfigData = { body?: never; path?: never; query?: never; url: '/api/trendz/config'; }; export type GetTrendzConfigResponses = { /** * OK */ 200: TrendzConfiguration; }; export type GetTrendzConfigResponse = GetTrendzConfigResponses[keyof GetTrendzConfigResponses]; export type SaveTrendzConfigData = { body: TrendzConfiguration; path?: never; query?: never; url: '/api/trendz/config'; }; export type SaveTrendzConfigResponses = { /** * OK */ 200: TrendzConfiguration; }; export type SaveTrendzConfigResponse = SaveTrendzConfigResponses[keyof SaveTrendzConfigResponses]; export type DeleteCustomTranslationData = { body?: never; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/{localeCode}'; }; export type DeleteCustomTranslationResponses = { /** * OK */ 200: unknown; }; export type GetCustomTranslationData = { body?: never; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/{localeCode}'; }; export type GetCustomTranslationResponses = { /** * OK */ 200: JsonNode; }; export type GetCustomTranslationResponse = GetCustomTranslationResponses[keyof GetCustomTranslationResponses]; export type PatchCustomTranslationData = { body: JsonNode; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/{localeCode}'; }; export type PatchCustomTranslationResponses = { /** * OK */ 200: unknown; }; export type SaveCustomTranslationData = { body: JsonNode; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/{localeCode}'; }; export type SaveCustomTranslationResponses = { /** * OK */ 200: unknown; }; export type UploadCustomTranslationData = { body?: { file: Blob | File; }; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/{localeCode}/upload'; }; export type UploadCustomTranslationResponses = { /** * OK */ 200: unknown; }; export type SaveTenantData = { body: TenantWritable; path?: never; query?: never; url: '/api/tenant'; }; export type SaveTenantResponses = { /** * OK */ 200: Tenant; }; export type SaveTenantResponse = SaveTenantResponses[keyof SaveTenantResponses]; export type SaveTenantProfileData = { body: TenantProfileWritable; path?: never; query?: never; url: '/api/tenantProfile'; }; export type SaveTenantProfileResponses = { /** * OK */ 200: TenantProfile; }; export type SaveTenantProfileResponse = SaveTenantProfileResponses[keyof SaveTenantProfileResponses]; export type SetDefaultTenantProfileData = { body?: never; path: { /** * A string value representing the tenant profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantProfileId: string; }; query?: never; url: '/api/tenantProfile/{tenantProfileId}/default'; }; export type SetDefaultTenantProfileResponses = { /** * OK */ 200: TenantProfile; }; export type SetDefaultTenantProfileResponse = SetDefaultTenantProfileResponses[keyof SetDefaultTenantProfileResponses]; export type AssignDeviceToTenantData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/tenant/{tenantId}/device/{deviceId}'; }; export type AssignDeviceToTenantResponses = { /** * OK */ 200: Device; }; export type AssignDeviceToTenantResponse = AssignDeviceToTenantResponses[keyof AssignDeviceToTenantResponses]; export type GetTenantHomeDashboardInfoData = { body?: never; path?: never; query?: never; url: '/api/tenant/dashboard/home/info'; }; export type GetTenantHomeDashboardInfoResponses = { /** * OK */ 200: HomeDashboardInfo; }; export type GetTenantHomeDashboardInfoResponse = GetTenantHomeDashboardInfoResponses[keyof GetTenantHomeDashboardInfoResponses]; export type SetTenantHomeDashboardInfoData = { body: HomeDashboardInfo; path?: never; query?: never; url: '/api/tenant/dashboard/home/info'; }; export type SetTenantHomeDashboardInfoResponses = { /** * OK */ 200: unknown; }; export type InstallSolutionTemplateData = { body?: never; path: { /** * A string value representing the solution template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ solutionTemplateId: string; }; query?: never; url: '/api/solutions/templates/{solutionTemplateId}/install'; }; export type InstallSolutionTemplateResponses = { /** * OK */ 200: SolutionInstallResponse; }; export type InstallSolutionTemplateResponse = InstallSolutionTemplateResponses[keyof InstallSolutionTemplateResponses]; export type AcceptTermsOfUseData = { body?: never; path?: never; query?: never; url: '/api/signup/acceptTermsOfUse'; }; export type AcceptTermsOfUseResponses = { /** * OK */ 200: JsonNode; }; export type AcceptTermsOfUseResponse = AcceptTermsOfUseResponses[keyof AcceptTermsOfUseResponses]; export type AcceptPrivacyPolicyData = { body?: never; path?: never; query?: never; url: '/api/signup/acceptPrivacyPolicy'; }; export type AcceptPrivacyPolicyResponses = { /** * OK */ 200: JsonNode; }; export type AcceptPrivacyPolicyResponse = AcceptPrivacyPolicyResponses[keyof AcceptPrivacyPolicyResponses]; export type DeleteWebSelfRegistrationParamsData = { body?: never; path?: never; query?: never; url: '/api/selfRegistration/selfRegistrationParams'; }; export type DeleteWebSelfRegistrationParamsResponses = { /** * OK */ 200: unknown; }; export type GetWebSelfRegistrationParamsData = { body?: never; path?: never; query?: never; url: '/api/selfRegistration/selfRegistrationParams'; }; export type GetWebSelfRegistrationParamsResponses = { /** * OK */ 200: MobileSelfRegistrationParams | WebSelfRegistrationParams; }; export type GetWebSelfRegistrationParamsResponse = GetWebSelfRegistrationParamsResponses[keyof GetWebSelfRegistrationParamsResponses]; export type SaveWebSelfRegistrationParamsData = { body: WebSelfRegistrationParamsWritable; path?: never; query?: never; url: '/api/selfRegistration/selfRegistrationParams'; }; export type SaveWebSelfRegistrationParamsResponses = { /** * OK */ 200: WebSelfRegistrationParams; }; export type SaveWebSelfRegistrationParamsResponse = SaveWebSelfRegistrationParamsResponses[keyof SaveWebSelfRegistrationParamsResponses]; export type GetSecretInfoByNameData = { body?: never; path?: never; query: { name: string; }; url: '/api/secret'; }; export type GetSecretInfoByNameResponses = { /** * OK */ 200: SecretInfo; }; export type GetSecretInfoByNameResponse = GetSecretInfoByNameResponses[keyof GetSecretInfoByNameResponses]; export type SaveSecretData = { body: SecretWritable; path?: never; query?: never; url: '/api/secret'; }; export type SaveSecretResponses = { /** * OK */ 200: SecretInfo; }; export type SaveSecretResponse = SaveSecretResponses[keyof SaveSecretResponses]; export type SaveSchedulerEventData = { body: SchedulerEventWritable; path?: never; query?: never; url: '/api/schedulerEvent'; }; export type SaveSchedulerEventResponses = { /** * OK */ 200: SchedulerEvent; }; export type SaveSchedulerEventResponse = SaveSchedulerEventResponses[keyof SaveSchedulerEventResponses]; export type ImportRuleChainsData = { body: RuleChainDataWritable; path?: never; query?: { /** * Enables overwrite for existing rule chains with the same name. */ overwrite?: boolean; }; url: '/api/ruleChains/import'; }; export type ImportRuleChainsResponses = { /** * OK */ 200: Array; }; export type ImportRuleChainsResponse = ImportRuleChainsResponses[keyof ImportRuleChainsResponses]; export type SaveRuleChainData = { body: RuleChainWritable; path?: never; query?: never; url: '/api/ruleChain'; }; export type SaveRuleChainResponses = { /** * OK */ 200: RuleChain; }; export type SaveRuleChainResponse = SaveRuleChainResponses[keyof SaveRuleChainResponses]; export type SetRootRuleChainData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/root'; }; export type SetRootRuleChainResponses = { /** * OK */ 200: RuleChain; }; export type SetRootRuleChainResponse = SetRootRuleChainResponses[keyof SetRootRuleChainResponses]; export type SetEdgeTemplateRootRuleChainData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/edgeTemplateRoot'; }; export type SetEdgeTemplateRootRuleChainResponses = { /** * OK */ 200: RuleChain; }; export type SetEdgeTemplateRootRuleChainResponse = SetEdgeTemplateRootRuleChainResponses[keyof SetEdgeTemplateRootRuleChainResponses]; export type UnsetAutoAssignToEdgeRuleChainData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/autoAssignToEdge'; }; export type UnsetAutoAssignToEdgeRuleChainResponses = { /** * OK */ 200: RuleChain; }; export type UnsetAutoAssignToEdgeRuleChainResponse = UnsetAutoAssignToEdgeRuleChainResponses[keyof UnsetAutoAssignToEdgeRuleChainResponses]; export type SetAutoAssignToEdgeRuleChainData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/autoAssignToEdge'; }; export type SetAutoAssignToEdgeRuleChainResponses = { /** * OK */ 200: RuleChain; }; export type SetAutoAssignToEdgeRuleChainResponse = SetAutoAssignToEdgeRuleChainResponses[keyof SetAutoAssignToEdgeRuleChainResponses]; export type TestScriptData = { /** * Test JS request. See API call description above. */ body: JsonNode; path?: never; query?: { /** * Script language: JS or TBEL */ scriptLang?: 'JS' | 'TBEL'; }; url: '/api/ruleChain/testScript'; }; export type TestScriptResponses = { /** * OK */ 200: JsonNode; }; export type TestScriptResponse = TestScriptResponses[keyof TestScriptResponses]; export type SaveRuleChainMetaDataData = { body: RuleChainMetaDataWritable; path?: never; query?: { /** * Update related rule nodes. */ updateRelated?: boolean; }; url: '/api/ruleChain/metadata'; }; export type SaveRuleChainMetaDataResponses = { /** * OK */ 200: RuleChainMetaData; }; export type SaveRuleChainMetaDataResponse = SaveRuleChainMetaDataResponses[keyof SaveRuleChainMetaDataResponses]; export type SaveRuleChain1Data = { body: DefaultRuleChainCreateRequest; path?: never; query?: never; url: '/api/ruleChain/device/default'; }; export type SaveRuleChain1Responses = { /** * OK */ 200: RuleChain; }; export type SaveRuleChain1Response = SaveRuleChain1Responses[keyof SaveRuleChain1Responses]; export type HandleRuleEngineRequestData = { /** * A JSON value representing the message. */ body: string; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/rule-engine/{entityType}/{entityId}'; }; export type HandleRuleEngineRequestResponses = { /** * OK */ 200: string; }; export type HandleRuleEngineRequestResponse = HandleRuleEngineRequestResponses[keyof HandleRuleEngineRequestResponses]; export type HandleRuleEngineRequest1Data = { /** * A JSON value representing the message. */ body: string; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * Timeout to process the request in milliseconds */ timeout: number; }; query?: never; url: '/api/rule-engine/{entityType}/{entityId}/{timeout}'; }; export type HandleRuleEngineRequest1Responses = { /** * OK */ 200: string; }; export type HandleRuleEngineRequest1Response = HandleRuleEngineRequest1Responses[keyof HandleRuleEngineRequest1Responses]; export type HandleRuleEngineRequest2Data = { /** * A JSON value representing the message. */ body: string; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * Queue name to process the request in the rule engine */ queueName: string; /** * Timeout to process the request in milliseconds */ timeout: number; }; query?: never; url: '/api/rule-engine/{entityType}/{entityId}/{queueName}/{timeout}'; }; export type HandleRuleEngineRequest2Responses = { /** * OK */ 200: string; }; export type HandleRuleEngineRequest2Response = HandleRuleEngineRequest2Responses[keyof HandleRuleEngineRequest2Responses]; export type HandleRuleEngineRequest3Data = { /** * A JSON value representing the message. */ body: string; path?: never; query?: never; url: '/api/rule-engine/'; }; export type HandleRuleEngineRequest3Responses = { /** * OK */ 200: string; }; export type HandleRuleEngineRequest3Response = HandleRuleEngineRequest3Responses[keyof HandleRuleEngineRequest3Responses]; export type HandleTwoWayDeviceRpcRequestData = { /** * A JSON value representing the RPC request. */ body: string; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/rpc/twoway/{deviceId}'; }; export type HandleTwoWayDeviceRpcRequestErrors = { /** * Invalid structure of the request. */ 400: string; /** * User is not authorized to send the RPC request. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * Request payload is too large */ 413: string; /** * Timeout to process the RPC call. Most likely, device is offline. */ 504: string; }; export type HandleTwoWayDeviceRpcRequestError = HandleTwoWayDeviceRpcRequestErrors[keyof HandleTwoWayDeviceRpcRequestErrors]; export type HandleTwoWayDeviceRpcRequestResponses = { /** * Persistent RPC request was saved to the database or lightweight RPC response received. */ 200: string; }; export type HandleTwoWayDeviceRpcRequestResponse = HandleTwoWayDeviceRpcRequestResponses[keyof HandleTwoWayDeviceRpcRequestResponses]; export type HandleOneWayDeviceRpcRequestData = { /** * A JSON value representing the RPC request. */ body: string; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/rpc/oneway/{deviceId}'; }; export type HandleOneWayDeviceRpcRequestErrors = { /** * Invalid structure of the request. */ 400: string; /** * User is not authorized to send the RPC request. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * Request payload is too large */ 413: string; /** * Timeout to process the RPC call. Most likely, device is offline. */ 504: string; }; export type HandleOneWayDeviceRpcRequestError = HandleOneWayDeviceRpcRequestErrors[keyof HandleOneWayDeviceRpcRequestErrors]; export type HandleOneWayDeviceRpcRequestResponses = { /** * Persistent RPC request was saved to the database or lightweight RPC request was sent to the device. */ 200: string; }; export type HandleOneWayDeviceRpcRequestResponse = HandleOneWayDeviceRpcRequestResponses[keyof HandleOneWayDeviceRpcRequestResponses]; export type SaveRoleData = { body: RoleWritable; path?: never; query?: never; url: '/api/role'; }; export type SaveRoleResponses = { /** * OK */ 200: Role; }; export type SaveRoleResponse = SaveRoleResponses[keyof SaveRoleResponses]; export type GetResourcesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * A string value representing the resource type. */ resourceType?: 'LWM2M_MODEL' | 'JKS' | 'PKCS_12' | 'JS_MODULE'; /** * A string value representing the resource sub-type. */ resourceSubType?: 'EXTENSION' | 'MODULE'; /** * The case insensitive 'substring' filter based on the resource title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'resourceType' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A list of resource ids, separated by comma ',' */ resourceIds: Array; }; url: '/api/resource'; }; export type GetResourcesResponses = { /** * OK */ 200: Array | PageDataTbResourceInfo; }; export type GetResourcesResponse = GetResourcesResponses[keyof GetResourcesResponses]; export type SaveResourceData = { body: TbResourceWritable; path?: never; query?: never; url: '/api/resource'; }; export type SaveResourceResponses = { /** * OK */ 200: TbResourceInfo; }; export type SaveResourceResponse = SaveResourceResponses[keyof SaveResourceResponses]; export type UploadResourceData = { body?: { /** * Resource title. */ title?: string; /** * Resource type. */ resourceType: string; /** * Resource descriptor (JSON). */ descriptor?: string; /** * Resource sub type. */ resourceSubType?: string; /** * Resource file. */ file: Blob | File; }; path?: never; query?: never; url: '/api/resource/upload'; }; export type UploadResourceResponses = { /** * OK */ 200: TbResourceInfo; }; export type UploadResourceResponse = UploadResourceResponses[keyof UploadResourceResponses]; export type SaveReportTemplateData = { body: ReportTemplateWritable; path?: never; query?: never; url: '/api/reportTemplate'; }; export type SaveReportTemplateResponses = { /** * OK */ 200: ReportTemplate; }; export type SaveReportTemplateResponse = SaveReportTemplateResponses[keyof SaveReportTemplateResponses]; export type DownloadDashboardReportData = { body: JsonNode; path: { /** * A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ dashboardId: string; }; query?: never; url: '/api/report/{dashboardId}/download'; }; export type DownloadDashboardReportResponses = { /** * OK */ 200: Blob | File; }; export type DownloadDashboardReportResponse = DownloadDashboardReportResponses[keyof DownloadDashboardReportResponses]; export type DownloadTestReportData = { body: DashboardReportConfig; path?: never; query?: { /** * A string value representing the report server endpoint. */ reportsServerEndpointUrl?: string; }; url: '/api/report/test'; }; export type DownloadTestReportResponses = { /** * OK */ 200: Blob | File; }; export type DownloadTestReportResponse = DownloadTestReportResponses[keyof DownloadTestReportResponses]; export type DeleteRelationsData = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; }; url: '/api/relations'; }; export type DeleteRelationsResponses = { /** * OK */ 200: unknown; }; export type FindByToData = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ toId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ toType: string; /** * A string value representing relation type group. For example, 'COMMON' */ relationTypeGroup?: string; /** * A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value. */ relationType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ fromId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ fromType: string; }; url: '/api/relations'; }; export type FindByToResponses = { /** * OK */ 200: Array; }; export type FindByToResponse = FindByToResponses[keyof FindByToResponses]; export type FindByQueryData = { body: EntityRelationsQuery; path?: never; query?: never; url: '/api/relations'; }; export type FindByQueryResponses = { /** * OK */ 200: Array; }; export type FindByQueryResponse = FindByQueryResponses[keyof FindByQueryResponses]; export type FindInfoByToData = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ toId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ toType: string; /** * A string value representing relation type group. For example, 'COMMON' */ relationTypeGroup?: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ fromId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ fromType: string; }; url: '/api/relations/info'; }; export type FindInfoByToResponses = { /** * OK */ 200: Array; }; export type FindInfoByToResponse = FindInfoByToResponses[keyof FindInfoByToResponses]; export type FindInfoByQueryData = { body: EntityRelationsQuery; path?: never; query?: never; url: '/api/relations/info'; }; export type FindInfoByQueryResponses = { /** * OK */ 200: Array; }; export type FindInfoByQueryResponse = FindInfoByQueryResponses[keyof FindInfoByQueryResponses]; export type DeleteRelationData = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ fromId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ fromType: string; /** * A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value. */ relationType: string; /** * A string value representing relation type group. For example, 'COMMON' */ relationTypeGroup?: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ toId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ toType: string; }; url: '/api/relation'; }; export type DeleteRelationResponses = { /** * OK */ 200: unknown; }; export type GetRelationData = { body?: never; path?: never; query: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ fromId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ fromType: string; /** * A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value. */ relationType: string; /** * A string value representing relation type group. For example, 'COMMON' */ relationTypeGroup?: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ toId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ toType: string; }; url: '/api/relation'; }; export type GetRelationResponses = { /** * OK */ 200: EntityRelation; }; export type GetRelationResponse = GetRelationResponses[keyof GetRelationResponses]; export type SaveRelationData = { body: EntityRelation; path?: never; query?: never; url: '/api/relation'; }; export type SaveRelationResponses = { /** * OK */ 200: unknown; }; export type GetTenantQueuesByServiceTypeData = { body?: never; path?: never; query: { /** * Service type (implemented only for the TB-RULE-ENGINE) */ serviceType: 'TB-RULE-ENGINE' | 'TB-CORE' | 'TB-TRANSPORT' | 'JS-EXECUTOR'; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the queue name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'topic'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/queues'; }; export type GetTenantQueuesByServiceTypeResponses = { /** * OK */ 200: PageDataQueue; }; export type GetTenantQueuesByServiceTypeResponse = GetTenantQueuesByServiceTypeResponses[keyof GetTenantQueuesByServiceTypeResponses]; export type SaveQueueData = { body: QueueWritable; path?: never; query: { /** * Service type (implemented only for the TB-RULE-ENGINE) */ serviceType: 'TB-RULE-ENGINE' | 'TB-CORE' | 'TB-TRANSPORT' | 'JS-EXECUTOR'; }; url: '/api/queues'; }; export type SaveQueueResponses = { /** * OK */ 200: Queue; }; export type SaveQueueResponse = SaveQueueResponses[keyof SaveQueueResponses]; export type DeleteEntityAttributesData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE' | 'CLIENT_SCOPE'; }; query: { /** * A string value representing the comma-separated list of attributes keys. For example, 'active,inactivityAlarmTime'. If attribute keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; params: MultiValueMapStringString; }; url: '/api/plugins/telemetry/{entityType}/{entityId}/{scope}'; }; export type DeleteEntityAttributesErrors = { /** * Platform returns a bad request in case if keys or scope are not specified. */ 400: string; /** * User is not authorized to delete entity attributes for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity attributes removal with action type 'ATTRIBUTES_DELETED' that includes an error stacktrace. */ 500: string; }; export type DeleteEntityAttributesError = DeleteEntityAttributesErrors[keyof DeleteEntityAttributesErrors]; export type DeleteEntityAttributesResponses = { /** * Entity attributes was removed for the selected keys in the request. Platform creates an audit log event about entity attributes removal with action type 'ATTRIBUTES_DELETED'. */ 200: string; }; export type DeleteEntityAttributesResponse = DeleteEntityAttributesResponses[keyof DeleteEntityAttributesResponses]; export type SaveEntityAttributesV1Data = { /** * A string value representing the json object. For example, '{"key":"value"}'. See API call description for more details. */ body: { [key: string]: JsonValueWritable; }; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE'; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/{scope}'; }; export type SaveEntityAttributesV1Errors = { /** * Invalid structure of the request or invalid attributes scope provided. */ 400: string; /** * User is not authorized to save entity attributes for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity attributes updates with action type 'ATTRIBUTES_UPDATED' that includes an error stacktrace. */ 500: string; }; export type SaveEntityAttributesV1Error = SaveEntityAttributesV1Errors[keyof SaveEntityAttributesV1Errors]; export type SaveEntityAttributesV1Responses = { /** * Attribute from the request was created or updated. Platform creates an audit log event about entity attributes updates with action type 'ATTRIBUTES_UPDATED', and also sends event msg to the rule engine with msg type 'ATTRIBUTES_UPDATED'. */ 200: string; }; export type SaveEntityAttributesV1Response = SaveEntityAttributesV1Responses[keyof SaveEntityAttributesV1Responses]; export type GetLatestTimeseriesData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing the comma-separated list of telemetry keys. If keys are not selected, the result will return all latest time series. For example, 'temperature,humidity'. If telemetry keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; /** * Enables/disables conversion of telemetry values to strings. Conversion is enabled by default. Set parameter to 'true' in order to disable the conversion. */ useStrictDataTypes?: boolean; params: MultiValueMapStringString; /** * A long value representing the start timestamp of the time range in milliseconds, UTC. */ startTs: number; /** * A long value representing the end timestamp of the time range in milliseconds, UTC. */ endTs: number; /** * A string value representing the type fo the interval. */ intervalType?: 'MILLISECONDS' | 'WEEK' | 'WEEK_ISO' | 'MONTH' | 'QUARTER'; /** * A long value representing the aggregation interval range in milliseconds. */ interval?: number; /** * A string value representing the timezone that will be used to calculate exact timestamps for 'WEEK', 'WEEK_ISO', 'MONTH' and 'QUARTER' interval types. */ timeZone?: string; /** * An integer value that represents a max number of time series data points to fetch. This parameter is used only in the case if 'agg' parameter is set to 'NONE'. */ limit?: string; /** * A string value representing the aggregation function. If the interval is not specified, 'agg' parameter will use 'NONE' value. */ agg?: 'MIN' | 'MAX' | 'AVG' | 'SUM' | 'COUNT' | 'NONE'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ orderBy?: 'ASC' | 'DESC'; }; url: '/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries'; }; export type GetLatestTimeseriesResponses = { /** * OK */ 200: Record; }; export type GetLatestTimeseriesResponse = GetLatestTimeseriesResponses[keyof GetLatestTimeseriesResponses]; export type GetTimeseriesByReadTsKvQueriesData = { body: Array; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries'; }; export type GetTimeseriesByReadTsKvQueriesResponses = { /** * OK */ 200: string; }; export type GetTimeseriesByReadTsKvQueriesResponse = GetTimeseriesByReadTsKvQueriesResponses[keyof GetTimeseriesByReadTsKvQueriesResponses]; export type SaveEntityTelemetryData = { /** * A JSON with the telemetry values. See API call description for more details. */ body: { [key: string]: JsonValueWritable; }; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * Value is deprecated, reserved for backward compatibility and not used in the API call implementation. Specify any scope for compatibility */ scope: 'ANY'; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/timeseries/{scope}'; }; export type SaveEntityTelemetryErrors = { /** * Invalid structure of the request */ 400: string; /** * User is not authorized to save entity time series for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity time series updates with action type 'TIMESERIES_UPDATED' that includes an error stacktrace. */ 500: string; }; export type SaveEntityTelemetryError = SaveEntityTelemetryErrors[keyof SaveEntityTelemetryErrors]; export type SaveEntityTelemetryResponses = { /** * Time series from the request was created or updated. Platform creates an audit log event about entity time series updates with action type 'TIMESERIES_UPDATED'. */ 200: string; }; export type SaveEntityTelemetryResponse = SaveEntityTelemetryResponses[keyof SaveEntityTelemetryResponses]; export type SaveEntityTelemetryWithTtlData = { /** * A JSON with the telemetry values. See API call description for more details. */ body: { [key: string]: JsonValueWritable; }; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * Value is deprecated, reserved for backward compatibility and not used in the API call implementation. Specify any scope for compatibility */ scope: 'ANY'; /** * A long value representing TTL (Time to Live) parameter. */ ttl: number; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/timeseries/{scope}/{ttl}'; }; export type SaveEntityTelemetryWithTtlErrors = { /** * Invalid structure of the request */ 400: string; /** * User is not authorized to save entity time series for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity time series updates with action type 'TIMESERIES_UPDATED' that includes an error stacktrace. */ 500: string; }; export type SaveEntityTelemetryWithTtlError = SaveEntityTelemetryWithTtlErrors[keyof SaveEntityTelemetryWithTtlErrors]; export type SaveEntityTelemetryWithTtlResponses = { /** * Time series from the request was created or updated. Platform creates an audit log event about entity time series updates with action type 'TIMESERIES_UPDATED'. */ 200: string; }; export type SaveEntityTelemetryWithTtlResponse = SaveEntityTelemetryWithTtlResponses[keyof SaveEntityTelemetryWithTtlResponses]; export type SaveEntityAttributesV2Data = { /** * A string value representing the json object. For example, '{"key":"value"}'. See API call description for more details. */ body: { [key: string]: JsonValueWritable; }; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE'; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/attributes/{scope}'; }; export type SaveEntityAttributesV2Errors = { /** * Invalid structure of the request or invalid attributes scope provided. */ 400: string; /** * User is not authorized to save entity attributes for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity attributes updates with action type 'ATTRIBUTES_UPDATED' that includes an error stacktrace. */ 500: string; }; export type SaveEntityAttributesV2Error = SaveEntityAttributesV2Errors[keyof SaveEntityAttributesV2Errors]; export type SaveEntityAttributesV2Responses = { /** * Attribute from the request was created or updated. Platform creates an audit log event about entity attributes updates with action type 'ATTRIBUTES_UPDATED', and also sends event msg to the rule engine with msg type 'ATTRIBUTES_UPDATED'. */ 200: string; }; export type SaveEntityAttributesV2Response = SaveEntityAttributesV2Responses[keyof SaveEntityAttributesV2Responses]; export type DeleteDeviceAttributesData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE' | 'CLIENT_SCOPE'; }; query: { /** * A string value representing the comma-separated list of attributes keys. For example, 'active,inactivityAlarmTime'. If attribute keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; params: MultiValueMapStringString; }; url: '/api/plugins/telemetry/{deviceId}/{scope}'; }; export type DeleteDeviceAttributesErrors = { /** * Platform returns a bad request in case if keys or scope are not specified. */ 400: string; /** * User is not authorized to delete device attributes for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about device attributes removal with action type 'ATTRIBUTES_DELETED' that includes an error stacktrace. */ 500: string; }; export type DeleteDeviceAttributesError = DeleteDeviceAttributesErrors[keyof DeleteDeviceAttributesErrors]; export type DeleteDeviceAttributesResponses = { /** * Device attributes was removed for the selected keys in the request. Platform creates an audit log event about device attributes removal with action type 'ATTRIBUTES_DELETED'. */ 200: string; }; export type DeleteDeviceAttributesResponse = DeleteDeviceAttributesResponses[keyof DeleteDeviceAttributesResponses]; export type SaveDeviceAttributesData = { /** * A string value representing the json object. For example, '{"key":"value"}'. See API call description for more details. */ body: { [key: string]: JsonValueWritable; }; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE'; }; query?: never; url: '/api/plugins/telemetry/{deviceId}/{scope}'; }; export type SaveDeviceAttributesErrors = { /** * Invalid structure of the request or invalid attributes scope provided. */ 400: string; /** * User is not authorized to save device attributes for selected device. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about device attributes updates with action type 'ATTRIBUTES_UPDATED' that includes an error stacktrace. */ 500: string; }; export type SaveDeviceAttributesError = SaveDeviceAttributesErrors[keyof SaveDeviceAttributesErrors]; export type SaveDeviceAttributesResponses = { /** * Attribute from the request was created or updated. Platform creates an audit log event about device attributes updates with action type 'ATTRIBUTES_UPDATED', and also sends event msg to the rule engine with msg type 'ATTRIBUTES_UPDATED'. */ 200: string; }; export type SaveDeviceAttributesResponse = SaveDeviceAttributesResponses[keyof SaveDeviceAttributesResponses]; export type HandleTwoWayDeviceRpcRequest1Data = { /** * A JSON value representing the RPC request. */ body: string; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/plugins/rpc/twoway/{deviceId}'; }; export type HandleTwoWayDeviceRpcRequest1Responses = { /** * OK */ 200: string; }; export type HandleTwoWayDeviceRpcRequest1Response = HandleTwoWayDeviceRpcRequest1Responses[keyof HandleTwoWayDeviceRpcRequest1Responses]; export type HandleOneWayDeviceRpcRequest1Data = { /** * A JSON value representing the RPC request. */ body: string; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/plugins/rpc/oneway/{deviceId}'; }; export type HandleOneWayDeviceRpcRequest1Responses = { /** * OK */ 200: string; }; export type HandleOneWayDeviceRpcRequest1Response = HandleOneWayDeviceRpcRequest1Responses[keyof HandleOneWayDeviceRpcRequest1Responses]; export type ChangeOwnerToTenantData = { /** * An optional list of additional entity group ids */ body?: Array; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ownerId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/owner/TENANT/{ownerId}/{entityType}/{entityId}'; }; export type ChangeOwnerToTenantResponses = { /** * OK */ 200: unknown; }; export type ChangeOwnerToCustomerData = { /** * An optional list of additional entity group ids */ body?: Array; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ownerId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/owner/CUSTOMER/{ownerId}/{entityType}/{entityId}'; }; export type ChangeOwnerToCustomerResponses = { /** * OK */ 200: unknown; }; export type SaveOtaPackageInfoData = { body: SaveOtaPackageInfoRequestWritable; path?: never; query?: never; url: '/api/otaPackage'; }; export type SaveOtaPackageInfoResponses = { /** * OK */ 200: OtaPackageInfo; }; export type SaveOtaPackageInfoResponse = SaveOtaPackageInfoResponses[keyof SaveOtaPackageInfoResponses]; export type DeleteOtaPackageData = { body?: never; path: { /** * A string value representing the ota package id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ otaPackageId: string; }; query?: never; url: '/api/otaPackage/{otaPackageId}'; }; export type DeleteOtaPackageResponses = { /** * OK */ 200: unknown; }; export type GetOtaPackageByIdData = { body?: never; path: { /** * A string value representing the ota package id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ otaPackageId: string; }; query?: never; url: '/api/otaPackage/{otaPackageId}'; }; export type GetOtaPackageByIdResponses = { /** * OK */ 200: OtaPackage; }; export type GetOtaPackageByIdResponse = GetOtaPackageByIdResponses[keyof GetOtaPackageByIdResponses]; export type SaveOtaPackageDataData = { body?: { /** * OTA Package data. */ file: Blob | File; }; path: { /** * A string value representing the ota package id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ otaPackageId: string; }; query: { /** * OTA Package checksum. For example, '0xd87f7e0c' */ checksum?: string; /** * OTA Package checksum algorithm. */ checksumAlgorithm: 'MD5' | 'SHA256' | 'SHA384' | 'SHA512' | 'CRC32' | 'MURMUR3_32' | 'MURMUR3_128'; }; url: '/api/otaPackage/{otaPackageId}'; }; export type SaveOtaPackageDataResponses = { /** * OK */ 200: OtaPackageInfo; }; export type SaveOtaPackageDataResponse = SaveOtaPackageDataResponses[keyof SaveOtaPackageDataResponses]; export type GetClientRegistrationTemplatesData = { body?: never; path?: never; query?: never; url: '/api/oauth2/config/template'; }; export type GetClientRegistrationTemplatesResponses = { /** * OK */ 200: Array; }; export type GetClientRegistrationTemplatesResponse = GetClientRegistrationTemplatesResponses[keyof GetClientRegistrationTemplatesResponses]; export type SaveClientRegistrationTemplateData = { body: OAuth2ClientRegistrationTemplateWritable; path?: never; query?: never; url: '/api/oauth2/config/template'; }; export type SaveClientRegistrationTemplateResponses = { /** * OK */ 200: OAuth2ClientRegistrationTemplate; }; export type SaveClientRegistrationTemplateResponse = SaveClientRegistrationTemplateResponses[keyof SaveClientRegistrationTemplateResponses]; export type SaveOAuth2ClientData = { body: OAuth2ClientWritable; path?: never; query?: never; url: '/api/oauth2/client'; }; export type SaveOAuth2ClientResponses = { /** * OK */ 200: OAuth2Client; }; export type SaveOAuth2ClientResponse = SaveOAuth2ClientResponses[keyof SaveOAuth2ClientResponses]; export type SaveNotificationTemplateData = { body: NotificationTemplateWritable; path?: never; query?: never; url: '/api/notification/template'; }; export type SaveNotificationTemplateResponses = { /** * OK */ 200: NotificationTemplate; }; export type SaveNotificationTemplateResponse = SaveNotificationTemplateResponses[keyof SaveNotificationTemplateResponses]; export type SaveNotificationTargetData = { body: NotificationTargetWritable; path?: never; query?: never; url: '/api/notification/target'; }; export type SaveNotificationTargetResponses = { /** * OK */ 200: NotificationTarget; }; export type SaveNotificationTargetResponse = SaveNotificationTargetResponses[keyof SaveNotificationTargetResponses]; export type GetRecipientsForNotificationTargetConfigData = { body: NotificationTargetWritable; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; }; url: '/api/notification/target/recipients'; }; export type GetRecipientsForNotificationTargetConfigResponses = { /** * OK */ 200: PageDataUser; }; export type GetRecipientsForNotificationTargetConfigResponse = GetRecipientsForNotificationTargetConfigResponses[keyof GetRecipientsForNotificationTargetConfigResponses]; export type GetNotificationSettingsData = { body?: never; path?: never; query?: never; url: '/api/notification/settings'; }; export type GetNotificationSettingsResponses = { /** * OK */ 200: NotificationSettings; }; export type GetNotificationSettingsResponse = GetNotificationSettingsResponses[keyof GetNotificationSettingsResponses]; export type SaveNotificationSettingsData = { body: NotificationSettings; path?: never; query?: never; url: '/api/notification/settings'; }; export type SaveNotificationSettingsResponses = { /** * OK */ 200: NotificationSettings; }; export type SaveNotificationSettingsResponse = SaveNotificationSettingsResponses[keyof SaveNotificationSettingsResponses]; export type GetUserNotificationSettingsData = { body?: never; path?: never; query?: never; url: '/api/notification/settings/user'; }; export type GetUserNotificationSettingsResponses = { /** * OK */ 200: UserNotificationSettings; }; export type GetUserNotificationSettingsResponse = GetUserNotificationSettingsResponses[keyof GetUserNotificationSettingsResponses]; export type SaveUserNotificationSettingsData = { body: UserNotificationSettings; path?: never; query?: never; url: '/api/notification/settings/user'; }; export type SaveUserNotificationSettingsResponses = { /** * OK */ 200: UserNotificationSettings; }; export type SaveUserNotificationSettingsResponse = SaveUserNotificationSettingsResponses[keyof SaveUserNotificationSettingsResponses]; export type SendPlanUpgradeRequestData = { body?: never; path: { /** * Plan name */ planName: string; }; query?: never; url: '/api/notification/sendPlanUpgradeRequest/{planName}'; }; export type SendPlanUpgradeRequestResponses = { /** * OK */ 200: unknown; }; export type SendAddonAccessRequestData = { body?: never; path: { /** * Addon type */ addonType: 'EDGE' | 'TRENDZ' | 'WHITE_LABELING'; }; query?: never; url: '/api/notification/sendAddonAccessRequest/{addonType}'; }; export type SendAddonAccessRequestResponses = { /** * OK */ 200: unknown; }; export type SendAddonAccessErrorData = { body?: never; path: { /** * Addon type */ addonType: 'EDGE' | 'TRENDZ' | 'WHITE_LABELING'; }; query?: never; url: '/api/notification/sendAddonAccessError/{addonType}'; }; export type SendAddonAccessErrorResponses = { /** * OK */ 200: unknown; }; export type SaveNotificationRuleData = { body: NotificationRuleWritable; path?: never; query?: never; url: '/api/notification/rule'; }; export type SaveNotificationRuleResponses = { /** * OK */ 200: NotificationRule; }; export type SaveNotificationRuleResponse = SaveNotificationRuleResponses[keyof SaveNotificationRuleResponses]; export type CreateNotificationRequestData = { body: NotificationRequestWritable; path?: never; query?: never; url: '/api/notification/request'; }; export type CreateNotificationRequestResponses = { /** * OK */ 200: NotificationRequest; }; export type CreateNotificationRequestResponse = CreateNotificationRequestResponses[keyof CreateNotificationRequestResponses]; export type GetNotificationRequestPreviewData = { body: NotificationRequestWritable; path?: never; query?: { /** * Amount of the recipients to show in preview */ recipientsPreviewSize?: number; }; url: '/api/notification/request/preview'; }; export type GetNotificationRequestPreviewResponses = { /** * OK */ 200: NotificationRequestPreview; }; export type GetNotificationRequestPreviewResponse = GetNotificationRequestPreviewResponses[keyof GetNotificationRequestPreviewResponses]; export type SendEntitiesLimitIncreaseRequestData = { body?: never; path: { /** * Entity type */ entityType: 'DEVICE' | 'ASSET' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'RULE_CHAIN' | 'EDGE' | 'INTEGRATION' | 'CONVERTER' | 'SCHEDULER_EVENT'; }; query?: { subscriptionViolation?: boolean; }; url: '/api/notification/entitiesLimitIncreaseRequest/{entityType}'; }; export type SendEntitiesLimitIncreaseRequestResponses = { /** * OK */ 200: unknown; }; export type SignUpData = { body: SignUpRequest; path?: never; query?: never; url: '/api/noauth/signup'; }; export type SignUpResponses = { /** * OK */ 200: 'SUCCESS' | 'INACTIVE_USER_EXISTS'; }; export type SignUpResponse = SignUpResponses[keyof SignUpResponses]; export type CheckResetTokenData = { body?: never; path?: never; query: { /** * The reset token string. */ resetToken: string; }; url: '/api/noauth/resetPassword'; }; export type CheckResetTokenResponses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type CheckResetTokenResponse = CheckResetTokenResponses[keyof CheckResetTokenResponses]; export type ResetPasswordData = { body: ResetPasswordRequest; path?: never; query?: never; url: '/api/noauth/resetPassword'; }; export type ResetPasswordResponses = { /** * OK */ 200: unknown; }; export type RequestResetPasswordByEmailData = { body: ResetPasswordEmailRequest; path?: never; query?: never; url: '/api/noauth/resetPasswordByEmail'; }; export type RequestResetPasswordByEmailResponses = { /** * OK */ 200: unknown; }; export type ResendEmailActivationData = { body?: never; path?: never; query: { /** * Email of the user. */ email: string; /** * Optional package name of the mobile application. */ pkgName?: string; /** * Platform type */ platform?: 'ANDROID' | 'IOS'; }; url: '/api/noauth/resendEmailActivation'; }; export type ResendEmailActivationResponses = { /** * OK */ 200: unknown; }; export type GetOAuth2ClientsData = { body?: never; path?: never; query?: { /** * Mobile application package name, to find OAuth2 clients where there is configured mobile application with such package name */ pkgName?: string; /** * Platform type to search OAuth2 clients for which the usage with this platform type is allowed in the settings. If platform type is not one of allowable values - it will just be ignored */ platform?: 'WEB' | 'ANDROID' | 'IOS'; }; url: '/api/noauth/oauth2Clients'; }; export type GetOAuth2ClientsResponses = { /** * OK */ 200: Array; }; export type GetOAuth2ClientsResponse = GetOAuth2ClientsResponses[keyof GetOAuth2ClientsResponses]; export type CheckActivateTokenData = { body?: never; path?: never; query: { /** * The activate token string. */ activateToken: string; }; url: '/api/noauth/activate'; }; export type CheckActivateTokenResponses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type CheckActivateTokenResponse = CheckActivateTokenResponses[keyof CheckActivateTokenResponses]; export type ActivateUserData = { body: ActivateUserRequest; path?: never; query?: { sendActivationMail?: boolean; }; url: '/api/noauth/activate'; }; export type ActivateUserResponses = { /** * OK */ 200: JwtPair; }; export type ActivateUserResponse = ActivateUserResponses[keyof ActivateUserResponses]; export type ActivateUserByEmailCodeData = { body?: never; path?: never; query: { /** * Activation token. */ emailCode: string; /** * Optional package name of the mobile application. */ pkgName?: string; /** * Platform type */ platform?: 'ANDROID' | 'IOS'; }; url: '/api/noauth/activateByEmailCode'; }; export type ActivateUserByEmailCodeResponses = { /** * OK */ 200: JwtPair; }; export type ActivateUserByEmailCodeResponse = ActivateUserByEmailCodeResponses[keyof ActivateUserByEmailCodeResponses]; export type GetQrCodeSettingsData = { body?: never; path?: never; query?: never; url: '/api/mobile/qr/settings'; }; export type GetQrCodeSettingsResponses = { /** * OK */ 200: QrCodeSettings; }; export type GetQrCodeSettingsResponse = GetQrCodeSettingsResponses[keyof GetQrCodeSettingsResponses]; export type SaveQrCodeSettingsData = { body: QrCodeSettingsWritable; path?: never; query?: never; url: '/api/mobile/qr/settings'; }; export type SaveQrCodeSettingsResponses = { /** * OK */ 200: QrCodeSettings; }; export type SaveQrCodeSettingsResponse = SaveQrCodeSettingsResponses[keyof SaveQrCodeSettingsResponses]; export type SaveMobileAppBundleData = { body: MobileAppBundleWritable; path?: never; query?: { /** * A list of oauth2 client ids, separated by comma ',' */ oauth2ClientIds?: Array; }; url: '/api/mobile/bundle'; }; export type SaveMobileAppBundleResponses = { /** * OK */ 200: MobileAppBundle; }; export type SaveMobileAppBundleResponse = SaveMobileAppBundleResponses[keyof SaveMobileAppBundleResponses]; export type GetTenantMobileAppsData = { body?: never; path?: never; query: { /** * Platform type: ANDROID or IOS */ platformType?: 'WEB' | 'ANDROID' | 'IOS'; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on app's name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/mobile/app'; }; export type GetTenantMobileAppsResponses = { /** * OK */ 200: PageDataMobileApp; }; export type GetTenantMobileAppsResponse = GetTenantMobileAppsResponses[keyof GetTenantMobileAppsResponses]; export type SaveMobileAppData = { body: MobileAppWritable; path?: never; query?: never; url: '/api/mobile/app'; }; export type SaveMobileAppResponses = { /** * OK */ 200: MobileApp; }; export type SaveMobileAppResponse = SaveMobileAppResponses[keyof SaveMobileAppResponses]; export type SaveDeviceWithCredentialsData = { body: { [key: string]: unknown; }; path?: never; query?: { entityGroupId?: string; }; url: '/api/lwm2m/device-credentials'; }; export type SaveDeviceWithCredentialsResponses = { /** * OK */ 200: Device; }; export type SaveDeviceWithCredentialsResponse = SaveDeviceWithCredentialsResponses[keyof SaveDeviceWithCredentialsResponses]; export type CheckInstanceData = { body: JsonNode; path?: never; query?: never; url: '/api/license/checkInstance'; }; export type CheckInstanceResponses = { /** * OK */ 200: JsonNode; }; export type CheckInstanceResponse = CheckInstanceResponses[keyof CheckInstanceResponses]; export type ActivateInstanceData = { body?: never; path?: never; query: { licenseSecret: string; releaseDate: string; }; url: '/api/license/activateInstance'; }; export type ActivateInstanceResponses = { /** * OK */ 200: JsonNode; }; export type ActivateInstanceResponse = ActivateInstanceResponses[keyof ActivateInstanceResponses]; export type ReprocessJobData = { body?: never; path: { id: string; }; query?: never; url: '/api/job/{id}/reprocess'; }; export type ReprocessJobResponses = { /** * OK */ 200: unknown; }; export type CancelJobData = { body?: never; path: { id: string; }; query?: never; url: '/api/job/{id}/cancel'; }; export type CancelJobResponses = { /** * OK */ 200: unknown; }; export type SaveIntegrationData = { body: IntegrationWritable; path?: never; query?: never; url: '/api/integration'; }; export type SaveIntegrationResponses = { /** * OK */ 200: Integration; }; export type SaveIntegrationResponse = SaveIntegrationResponses[keyof SaveIntegrationResponses]; export type CheckIntegrationConnectionData = { body: IntegrationWritable; path?: never; query?: never; url: '/api/integration/check'; }; export type CheckIntegrationConnectionResponses = { /** * OK */ 200: unknown; }; export type UploadImageData = { body?: { file: Blob | File; title?: string; imageSubType?: string; }; path?: never; query?: never; url: '/api/image'; }; export type UploadImageResponses = { /** * OK */ 200: TbResourceInfo; }; export type UploadImageResponse = UploadImageResponses[keyof UploadImageResponses]; export type SaveGroupPermissionData = { body: GroupPermissionWritable; path?: never; query?: never; url: '/api/groupPermission'; }; export type SaveGroupPermissionResponses = { /** * OK */ 200: GroupPermission; }; export type SaveGroupPermissionResponse = SaveGroupPermissionResponses[keyof SaveGroupPermissionResponses]; export type GetEventsData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The value is not used in searching. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'ts' | 'id'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Timestamp. Events with creation time before it won't be queried. */ startTime?: number; /** * Timestamp. Events with creation time after it won't be queried. */ endTime?: number; }; url: '/api/events/{entityType}/{entityId}'; }; export type GetEventsResponses = { /** * OK */ 200: PageDataEventInfo; }; export type GetEventsResponse = GetEventsResponses[keyof GetEventsResponses]; export type GetEvents1Data = { /** * A JSON value representing the event filter. */ body: CalculatedFieldDebugEventFilterWritable | DebugConverterEventFilterWritable | DebugIntegrationEventFilterWritable | ErrorEventFilter | LifeCycleEventFilter | RawDataEventFilter | RuleChainDebugEventFilterWritable | RuleNodeDebugEventFilterWritable | StatisticsEventFilter; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The value is not used in searching. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'ts' | 'id'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Timestamp. Events with creation time before it won't be queried. */ startTime?: number; /** * Timestamp. Events with creation time after it won't be queried. */ endTime?: number; }; url: '/api/events/{entityType}/{entityId}'; }; export type GetEvents1Responses = { /** * OK */ 200: PageDataEventInfo; }; export type GetEvents1Response = GetEvents1Responses[keyof GetEvents1Responses]; export type ClearEventsData = { /** * # Event Filter Definition * * 6 different eventFilter objects could be set for different event types. The eventType field is required. Others are optional. If some of them are set, the filtering will be applied according to them. See the examples below for all the fields used for each event type filtering. * * Note, * * * 'server' - string value representing the server name, identif ier or ip address where the platform is running; * * 'errorStr' - the case insensitive 'contains' filter based on error message. * * ## Error Event Filter * * ```json * { * "eventType":"ERROR", * "server":"ip-172-31-24-152", * "method":"onClusterEventMsg", * "errorStr":"Error Message" * } * ``` * * * 'method' - string value representing the method name when the error happened. * * ## Lifecycle Event Filter * * ```json * { * "eventType":"LC_EVENT", * "server":"ip-172-31-24-152", * "event":"STARTED", * "status":"Success", * "errorStr":"Error Message" * } * ``` * * * 'event' - string value representing the lifecycle event type; * * 'status' - string value representing status of the lifecycle event. * * ## Statistics Event Filter * * ```json * { * "eventType":"STATS", * "server":"ip-172-31-24-152", * "messagesProcessed":10, * "errorsOccurred":5 * } * ``` * * * 'messagesProcessed' - the minimum number of successfully processed messages; * * 'errorsOccurred' - the minimum number of errors occurred during messages processing. * * ## Debug Rule Node Event Filter * * ```json * { * "eventType":"DEBUG_RULE_NODE", * "msgDirectionType":"IN", * "server":"ip-172-31-24-152", * "dataSearch":"humidity", * "metadataSearch":"deviceName", * "entityName":"DEVICE", * "relationType":"Success", * "entityId":"de9d54a0-2b7a-11ec-a3cc-23386423d98f", * "msgType":"POST_TELEMETRY_REQUEST", * "isError":"false", * "errorStr":"Error Message" * } * ``` * * ## Debug Rule Chain Event Filter * * ```json * { * "eventType":"DEBUG_RULE_CHAIN", * "msgDirectionType":"IN", * "server":"ip-172-31-24-152", * "dataSearch":"humidity", * "metadataSearch":"deviceName", * "entityName":"DEVICE", * "relationType":"Success", * "entityId":"de9d54a0-2b7a-11ec-a3cc-23386423d98f", * "msgType":"POST_TELEMETRY_REQUEST", * "isError":"false", * "errorStr":"Error Message" * } * ``` * * * 'msgDirectionType' - string value representing msg direction type (incoming to entity or outcoming from entity); * * 'dataSearch' - the case insensitive 'contains' filter based on data (key and value) for the message; * * 'metadataSearch' - the case insensitive 'contains' filter based on metadata (key and value) for the message; * * 'entityName' - string value representing the entity type; * * 'relationType' - string value representing the type of message routing; * * 'entityId' - string value representing the entity id in the event body (originator of the message); * * 'msgType' - string value representing the message type; * * 'isError' - boolean value to filter the errors. * * ## Debug Calculated Field Event Filter * * ```json * { * "eventType":"DEBUG_CALCULATED_FIELD", * "server":"ip-172-31-24-152", * "isError":"false", * "errorStr":"Error Message" * "entityId":"cf4b8741-f618-471f-ae08-d881ca7f9fe9", * "msgId":"5cf7d3a0-aee7-40dd-a737-ade05528e7eb", * "msgType":"POST_TELEMETRY_REQUEST", * "arguments":"{ * "x": { * "ts": 1739432016629, * "value": 20 * }, * "y": { * "ts": 1739429717656, * "value": 12 * } * }", * "result":"{ * "x + y": 32 * }", * } * ``` * * * 'entityId' - string value representing the entity id in the event body; * * 'entityType' - string value representing the entity type; * * 'msgId' - string value representing the message id in the rule engine; * * 'msgType' - string value representing the message type; * * 'arguments' - string value representing the arguments that were used in the calculation performed; * * 'result' - string value representing the result of a calculation; * * 'isError' - boolean value to filter the errors. * * */ body: CalculatedFieldDebugEventFilterWritable | DebugConverterEventFilterWritable | DebugIntegrationEventFilterWritable | ErrorEventFilter | LifeCycleEventFilter | RawDataEventFilter | RuleChainDebugEventFilterWritable | RuleNodeDebugEventFilterWritable | StatisticsEventFilter; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: { /** * Timestamp. Events with creation time before it won't be queried. */ startTime?: number; /** * Timestamp. Events with creation time after it won't be queried. */ endTime?: number; }; url: '/api/events/{entityType}/{entityId}/clear'; }; export type ClearEventsResponses = { /** * OK */ 200: unknown; }; export type GetEntityViewsByIdsData = { body?: never; path?: never; query: { /** * A list of entity view ids, separated by comma ',' */ entityViewIds: Array; }; url: '/api/entityViews'; }; export type GetEntityViewsByIdsResponses = { /** * OK */ 200: Array; }; export type GetEntityViewsByIdsResponse = GetEntityViewsByIdsResponses[keyof GetEntityViewsByIdsResponses]; export type FindByQuery1Data = { body: EntityViewSearchQuery; path?: never; query?: never; url: '/api/entityViews'; }; export type FindByQuery1Responses = { /** * OK */ 200: Array; }; export type FindByQuery1Response = FindByQuery1Responses[keyof FindByQuery1Responses]; export type SaveEntityViewData = { body: EntityViewWritable; path?: never; query?: { entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; /** * Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs. */ nameConflictPolicy?: 'FAIL' | 'UNIQUIFY'; /** * Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'. */ uniquifySeparator?: string; /** * Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1. */ uniquifyStrategy?: 'RANDOM' | 'INCREMENTAL'; }; url: '/api/entityView'; }; export type SaveEntityViewResponses = { /** * OK */ 200: EntityView; }; export type SaveEntityViewResponse = SaveEntityViewResponses[keyof SaveEntityViewResponses]; export type SaveEntityGroupData = { body: EntityGroupWritable; path?: never; query?: never; url: '/api/entityGroup'; }; export type SaveEntityGroupResponses = { /** * OK */ 200: EntityGroupInfo; }; export type SaveEntityGroupResponse = SaveEntityGroupResponses[keyof SaveEntityGroupResponses]; export type ShareEntityGroupToChildOwnerUserGroupData = { body?: never; path: { /** * A string value representing the Entity Group Id that you would like to share. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; /** * A string value representing the Entity(User) Group Id that you would like to share with. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userGroupId: string; /** * A string value representing the Role Id that describes set of permissions you would like to share (read, write, etc). For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ roleId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/{userGroupId}/{roleId}/share'; }; export type ShareEntityGroupToChildOwnerUserGroupResponses = { /** * OK */ 200: unknown; }; export type ShareEntityGroupData = { body: ShareGroupRequest; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/share'; }; export type ShareEntityGroupResponses = { /** * OK */ 200: unknown; }; export type MakeEntityGroupPublicData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/makePublic'; }; export type MakeEntityGroupPublicResponses = { /** * OK */ 200: unknown; }; export type MakeEntityGroupPrivateData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/makePrivate'; }; export type MakeEntityGroupPrivateResponses = { /** * OK */ 200: unknown; }; export type RemoveEntitiesFromEntityGroupData = { /** * A list of entity ids */ body: Array; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/deleteEntities'; }; export type RemoveEntitiesFromEntityGroupResponses = { /** * OK */ 200: unknown; }; export type ImportGroupDashboardsData = { /** * JSON array with the dashboard objects */ body: Array; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: { /** * Overwrite dashboards with the same name */ overwrite?: boolean; }; url: '/api/entityGroup/{entityGroupId}/dashboards/import'; }; export type ImportGroupDashboardsResponses = { /** * OK */ 200: unknown; }; export type AddEntitiesToEntityGroupData = { /** * A list of entity ids */ body: Array; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/addEntities'; }; export type AddEntitiesToEntityGroupResponses = { /** * OK */ 200: unknown; }; export type FindEntityDataByQueryData = { body: EntityDataQueryWritable; path?: never; query?: never; url: '/api/entitiesQuery/find'; }; export type FindEntityDataByQueryResponses = { /** * OK */ 200: PageDataEntityData; }; export type FindEntityDataByQueryResponse = FindEntityDataByQueryResponses[keyof FindEntityDataByQueryResponses]; export type FindAvailableEntityKeysByQueryData = { body: EntityDataQueryWritable; path?: never; query: { /** * When true, includes unique time series key names in the response. * When false, the 'timeseries' list will be empty. */ timeseries: boolean; /** * When true, includes unique attribute key names in the response. * When false, the 'attribute' list will be empty. Use 'scope' parameter to filter by attribute scope. */ attributes: boolean; /** * Filters attribute keys by scope. Only applies when 'attributes' is true. * If not specified, returns attribute keys from all scopes. */ scope?: 'SERVER_SCOPE' | 'SHARED_SCOPE' | 'CLIENT_SCOPE'; }; url: '/api/entitiesQuery/find/keys'; }; export type FindAvailableEntityKeysByQueryResponses = { /** * OK */ 200: AvailableEntityKeys; }; export type FindAvailableEntityKeysByQueryResponse = FindAvailableEntityKeysByQueryResponses[keyof FindAvailableEntityKeysByQueryResponses]; export type CountEntitiesByQueryData = { body: EntityCountQueryWritable; path?: never; query?: never; url: '/api/entitiesQuery/count'; }; export type CountEntitiesByQueryResponses = { /** * OK */ 200: number; }; export type CountEntitiesByQueryResponse = CountEntitiesByQueryResponses[keyof CountEntitiesByQueryResponses]; export type ListVersionsData = { body?: never; path?: never; query: { /** * The name of the working branch, for example 'master' */ branch: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the entity version name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'timestamp'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entities/vc/version'; }; export type ListVersionsResponses = { /** * OK */ 200: PageDataEntityVersion; }; export type ListVersionsResponse = ListVersionsResponses[keyof ListVersionsResponses]; export type SaveEntitiesVersionData = { body: ComplexVersionCreateRequest | SingleEntityVersionCreateRequest; path?: never; query?: never; url: '/api/entities/vc/version'; }; export type SaveEntitiesVersionResponses = { /** * OK */ 200: string; }; export type SaveEntitiesVersionResponse = SaveEntitiesVersionResponses[keyof SaveEntitiesVersionResponses]; export type LoadEntitiesVersionData = { body: EntityTypeVersionLoadRequest | SingleEntityVersionLoadRequest; path?: never; query?: never; url: '/api/entities/vc/entity'; }; export type LoadEntitiesVersionResponses = { /** * OK */ 200: string; }; export type LoadEntitiesVersionResponse = LoadEntitiesVersionResponses[keyof LoadEntitiesVersionResponses]; export type ProcessSystemEdqsRequestData = { body: ToCoreEdqsRequest; path?: never; query?: never; url: '/api/edqs/system/request'; }; export type ProcessSystemEdqsRequestResponses = { /** * OK */ 200: unknown; }; export type GetEdgesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A list of edges ids, separated by comma ',' */ edgeIds: Array; }; url: '/api/edges'; }; export type GetEdgesResponses = { /** * OK */ 200: Array | PageDataEdge; }; export type GetEdgesResponse = GetEdgesResponses[keyof GetEdgesResponses]; export type FindByQuery2Data = { body: EdgeSearchQuery; path?: never; query?: never; url: '/api/edges'; }; export type FindByQuery2Responses = { /** * OK */ 200: Array; }; export type FindByQuery2Response = FindByQuery2Responses[keyof FindByQuery2Responses]; export type SaveEdgeData = { body: EdgeWritable; path?: never; query?: { entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; }; url: '/api/edge'; }; export type SaveEdgeResponses = { /** * OK */ 200: Edge; }; export type SaveEdgeResponse = SaveEdgeResponses[keyof SaveEdgeResponses]; export type SetEdgeRootRuleChainData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/edge/{edgeId}/{ruleChainId}/root'; }; export type SetEdgeRootRuleChainResponses = { /** * OK */ 200: Edge; }; export type SetEdgeRootRuleChainResponse = SetEdgeRootRuleChainResponses[keyof SetEdgeRootRuleChainResponses]; export type UnassignSchedulerEventFromEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; }; query?: never; url: '/api/edge/{edgeId}/schedulerEvent/{schedulerEventId}'; }; export type UnassignSchedulerEventFromEdgeResponses = { /** * OK */ 200: SchedulerEventInfo; }; export type UnassignSchedulerEventFromEdgeResponse = UnassignSchedulerEventFromEdgeResponses[keyof UnassignSchedulerEventFromEdgeResponses]; export type AssignSchedulerEventToEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; }; query?: never; url: '/api/edge/{edgeId}/schedulerEvent/{schedulerEventId}'; }; export type AssignSchedulerEventToEdgeResponses = { /** * OK */ 200: SchedulerEventInfo; }; export type AssignSchedulerEventToEdgeResponse = AssignSchedulerEventToEdgeResponses[keyof AssignSchedulerEventToEdgeResponses]; export type UnassignRuleChainFromEdgeData = { body?: never; path: { edgeId: string; ruleChainId: string; }; query?: never; url: '/api/edge/{edgeId}/ruleChain/{ruleChainId}'; }; export type UnassignRuleChainFromEdgeResponses = { /** * OK */ 200: RuleChain; }; export type UnassignRuleChainFromEdgeResponse = UnassignRuleChainFromEdgeResponses[keyof UnassignRuleChainFromEdgeResponses]; export type AssignRuleChainToEdgeData = { body?: never; path: { edgeId: string; ruleChainId: string; }; query?: never; url: '/api/edge/{edgeId}/ruleChain/{ruleChainId}'; }; export type AssignRuleChainToEdgeResponses = { /** * OK */ 200: RuleChain; }; export type AssignRuleChainToEdgeResponse = AssignRuleChainToEdgeResponses[keyof AssignRuleChainToEdgeResponses]; export type UnassignIntegrationFromEdgeData = { body?: never; path: { edgeId: string; integrationId: string; }; query?: never; url: '/api/edge/{edgeId}/integration/{integrationId}'; }; export type UnassignIntegrationFromEdgeResponses = { /** * OK */ 200: Integration; }; export type UnassignIntegrationFromEdgeResponse = UnassignIntegrationFromEdgeResponses[keyof UnassignIntegrationFromEdgeResponses]; export type AssignIntegrationToEdgeData = { body?: never; path: { edgeId: string; integrationId: string; }; query?: never; url: '/api/edge/{edgeId}/integration/{integrationId}'; }; export type AssignIntegrationToEdgeResponses = { /** * OK */ 200: Integration; }; export type AssignIntegrationToEdgeResponse = AssignIntegrationToEdgeResponses[keyof AssignIntegrationToEdgeResponses]; export type UnassignEntityGroupFromEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * EntityGroup type */ groupType: 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD'; /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/edge/{edgeId}/entityGroup/{entityGroupId}/{groupType}'; }; export type UnassignEntityGroupFromEdgeResponses = { /** * OK */ 200: EntityGroup; }; export type UnassignEntityGroupFromEdgeResponse = UnassignEntityGroupFromEdgeResponses[keyof UnassignEntityGroupFromEdgeResponses]; export type AssignEntityGroupToEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * EntityGroup type */ groupType: 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD'; /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/edge/{edgeId}/entityGroup/{entityGroupId}/{groupType}'; }; export type AssignEntityGroupToEdgeResponses = { /** * OK */ 200: EntityGroup; }; export type AssignEntityGroupToEdgeResponse = AssignEntityGroupToEdgeResponses[keyof AssignEntityGroupToEdgeResponses]; export type SyncEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/sync/{edgeId}'; }; export type SyncEdgeResponses = { /** * OK */ 200: string; }; export type SyncEdgeResponse = SyncEdgeResponses[keyof SyncEdgeResponses]; export type ProcessEdgesBulkImportData = { body: BulkImportRequest; path?: never; query?: never; url: '/api/edge/bulk_import'; }; export type ProcessEdgesBulkImportResponses = { /** * OK */ 200: BulkImportResultEdge; }; export type ProcessEdgesBulkImportResponse = ProcessEdgesBulkImportResponses[keyof ProcessEdgesBulkImportResponses]; export type SaveDomainData = { body: DomainWritable; path?: never; query?: { /** * A list of oauth2 client registration ids, separated by comma ',' */ oauth2ClientIds?: Array; }; url: '/api/domain'; }; export type SaveDomainResponses = { /** * OK */ 200: Domain; }; export type SaveDomainResponse = SaveDomainResponses[keyof SaveDomainResponses]; export type GetDevicesByIdsData = { body?: never; path?: never; query: { /** * A list of devices ids, separated by comma ',' */ deviceIds: Array; }; url: '/api/devices'; }; export type GetDevicesByIdsResponses = { /** * OK */ 200: Array; }; export type GetDevicesByIdsResponse = GetDevicesByIdsResponses[keyof GetDevicesByIdsResponses]; export type FindByQuery3Data = { body: DeviceSearchQuery; path?: never; query?: never; url: '/api/devices'; }; export type FindByQuery3Responses = { /** * OK */ 200: Array; }; export type FindByQuery3Response = FindByQuery3Responses[keyof FindByQuery3Responses]; export type SaveDeviceData = { /** * A JSON value representing the device. */ body: DeviceWritable; path?: never; query?: { /** * Optional value of the device credentials to be used during device creation. If omitted, access token will be auto-generated. */ accessToken?: string; entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; /** * Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs. */ nameConflictPolicy?: 'FAIL' | 'UNIQUIFY'; /** * Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'. */ uniquifySeparator?: string; /** * Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1. */ uniquifyStrategy?: 'RANDOM' | 'INCREMENTAL'; }; url: '/api/device'; }; export type SaveDeviceResponses = { /** * OK */ 200: Device; }; export type SaveDeviceResponse = SaveDeviceResponses[keyof SaveDeviceResponses]; export type SaveDeviceProfileData = { body: DeviceProfileWritable; path?: never; query?: never; url: '/api/deviceProfile'; }; export type SaveDeviceProfileResponses = { /** * OK */ 200: DeviceProfile; }; export type SaveDeviceProfileResponse = SaveDeviceProfileResponses[keyof SaveDeviceProfileResponses]; export type SetDefaultDeviceProfileData = { body?: never; path: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; }; query?: never; url: '/api/deviceProfile/{deviceProfileId}/default'; }; export type SetDefaultDeviceProfileResponses = { /** * OK */ 200: DeviceProfile; }; export type SetDefaultDeviceProfileResponse = SetDefaultDeviceProfileResponses[keyof SetDefaultDeviceProfileResponses]; export type SaveDeviceGroupOtaPackageData = { body: DeviceGroupOtaPackage; path?: never; query?: never; url: '/api/deviceGroupOtaPackage'; }; export type SaveDeviceGroupOtaPackageResponses = { /** * OK */ 200: DeviceGroupOtaPackage; }; export type SaveDeviceGroupOtaPackageResponse = SaveDeviceGroupOtaPackageResponses[keyof SaveDeviceGroupOtaPackageResponses]; export type UpdateDeviceCredentialsData = { body: DeviceCredentialsWritable; path?: never; query?: never; url: '/api/device/credentials'; }; export type UpdateDeviceCredentialsResponses = { /** * OK */ 200: DeviceCredentials; }; export type UpdateDeviceCredentialsResponse = UpdateDeviceCredentialsResponses[keyof UpdateDeviceCredentialsResponses]; export type ProcessDevicesBulkImportData = { body: BulkImportRequest; path?: never; query?: never; url: '/api/device/bulk_import'; }; export type ProcessDevicesBulkImportResponses = { /** * OK */ 200: BulkImportResultDevice; }; export type ProcessDevicesBulkImportResponse = ProcessDevicesBulkImportResponses[keyof ProcessDevicesBulkImportResponses]; export type SaveDeviceWithCredentials1Data = { body: SaveDeviceWithCredentialsRequestWritable; path?: never; query?: { entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; /** * Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs. */ nameConflictPolicy?: 'FAIL' | 'UNIQUIFY'; /** * Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'. */ uniquifySeparator?: string; /** * Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1. */ uniquifyStrategy?: 'RANDOM' | 'INCREMENTAL'; }; url: '/api/device-with-credentials'; }; export type SaveDeviceWithCredentials1Responses = { /** * OK */ 200: Device; }; export type SaveDeviceWithCredentials1Response = SaveDeviceWithCredentials1Responses[keyof SaveDeviceWithCredentials1Responses]; export type SaveDashboardData = { /** * A JSON value representing the dashboard. */ body: DashboardWritable; headers?: { 'Accept-Encoding'?: string; }; path?: never; query?: { entityGroupId?: string; /** * A list of entity group ids, separated by comma ',' */ entityGroupIds?: Array; }; url: '/api/dashboard'; }; export type SaveDashboardResponses = { /** * OK */ 200: unknown; }; export type SaveCustomerData = { /** * A JSON value representing the customer. */ body: CustomerWritable; path?: never; query?: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity group. */ entityGroupId?: string; /** * A list of string values, separated by comma ',' representing the Entity Group Ids. For example, '784f394c-42b6-435a-983c-b7beff2784f9','a84f394c-42b6-435a-083c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity groups. */ entityGroupIds?: Array; /** * Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs. */ nameConflictPolicy?: 'FAIL' | 'UNIQUIFY'; /** * Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'. */ uniquifySeparator?: string; /** * Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1. */ uniquifyStrategy?: 'RANDOM' | 'INCREMENTAL'; }; url: '/api/customer'; }; export type SaveCustomerResponses = { /** * OK */ 200: Customer; }; export type SaveCustomerResponse = SaveCustomerResponses[keyof SaveCustomerResponses]; export type ReClaimDeviceData = { body?: never; path: { /** * Unique name of the device which is going to be reclaimed */ deviceName: string; }; query?: never; url: '/api/customer/device/{deviceName}/claim'; }; export type ReClaimDeviceResponses = { /** * OK */ 200: string; }; export type ReClaimDeviceResponse = ReClaimDeviceResponses[keyof ReClaimDeviceResponses]; export type ClaimDevice1Data = { body?: ClaimRequest; path: { /** * Unique name of the device which is going to be claimed */ deviceName: string; }; query?: { subCustomerId?: string; }; url: '/api/customer/device/{deviceName}/claim'; }; export type ClaimDevice1Responses = { /** * OK */ 200: string; }; export type ClaimDevice1Response = ClaimDevice1Responses[keyof ClaimDevice1Responses]; export type GetCustomerHomeDashboardInfoData = { body?: never; path?: never; query?: never; url: '/api/customer/dashboard/home/info'; }; export type GetCustomerHomeDashboardInfoResponses = { /** * OK */ 200: HomeDashboardInfo; }; export type GetCustomerHomeDashboardInfoResponse = GetCustomerHomeDashboardInfoResponses[keyof GetCustomerHomeDashboardInfoResponses]; export type SetCustomerHomeDashboardInfoData = { body: HomeDashboardInfo; path?: never; query?: never; url: '/api/customer/dashboard/home/info'; }; export type SetCustomerHomeDashboardInfoResponses = { /** * OK */ 200: unknown; }; export type GetCustomMenuData = { body?: never; headers?: { 'If-None-Match'?: string; }; path?: never; query?: never; url: '/api/customMenu'; }; export type GetCustomMenuResponses = { /** * OK */ 200: unknown; }; export type CreateCustomMenuData = { body: CustomMenuInfoWritable; path?: never; query?: { /** * A list of entity ids, separated by comma ',' */ assignToList?: Array; /** * Use force if you want to create default menu that conflicts with the existing one (old one will be update NO_ASSIGN assignee type) */ force?: boolean; }; url: '/api/customMenu'; }; export type CreateCustomMenuResponses = { /** * OK */ 200: CustomMenu; }; export type CreateCustomMenuResponse = CreateCustomMenuResponses[keyof CreateCustomMenuResponses]; export type SaveConverterData = { /** * A JSON value representing the converter. */ body: ConverterWritable; path?: never; query?: never; url: '/api/converter'; }; export type SaveConverterResponses = { /** * OK */ 200: Converter; }; export type SaveConverterResponse = SaveConverterResponses[keyof SaveConverterResponses]; export type UnwrapRawPayloadData = { /** * A JSON value representing the input message. */ body: JsonNode; path: { /** * A string value representing the integration type. One of the following: * APACHE_PULSAR, AWS_IOT, AWS_KINESIS, AWS_SQS, AZURE_EVENT_HUB, AZURE_IOT_HUB, AZURE_SERVICE_BUS, CHIRPSTACK, COAP, CUSTOM, HTTP, IBM_WATSON_IOT, KAFKA, LORIOT, MQTT, OCEANCONNECT, OPC_UA, PUB_SUB, RABBITMQ, SIGFOX, TCP, THINGPARK, TMOBILE_IOT_CDP, TPE, TTI, TTN, TUYA, UDP */ integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; }; query?: never; url: '/api/converter/unwrap/{integrationType}'; }; export type UnwrapRawPayloadResponses = { /** * OK */ 200: JsonNode; }; export type UnwrapRawPayloadResponse = UnwrapRawPayloadResponses[keyof UnwrapRawPayloadResponses]; export type TestUpLinkConverterData = { /** * A JSON value representing the input to the converter function. */ body: JsonNode; path?: never; query?: { /** * Script language: JS or TBEL */ scriptLang?: 'JS' | 'TBEL'; }; url: '/api/converter/testUpLink'; }; export type TestUpLinkConverterResponses = { /** * OK */ 200: JsonNode; }; export type TestUpLinkConverterResponse = TestUpLinkConverterResponses[keyof TestUpLinkConverterResponses]; export type TestDownLinkConverterData = { /** * A JSON value representing the input to the converter function. */ body: JsonNode; path?: never; query?: { /** * Script language: JS or TBEL */ scriptLang?: 'JS' | 'TBEL'; }; url: '/api/converter/testDownLink'; }; export type TestDownLinkConverterResponses = { /** * OK */ 200: JsonNode; }; export type TestDownLinkConverterResponse = TestDownLinkConverterResponses[keyof TestDownLinkConverterResponses]; export type SaveCalculatedFieldData = { /** * A JSON value representing the calculated field. */ body: CalculatedFieldWritable; path?: never; query?: never; url: '/api/calculatedField'; }; export type SaveCalculatedFieldResponses = { /** * OK */ 200: CalculatedField; }; export type SaveCalculatedFieldResponse = SaveCalculatedFieldResponses[keyof SaveCalculatedFieldResponses]; export type TestScript1Data = { /** * Test calculated field TBEL expression. */ body: JsonNode; path?: never; query?: never; url: '/api/calculatedField/testScript'; }; export type TestScript1Responses = { /** * OK */ 200: JsonNode; }; export type TestScript1Response = TestScript1Responses[keyof TestScript1Responses]; export type LogoutData = { body?: never; path?: never; query?: never; url: '/api/auth/logout'; }; export type LogoutResponses = { /** * OK */ 200: unknown; }; export type ChangePasswordData = { body: ChangePasswordRequest; path?: never; query?: never; url: '/api/auth/changePassword'; }; export type ChangePasswordResponses = { /** * OK */ 200: JwtPair; }; export type ChangePasswordResponse = ChangePasswordResponses[keyof ChangePasswordResponses]; export type RequestTwoFaVerificationCodeData = { body?: never; path?: never; query: { providerType: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; }; url: '/api/auth/2fa/verification/send'; }; export type RequestTwoFaVerificationCodeResponses = { /** * OK */ 200: unknown; }; export type CheckTwoFaVerificationCodeData = { body?: never; path?: never; query: { providerType: 'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'; verificationCode: string; }; url: '/api/auth/2fa/verification/check'; }; export type CheckTwoFaVerificationCodeResponses = { /** * OK */ 200: JwtPair; }; export type CheckTwoFaVerificationCodeResponse = CheckTwoFaVerificationCodeResponses[keyof CheckTwoFaVerificationCodeResponses]; export type AuthenticateByTwoFaConfigurationTokenData = { body?: never; path?: never; query?: never; url: '/api/auth/2fa/login'; }; export type AuthenticateByTwoFaConfigurationTokenResponses = { /** * OK */ 200: JwtPair; }; export type AuthenticateByTwoFaConfigurationTokenResponse = AuthenticateByTwoFaConfigurationTokenResponses[keyof AuthenticateByTwoFaConfigurationTokenResponses]; export type GetAssetsByIdsData = { body?: never; path?: never; query: { /** * A list of asset ids, separated by comma ',' */ assetIds: Array; }; url: '/api/assets'; }; export type GetAssetsByIdsResponses = { /** * OK */ 200: Array; }; export type GetAssetsByIdsResponse = GetAssetsByIdsResponses[keyof GetAssetsByIdsResponses]; export type FindByQuery4Data = { body: AssetSearchQuery; path?: never; query?: never; url: '/api/assets'; }; export type FindByQuery4Responses = { /** * OK */ 200: Array; }; export type FindByQuery4Response = FindByQuery4Responses[keyof FindByQuery4Responses]; export type SaveAssetData = { /** * A JSON value representing the asset. */ body: AssetWritable; path?: never; query?: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity group. */ entityGroupId?: string; /** * A list of string values, separated by comma ',' representing the Entity Group Ids. For example, '784f394c-42b6-435a-983c-b7beff2784f9','a84f394c-42b6-435a-083c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity groups. */ entityGroupIds?: Array; /** * Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs. */ nameConflictPolicy?: 'FAIL' | 'UNIQUIFY'; /** * Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'. */ uniquifySeparator?: string; /** * Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1. */ uniquifyStrategy?: 'RANDOM' | 'INCREMENTAL'; }; url: '/api/asset'; }; export type SaveAssetResponses = { /** * OK */ 200: Asset; }; export type SaveAssetResponse = SaveAssetResponses[keyof SaveAssetResponses]; export type SaveAssetProfileData = { body: AssetProfileWritable; path?: never; query?: never; url: '/api/assetProfile'; }; export type SaveAssetProfileResponses = { /** * OK */ 200: AssetProfile; }; export type SaveAssetProfileResponse = SaveAssetProfileResponses[keyof SaveAssetProfileResponses]; export type SetDefaultAssetProfileData = { body?: never; path: { /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId: string; }; query?: never; url: '/api/assetProfile/{assetProfileId}/default'; }; export type SetDefaultAssetProfileResponses = { /** * OK */ 200: AssetProfile; }; export type SetDefaultAssetProfileResponse = SetDefaultAssetProfileResponses[keyof SetDefaultAssetProfileResponses]; export type ProcessAssetBulkImportData = { body: BulkImportRequest; path?: never; query?: never; url: '/api/asset/bulk_import'; }; export type ProcessAssetBulkImportResponses = { /** * OK */ 200: BulkImportResultAsset; }; export type ProcessAssetBulkImportResponse = ProcessAssetBulkImportResponses[keyof ProcessAssetBulkImportResponses]; export type SaveApiKeyData = { body: ApiKeyInfoWritable; path?: never; query?: never; url: '/api/apiKey'; }; export type SaveApiKeyResponses = { /** * OK */ 200: ApiKey; }; export type SaveApiKeyResponse = SaveApiKeyResponses[keyof SaveApiKeyResponses]; export type FindAlarmDataByQueryData = { body: AlarmDataQueryWritable; path?: never; query?: never; url: '/api/alarmsQuery/find'; }; export type FindAlarmDataByQueryResponses = { /** * OK */ 200: PageDataAlarmData; }; export type FindAlarmDataByQueryResponse = FindAlarmDataByQueryResponses[keyof FindAlarmDataByQueryResponses]; export type CountAlarmsByQueryData = { body: AlarmCountQueryWritable; path?: never; query?: never; url: '/api/alarmsQuery/count'; }; export type CountAlarmsByQueryResponses = { /** * OK */ 200: number; }; export type CountAlarmsByQueryResponse = CountAlarmsByQueryResponses[keyof CountAlarmsByQueryResponses]; export type SaveAlarmData = { /** * A JSON value representing the alarm. */ body: AlarmWritable; path?: never; query?: never; url: '/api/alarm'; }; export type SaveAlarmResponses = { /** * OK */ 200: Alarm; }; export type SaveAlarmResponse = SaveAlarmResponses[keyof SaveAlarmResponses]; export type GetAlarmCommentsData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'id'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/alarm/{alarmId}/comment'; }; export type GetAlarmCommentsResponses = { /** * OK */ 200: PageDataAlarmCommentInfo; }; export type GetAlarmCommentsResponse = GetAlarmCommentsResponses[keyof GetAlarmCommentsResponses]; export type SaveAlarmCommentData = { /** * A JSON value representing the comment. */ body: AlarmCommentWritable; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}/comment'; }; export type SaveAlarmCommentResponses = { /** * OK */ 200: AlarmComment; }; export type SaveAlarmCommentResponse = SaveAlarmCommentResponses[keyof SaveAlarmCommentResponses]; export type ClearAlarmData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}/clear'; }; export type ClearAlarmResponses = { /** * OK */ 200: AlarmInfo; }; export type ClearAlarmResponse = ClearAlarmResponses[keyof ClearAlarmResponses]; export type AssignAlarmData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId: string; }; query?: never; url: '/api/alarm/{alarmId}/assign/{assigneeId}'; }; export type AssignAlarmResponses = { /** * OK */ 200: Alarm; }; export type AssignAlarmResponse = AssignAlarmResponses[keyof AssignAlarmResponses]; export type AckAlarmData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}/ack'; }; export type AckAlarmResponses = { /** * OK */ 200: AlarmInfo; }; export type AckAlarmResponse = AckAlarmResponses[keyof AckAlarmResponses]; export type GetAiModelsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the AI model name, provider and model ID. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'provider' | 'modelId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/ai/model'; }; export type GetAiModelsResponses = { /** * OK */ 200: PageDataAiModel; }; export type GetAiModelsResponse = GetAiModelsResponses[keyof GetAiModelsResponses]; export type SaveAiModelData = { body: AiModelWritable; path?: never; query?: never; url: '/api/ai/model'; }; export type SaveAiModelResponses = { /** * OK */ 200: AiModel; }; export type SaveAiModelResponse = SaveAiModelResponses[keyof SaveAiModelResponses]; export type SendChatRequestData = { body: TbChatRequestWritable; path?: never; query?: never; url: '/api/ai/model/chat'; }; export type SendChatRequestResponses = { /** * OK */ 200: Failure | Success; }; export type SendChatRequestResponse = SendChatRequestResponses[keyof SendChatRequestResponses]; export type SaveAdminSettingsData = { /** * A JSON value representing the Administration Settings. */ body: AdminSettingsWritable; path?: never; query?: never; url: '/api/admin/settings'; }; export type SaveAdminSettingsResponses = { /** * OK */ 200: AdminSettings; }; export type SaveAdminSettingsResponse = SaveAdminSettingsResponses[keyof SaveAdminSettingsResponses]; export type SendTestSmsData = { body: TestSmsRequest; path?: never; query?: never; url: '/api/admin/settings/testSms'; }; export type SendTestSmsResponses = { /** * OK */ 200: unknown; }; export type SendTestMailData = { body: AdminSettingsWritable; path?: never; query?: never; url: '/api/admin/settings/testMail'; }; export type SendTestMailResponses = { /** * OK */ 200: unknown; }; export type GetSecuritySettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/securitySettings'; }; export type GetSecuritySettingsResponses = { /** * OK */ 200: SecuritySettings; }; export type GetSecuritySettingsResponse = GetSecuritySettingsResponses[keyof GetSecuritySettingsResponses]; export type SaveSecuritySettingsData = { body: SecuritySettings; path?: never; query?: never; url: '/api/admin/securitySettings'; }; export type SaveSecuritySettingsResponses = { /** * OK */ 200: SecuritySettings; }; export type SaveSecuritySettingsResponse = SaveSecuritySettingsResponses[keyof SaveSecuritySettingsResponses]; export type DeleteRepositorySettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/repositorySettings'; }; export type DeleteRepositorySettingsResponses = { /** * OK */ 200: unknown; }; export type GetRepositorySettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/repositorySettings'; }; export type GetRepositorySettingsResponses = { /** * OK */ 200: RepositorySettings; }; export type GetRepositorySettingsResponse = GetRepositorySettingsResponses[keyof GetRepositorySettingsResponses]; export type SaveRepositorySettingsData = { body: RepositorySettings; path?: never; query?: never; url: '/api/admin/repositorySettings'; }; export type SaveRepositorySettingsResponses = { /** * OK */ 200: RepositorySettings; }; export type SaveRepositorySettingsResponse = SaveRepositorySettingsResponses[keyof SaveRepositorySettingsResponses]; export type CheckRepositoryAccessData = { body: RepositorySettings; path?: never; query?: never; url: '/api/admin/repositorySettings/checkAccess'; }; export type CheckRepositoryAccessResponses = { /** * OK */ 200: unknown; }; export type RefreshLicenseData = { body?: never; path?: never; query?: never; url: '/api/admin/refreshLicense'; }; export type RefreshLicenseResponses = { /** * OK */ 200: SubscriptionInfo; }; export type RefreshLicenseResponse = RefreshLicenseResponses[keyof RefreshLicenseResponses]; export type GetJwtSettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/jwtSettings'; }; export type GetJwtSettingsResponses = { /** * OK */ 200: JwtSettings; }; export type GetJwtSettingsResponse = GetJwtSettingsResponses[keyof GetJwtSettingsResponses]; export type SaveJwtSettingsData = { body: JwtSettings; path?: never; query?: never; url: '/api/admin/jwtSettings'; }; export type SaveJwtSettingsResponses = { /** * OK */ 200: JwtPair; }; export type SaveJwtSettingsResponse = SaveJwtSettingsResponses[keyof SaveJwtSettingsResponses]; export type DeleteAutoCommitSettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/autoCommitSettings'; }; export type DeleteAutoCommitSettingsResponses = { /** * OK */ 200: unknown; }; export type GetAutoCommitSettingsData = { body?: never; path?: never; query?: never; url: '/api/admin/autoCommitSettings'; }; export type GetAutoCommitSettingsResponses = { /** * OK */ 200: AutoCommitSettings; }; export type GetAutoCommitSettingsResponse = GetAutoCommitSettingsResponses[keyof GetAutoCommitSettingsResponses]; export type SaveAutoCommitSettingsData = { body: AutoCommitSettings; path?: never; query?: never; url: '/api/admin/autoCommitSettings'; }; export type SaveAutoCommitSettingsResponses = { /** * OK */ 200: AutoCommitSettings; }; export type SaveAutoCommitSettingsResponse = SaveAutoCommitSettingsResponses[keyof SaveAutoCommitSettingsResponses]; export type GetPlatformTwoFaSettingsData = { body?: never; path?: never; query?: never; url: '/api/2fa/settings'; }; export type GetPlatformTwoFaSettingsResponses = { /** * OK */ 200: PlatformTwoFaSettings; }; export type GetPlatformTwoFaSettingsResponse = GetPlatformTwoFaSettingsResponses[keyof GetPlatformTwoFaSettingsResponses]; export type SavePlatformTwoFaSettingsData = { body: PlatformTwoFaSettings; path?: never; query?: never; url: '/api/2fa/settings'; }; export type SavePlatformTwoFaSettingsResponses = { /** * OK */ 200: PlatformTwoFaSettings; }; export type SavePlatformTwoFaSettingsResponse = SavePlatformTwoFaSettingsResponses[keyof SavePlatformTwoFaSettingsResponses]; export type SubmitTwoFaAccountConfigData = { body: BackupCodeTwoFaAccountConfig | EmailTwoFaAccountConfig | SmsTwoFaAccountConfig | TotpTwoFaAccountConfig; path?: never; query?: never; url: '/api/2fa/account/config/submit'; }; export type SubmitTwoFaAccountConfigResponses = { /** * OK */ 200: unknown; }; export type GenerateTwoFaAccountConfigData = { body?: never; path?: never; query: { /** * 2FA provider type to generate new account config for */ providerType: string; }; url: '/api/2fa/account/config/generate'; }; export type GenerateTwoFaAccountConfigResponses = { /** * OK */ 200: BackupCodeTwoFaAccountConfig | EmailTwoFaAccountConfig | SmsTwoFaAccountConfig | TotpTwoFaAccountConfig; }; export type GenerateTwoFaAccountConfigResponse = GenerateTwoFaAccountConfigResponses[keyof GenerateTwoFaAccountConfigResponses]; export type GetCalculatedFieldsByEntityIdData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Calculated field type. If not specified, all types will be returned. */ type?: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * The case insensitive 'substring' filter based on the calculated field name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/{entityType}/{entityId}/calculatedFields'; }; export type GetCalculatedFieldsByEntityIdResponses = { /** * OK */ 200: PageDataCalculatedField; }; export type GetCalculatedFieldsByEntityIdResponse = GetCalculatedFieldsByEntityIdResponses[keyof GetCalculatedFieldsByEntityIdResponses]; export type GetWidgetsBundlesData = { body?: never; path?: never; query: { /** * A list of widgets bundle ids, separated by comma ',' */ widgetsBundleIds: Array; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the widget bundle title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Optional boolean parameter to include only tenant-level bundles without system */ tenantOnly?: boolean; /** * Optional boolean parameter indicating extended search of widget bundles by description and by name / description of related widget types */ fullSearch?: boolean; /** * Optional boolean parameter indicating whether to fetch widgets bundles with SCADA symbols first. Works only when fullSearch parameter is enabled */ scadaFirst?: boolean; }; url: '/api/widgetsBundles'; }; export type GetWidgetsBundlesResponses = { /** * OK */ 200: PageDataWidgetsBundle | Array; }; export type GetWidgetsBundlesResponse = GetWidgetsBundlesResponses[keyof GetWidgetsBundlesResponses]; export type DeleteWidgetsBundleData = { body?: never; path: { /** * A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetsBundleId: string; }; query?: never; url: '/api/widgetsBundle/{widgetsBundleId}'; }; export type DeleteWidgetsBundleResponses = { /** * OK */ 200: unknown; }; export type GetWidgetsBundleByIdData = { body?: never; path: { /** * A string value representing the widget bundle id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetsBundleId: string; }; query?: { /** * Inline images as a data URL (Base64) */ inlineImages?: boolean; }; url: '/api/widgetsBundle/{widgetsBundleId}'; }; export type GetWidgetsBundleByIdResponses = { /** * OK */ 200: WidgetsBundle; }; export type GetWidgetsBundleByIdResponse = GetWidgetsBundleByIdResponses[keyof GetWidgetsBundleByIdResponses]; export type GetBundleWidgetTypesData = { body?: never; path?: never; query: { /** * Widget Bundle Id */ widgetsBundleId: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the widget type name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deprecated' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC, DESC'; /** * Optional boolean parameter indicating whether only tenant widget types should be returned */ tenantOnly?: boolean; /** * Optional boolean parameter indicating whether search widgets by description not only by name */ fullSearch?: boolean; /** * Optional string parameter indicating whether to include deprecated widgets */ deprecatedFilter?: 'ALL' | 'ACTUAL' | 'DEPRECATED'; /** * A list of string values separated by comma ',' representing one of the widget type value */ widgetTypeList?: Array<'timeseries' | 'latest' | 'control' | 'alarm' | 'static'>; /** * Optional boolean parameter indicating whether to fetch SCADA symbol widgets first */ scadaFirst?: boolean; /** * System or Tenant */ isSystem: boolean; /** * Widget Bundle alias */ bundleAlias: string; }; url: '/api/widgetTypes'; }; export type GetBundleWidgetTypesResponses = { /** * OK */ 200: PageDataWidgetTypeInfo | Array; }; export type GetBundleWidgetTypesResponse = GetBundleWidgetTypesResponses[keyof GetBundleWidgetTypesResponses]; export type GetBundleWidgetTypesInfosData = { body?: never; path?: never; query: { /** * Widget Bundle Id */ widgetsBundleId: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the widget type name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deprecated' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Optional boolean parameter indicating whether search widgets by description not only by name */ fullSearch?: boolean; /** * Optional string parameter indicating whether to include deprecated widgets */ deprecatedFilter?: 'ALL' | 'ACTUAL' | 'DEPRECATED'; /** * A list of string values separated by comma ',' representing one of the widget type value */ widgetTypeList?: Array<'timeseries' | 'latest' | 'control' | 'alarm' | 'static'>; /** * System or Tenant */ isSystem: boolean; /** * Widget Bundle alias */ bundleAlias: string; }; url: '/api/widgetTypesInfos'; }; export type GetBundleWidgetTypesInfosResponses = { /** * OK */ 200: Array | PageDataWidgetTypeInfo; }; export type GetBundleWidgetTypesInfosResponse = GetBundleWidgetTypesInfosResponses[keyof GetBundleWidgetTypesInfosResponses]; export type GetBundleWidgetTypesDetailsData = { body?: never; path?: never; query: { /** * Widget Bundle Id */ widgetsBundleId: string; /** * Export used resources and replace resource links with resource metadata */ includeResources?: boolean; /** * System or Tenant */ isSystem: boolean; /** * Widget Bundle alias */ bundleAlias: string; }; url: '/api/widgetTypesDetails'; }; export type GetBundleWidgetTypesDetailsResponses = { /** * OK */ 200: Array; }; export type GetBundleWidgetTypesDetailsResponse = GetBundleWidgetTypesDetailsResponses[keyof GetBundleWidgetTypesDetailsResponses]; export type GetWidgetTypeInfoByIdData = { body?: never; path: { /** * A string value representing the widget type id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetTypeId: string; }; query?: never; url: '/api/widgetTypeInfo/{widgetTypeId}'; }; export type GetWidgetTypeInfoByIdResponses = { /** * OK */ 200: WidgetTypeInfo; }; export type GetWidgetTypeInfoByIdResponse = GetWidgetTypeInfoByIdResponses[keyof GetWidgetTypeInfoByIdResponses]; export type GetBundleWidgetTypeFqnsData = { body?: never; path?: never; query: { /** * Widget Bundle Id */ widgetsBundleId: string; }; url: '/api/widgetTypeFqns'; }; export type GetBundleWidgetTypeFqnsResponses = { /** * OK */ 200: Array; }; export type GetBundleWidgetTypeFqnsResponse = GetBundleWidgetTypeFqnsResponses[keyof GetBundleWidgetTypeFqnsResponses]; export type DeleteWidgetTypeData = { body?: never; path: { /** * A string value representing the widget type id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetTypeId: string; }; query?: never; url: '/api/widgetType/{widgetTypeId}'; }; export type DeleteWidgetTypeResponses = { /** * OK */ 200: unknown; }; export type GetWidgetTypeByIdData = { body?: never; path: { /** * A string value representing the widget type id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ widgetTypeId: string; }; query?: { /** * Export used resources and replace resource links with resource metadata */ includeResources?: boolean; }; url: '/api/widgetType/{widgetTypeId}'; }; export type GetWidgetTypeByIdResponses = { /** * OK */ 200: WidgetTypeDetails; }; export type GetWidgetTypeByIdResponse = GetWidgetTypeByIdResponses[keyof GetWidgetTypeByIdResponses]; export type IsWhiteLabelingAllowedData = { body?: never; path?: never; query?: never; url: '/api/whiteLabel/isWhiteLabelingAllowed'; }; export type IsWhiteLabelingAllowedResponses = { /** * OK */ 200: boolean; }; export type IsWhiteLabelingAllowedResponse = IsWhiteLabelingAllowedResponses[keyof IsWhiteLabelingAllowedResponses]; export type IsCustomerWhiteLabelingAllowedData = { body?: never; path?: never; query?: never; url: '/api/whiteLabel/isCustomerWhiteLabelingAllowed'; }; export type IsCustomerWhiteLabelingAllowedResponses = { /** * OK */ 200: boolean; }; export type IsCustomerWhiteLabelingAllowedResponse = IsCustomerWhiteLabelingAllowedResponses[keyof IsCustomerWhiteLabelingAllowedResponses]; export type DeleteCurrentWhiteLabelParamsData = { body?: never; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/currentWhiteLabelParams'; }; export type DeleteCurrentWhiteLabelParamsResponses = { /** * OK */ 200: unknown; }; export type GetCurrentWhiteLabelParamsData = { body?: never; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/currentWhiteLabelParams'; }; export type GetCurrentWhiteLabelParamsResponses = { /** * OK */ 200: WhiteLabelingParams; }; export type GetCurrentWhiteLabelParamsResponse = GetCurrentWhiteLabelParamsResponses[keyof GetCurrentWhiteLabelParamsResponses]; export type DeleteCurrentLoginWhiteLabelParamsData = { body?: never; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/currentLoginWhiteLabelParams'; }; export type DeleteCurrentLoginWhiteLabelParamsResponses = { /** * OK */ 200: unknown; }; export type GetCurrentLoginWhiteLabelParamsData = { body?: never; path?: never; query?: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId?: string; }; url: '/api/whiteLabel/currentLoginWhiteLabelParams'; }; export type GetCurrentLoginWhiteLabelParamsResponses = { /** * OK */ 200: LoginWhiteLabelingParams; }; export type GetCurrentLoginWhiteLabelParamsResponse = GetCurrentLoginWhiteLabelParamsResponses[keyof GetCurrentLoginWhiteLabelParamsResponses]; export type GetReportsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on report's name or customer title */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/v2/reports'; }; export type GetReportsResponses = { /** * OK */ 200: PageDataReport; }; export type GetReportsResponse = GetReportsResponses[keyof GetReportsResponses]; export type GetReports1Data = { body?: never; path?: never; query: { /** * A list of report ids, separated by comma ',' */ strReportIds: Array; }; url: '/api/v2/reportInfos'; }; export type GetReports1Responses = { /** * OK */ 200: Array; }; export type GetReports1Response = GetReports1Responses[keyof GetReports1Responses]; export type GetReportInfosData = { body?: never; path?: never; query: { /** * Report template id */ reportTemplateId?: string; /** * The user used for report generation. */ userId?: string; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on report's name or customer title */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/v2/reportInfos/all'; }; export type GetReportInfosResponses = { /** * OK */ 200: PageDataReportInfo; }; export type GetReportInfosResponse = GetReportInfosResponses[keyof GetReportInfosResponses]; export type DeleteReportData = { body?: never; path: { /** * A string value representing the report id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ reportId: string; }; query?: never; url: '/api/v2/report/{reportId}'; }; export type DeleteReportResponses = { /** * OK */ 200: unknown; }; export type GetReportByIdData = { body?: never; path: { /** * A string value representing the report id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ reportId: string; }; query?: never; url: '/api/v2/report/{reportId}'; }; export type GetReportByIdResponses = { /** * OK */ 200: Report; }; export type GetReportByIdResponse = GetReportByIdResponses[keyof GetReportByIdResponses]; export type DownloadReportData = { body?: never; path: { reportId: string; }; query?: never; url: '/api/v2/report/{reportId}/download'; }; export type DownloadReportResponses = { /** * OK */ 200: Blob | File; }; export type DownloadReportResponse = DownloadReportResponses[keyof DownloadReportResponses]; export type GetAllAlarmsV2Data = { body?: never; path?: never; query: { /** * A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value */ statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; /** * A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value */ severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; /** * A list of string values separated by comma ',' representing alarm types */ typeList?: Array; /** * A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId?: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on of next alarm fields: type, severity or status */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'startTs' | 'endTs' | 'type' | 'ackTs' | 'clearTs' | 'severity' | 'status'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ endTime?: number; }; url: '/api/v2/alarms'; }; export type GetAllAlarmsV2Responses = { /** * OK */ 200: PageDataAlarmInfo; }; export type GetAllAlarmsV2Response = GetAllAlarmsV2Responses[keyof GetAllAlarmsV2Responses]; export type GetAlarmsV2Data = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value */ statusList?: Array<'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'>; /** * A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value */ severityList?: Array<'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'>; /** * A list of string values separated by comma ',' representing alarm types */ typeList?: Array; /** * A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId?: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on of next alarm fields: type, severity or status */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'startTs' | 'endTs' | 'type' | 'ackTs' | 'clearTs' | 'severity' | 'status'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ endTime?: number; }; url: '/api/v2/alarm/{entityType}/{entityId}'; }; export type GetAlarmsV2Responses = { /** * OK */ 200: PageDataAlarmInfo; }; export type GetAlarmsV2Response = GetAlarmsV2Responses[keyof GetAlarmsV2Responses]; export type GetSoftwareData = { body?: never; path: { /** * Your device access token. */ deviceToken: string; }; query: { /** * Title of the software, corresponds to the value of 'sw_title' attribute. */ title: string; /** * Version of the software, corresponds to the value of 'sw_version' attribute. */ version: string; /** * Size of the chunk. Optional. Omit to download the entire file without using chunks. */ size?: number; /** * Index of the chunk. Optional. Omit to download the entire file without using chunks. */ chunk?: number; }; url: '/api/v1/{deviceToken}/software'; }; export type GetSoftwareResponses = { /** * OK */ 200: string; }; export type GetSoftwareResponse = GetSoftwareResponses[keyof GetSoftwareResponses]; export type GetFirmwareData = { body?: never; path: { /** * Your device access token. */ deviceToken: string; }; query: { /** * Title of the firmware, corresponds to the value of 'fw_title' attribute. */ title: string; /** * Version of the firmware, corresponds to the value of 'fw_version' attribute. */ version: string; /** * Size of the chunk. Optional. Omit to download the entire file without chunks. */ size?: number; /** * Index of the chunk. Optional. Omit to download the entire file without chunks. */ chunk?: number; }; url: '/api/v1/{deviceToken}/firmware'; }; export type GetFirmwareResponses = { /** * OK */ 200: string; }; export type GetFirmwareResponse = GetFirmwareResponses[keyof GetFirmwareResponses]; export type SubscribeToAttributesData = { body?: never; path: { /** * Your device access token. */ deviceToken: string; }; query?: { /** * Optional timeout of the long poll. Typically less then 60 seconds, since limited on the server side. */ timeout?: number; }; url: '/api/v1/{deviceToken}/attributes/updates'; }; export type SubscribeToAttributesResponses = { /** * OK */ 200: string; }; export type SubscribeToAttributesResponse = SubscribeToAttributesResponses[keyof SubscribeToAttributesResponses]; export type GetUsersByIdsData = { body?: never; path?: never; query: { /** * A list of user ids, separated by comma ',' */ userIds: Array; }; url: '/api/users'; }; export type GetUsersByIdsResponses = { /** * OK */ 200: Array; }; export type GetUsersByIdsResponse = GetUsersByIdsResponses[keyof GetUsersByIdsResponses]; export type FindUsersByQueryData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/users/info'; }; export type FindUsersByQueryResponses = { /** * OK */ 200: PageDataUserEmailInfo; }; export type FindUsersByQueryResponse = FindUsersByQueryResponses[keyof FindUsersByQueryResponses]; export type GetUsersForAssignData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/users/assign/{alarmId}'; }; export type GetUsersForAssignResponses = { /** * OK */ 200: PageDataUserEmailInfo; }; export type GetUsersForAssignResponse = GetUsersForAssignResponses[keyof GetUsersForAssignResponses]; export type GetAllUserInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/userInfos/all'; }; export type GetAllUserInfosResponses = { /** * OK */ 200: PageDataUserInfo; }; export type GetAllUserInfosResponse = GetAllUserInfosResponses[keyof GetAllUserInfosResponses]; export type GetUserGroupPermissionsData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userGroupId: string; }; query?: never; url: '/api/userGroup/{userGroupId}/groupPermissions'; }; export type GetUserGroupPermissionsResponses = { /** * OK */ 200: Array; }; export type GetUserGroupPermissionsResponse = GetUserGroupPermissionsResponses[keyof GetUserGroupPermissionsResponses]; export type DeleteUserData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/{userId}'; }; export type DeleteUserResponses = { /** * OK */ 200: unknown; }; export type GetUserByIdData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/{userId}'; }; export type GetUserByIdResponses = { /** * OK */ 200: User; }; export type GetUserByIdResponse = GetUserByIdResponses[keyof GetUserByIdResponses]; export type GetUserTokenData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/{userId}/token'; }; export type GetUserTokenResponses = { /** * OK */ 200: JwtPair; }; export type GetUserTokenResponse = GetUserTokenResponses[keyof GetUserTokenResponses]; export type GetActivationLinkData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/{userId}/activationLink'; }; export type GetActivationLinkResponses = { /** * OK */ 200: string; }; export type GetActivationLinkResponse = GetActivationLinkResponses[keyof GetActivationLinkResponses]; export type GetActivationLinkInfoData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/{userId}/activationLinkInfo'; }; export type GetActivationLinkInfoResponses = { /** * OK */ 200: UserActivationLink; }; export type GetActivationLinkInfoResponse = GetActivationLinkInfoResponses[keyof GetActivationLinkInfoResponses]; export type GetUserUsersData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/users'; }; export type GetUserUsersResponses = { /** * OK */ 200: PageDataUser; }; export type GetUserUsersResponse = GetUserUsersResponses[keyof GetUserUsersResponses]; export type IsUserTokenAccessEnabledData = { body?: never; path?: never; query?: never; url: '/api/user/tokenAccessEnabled'; }; export type IsUserTokenAccessEnabledResponses = { /** * OK */ 200: boolean; }; export type IsUserTokenAccessEnabledResponse = IsUserTokenAccessEnabledResponses[keyof IsUserTokenAccessEnabledResponses]; export type GetUserInfoByIdData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query?: never; url: '/api/user/info/{userId}'; }; export type GetUserInfoByIdResponses = { /** * OK */ 200: UserInfo; }; export type GetUserInfoByIdResponse = GetUserInfoByIdResponses[keyof GetUserInfoByIdResponses]; export type GetUserEntityViewsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * * * ## Entity View Filter * * Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': * * ```json * { * "type": "entityViewType", * "entityViewType": "Concrete Mixer", * "entityViewNameFilter": "CAT" * } * ``` */ type?: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/entityViews'; }; export type GetUserEntityViewsResponses = { /** * OK */ 200: PageDataEntityView; }; export type GetUserEntityViewsResponse = GetUserEntityViewsResponses[keyof GetUserEntityViewsResponses]; export type GetUserEdgesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * A string value representing the edge type. For example, 'default' */ type?: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/edges'; }; export type GetUserEdgesResponses = { /** * OK */ 200: PageDataEdge; }; export type GetUserEdgesResponse = GetUserEdgesResponses[keyof GetUserEdgesResponses]; export type GetUserDevicesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * Device type as the name of the device profile */ type?: string; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/devices'; }; export type GetUserDevicesResponses = { /** * OK */ 200: PageDataDevice; }; export type GetUserDevicesResponse = GetUserDevicesResponses[keyof GetUserDevicesResponses]; export type GetUserDashboardsInfoData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Exclude dashboards that are hidden for mobile */ mobile?: boolean; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Filter by allowed operations for the current user */ operation?: string; /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId?: string; }; url: '/api/user/dashboards'; }; export type GetUserDashboardsInfoResponses = { /** * OK */ 200: PageDataDashboardInfo | UserDashboardsInfo; }; export type GetUserDashboardsInfoResponse = GetUserDashboardsInfoResponses[keyof GetUserDashboardsInfoResponses]; export type ReportUserDashboardActionData = { body?: never; path: { /** * A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ dashboardId: string; /** * Dashboard action, one of: "visit", "star" or "unstar". */ action: string; }; query?: never; url: '/api/user/dashboards/{dashboardId}/{action}'; }; export type ReportUserDashboardActionResponses = { /** * OK */ 200: UserDashboardsInfo; }; export type ReportUserDashboardActionResponse = ReportUserDashboardActionResponses[keyof ReportUserDashboardActionResponses]; export type GetUserCustomersData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'city'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/customers'; }; export type GetUserCustomersResponses = { /** * OK */ 200: PageDataCustomer; }; export type GetUserCustomersResponse = GetUserCustomersResponses[keyof GetUserCustomersResponses]; export type GetUserAssetsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * Asset type */ type?: string; /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId?: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/user/assets'; }; export type GetUserAssetsResponses = { /** * OK */ 200: PageDataAsset; }; export type GetUserAssetsResponse = GetUserAssetsResponses[keyof GetUserAssetsResponses]; export type GetTenantUsageInfoData = { body?: never; path?: never; query?: never; url: '/api/usage'; }; export type GetTenantUsageInfoResponses = { /** * OK */ 200: UsageInfo; }; export type GetTenantUsageInfoResponse = GetTenantUsageInfoResponses[keyof GetTenantUsageInfoResponses]; export type GetHelpBaseUrlData = { body?: never; path?: never; query?: never; url: '/api/uiSettings/helpBaseUrl'; }; export type GetHelpBaseUrlResponses = { /** * OK */ 200: string; }; export type GetHelpBaseUrlResponse = GetHelpBaseUrlResponses[keyof GetHelpBaseUrlResponses]; export type GetTrendzViewByIdData = { body?: never; path: { /** * A string value representing the Trendz view id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ viewId: string; }; query?: never; url: '/api/trendz/view/{viewId}'; }; export type GetTrendzViewByIdResponses = { /** * OK */ 200: TrendzViewConfig; }; export type GetTrendzViewByIdResponse = GetTrendzViewByIdResponses[keyof GetTrendzViewByIdResponses]; export type GetTrendzViewsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the Trendz view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'name' | 'createdAt' | 'updatedAt' | 'favorite'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/trendz/view/all'; }; export type GetTrendzViewsResponses = { /** * OK */ 200: PageDataTrendzViewConfigLite; }; export type GetTrendzViewsResponse = GetTrendzViewsResponses[keyof GetTrendzViewsResponses]; export type GetTrendzUsageData = { body?: never; path?: never; query?: never; url: '/api/trendz/usage'; }; export type GetTrendzUsageResponses = { /** * OK */ 200: TrendzUsage; }; export type GetTrendzUsageResponse = GetTrendzUsageResponses[keyof GetTrendzUsageResponses]; export type GetTrendzSyncResultData = { body?: never; path?: never; query?: never; url: '/api/trendz/sync'; }; export type GetTrendzSyncResultResponses = { /** * OK */ 200: TrendzSynchronizationResult; }; export type GetTrendzSyncResultResponse = GetTrendzSyncResultResponses[keyof GetTrendzSyncResultResponses]; export type GetTrendzSummaryData = { body?: never; path?: never; query?: never; url: '/api/trendz/summary'; }; export type GetTrendzSummaryResponses = { /** * OK */ 200: TrendzSummary; }; export type GetTrendzSummaryResponse = GetTrendzSummaryResponses[keyof GetTrendzSummaryResponses]; export type PerformTrendzHealthcheckData = { body?: never; path?: never; query?: never; url: '/api/trendz/healthcheck'; }; export type PerformTrendzHealthcheckResponses = { /** * OK */ 200: TrendzHealthcheckResult; }; export type PerformTrendzHealthcheckResponse = PerformTrendzHealthcheckResponses[keyof PerformTrendzHealthcheckResponses]; export type GetTranslationInfosData = { body?: never; path?: never; query?: never; url: '/api/translation/info'; }; export type GetTranslationInfosResponses = { /** * OK */ 200: Array; }; export type GetTranslationInfosResponse = GetTranslationInfosResponses[keyof GetTranslationInfosResponses]; export type GetFullTranslationData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/full/{localeCode}'; }; export type GetFullTranslationResponses = { /** * OK */ 200: unknown; }; export type DownloadFullTranslationData = { body?: never; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/full/{localeCode}/download'; }; export type DownloadFullTranslationResponses = { /** * OK */ 200: Blob | File; }; export type DownloadFullTranslationResponse = DownloadFullTranslationResponses[keyof DownloadFullTranslationResponses]; export type GetTranslationForBasicEditData = { body?: never; path: { localeCode: string; }; query?: never; url: '/api/translation/edit/basic/{localeCode}'; }; export type GetTranslationForBasicEditResponses = { /** * OK */ 200: JsonNode; }; export type GetTranslationForBasicEditResponse = GetTranslationForBasicEditResponses[keyof GetTranslationForBasicEditResponses]; export type GetMergedCustomTranslationData = { body?: never; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/translation/custom/merged/{localeCode}'; }; export type GetMergedCustomTranslationResponses = { /** * OK */ 200: JsonNode; }; export type GetMergedCustomTranslationResponse = GetMergedCustomTranslationResponses[keyof GetMergedCustomTranslationResponses]; export type GetAvailableLocalesData = { body?: never; path?: never; query?: never; url: '/api/translation/availableLocales'; }; export type GetAvailableLocalesResponses = { /** * OK */ 200: JsonNode; }; export type GetAvailableLocalesResponse = GetAvailableLocalesResponses[keyof GetAvailableLocalesResponses]; export type GetAvailableJavaLocalesData = { body?: never; path?: never; query?: never; url: '/api/translation/availableJavaLocales'; }; export type GetAvailableJavaLocalesResponses = { /** * OK */ 200: JsonNode; }; export type GetAvailableJavaLocalesResponse = GetAvailableJavaLocalesResponses[keyof GetAvailableJavaLocalesResponses]; export type GetTenantsByIdsData = { body?: never; path?: never; query: { /** * A list of tenant ids, separated by comma ',' */ tenantIds: Array; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the tenant name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'state' | 'city' | 'address' | 'address2' | 'zip' | 'phone'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenants'; }; export type GetTenantsByIdsResponses = { /** * OK */ 200: PageDataTenant | Array; }; export type GetTenantsByIdsResponse = GetTenantsByIdsResponses[keyof GetTenantsByIdsResponses]; export type GetTenantProfilesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the tenant profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'description' | 'isDefault'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Comma-separated list of tenant profile ids */ ids: Array; }; url: '/api/tenantProfiles'; }; export type GetTenantProfilesResponses = { /** * OK */ 200: Array | PageDataTenantProfile; }; export type GetTenantProfilesResponse = GetTenantProfilesResponses[keyof GetTenantProfilesResponses]; export type GetTenantProfileInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the tenant profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'id' | 'name'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenantProfileInfos'; }; export type GetTenantProfileInfosResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetTenantProfileInfosResponse = GetTenantProfileInfosResponses[keyof GetTenantProfileInfosResponses]; export type GetTenantProfileInfoByIdData = { body?: never; path: { /** * A string value representing the tenant profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantProfileId: string; }; query?: never; url: '/api/tenantProfileInfo/{tenantProfileId}'; }; export type GetTenantProfileInfoByIdResponses = { /** * OK */ 200: EntityInfo; }; export type GetTenantProfileInfoByIdResponse = GetTenantProfileInfoByIdResponses[keyof GetTenantProfileInfoByIdResponses]; export type GetDefaultTenantProfileInfoData = { body?: never; path?: never; query?: never; url: '/api/tenantProfileInfo/default'; }; export type GetDefaultTenantProfileInfoResponses = { /** * OK */ 200: EntityInfo; }; export type GetDefaultTenantProfileInfoResponse = GetDefaultTenantProfileInfoResponses[keyof GetDefaultTenantProfileInfoResponses]; export type DeleteTenantProfileData = { body?: never; path: { /** * A string value representing the tenant profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantProfileId: string; }; query?: never; url: '/api/tenantProfile/{tenantProfileId}'; }; export type DeleteTenantProfileResponses = { /** * OK */ 200: unknown; }; export type GetTenantProfileByIdData = { body?: never; path: { /** * A string value representing the tenant profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantProfileId: string; }; query?: never; url: '/api/tenantProfile/{tenantProfileId}'; }; export type GetTenantProfileByIdResponses = { /** * OK */ 200: TenantProfile; }; export type GetTenantProfileByIdResponse = GetTenantProfileByIdResponses[keyof GetTenantProfileByIdResponses]; export type GetTenantInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the tenant name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'tenantProfileName' | 'title' | 'email' | 'country' | 'state' | 'city' | 'address' | 'address2' | 'zip' | 'phone'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenantInfos'; }; export type GetTenantInfosResponses = { /** * OK */ 200: PageDataTenantInfo; }; export type GetTenantInfosResponse = GetTenantInfosResponses[keyof GetTenantInfosResponses]; export type DeleteTenantData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; }; query?: never; url: '/api/tenant/{tenantId}'; }; export type DeleteTenantResponses = { /** * OK */ 200: unknown; }; export type GetTenantByIdData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; }; query?: never; url: '/api/tenant/{tenantId}'; }; export type GetTenantByIdResponses = { /** * OK */ 200: Tenant; }; export type GetTenantByIdResponse = GetTenantByIdResponses[keyof GetTenantByIdResponses]; export type GetTenantAdminsData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenant/{tenantId}/users'; }; export type GetTenantAdminsResponses = { /** * OK */ 200: PageDataUser; }; export type GetTenantAdminsResponse = GetTenantAdminsResponses[keyof GetTenantAdminsResponses]; export type GetTenantDashboardsData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenant/{tenantId}/dashboards'; }; export type GetTenantDashboardsResponses = { /** * OK */ 200: PageDataDashboardInfo; }; export type GetTenantDashboardsResponse = GetTenantDashboardsResponses[keyof GetTenantDashboardsResponses]; export type GetTenantInfoByIdData = { body?: never; path: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; }; query?: never; url: '/api/tenant/info/{tenantId}'; }; export type GetTenantInfoByIdResponses = { /** * OK */ 200: TenantInfo; }; export type GetTenantInfoByIdResponse = GetTenantInfoByIdResponses[keyof GetTenantInfoByIdResponses]; export type GetTenantEntityViewsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * * * ## Entity View Filter * * Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': * * ```json * { * "type": "entityViewType", * "entityViewType": "Concrete Mixer", * "entityViewNameFilter": "CAT" * } * ``` */ type?: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Entity View name */ entityViewName: string; }; url: '/api/tenant/entityViews'; }; export type GetTenantEntityViewsResponses = { /** * OK */ 200: EntityView | PageDataEntityView; }; export type GetTenantEntityViewsResponse = GetTenantEntityViewsResponses[keyof GetTenantEntityViewsResponses]; export type GetTenantEdgesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * A string value representing the edge type. For example, 'default' */ type?: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Unique name of the edge */ edgeName: string; }; url: '/api/tenant/edges'; }; export type GetTenantEdgesResponses = { /** * OK */ 200: Edge | PageDataEdge; }; export type GetTenantEdgesResponse = GetTenantEdgesResponses[keyof GetTenantEdgesResponses]; export type GetTenantDevicesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Device type as the name of the device profile */ type?: string; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A string value representing the Device name. */ deviceName: string; }; url: '/api/tenant/devices'; }; export type GetTenantDevicesResponses = { /** * OK */ 200: Device | PageDataDevice; }; export type GetTenantDevicesResponse = GetTenantDevicesResponses[keyof GetTenantDevicesResponses]; export type GetTenantDashboards1Data = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Exclude dashboards that are hidden for mobile */ mobile?: boolean; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/tenant/dashboards'; }; export type GetTenantDashboards1Responses = { /** * OK */ 200: PageDataDashboardInfo; }; export type GetTenantDashboards1Response = GetTenantDashboards1Responses[keyof GetTenantDashboards1Responses]; export type GetTenantCustomerData = { body?: never; path?: never; query: { /** * A string value representing the Customer title. */ customerTitle: string; }; url: '/api/tenant/customers'; }; export type GetTenantCustomerResponses = { /** * OK */ 200: Customer; }; export type GetTenantCustomerResponse = GetTenantCustomerResponses[keyof GetTenantCustomerResponses]; export type GetTenantAssetsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Asset type */ type?: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A string value representing the Asset name. */ assetName: string; }; url: '/api/tenant/assets'; }; export type GetTenantAssetsResponses = { /** * OK */ 200: Asset | PageDataAsset; }; export type GetTenantAssetsResponse = GetTenantAssetsResponses[keyof GetTenantAssetsResponses]; export type GetSolutionTemplateInstructionsData = { body?: never; path: { /** * A string value representing the solution template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ solutionTemplateId: string; }; query?: never; url: '/api/solutions/templates/instructions/{solutionTemplateId}'; }; export type GetSolutionTemplateInstructionsResponses = { /** * OK */ 200: TenantSolutionTemplateInstructions; }; export type GetSolutionTemplateInstructionsResponse = GetSolutionTemplateInstructionsResponses[keyof GetSolutionTemplateInstructionsResponses]; export type GetSolutionTemplateInfosData = { body?: never; path?: never; query?: never; url: '/api/solutions/templates/infos'; }; export type GetSolutionTemplateInfosResponses = { /** * OK */ 200: Array; }; export type GetSolutionTemplateInfosResponse = GetSolutionTemplateInfosResponses[keyof GetSolutionTemplateInfosResponses]; export type GetSolutionTemplateDetailsData = { body?: never; path: { /** * A string value representing the solution template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ solutionTemplateId: string; }; query?: never; url: '/api/solutions/templates/details/{solutionTemplateId}'; }; export type GetSolutionTemplateDetailsResponses = { /** * OK */ 200: TenantSolutionTemplateDetails; }; export type GetSolutionTemplateDetailsResponse = GetSolutionTemplateDetailsResponses[keyof GetSolutionTemplateDetailsResponses]; export type TermsOfUseAcceptedData = { body?: never; path?: never; query?: never; url: '/api/signup/termsOfUseAccepted'; }; export type TermsOfUseAcceptedResponses = { /** * OK */ 200: boolean; }; export type TermsOfUseAcceptedResponse = TermsOfUseAcceptedResponses[keyof TermsOfUseAcceptedResponses]; export type PrivacyPolicyAcceptedData = { body?: never; path?: never; query?: never; url: '/api/signup/privacyPolicyAccepted'; }; export type PrivacyPolicyAcceptedResponses = { /** * OK */ 200: boolean; }; export type PrivacyPolicyAcceptedResponse = PrivacyPolicyAcceptedResponses[keyof PrivacyPolicyAcceptedResponses]; export type GetSecretInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the secret name and description. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'name'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/secrets'; }; export type GetSecretInfosResponses = { /** * OK */ 200: PageDataSecretInfo; }; export type GetSecretInfosResponse = GetSecretInfosResponses[keyof GetSecretInfosResponses]; export type GetSecretInfoByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/secret/{id}/info'; }; export type GetSecretInfoByIdResponses = { /** * OK */ 200: SecretInfo; }; export type GetSecretInfoByIdResponse = GetSecretInfoByIdResponses[keyof GetSecretInfoByIdResponses]; export type GetSecretNamesData = { body?: never; path?: never; query?: never; url: '/api/secret/names'; }; export type GetSecretNamesResponses = { /** * OK */ 200: Array; }; export type GetSecretNamesResponse = GetSecretNamesResponses[keyof GetSecretNamesResponses]; export type GetAllSchedulerEventsData = { body?: never; path?: never; query: { /** * A string value representing the scheduler type. For example, 'generateReport' */ type?: string; /** * Start time filter in milliseconds for scheduler event run time */ startTime: number; /** * End time filter in milliseconds for scheduler event run time */ endTime: number; /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId?: string; /** * Case-insensitive 'substring' filter based on event's name, type, or customer's name */ textSearch?: string; /** * A list of scheduler event ids, separated by comma ',' */ schedulerEventIds: Array; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/schedulerEvents'; }; export type GetAllSchedulerEventsResponses = { /** * OK */ 200: Array | Array | PageDataSchedulerEventWithCustomerInfo; }; export type GetAllSchedulerEventsResponse = GetAllSchedulerEventsResponses[keyof GetAllSchedulerEventsResponses]; export type DeleteSchedulerEventData = { body?: never; path: { /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; }; query?: never; url: '/api/schedulerEvent/{schedulerEventId}'; }; export type DeleteSchedulerEventResponses = { /** * OK */ 200: unknown; }; export type GetSchedulerEventByIdData = { body?: never; path: { /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; }; query?: never; url: '/api/schedulerEvent/{schedulerEventId}'; }; export type GetSchedulerEventByIdResponses = { /** * OK */ 200: SchedulerEvent; }; export type GetSchedulerEventByIdResponse = GetSchedulerEventByIdResponses[keyof GetSchedulerEventByIdResponses]; export type GetSchedulerEventInfoByIdData = { body?: never; path: { /** * A string value representing the scheduler id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ schedulerEventId: string; }; query?: never; url: '/api/schedulerEvent/info/{schedulerEventId}'; }; export type GetSchedulerEventInfoByIdResponses = { /** * OK */ 200: SchedulerEventWithCustomerInfo; }; export type GetSchedulerEventInfoByIdResponse = GetSchedulerEventInfoByIdResponses[keyof GetSchedulerEventInfoByIdResponses]; export type GetScheduledReportEventsData = { body?: never; path?: never; query: { /** * Report template id */ reportTemplateId?: string; /** * The user used for report generation. */ userId?: string; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the scheduler event name or customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/scheduledReports'; }; export type GetScheduledReportEventsResponses = { /** * OK */ 200: PageDataScheduledReportInfo; }; export type GetScheduledReportEventsResponse = GetScheduledReportEventsResponses[keyof GetScheduledReportEventsResponses]; export type GetLatestRuleNodeDebugInputData = { body?: never; path: { /** * A string value representing the rule node id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleNodeId: string; }; query?: never; url: '/api/ruleNode/{ruleNodeId}/debugIn'; }; export type GetLatestRuleNodeDebugInputResponses = { /** * OK */ 200: JsonNode; }; export type GetLatestRuleNodeDebugInputResponse = GetLatestRuleNodeDebugInputResponses[keyof GetLatestRuleNodeDebugInputResponses]; export type GetRuleChainsByIdsData = { body?: never; path?: never; query: { /** * A list of rule chain ids, separated by comma ',' */ ruleChainIds: Array; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Rule chain type (CORE or EDGE) */ type?: 'CORE' | 'EDGE'; /** * The case insensitive 'substring' filter based on the rule chain name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'root'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/ruleChains'; }; export type GetRuleChainsByIdsResponses = { /** * OK */ 200: PageDataRuleChain | Array; }; export type GetRuleChainsByIdsResponse = GetRuleChainsByIdsResponses[keyof GetRuleChainsByIdsResponses]; export type ExportRuleChainsData = { body?: never; path?: never; query: { /** * A limit of rule chains to export. */ limit: number; }; url: '/api/ruleChains/export'; }; export type ExportRuleChainsResponses = { /** * OK */ 200: RuleChainData; }; export type ExportRuleChainsResponse = ExportRuleChainsResponses[keyof ExportRuleChainsResponses]; export type DeleteRuleChainData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}'; }; export type DeleteRuleChainResponses = { /** * OK */ 200: unknown; }; export type GetRuleChainByIdData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}'; }; export type GetRuleChainByIdResponses = { /** * OK */ 200: RuleChain; }; export type GetRuleChainByIdResponse = GetRuleChainByIdResponses[keyof GetRuleChainByIdResponses]; export type GetRuleChainOutputLabelsData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/output/labels'; }; export type GetRuleChainOutputLabelsResponses = { /** * OK */ 200: Array; }; export type GetRuleChainOutputLabelsResponse = GetRuleChainOutputLabelsResponses[keyof GetRuleChainOutputLabelsResponses]; export type GetRuleChainOutputLabelsUsageData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/output/labels/usage'; }; export type GetRuleChainOutputLabelsUsageResponses = { /** * OK */ 200: Array; }; export type GetRuleChainOutputLabelsUsageResponse = GetRuleChainOutputLabelsUsageResponses[keyof GetRuleChainOutputLabelsUsageResponses]; export type GetRuleChainMetaDataData = { body?: never; path: { /** * A string value representing the rule chain id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ ruleChainId: string; }; query?: never; url: '/api/ruleChain/{ruleChainId}/metadata'; }; export type GetRuleChainMetaDataResponses = { /** * OK */ 200: RuleChainMetaData; }; export type GetRuleChainMetaDataResponse = GetRuleChainMetaDataResponses[keyof GetRuleChainMetaDataResponses]; export type IsTbelEnabledData = { body?: never; path?: never; query?: never; url: '/api/ruleChain/tbelEnabled'; }; export type IsTbelEnabledResponses = { /** * OK */ 200: boolean; }; export type IsTbelEnabledResponse = IsTbelEnabledResponses[keyof IsTbelEnabledResponses]; export type GetAutoAssignToEdgeRuleChainsData = { body?: never; path?: never; query?: never; url: '/api/ruleChain/autoAssignToEdgeRuleChains'; }; export type GetAutoAssignToEdgeRuleChainsResponses = { /** * OK */ 200: Array; }; export type GetAutoAssignToEdgeRuleChainsResponse = GetAutoAssignToEdgeRuleChainsResponses[keyof GetAutoAssignToEdgeRuleChainsResponses]; export type DeleteRpcData = { body?: never; path: { /** * A string value representing the rpc id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ rpcId: string; }; query?: never; url: '/api/rpc/persistent/{rpcId}'; }; export type DeleteRpcResponses = { /** * OK */ 200: unknown; }; export type GetPersistedRpcData = { body?: never; path: { /** * A string value representing the rpc id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ rpcId: string; }; query?: never; url: '/api/rpc/persistent/{rpcId}'; }; export type GetPersistedRpcResponses = { /** * OK */ 200: Rpc; }; export type GetPersistedRpcResponse = GetPersistedRpcResponses[keyof GetPersistedRpcResponses]; export type GetPersistedRpcByDeviceData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Status of the RPC */ rpcStatus?: 'QUEUED' | 'SENT' | 'DELIVERED' | 'SUCCESSFUL' | 'TIMEOUT' | 'EXPIRED' | 'FAILED'; /** * Not implemented. Leave empty. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'expirationTime' | 'request' | 'response'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/rpc/persistent/device/{deviceId}'; }; export type GetPersistedRpcByDeviceResponses = { /** * OK */ 200: string; }; export type GetPersistedRpcByDeviceResponse = GetPersistedRpcByDeviceResponses[keyof GetPersistedRpcByDeviceResponses]; export type GetRolesByIdsData = { body?: never; path?: never; query: { /** * A list of role ids, separated by comma ',' */ roleIds: Array; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * Type of the role */ type?: 'GENERIC' | 'GROUP'; /** * The case insensitive 'substring' filter based on the role name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'description'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/roles'; }; export type GetRolesByIdsResponses = { /** * OK */ 200: PageDataRole | Array; }; export type GetRolesByIdsResponse = GetRolesByIdsResponses[keyof GetRolesByIdsResponses]; export type DeleteRoleData = { body?: never; path: { /** * A string value representing the role id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ roleId: string; }; query?: never; url: '/api/role/{roleId}'; }; export type DeleteRoleResponses = { /** * OK */ 200: unknown; }; export type GetRoleByIdData = { body?: never; path: { /** * A string value representing the role id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ roleId: string; }; query?: never; url: '/api/role/{roleId}'; }; export type GetRoleByIdResponses = { /** * OK */ 200: Role; }; export type GetRoleByIdResponse = GetRoleByIdResponses[keyof GetRoleByIdResponses]; export type DownloadResourceIfChangedData = { body?: never; headers?: { 'If-None-Match'?: string; }; path: { /** * Type of the resource */ resourceType: 'lwm2m_model' | 'jks' | 'pkcs_12' | 'js_module' | 'dashboard'; /** * Scope of the resource */ scope: 'system' | 'tenant'; /** * Key of the resource, e.g. 'extension.js' */ key: string; }; query?: never; url: '/api/resource/{resourceType}/{scope}/{key}'; }; export type DownloadResourceIfChangedResponses = { /** * OK */ 200: Blob | File; }; export type DownloadResourceIfChangedResponse = DownloadResourceIfChangedResponses[keyof DownloadResourceIfChangedResponses]; export type GetResourceInfoData = { body?: never; path: { /** * Type of the resource */ resourceType: 'lwm2m_model' | 'jks' | 'pkcs_12' | 'js_module' | 'dashboard'; /** * Scope of the resource */ scope: 'system' | 'tenant'; /** * Key of the resource, e.g. 'extension.js' */ key: string; }; query?: never; url: '/api/resource/{resourceType}/{scope}/{key}/info'; }; export type GetResourceInfoResponses = { /** * OK */ 200: TbResourceInfo; }; export type GetResourceInfoResponse = GetResourceInfoResponses[keyof GetResourceInfoResponses]; export type DeleteResourceData = { body?: never; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: { force?: boolean; }; url: '/api/resource/{resourceId}'; }; export type DeleteResourceResponses = { /** * OK */ 200: TbResourceDeleteResult; }; export type DeleteResourceResponse = DeleteResourceResponses[keyof DeleteResourceResponses]; export type GetResourceByIdData = { body?: never; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/{resourceId}'; }; export type GetResourceByIdResponses = { /** * OK */ 200: TbResource; }; export type GetResourceByIdResponse = GetResourceByIdResponses[keyof GetResourceByIdResponses]; export type DownloadResourceData = { body?: never; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/{resourceId}/download'; }; export type DownloadResourceResponses = { /** * OK */ 200: Blob | File; }; export type DownloadResourceResponse = DownloadResourceResponses[keyof DownloadResourceResponses]; export type GetTenantResourcesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the resource title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'resourceType' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/resource/tenant'; }; export type GetTenantResourcesResponses = { /** * OK */ 200: PageDataTbResourceInfo; }; export type GetTenantResourcesResponse = GetTenantResourcesResponses[keyof GetTenantResourcesResponses]; export type DownloadPkcs12ResourceIfChangedData = { body?: never; headers?: { 'If-None-Match'?: string; }; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/pkcs12/{resourceId}/download'; }; export type DownloadPkcs12ResourceIfChangedResponses = { /** * OK */ 200: Blob | File; }; export type DownloadPkcs12ResourceIfChangedResponse = DownloadPkcs12ResourceIfChangedResponses[keyof DownloadPkcs12ResourceIfChangedResponses]; export type GetLwm2mListObjectsData = { body?: never; path?: never; query: { /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder: 'ASC' | 'DESC'; /** * Property of entity to sort by */ sortProperty: 'id' | 'name'; /** * LwM2M Object ids. */ objectIds: Array; }; url: '/api/resource/lwm2m'; }; export type GetLwm2mListObjectsResponses = { /** * OK */ 200: Array; }; export type GetLwm2mListObjectsResponse = GetLwm2mListObjectsResponses[keyof GetLwm2mListObjectsResponses]; export type DownloadLwm2mResourceIfChangedData = { body?: never; headers?: { 'If-None-Match'?: string; }; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/lwm2m/{resourceId}/download'; }; export type DownloadLwm2mResourceIfChangedResponses = { /** * OK */ 200: Blob | File; }; export type DownloadLwm2mResourceIfChangedResponse = DownloadLwm2mResourceIfChangedResponses[keyof DownloadLwm2mResourceIfChangedResponses]; export type GetLwm2mListObjectsPageData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the resource title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'id' | 'name'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/resource/lwm2m/page'; }; export type GetLwm2mListObjectsPageResponses = { /** * OK */ 200: Array; }; export type GetLwm2mListObjectsPageResponse = GetLwm2mListObjectsPageResponses[keyof GetLwm2mListObjectsPageResponses]; export type DownloadJsResourceIfChangedData = { body?: never; headers?: { 'If-None-Match'?: string; }; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/js/{resourceId}/download'; }; export type DownloadJsResourceIfChangedResponses = { /** * OK */ 200: Blob | File; }; export type DownloadJsResourceIfChangedResponse = DownloadJsResourceIfChangedResponses[keyof DownloadJsResourceIfChangedResponses]; export type DownloadJksResourceIfChangedData = { body?: never; headers?: { 'If-None-Match'?: string; }; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/jks/{resourceId}/download'; }; export type DownloadJksResourceIfChangedResponses = { /** * OK */ 200: Blob | File; }; export type DownloadJksResourceIfChangedResponse = DownloadJksResourceIfChangedResponses[keyof DownloadJksResourceIfChangedResponses]; export type GetResourceInfoByIdData = { body?: never; path: { /** * A string value representing the resource id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ resourceId: string; }; query?: never; url: '/api/resource/info/{resourceId}'; }; export type GetResourceInfoByIdResponses = { /** * OK */ 200: TbResourceInfo; }; export type GetResourceInfoByIdResponse = GetResourceInfoByIdResponses[keyof GetResourceInfoByIdResponses]; export type GetReportTemplatesByIdsData = { body?: never; path?: never; query: { /** * A list of report template ids, separated by comma ',' */ reportTemplateIds: Array; }; url: '/api/reportTemplates'; }; export type GetReportTemplatesByIdsResponses = { /** * OK */ 200: Array; }; export type GetReportTemplatesByIdsResponse = GetReportTemplatesByIdsResponses[keyof GetReportTemplatesByIdsResponses]; export type GetAllReportTemplateInfosData = { body?: never; path?: never; query: { /** * A list of string values separated by comma ',' representing one of the ReportTemplateType enumeration value. */ typeList?: Array<'REPORT' | 'SUB_REPORT'>; /** * A list of string values separated by comma ',' representing one of the TbReportFormat enumeration value. */ formatList?: Array<'PDF' | 'CSV'>; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the report template name or customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'ownerName'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/reportTemplateInfos/all'; }; export type GetAllReportTemplateInfosResponses = { /** * OK */ 200: PageDataReportTemplateInfo; }; export type GetAllReportTemplateInfosResponse = GetAllReportTemplateInfosResponses[keyof GetAllReportTemplateInfosResponses]; export type DeleteReportTemplateData = { body?: never; path: { /** * A string value representing the report template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ reportTemplateId: string; }; query?: never; url: '/api/reportTemplate/{reportTemplateId}'; }; export type DeleteReportTemplateResponses = { /** * OK */ 200: unknown; }; export type GetReportTemplateByIdData = { body?: never; path: { /** * A string value representing the report template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ reportTemplateId: string; }; query?: never; url: '/api/reportTemplate/{reportTemplateId}'; }; export type GetReportTemplateByIdResponses = { /** * OK */ 200: ReportTemplate; }; export type GetReportTemplateByIdResponse = GetReportTemplateByIdResponses[keyof GetReportTemplateByIdResponses]; export type GetReportTemplateInfoByIdData = { body?: never; path: { /** * A string value representing the report template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ reportTemplateId: string; }; query?: never; url: '/api/reportTemplate/info/{reportTemplateId}'; }; export type GetReportTemplateInfoByIdResponses = { /** * OK */ 200: ReportTemplateInfo; }; export type GetReportTemplateInfoByIdResponse = GetReportTemplateInfoByIdResponses[keyof GetReportTemplateInfoByIdResponses]; export type DeleteQueueData = { body?: never; path: { /** * A string value representing the queue id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ queueId: string; }; query?: never; url: '/api/queues/{queueId}'; }; export type DeleteQueueResponses = { /** * OK */ 200: unknown; }; export type GetQueueByIdData = { body?: never; path: { /** * A string value representing the queue id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ queueId: string; }; query?: never; url: '/api/queues/{queueId}'; }; export type GetQueueByIdResponses = { /** * OK */ 200: Queue; }; export type GetQueueByIdResponse = GetQueueByIdResponses[keyof GetQueueByIdResponses]; export type GetQueueByNameData = { body?: never; path: { /** * A string value representing the queue id. For example, 'Main' */ queueName: string; }; query?: never; url: '/api/queues/name/{queueName}'; }; export type GetQueueByNameResponses = { /** * OK */ 200: Queue; }; export type GetQueueByNameResponse = GetQueueByNameResponses[keyof GetQueueByNameResponses]; export type GetQueueStatsByIdsData = { body?: never; path?: never; query: { /** * A list of queue stats ids, separated by comma ',' */ queueStatsIds: Array; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the queue name or service id. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/queueStats'; }; export type GetQueueStatsByIdsResponses = { /** * OK */ 200: PageDataQueueStats | Array; }; export type GetQueueStatsByIdsResponse = GetQueueStatsByIdsResponses[keyof GetQueueStatsByIdsResponses]; export type GetQueueStatsByIdData = { body?: never; path: { /** * A string value representing the queue stats id. For example, '687f294c-42b6-435a-983c-b7beff2784f9' */ queueStatsId: string; }; query?: never; url: '/api/queueStats/{queueStatsId}'; }; export type GetQueueStatsByIdResponses = { /** * OK */ 200: QueueStats; }; export type GetQueueStatsByIdResponse = GetQueueStatsByIdResponses[keyof GetQueueStatsByIdResponses]; export type GetAttributesData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing the comma-separated list of attributes keys. For example, 'active,inactivityAlarmTime'. If attribute keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; params: MultiValueMapStringString; }; url: '/api/plugins/telemetry/{entityType}/{entityId}/values/attributes'; }; export type GetAttributesResponses = { /** * OK */ 200: Array; }; export type GetAttributesResponse = GetAttributesResponses[keyof GetAttributesResponses]; export type GetAttributesByScopeData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE' | 'CLIENT_SCOPE'; }; query: { /** * A string value representing the comma-separated list of attributes keys. For example, 'active,inactivityAlarmTime'. If attribute keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; params: MultiValueMapStringString; }; url: '/api/plugins/telemetry/{entityType}/{entityId}/values/attributes/{scope}'; }; export type GetAttributesByScopeResponses = { /** * OK */ 200: Array; }; export type GetAttributesByScopeResponse = GetAttributesByScopeResponses[keyof GetAttributesByScopeResponses]; export type GetTimeseriesKeysData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/keys/timeseries'; }; export type GetTimeseriesKeysResponses = { /** * OK */ 200: string; }; export type GetTimeseriesKeysResponse = GetTimeseriesKeysResponses[keyof GetTimeseriesKeysResponses]; export type GetAttributeKeysData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/keys/attributes'; }; export type GetAttributeKeysResponses = { /** * OK */ 200: string; }; export type GetAttributeKeysResponse = GetAttributeKeysResponses[keyof GetAttributeKeysResponses]; export type GetAttributeKeysByScopeData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing the attributes scope. For example, 'SERVER_SCOPE'. */ scope: 'SERVER_SCOPE' | 'SHARED_SCOPE' | 'CLIENT_SCOPE'; }; query?: never; url: '/api/plugins/telemetry/{entityType}/{entityId}/keys/attributes/{scope}'; }; export type GetAttributeKeysByScopeResponses = { /** * OK */ 200: string; }; export type GetAttributeKeysByScopeResponse = GetAttributeKeysByScopeResponses[keyof GetAttributeKeysByScopeResponses]; export type GetAllowedPermissionsData = { body?: never; path?: never; query?: never; url: '/api/permissions/allowedPermissions'; }; export type GetAllowedPermissionsResponses = { /** * OK */ 200: AllowedPermissionsInfo; }; export type GetAllowedPermissionsResponse = GetAllowedPermissionsResponses[keyof GetAllowedPermissionsResponses]; export type HasEntityPermissionData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing permission operation. For example, 'READ', 'WRITE', 'DELETE', 'CREATE', 'ALL' */ operation: 'ALL' | 'CREATE' | 'READ' | 'WRITE' | 'DELETE' | 'RPC_CALL' | 'READ_CREDENTIALS' | 'WRITE_CREDENTIALS' | 'READ_ATTRIBUTES' | 'WRITE_ATTRIBUTES' | 'READ_TELEMETRY' | 'WRITE_TELEMETRY' | 'ADD_TO_GROUP' | 'REMOVE_FROM_GROUP' | 'CHANGE_OWNER' | 'IMPERSONATE' | 'CLAIM_DEVICES' | 'SHARE_GROUP' | 'ASSIGN_TO_TENANT' | 'READ_CALCULATED_FIELD' | 'WRITE_CALCULATED_FIELD'; }; query?: never; url: '/api/permission/{entityType}/{entityId}/{operation}'; }; export type HasEntityPermissionResponses = { /** * OK */ 200: boolean; }; export type HasEntityPermissionResponse = HasEntityPermissionResponses[keyof HasEntityPermissionResponses]; export type GetOwnersData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/owners'; }; export type GetOwnersResponses = { /** * OK */ 200: PageDataContactBasedObject; }; export type GetOwnersResponse = GetOwnersResponses[keyof GetOwnersResponses]; export type GetOwnerInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/ownerInfos'; }; export type GetOwnerInfosResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetOwnerInfosResponse = GetOwnerInfosResponses[keyof GetOwnerInfosResponses]; export type GetOwnerInfoData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; }; query?: never; url: '/api/ownerInfo/{ownerType}/{ownerId}'; }; export type GetOwnerInfoResponses = { /** * OK */ 200: EntityInfo; }; export type GetOwnerInfoResponse = GetOwnerInfoResponses[keyof GetOwnerInfoResponses]; export type GetOtaPackagesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the ota package title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'type' | 'title' | 'version' | 'tag' | 'url' | 'fileName' | 'dataSize' | 'checksum'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/otaPackages'; }; export type GetOtaPackagesResponses = { /** * OK */ 200: PageDataOtaPackageInfo; }; export type GetOtaPackagesResponse = GetOtaPackagesResponses[keyof GetOtaPackagesResponses]; export type GetOtaPackages1Data = { body?: never; path: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; /** * OTA Package type. */ type: 'FIRMWARE' | 'SOFTWARE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the ota package title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'type' | 'title' | 'version' | 'tag' | 'url' | 'fileName' | 'dataSize' | 'checksum'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/otaPackages/{deviceProfileId}/{type}'; }; export type GetOtaPackages1Responses = { /** * OK */ 200: PageDataOtaPackageInfo; }; export type GetOtaPackages1Response = GetOtaPackages1Responses[keyof GetOtaPackages1Responses]; export type GetGroupOtaPackagesData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ groupId: string; /** * OTA Package type. */ type: 'FIRMWARE' | 'SOFTWARE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the ota package title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'type' | 'title' | 'version' | 'tag' | 'url' | 'fileName' | 'dataSize' | 'checksum'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/otaPackages/group/{groupId}/{type}'; }; export type GetGroupOtaPackagesResponses = { /** * OK */ 200: PageDataOtaPackageInfo; }; export type GetGroupOtaPackagesResponse = GetGroupOtaPackagesResponses[keyof GetGroupOtaPackagesResponses]; export type DownloadOtaPackageData = { body?: never; path: { /** * A string value representing the ota package id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ otaPackageId: string; }; query?: never; url: '/api/otaPackage/{otaPackageId}/download'; }; export type DownloadOtaPackageResponses = { /** * OK */ 200: Blob | File; }; export type DownloadOtaPackageResponse = DownloadOtaPackageResponses[keyof DownloadOtaPackageResponses]; export type GetOtaPackageInfoByIdData = { body?: never; path: { /** * A string value representing the ota package id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ otaPackageId: string; }; query?: never; url: '/api/otaPackage/info/{otaPackageId}'; }; export type GetOtaPackageInfoByIdResponses = { /** * OK */ 200: OtaPackageInfo; }; export type GetOtaPackageInfoByIdResponse = GetOtaPackageInfoByIdResponses[keyof GetOtaPackageInfoByIdResponses]; export type GetLoginProcessingUrlData = { body?: never; path?: never; query?: never; url: '/api/oauth2/loginProcessingUrl'; }; export type GetLoginProcessingUrlResponses = { /** * OK */ 200: string; }; export type GetLoginProcessingUrlResponse = GetLoginProcessingUrlResponses[keyof GetLoginProcessingUrlResponses]; export type DeleteOauth2ClientData = { body?: never; path: { id: string; }; query?: never; url: '/api/oauth2/client/{id}'; }; export type DeleteOauth2ClientResponses = { /** * OK */ 200: unknown; }; export type GetOAuth2ClientByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/oauth2/client/{id}'; }; export type GetOAuth2ClientByIdResponses = { /** * OK */ 200: OAuth2Client; }; export type GetOAuth2ClientByIdResponse = GetOAuth2ClientByIdResponses[keyof GetOAuth2ClientByIdResponses]; export type FindOAuth2ClientInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on client's title */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; /** * A list of oauth2 ids, separated by comma ',' */ clientIds: Array; }; url: '/api/oauth2/client/infos'; }; export type FindOAuth2ClientInfosResponses = { /** * OK */ 200: Array | PageDataOAuth2ClientInfo; }; export type FindOAuth2ClientInfosResponse = FindOAuth2ClientInfosResponses[keyof FindOAuth2ClientInfosResponses]; export type GetNotificationsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on notification subject or text */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; /** * To search for unread notifications only */ unreadOnly?: boolean; /** * Delivery method */ deliveryMethod?: 'WEB' | 'MOBILE_APP'; }; url: '/api/notifications'; }; export type GetNotificationsResponses = { /** * OK */ 200: PageDataNotification; }; export type GetNotificationsResponse = GetNotificationsResponses[keyof GetNotificationsResponses]; export type GetUnreadNotificationsCountData = { body?: never; path?: never; query?: { /** * Delivery method */ deliveryMethod?: 'WEB' | 'MOBILE_APP'; }; url: '/api/notifications/unread/count'; }; export type GetUnreadNotificationsCountResponses = { /** * OK */ 200: number; }; export type GetUnreadNotificationsCountResponse = GetUnreadNotificationsCountResponses[keyof GetUnreadNotificationsCountResponses]; export type GetNotificationTemplatesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on template's name and notification type */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; /** * Comma-separated list of notification types to filter the templates */ notificationTypes?: Array; }; url: '/api/notification/templates'; }; export type GetNotificationTemplatesResponses = { /** * OK */ 200: PageDataNotificationTemplate; }; export type GetNotificationTemplatesResponse = GetNotificationTemplatesResponses[keyof GetNotificationTemplatesResponses]; export type DeleteNotificationTemplateByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/template/{id}'; }; export type DeleteNotificationTemplateByIdResponses = { /** * OK */ 200: unknown; }; export type GetNotificationTemplateByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/template/{id}'; }; export type GetNotificationTemplateByIdResponses = { /** * OK */ 200: NotificationTemplate; }; export type GetNotificationTemplateByIdResponse = GetNotificationTemplateByIdResponses[keyof GetNotificationTemplateByIdResponses]; export type GetNotificationTargetsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filed based on the target's name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; notificationType?: 'GENERAL' | 'ALARM' | 'DEVICE_ACTIVITY' | 'ENTITY_ACTION' | 'ALARM_COMMENT' | 'RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT' | 'ALARM_ASSIGNMENT' | 'NEW_PLATFORM_VERSION' | 'ENTITIES_LIMIT' | 'ENTITIES_LIMIT_INCREASE_REQUEST' | 'ADDON_ACCESS_REQUEST' | 'ADDON_ACCESS_ERROR' | 'PLAN_UPGRADE_REQUEST' | 'API_USAGE_LIMIT' | 'RULE_NODE' | 'INTEGRATION_LIFECYCLE_EVENT' | 'RATE_LIMITS' | 'EDGE_CONNECTION' | 'EDGE_COMMUNICATION_FAILURE' | 'TASK_PROCESSING_FAILURE' | 'RESOURCES_SHORTAGE' | 'USER_ACTIVATED' | 'USER_REGISTERED' | 'REPORT_GENERATED'; /** * Comma-separated list of uuids representing targets ids */ ids: Array; }; url: '/api/notification/targets'; }; export type GetNotificationTargetsResponses = { /** * OK */ 200: Array | PageDataNotificationTarget; }; export type GetNotificationTargetsResponse = GetNotificationTargetsResponses[keyof GetNotificationTargetsResponses]; export type DeleteNotificationTargetByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/target/{id}'; }; export type DeleteNotificationTargetByIdResponses = { /** * OK */ 200: unknown; }; export type GetNotificationTargetByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/target/{id}'; }; export type GetNotificationTargetByIdResponses = { /** * OK */ 200: NotificationTarget; }; export type GetNotificationTargetByIdResponse = GetNotificationTargetByIdResponses[keyof GetNotificationTargetByIdResponses]; export type ListSlackConversationsData = { body?: never; path?: never; query: { type: 'DIRECT' | 'PUBLIC_CHANNEL' | 'PRIVATE_CHANNEL'; /** * Slack bot token. If absent - system Slack settings will be used */ token?: string; }; url: '/api/notification/slack/conversations'; }; export type ListSlackConversationsResponses = { /** * OK */ 200: Array; }; export type ListSlackConversationsResponse = ListSlackConversationsResponses[keyof ListSlackConversationsResponses]; export type GetNotificationRulesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on rule's name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/notification/rules'; }; export type GetNotificationRulesResponses = { /** * OK */ 200: PageDataNotificationRuleInfo; }; export type GetNotificationRulesResponse = GetNotificationRulesResponses[keyof GetNotificationRulesResponses]; export type DeleteNotificationRuleData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/rule/{id}'; }; export type DeleteNotificationRuleResponses = { /** * OK */ 200: unknown; }; export type GetNotificationRuleByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/rule/{id}'; }; export type GetNotificationRuleByIdResponses = { /** * OK */ 200: NotificationRuleInfo; }; export type GetNotificationRuleByIdResponse = GetNotificationRuleByIdResponses[keyof GetNotificationRuleByIdResponses]; export type GetNotificationRequestsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filed based on the used template name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/notification/requests'; }; export type GetNotificationRequestsResponses = { /** * OK */ 200: PageDataNotificationRequestInfo; }; export type GetNotificationRequestsResponse = GetNotificationRequestsResponses[keyof GetNotificationRequestsResponses]; export type DeleteNotificationRequestData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/request/{id}'; }; export type DeleteNotificationRequestResponses = { /** * OK */ 200: unknown; }; export type GetNotificationRequestByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/request/{id}'; }; export type GetNotificationRequestByIdResponses = { /** * OK */ 200: NotificationRequestInfo; }; export type GetNotificationRequestByIdResponse = GetNotificationRequestByIdResponses[keyof GetNotificationRequestByIdResponses]; export type GetAvailableDeliveryMethodsData = { body?: never; path?: never; query?: never; url: '/api/notification/deliveryMethods'; }; export type GetAvailableDeliveryMethodsResponses = { /** * OK */ 200: Array<'WEB' | 'EMAIL' | 'SMS' | 'SLACK' | 'MICROSOFT_TEAMS' | 'MOBILE_APP'>; }; export type GetAvailableDeliveryMethodsResponse = GetAvailableDeliveryMethodsResponses[keyof GetAvailableDeliveryMethodsResponses]; export type GetLoginWhiteLabelParamsData = { body?: never; path?: never; query?: never; url: '/api/noauth/whiteLabel/loginWhiteLabelParams'; }; export type GetLoginWhiteLabelParamsResponses = { /** * OK */ 200: LoginWhiteLabelingParams; }; export type GetLoginWhiteLabelParamsResponse = GetLoginWhiteLabelParamsResponses[keyof GetLoginWhiteLabelParamsResponses]; export type DownloadLoginLogoData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/noauth/whiteLabel/loginLogo/{type}/{key}'; }; export type DownloadLoginLogoResponses = { /** * OK */ 200: Blob | File; }; export type DownloadLoginLogoResponse = DownloadLoginLogoResponses[keyof DownloadLoginLogoResponses]; export type DownloadLoginFaviconData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/noauth/whiteLabel/loginFavicon/{type}/{key}'; }; export type DownloadLoginFaviconResponses = { /** * OK */ 200: Blob | File; }; export type DownloadLoginFaviconResponse = DownloadLoginFaviconResponses[keyof DownloadLoginFaviconResponses]; export type GetUserPasswordPolicyData = { body?: never; path?: never; query?: never; url: '/api/noauth/userPasswordPolicy'; }; export type GetUserPasswordPolicyResponses = { /** * OK */ 200: UserPasswordPolicy; }; export type GetUserPasswordPolicyResponse = GetUserPasswordPolicyResponses[keyof GetUserPasswordPolicyResponses]; export type GetLoginPageTranslationData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; }; query?: never; url: '/api/noauth/translation/login/{localeCode}'; }; export type GetLoginPageTranslationResponses = { /** * OK */ 200: unknown; }; export type GetTermsOfUseData = { body?: never; path?: never; query?: { pkgName?: string; platform?: 'WEB' | 'ANDROID' | 'IOS'; }; url: '/api/noauth/selfRegistration/termsOfUse'; }; export type GetTermsOfUseResponses = { /** * OK */ 200: string; }; export type GetTermsOfUseResponse = GetTermsOfUseResponses[keyof GetTermsOfUseResponses]; export type GetSignUpSelfRegistrationParamsData = { body?: never; path?: never; query?: { pkgName?: string; /** * Platform type */ platformType?: 'ANDROID' | 'IOS'; }; url: '/api/noauth/selfRegistration/signUpSelfRegistrationParams'; }; export type GetSignUpSelfRegistrationParamsResponses = { /** * OK */ 200: SignUpSelfRegistrationParams; }; export type GetSignUpSelfRegistrationParamsResponse = GetSignUpSelfRegistrationParamsResponses[keyof GetSignUpSelfRegistrationParamsResponses]; export type GetPrivacyPolicyData = { body?: never; path?: never; query?: { pkgName?: string; platform?: 'WEB' | 'ANDROID' | 'IOS'; }; url: '/api/noauth/selfRegistration/privacyPolicy'; }; export type GetPrivacyPolicyResponses = { /** * OK */ 200: string; }; export type GetPrivacyPolicyResponse = GetPrivacyPolicyResponses[keyof GetPrivacyPolicyResponses]; export type GetApplicationRedirectData = { body?: never; headers: { 'User-Agent': string; }; path?: never; query?: never; url: '/api/noauth/qr'; }; export type GetApplicationRedirectResponses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type GetApplicationRedirectResponse = GetApplicationRedirectResponses[keyof GetApplicationRedirectResponses]; export type GetUserTokenByMobileSecretData = { body?: never; path: { /** * A string value representing short-lived secret key */ secret: string; }; query?: never; url: '/api/noauth/qr/{secret}'; }; export type GetUserTokenByMobileSecretResponses = { /** * OK */ 200: JwtPair; }; export type GetUserTokenByMobileSecretResponse = GetUserTokenByMobileSecretResponses[keyof GetUserTokenByMobileSecretResponses]; export type GetLoginMobileInfoData = { body?: never; path?: never; query: { /** * Mobile application package name */ pkgName: string; /** * Platform type */ platform: 'ANDROID' | 'IOS'; }; url: '/api/noauth/mobile'; }; export type GetLoginMobileInfoResponses = { /** * OK */ 200: LoginMobileInfo; }; export type GetLoginMobileInfoResponse = GetLoginMobileInfoResponses[keyof GetLoginMobileInfoResponses]; export type MobileLoginData = { body?: never; path?: never; query: { /** * Mobile app package name. Used to identify the application and build the redirect link. */ pkgName: string; /** * Platform type */ platform: 'ANDROID' | 'IOS'; }; url: '/api/noauth/login'; }; export type MobileLoginResponses = { /** * OK */ 200: string; }; export type MobileLoginResponse = MobileLoginResponses[keyof MobileLoginResponses]; export type ActivateEmailData = { body?: never; path?: never; query: { /** * Activation token. */ emailCode: string; /** * Optional package name of the mobile application. */ pkgName?: string; /** * Platform type */ platform?: 'ANDROID' | 'IOS'; }; url: '/api/noauth/activateEmail'; }; export type ActivateEmailResponses = { /** * OK */ 200: string; }; export type ActivateEmailResponse = ActivateEmailResponses[keyof ActivateEmailResponses]; export type GetUserMobileInfoData = { body?: never; path?: never; query: { /** * Mobile application package name */ pkgName: string; /** * Platform type */ platform: 'ANDROID' | 'IOS'; }; url: '/api/mobile'; }; export type GetUserMobileInfoResponses = { /** * OK */ 200: UserMobileInfo; }; export type GetUserMobileInfoResponse = GetUserMobileInfoResponses[keyof GetUserMobileInfoResponses]; export type GetMergedMobileAppSettingsData = { body?: never; path?: never; query?: never; url: '/api/mobile/qr/merged'; }; export type GetMergedMobileAppSettingsResponses = { /** * OK */ 200: QrCodeSettings; }; export type GetMergedMobileAppSettingsResponse = GetMergedMobileAppSettingsResponses[keyof GetMergedMobileAppSettingsResponses]; export type GetMobileAppDeepLinkData = { body?: never; path?: never; query?: never; url: '/api/mobile/qr/deepLink'; }; export type GetMobileAppDeepLinkResponses = { /** * OK */ 200: string; }; export type GetMobileAppDeepLinkResponse = GetMobileAppDeepLinkResponses[keyof GetMobileAppDeepLinkResponses]; export type GetTenantMobileAppBundleInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on app's name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/mobile/bundle/infos'; }; export type GetTenantMobileAppBundleInfosResponses = { /** * OK */ 200: PageDataMobileAppBundleInfo; }; export type GetTenantMobileAppBundleInfosResponse = GetTenantMobileAppBundleInfosResponses[keyof GetTenantMobileAppBundleInfosResponses]; export type GetMobileAppBundleInfoByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/mobile/bundle/info/{id}'; }; export type GetMobileAppBundleInfoByIdResponses = { /** * OK */ 200: MobileAppBundleInfo; }; export type GetMobileAppBundleInfoByIdResponse = GetMobileAppBundleInfoByIdResponses[keyof GetMobileAppBundleInfoByIdResponses]; export type DeleteMobileAppData = { body?: never; path: { id: string; }; query?: never; url: '/api/mobile/app/{id}'; }; export type DeleteMobileAppResponses = { /** * OK */ 200: unknown; }; export type GetMobileAppByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/mobile/app/{id}'; }; export type GetMobileAppByIdResponses = { /** * OK */ 200: MobileApp; }; export type GetMobileAppByIdResponse = GetMobileAppByIdResponses[keyof GetMobileAppByIdResponses]; export type GetClientRegistrationTemplates1Data = { body?: never; path?: never; query?: never; url: '/api/mail/config/template'; }; export type GetClientRegistrationTemplates1Responses = { /** * OK */ 200: JsonNode; }; export type GetClientRegistrationTemplates1Response = GetClientRegistrationTemplates1Responses[keyof GetClientRegistrationTemplates1Responses]; export type GetLwm2mBootstrapSecurityInfoData = { body?: never; path: { /** * A Boolean value representing the Server SecurityInfo for future Bootstrap client mode settings. Values: 'true' for Bootstrap Server; 'false' for Lwm2m Server. */ isBootstrapServer: boolean; }; query?: never; url: '/api/lwm2m/deviceProfile/bootstrap/{isBootstrapServer}'; }; export type GetLwm2mBootstrapSecurityInfoResponses = { /** * OK */ 200: LwM2mServerSecurityConfigDefault; }; export type GetLwm2mBootstrapSecurityInfoResponse = GetLwm2mBootstrapSecurityInfoResponses[keyof GetLwm2mBootstrapSecurityInfoResponses]; export type GetJobsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on job's description */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; /** * Comma-separated list of job types to include. If empty - all job types are included. */ types?: Array; /** * Comma-separated list of job statuses to include. If empty - all job statuses are included. */ statuses?: Array; /** * Comma-separated list of entity ids. If empty - jobs for all entities are included. */ entities?: Array; /** * To only include jobs created after this timestamp. */ startTime?: number; /** * To only include jobs created before this timestamp. */ endTime?: number; }; url: '/api/jobs'; }; export type GetJobsResponses = { /** * OK */ 200: PageDataJob; }; export type GetJobsResponse = GetJobsResponses[keyof GetJobsResponses]; export type DeleteJobData = { body?: never; path: { id: string; }; query?: never; url: '/api/job/{id}'; }; export type DeleteJobResponses = { /** * OK */ 200: unknown; }; export type GetJobByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/job/{id}'; }; export type GetJobByIdResponses = { /** * OK */ 200: Job; }; export type GetJobByIdResponse = GetJobByIdResponses[keyof GetJobByIdResponses]; export type GetIntegrationsData = { body?: never; path?: never; query: { /** * Fetch edge template integrations */ isEdgeTemplate?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the integration name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'debugMode' | 'allowCreateDevicesOrAssets' | 'enabled' | 'remote' | 'routingKey' | 'secret'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A list of integration ids, separated by comma ',' */ integrationIds: Array; }; url: '/api/integrations'; }; export type GetIntegrationsResponses = { /** * OK */ 200: Array | PageDataIntegration; }; export type GetIntegrationsResponse = GetIntegrationsResponses[keyof GetIntegrationsResponses]; export type GetIntegrationsConvertersInfoData = { body?: never; path?: never; query?: never; url: '/api/integrations/converters/info'; }; export type GetIntegrationsConvertersInfoResponses = { /** * OK */ 200: { [key: string]: IntegrationConvertersInfo; }; }; export type GetIntegrationsConvertersInfoResponse = GetIntegrationsConvertersInfoResponses[keyof GetIntegrationsConvertersInfoResponses]; export type GetIntegrationInfosData = { body?: never; path?: never; query: { /** * Fetch edge template integrations */ isEdgeTemplate?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the integration name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'debugMode' | 'allowCreateDevicesOrAssets' | 'enabled' | 'remote' | 'routingKey' | 'secret'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/integrationInfos'; }; export type GetIntegrationInfosResponses = { /** * OK */ 200: PageDataIntegrationInfo; }; export type GetIntegrationInfosResponse = GetIntegrationInfosResponses[keyof GetIntegrationInfosResponses]; export type DeleteIntegrationData = { body?: never; path: { /** * A string value representing the integration id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ integrationId: string; }; query?: never; url: '/api/integration/{integrationId}'; }; export type DeleteIntegrationResponses = { /** * OK */ 200: unknown; }; export type GetIntegrationByIdData = { body?: never; path: { /** * A string value representing the integration id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ integrationId: string; }; query?: never; url: '/api/integration/{integrationId}'; }; export type GetIntegrationByIdResponses = { /** * OK */ 200: Integration; }; export type GetIntegrationByIdResponse = GetIntegrationByIdResponses[keyof GetIntegrationByIdResponses]; export type GetIntegrationByRoutingKeyData = { body?: never; path: { /** * A string value representing the integration routing key. For example, '542047e6-c1b2-112e-a87e-e49247c09d4b' */ routingKey: string; }; query?: never; url: '/api/integration/routingKey/{routingKey}'; }; export type GetIntegrationByRoutingKeyResponses = { /** * OK */ 200: Integration; }; export type GetIntegrationByRoutingKeyResponse = GetIntegrationByRoutingKeyResponses[keyof GetIntegrationByRoutingKeyResponses]; export type GetImagesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * A string value representing resource sub-type. */ imageSubType?: 'IMAGE' | 'SCADA_SYMBOL'; /** * Use 'true' to include system images. Disabled by default. Ignored for requests by users with system administrator authority. */ includeSystemImages?: boolean; /** * The case insensitive 'substring' filter based on the resource title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'resourceType' | 'tenantId'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/images'; }; export type GetImagesResponses = { /** * OK */ 200: PageDataTbResourceInfo; }; export type GetImagesResponse = GetImagesResponses[keyof GetImagesResponses]; export type DownloadImagePreviewData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}/preview'; }; export type DownloadImagePreviewResponses = { /** * OK */ 200: Blob | File; }; export type DownloadImagePreviewResponse = DownloadImagePreviewResponses[keyof DownloadImagePreviewResponses]; export type ExportImageData = { body?: never; path: { /** * Type of the image: tenant or system */ type: 'tenant' | 'system'; /** * Image resource key, for example thermostats_dashboard_background.jpeg */ key: string; }; query?: never; url: '/api/images/{type}/{key}/export'; }; export type ExportImageResponses = { /** * OK */ 200: ResourceExportData; }; export type ExportImageResponse = ExportImageResponses[keyof ExportImageResponses]; export type DownloadPublicImageData = { body?: never; headers?: { 'If-None-Match'?: string; 'Accept-Encoding'?: string; }; path: { publicResourceKey: string; }; query?: never; url: '/api/images/public/{publicResourceKey}'; }; export type DownloadPublicImageResponses = { /** * OK */ 200: Blob | File; }; export type DownloadPublicImageResponse = DownloadPublicImageResponses[keyof DownloadPublicImageResponses]; export type DeleteGroupPermissionData = { body?: never; path: { /** * A string value representing the group permission id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ groupPermissionId: string; }; query?: never; url: '/api/groupPermission/{groupPermissionId}'; }; export type DeleteGroupPermissionResponses = { /** * OK */ 200: unknown; }; export type GetGroupPermissionByIdData = { body?: never; path: { /** * A string value representing the group permission id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ groupPermissionId: string; }; query?: never; url: '/api/groupPermission/{groupPermissionId}'; }; export type GetGroupPermissionByIdResponses = { /** * OK */ 200: GroupPermission; }; export type GetGroupPermissionByIdResponse = GetGroupPermissionByIdResponses[keyof GetGroupPermissionByIdResponses]; export type GetGroupPermissionInfoByIdData = { body?: never; path: { /** * A string value representing the group permission id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ groupPermissionId: string; }; query: { /** * Load additional information about User('true') or Entity Group('false). */ isUserGroup: boolean; }; url: '/api/groupPermission/info/{groupPermissionId}'; }; export type GetGroupPermissionInfoByIdResponses = { /** * OK */ 200: GroupPermissionInfo; }; export type GetGroupPermissionInfoByIdResponse = GetGroupPermissionInfoByIdResponses[keyof GetGroupPermissionInfoByIdResponses]; export type GetEvents2Data = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; /** * A string value representing event type */ eventType: string; }; query: { /** * A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ tenantId: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The value is not used in searching. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'ts' | 'id'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Timestamp. Events with creation time before it won't be queried. */ startTime?: number; /** * Timestamp. Events with creation time after it won't be queried. */ endTime?: number; }; url: '/api/events/{entityType}/{entityId}/{eventType}'; }; export type GetEvents2Responses = { /** * OK */ 200: PageDataEventInfo; }; export type GetEvents2Response = GetEvents2Responses[keyof GetEvents2Responses]; export type GetAllEntityViewInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * * * ## Entity View Filter * * Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': * * ```json * { * "type": "entityViewType", * "entityViewType": "Concrete Mixer", * "entityViewNameFilter": "CAT" * } * ``` */ type?: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityViewInfos/all'; }; export type GetAllEntityViewInfosResponses = { /** * OK */ 200: PageDataEntityViewInfo; }; export type GetAllEntityViewInfosResponse = GetAllEntityViewInfosResponses[keyof GetAllEntityViewInfosResponses]; export type DeleteEntityViewData = { body?: never; path: { /** * A string value representing the entity view id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityViewId: string; }; query?: never; url: '/api/entityView/{entityViewId}'; }; export type DeleteEntityViewResponses = { /** * OK */ 200: unknown; }; export type GetEntityViewByIdData = { body?: never; path: { /** * A string value representing the entity view id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityViewId: string; }; query?: never; url: '/api/entityView/{entityViewId}'; }; export type GetEntityViewByIdResponses = { /** * OK */ 200: EntityView; }; export type GetEntityViewByIdResponse = GetEntityViewByIdResponses[keyof GetEntityViewByIdResponses]; export type GetEntityViewTypesData = { body?: never; path?: never; query?: never; url: '/api/entityView/types'; }; export type GetEntityViewTypesResponses = { /** * OK */ 200: Array; }; export type GetEntityViewTypesResponse = GetEntityViewTypesResponses[keyof GetEntityViewTypesResponses]; export type GetEntityViewInfoByIdData = { body?: never; path: { /** * A string value representing the entity view id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityViewId: string; }; query?: never; url: '/api/entityView/info/{entityViewId}'; }; export type GetEntityViewInfoByIdResponses = { /** * OK */ 200: EntityViewInfo; }; export type GetEntityViewInfoByIdResponse = GetEntityViewInfoByIdResponses[keyof GetEntityViewInfoByIdResponses]; export type GetEntityGroupsByIdsData = { body?: never; path?: never; query: { /** * A list of group ids, separated by comma ',' */ entityGroupIds: Array; }; url: '/api/entityGroups'; }; export type GetEntityGroupsByIdsResponses = { /** * OK */ 200: Array; }; export type GetEntityGroupsByIdsResponse = GetEntityGroupsByIdsResponses[keyof GetEntityGroupsByIdsResponses]; export type GetEntityGroupsHierarchyByOwnerAndTypeAndPageLinkData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroupsHierarchy/{ownerType}/{ownerId}/{groupType}'; }; export type GetEntityGroupsHierarchyByOwnerAndTypeAndPageLinkResponses = { /** * OK */ 200: PageDataEntityGroupInfo; }; export type GetEntityGroupsHierarchyByOwnerAndTypeAndPageLinkResponse = GetEntityGroupsHierarchyByOwnerAndTypeAndPageLinkResponses[keyof GetEntityGroupsHierarchyByOwnerAndTypeAndPageLinkResponses]; export type GetEntityGroupsByOwnerAndTypeData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroups/{ownerType}/{ownerId}/{groupType}'; }; export type GetEntityGroupsByOwnerAndTypeResponses = { /** * OK */ 200: PageDataEntityGroupInfo | Array; }; export type GetEntityGroupsByOwnerAndTypeResponse = GetEntityGroupsByOwnerAndTypeResponses[keyof GetEntityGroupsByOwnerAndTypeResponses]; export type GetEntityGroupsByTypeData = { body?: never; path: { /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Whether to include shared entity groups. */ includeShared?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroups/{groupType}'; }; export type GetEntityGroupsByTypeResponses = { /** * OK */ 200: PageDataEntityGroupInfo | Array; }; export type GetEntityGroupsByTypeResponse = GetEntityGroupsByTypeResponses[keyof GetEntityGroupsByTypeResponses]; export type GetSharedEntityGroupsByTypeData = { body?: never; path: { /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroups/{groupType}/shared'; }; export type GetSharedEntityGroupsByTypeResponses = { /** * OK */ 200: PageDataEntityGroupInfo | Array; }; export type GetSharedEntityGroupsByTypeResponse = GetSharedEntityGroupsByTypeResponses[keyof GetSharedEntityGroupsByTypeResponses]; export type GetEntityGroupsForEntityData = { body?: never; path: { /** * Entity Group type */ entityType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/entityGroups/{entityType}/{entityId}'; }; export type GetEntityGroupsForEntityResponses = { /** * OK */ 200: Array; }; export type GetEntityGroupsForEntityResponse = GetEntityGroupsForEntityResponses[keyof GetEntityGroupsForEntityResponses]; export type GetEdgeEntityGroupsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * EntityGroup type */ groupType: 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroups/edge/{edgeId}/{groupType}'; }; export type GetEdgeEntityGroupsResponses = { /** * OK */ 200: PageDataEntityGroupInfo; }; export type GetEdgeEntityGroupsResponse = GetEdgeEntityGroupsResponses[keyof GetEdgeEntityGroupsResponses]; export type GetEntityGroupEntityInfosByIdsData = { body?: never; path?: never; query: { /** * A list of group ids, separated by comma ',' */ entityGroupIds: Array; }; url: '/api/entityGroupInfos'; }; export type GetEntityGroupEntityInfosByIdsResponses = { /** * OK */ 200: Array; }; export type GetEntityGroupEntityInfosByIdsResponse = GetEntityGroupEntityInfosByIdsResponses[keyof GetEntityGroupEntityInfosByIdsResponses]; export type GetEntityGroupEntityInfosHierarchyByOwnerAndTypeAndPageLinkData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroupInfosHierarchy/{ownerType}/{ownerId}/{groupType}'; }; export type GetEntityGroupEntityInfosHierarchyByOwnerAndTypeAndPageLinkResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetEntityGroupEntityInfosHierarchyByOwnerAndTypeAndPageLinkResponse = GetEntityGroupEntityInfosHierarchyByOwnerAndTypeAndPageLinkResponses[keyof GetEntityGroupEntityInfosHierarchyByOwnerAndTypeAndPageLinkResponses]; export type GetEntityGroupEntityInfosByOwnerAndTypeAndPageLinkData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroupInfos/{ownerType}/{ownerId}/{groupType}'; }; export type GetEntityGroupEntityInfosByOwnerAndTypeAndPageLinkResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetEntityGroupEntityInfosByOwnerAndTypeAndPageLinkResponse = GetEntityGroupEntityInfosByOwnerAndTypeAndPageLinkResponses[keyof GetEntityGroupEntityInfosByOwnerAndTypeAndPageLinkResponses]; export type GetEntityGroupEntityInfosByTypeAndPageLinkData = { body?: never; path: { /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Whether to include shared entity groups. */ includeShared?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroupInfos/{groupType}'; }; export type GetEntityGroupEntityInfosByTypeAndPageLinkResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetEntityGroupEntityInfosByTypeAndPageLinkResponse = GetEntityGroupEntityInfosByTypeAndPageLinkResponses[keyof GetEntityGroupEntityInfosByTypeAndPageLinkResponses]; export type GetSharedEntityGroupEntityInfosByTypeAndPageLinkData = { body?: never; path: { /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroupInfos/{groupType}/shared'; }; export type GetSharedEntityGroupEntityInfosByTypeAndPageLinkResponses = { /** * OK */ 200: PageDataEntityInfo; }; export type GetSharedEntityGroupEntityInfosByTypeAndPageLinkResponse = GetSharedEntityGroupEntityInfosByTypeAndPageLinkResponses[keyof GetSharedEntityGroupEntityInfosByTypeAndPageLinkResponses]; export type GetEntityGroupEntityInfoByIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroupInfo/{entityGroupId}'; }; export type GetEntityGroupEntityInfoByIdResponses = { /** * OK */ 200: EntityInfo; }; export type GetEntityGroupEntityInfoByIdResponse = GetEntityGroupEntityInfoByIdResponses[keyof GetEntityGroupEntityInfoByIdResponses]; export type GetEntityGroupByOwnerAndNameAndTypeData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; /** * Entity Group name */ groupName: string; }; query?: never; url: '/api/entityGroup/{ownerType}/{ownerId}/{groupType}/{groupName}'; }; export type GetEntityGroupByOwnerAndNameAndTypeResponses = { /** * OK */ 200: EntityGroupInfo; }; export type GetEntityGroupByOwnerAndNameAndTypeResponse = GetEntityGroupByOwnerAndNameAndTypeResponses[keyof GetEntityGroupByOwnerAndNameAndTypeResponses]; export type DeleteEntityGroupData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}'; }; export type DeleteEntityGroupResponses = { /** * OK */ 200: unknown; }; export type GetEntityGroupByIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}'; }; export type GetEntityGroupByIdResponses = { /** * OK */ 200: EntityGroupInfo; }; export type GetEntityGroupByIdResponse = GetEntityGroupByIdResponses[keyof GetEntityGroupByIdResponses]; export type GetGroupEntityData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/{entityId}'; }; export type GetGroupEntityResponses = { /** * OK */ 200: ShortEntityView; }; export type GetGroupEntityResponse = GetGroupEntityResponses[keyof GetGroupEntityResponses]; export type GetUsersByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/users'; }; export type GetUsersByEntityGroupIdResponses = { /** * OK */ 200: PageDataUser; }; export type GetUsersByEntityGroupIdResponse = GetUsersByEntityGroupIdResponses[keyof GetUsersByEntityGroupIdResponses]; export type GetEntityGroupPermissionsData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query?: never; url: '/api/entityGroup/{entityGroupId}/groupPermissions'; }; export type GetEntityGroupPermissionsResponses = { /** * OK */ 200: Array; }; export type GetEntityGroupPermissionsResponse = GetEntityGroupPermissionsResponses[keyof GetEntityGroupPermissionsResponses]; export type GetEntityViewsByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/entityViews'; }; export type GetEntityViewsByEntityGroupIdResponses = { /** * OK */ 200: PageDataEntityView; }; export type GetEntityViewsByEntityGroupIdResponse = GetEntityViewsByEntityGroupIdResponses[keyof GetEntityViewsByEntityGroupIdResponses]; export type GetEntitiesData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the entity group name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/entities'; }; export type GetEntitiesResponses = { /** * OK */ 200: PageDataShortEntityView; }; export type GetEntitiesResponse = GetEntitiesResponses[keyof GetEntitiesResponses]; export type GetEdgesByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/edges'; }; export type GetEdgesByEntityGroupIdResponses = { /** * OK */ 200: PageDataEdge; }; export type GetEdgesByEntityGroupIdResponse = GetEdgesByEntityGroupIdResponses[keyof GetEdgesByEntityGroupIdResponses]; export type GetDevicesByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/devices'; }; export type GetDevicesByEntityGroupIdResponses = { /** * OK */ 200: PageDataDevice; }; export type GetDevicesByEntityGroupIdResponse = GetDevicesByEntityGroupIdResponses[keyof GetDevicesByEntityGroupIdResponses]; export type GetDashboardsByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/dashboards'; }; export type GetDashboardsByEntityGroupIdResponses = { /** * OK */ 200: PageDataDashboardInfo; }; export type GetDashboardsByEntityGroupIdResponse = GetDashboardsByEntityGroupIdResponses[keyof GetDashboardsByEntityGroupIdResponses]; export type ExportGroupDashboardsData = { body?: never; headers?: { 'Accept-Encoding'?: string; }; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Limit of the entities to export */ limit: number; }; url: '/api/entityGroup/{entityGroupId}/dashboards/export'; }; export type ExportGroupDashboardsResponses = { /** * OK */ 200: unknown; }; export type GetCustomersByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'city'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/customers'; }; export type GetCustomersByEntityGroupIdResponses = { /** * OK */ 200: PageDataCustomer; }; export type GetCustomersByEntityGroupIdResponse = GetCustomersByEntityGroupIdResponses[keyof GetCustomersByEntityGroupIdResponses]; export type GetAssetsByEntityGroupIdData = { body?: never; path: { /** * A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityGroupId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entityGroup/{entityGroupId}/assets'; }; export type GetAssetsByEntityGroupIdResponses = { /** * OK */ 200: PageDataAsset; }; export type GetAssetsByEntityGroupIdResponse = GetAssetsByEntityGroupIdResponses[keyof GetAssetsByEntityGroupIdResponses]; export type GetEntityGroupAllByOwnerAndTypeData = { body?: never; path: { /** * Tenant or Customer */ ownerType: 'TENANT' | 'CUSTOMER'; /** * A string value representing the Tenant or Customer id */ ownerId: string; /** * Entity Group type */ groupType: 'CUSTOMER' | 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD' | 'EDGE'; }; query?: never; url: '/api/entityGroup/all/{ownerType}/{ownerId}/{groupType}'; }; export type GetEntityGroupAllByOwnerAndTypeResponses = { /** * OK */ 200: EntityGroupInfo; }; export type GetEntityGroupAllByOwnerAndTypeResponse = GetEntityGroupAllByOwnerAndTypeResponses[keyof GetEntityGroupAllByOwnerAndTypeResponses]; export type GetVersionCreateRequestStatusData = { body?: never; path: { /** * A string value representing the version control request id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ requestId: string; }; query?: never; url: '/api/entities/vc/version/{requestId}/status'; }; export type GetVersionCreateRequestStatusResponses = { /** * OK */ 200: VersionCreationResult; }; export type GetVersionCreateRequestStatusResponse = GetVersionCreateRequestStatusResponses[keyof GetVersionCreateRequestStatusResponses]; export type ListEntityTypeVersionsData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; }; query: { /** * The name of the working branch, for example 'master' */ branch: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the entity version name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'timestamp'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entities/vc/version/{entityType}'; }; export type ListEntityTypeVersionsResponses = { /** * OK */ 200: PageDataEntityVersion; }; export type ListEntityTypeVersionsResponse = ListEntityTypeVersionsResponses[keyof ListEntityTypeVersionsResponses]; export type ListEntityVersionsData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * A string value representing external entity id. This is `externalId` property of an entity, or otherwise if not set - simply id of this entity. */ externalEntityUuid: string; }; query: { /** * The name of the working branch, for example 'master' */ branch: string; internalEntityId?: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the entity version name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'timestamp'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/entities/vc/version/{entityType}/{externalEntityUuid}'; }; export type ListEntityVersionsResponses = { /** * OK */ 200: PageDataEntityVersion; }; export type ListEntityVersionsResponse = ListEntityVersionsResponses[keyof ListEntityVersionsResponses]; export type GetEntityDataInfoData = { body?: never; path: { /** * Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. */ versionId: string; /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * A string value representing external entity id */ externalEntityUuid: string; }; query?: { /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ internalEntityId?: string; }; url: '/api/entities/vc/info/{versionId}/{entityType}/{externalEntityUuid}'; }; export type GetEntityDataInfoResponses = { /** * OK */ 200: EntityDataInfo; }; export type GetEntityDataInfoResponse = GetEntityDataInfoResponses[keyof GetEntityDataInfoResponses]; export type ListAllEntitiesAtVersionData = { body?: never; path: { /** * Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. */ versionId: string; }; query?: never; url: '/api/entities/vc/entity/{versionId}'; }; export type ListAllEntitiesAtVersionResponses = { /** * OK */ 200: Array; }; export type ListAllEntitiesAtVersionResponse = ListAllEntitiesAtVersionResponses[keyof ListAllEntitiesAtVersionResponses]; export type GetVersionLoadRequestStatusData = { body?: never; path: { /** * A string value representing the version control request id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ requestId: string; }; query?: never; url: '/api/entities/vc/entity/{requestId}/status'; }; export type GetVersionLoadRequestStatusResponses = { /** * OK */ 200: VersionLoadResult; }; export type GetVersionLoadRequestStatusResponse = GetVersionLoadRequestStatusResponses[keyof GetVersionLoadRequestStatusResponses]; export type ListEntitiesAtVersionData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. */ versionId: string; }; query?: never; url: '/api/entities/vc/entity/{entityType}/{versionId}'; }; export type ListEntitiesAtVersionResponses = { /** * OK */ 200: Array; }; export type ListEntitiesAtVersionResponse = ListEntitiesAtVersionResponses[keyof ListEntitiesAtVersionResponses]; export type CompareEntityDataToVersionData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ internalEntityUuid: string; }; query: { /** * Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. */ versionId: string; }; url: '/api/entities/vc/diff/{entityType}/{internalEntityUuid}'; }; export type CompareEntityDataToVersionResponses = { /** * OK */ 200: EntityDataDiff; }; export type CompareEntityDataToVersionResponse = CompareEntityDataToVersionResponses[keyof CompareEntityDataToVersionResponses]; export type ListBranchesData = { body?: never; path?: never; query?: never; url: '/api/entities/vc/branches'; }; export type ListBranchesResponses = { /** * OK */ 200: Array; }; export type ListBranchesResponse = ListBranchesResponses[keyof ListBranchesResponses]; export type GetEdqsStateData = { body?: never; path?: never; query?: never; url: '/api/edqs/state'; }; export type GetEdqsStateResponses = { /** * OK */ 200: EdqsState; }; export type GetEdqsStateResponse = GetEdqsStateResponses[keyof GetEdqsStateResponses]; export type IsEdgesSupportEnabledData = { body?: never; path?: never; query?: never; url: '/api/edges/enabled'; }; export type IsEdgesSupportEnabledResponses = { /** * OK */ 200: boolean; }; export type IsEdgesSupportEnabledResponse = IsEdgesSupportEnabledResponses[keyof IsEdgesSupportEnabledResponses]; export type GetAllEdgeInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the edge type. For example, 'default' */ type?: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/edgeInfos/all'; }; export type GetAllEdgeInfosResponses = { /** * OK */ 200: PageDataEdgeInfo; }; export type GetAllEdgeInfosResponse = GetAllEdgeInfosResponses[keyof GetAllEdgeInfosResponses]; export type DeleteEdgeData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/{edgeId}'; }; export type DeleteEdgeResponses = { /** * OK */ 200: unknown; }; export type GetEdgeByIdData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/{edgeId}'; }; export type GetEdgeByIdResponses = { /** * OK */ 200: Edge; }; export type GetEdgeByIdResponse = GetEdgeByIdResponses[keyof GetEdgeByIdResponses]; export type IsEdgeUpgradeAvailableData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/{edgeId}/upgrade/available'; }; export type IsEdgeUpgradeAvailableResponses = { /** * OK */ 200: boolean; }; export type IsEdgeUpgradeAvailableResponse = IsEdgeUpgradeAvailableResponses[keyof IsEdgeUpgradeAvailableResponses]; export type GetEdgeSchedulerEventsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the scheduler event name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/edge/{edgeId}/schedulerEvents'; }; export type GetEdgeSchedulerEventsResponses = { /** * OK */ 200: PageDataSchedulerEventInfo; }; export type GetEdgeSchedulerEventsResponse = GetEdgeSchedulerEventsResponses[keyof GetEdgeSchedulerEventsResponses]; export type GetEdgeRuleChainsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the rule chain name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'root'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/edge/{edgeId}/ruleChains'; }; export type GetEdgeRuleChainsResponses = { /** * OK */ 200: PageDataRuleChain; }; export type GetEdgeRuleChainsResponse = GetEdgeRuleChainsResponses[keyof GetEdgeRuleChainsResponses]; export type GetEdgeIntegrationsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'startsWith' filter based on the integration name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'debugMode' | 'allowCreateDevicesOrAssets' | 'enabled' | 'remote' | 'routingKey' | 'secret'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/edge/{edgeId}/integrations'; }; export type GetEdgeIntegrationsResponses = { /** * OK */ 200: PageDataIntegration; }; export type GetEdgeIntegrationsResponse = GetEdgeIntegrationsResponses[keyof GetEdgeIntegrationsResponses]; export type GetEdgeIntegrationInfosData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'startsWith' filter based on the integration name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'debugMode' | 'allowCreateDevicesOrAssets' | 'enabled' | 'remote' | 'routingKey' | 'secret'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/edge/{edgeId}/integrationInfos'; }; export type GetEdgeIntegrationInfosResponses = { /** * OK */ 200: PageDataIntegrationInfo; }; export type GetEdgeIntegrationInfosResponse = GetEdgeIntegrationInfosResponses[keyof GetEdgeIntegrationInfosResponses]; export type GetEdgeEventsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the edge event type name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Timestamp. Edge events with creation time before it won't be queried */ startTime?: number; /** * Timestamp. Edge events with creation time after it won't be queried */ endTime?: number; }; url: '/api/edge/{edgeId}/events'; }; export type GetEdgeEventsResponses = { /** * OK */ 200: PageDataEdgeEvent; }; export type GetEdgeEventsResponse = GetEdgeEventsResponses[keyof GetEdgeEventsResponses]; export type GetAllEdgeSchedulerEventsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/{edgeId}/allSchedulerEvents'; }; export type GetAllEdgeSchedulerEventsResponses = { /** * OK */ 200: Array; }; export type GetAllEdgeSchedulerEventsResponse = GetAllEdgeSchedulerEventsResponses[keyof GetAllEdgeSchedulerEventsResponses]; export type GetEdgeTypesData = { body?: never; path?: never; query?: never; url: '/api/edge/types'; }; export type GetEdgeTypesResponses = { /** * OK */ 200: Array; }; export type GetEdgeTypesResponse = GetEdgeTypesResponses[keyof GetEdgeTypesResponses]; export type FindMissingToRelatedRuleChainsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/missingToRelatedRuleChains/{edgeId}'; }; export type FindMissingToRelatedRuleChainsResponses = { /** * OK */ 200: string; }; export type FindMissingToRelatedRuleChainsResponse = FindMissingToRelatedRuleChainsResponses[keyof FindMissingToRelatedRuleChainsResponses]; export type FindAllRelatedEdgesMissingAttributesData = { body?: never; path: { /** * A string value representing the integration id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ integrationId: string; }; query?: never; url: '/api/edge/integration/{integrationId}/allMissingAttributes'; }; export type FindAllRelatedEdgesMissingAttributesResponses = { /** * OK */ 200: string; }; export type FindAllRelatedEdgesMissingAttributesResponse = FindAllRelatedEdgesMissingAttributesResponses[keyof FindAllRelatedEdgesMissingAttributesResponses]; export type FindEdgeMissingAttributesData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query: { /** * A list of assigned integration ids, separated by comma ',' */ integrationIds: Array; }; url: '/api/edge/integration/{edgeId}/missingAttributes'; }; export type FindEdgeMissingAttributesResponses = { /** * OK */ 200: string; }; export type FindEdgeMissingAttributesResponse = FindEdgeMissingAttributesResponses[keyof FindEdgeMissingAttributesResponses]; export type GetEdgeUpgradeInstructionsData = { body?: never; path: { /** * Edge version */ edgeVersion: string; /** * Upgrade method ('docker', 'ubuntu' or 'centos') */ method: 'docker' | 'ubuntu' | 'centos'; }; query?: never; url: '/api/edge/instructions/upgrade/{edgeVersion}/{method}'; }; export type GetEdgeUpgradeInstructionsResponses = { /** * OK */ 200: EdgeInstructions; }; export type GetEdgeUpgradeInstructionsResponse = GetEdgeUpgradeInstructionsResponses[keyof GetEdgeUpgradeInstructionsResponses]; export type GetEdgeInstallInstructionsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * Installation method ('docker', 'ubuntu' or 'centos') */ method: 'docker' | 'ubuntu' | 'centos'; }; query?: never; url: '/api/edge/instructions/install/{edgeId}/{method}'; }; export type GetEdgeInstallInstructionsResponses = { /** * OK */ 200: EdgeInstructions; }; export type GetEdgeInstallInstructionsResponse = GetEdgeInstallInstructionsResponses[keyof GetEdgeInstallInstructionsResponses]; export type GetEdgeInfoByIdData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; }; query?: never; url: '/api/edge/info/{edgeId}'; }; export type GetEdgeInfoByIdResponses = { /** * OK */ 200: EdgeInfo; }; export type GetEdgeInfoByIdResponse = GetEdgeInfoByIdResponses[keyof GetEdgeInfoByIdResponses]; export type GetDomainInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Case-insensitive 'substring' filter based on domain's name */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: string; }; url: '/api/domain/infos'; }; export type GetDomainInfosResponses = { /** * OK */ 200: PageDataDomainInfo; }; export type GetDomainInfosResponse = GetDomainInfosResponses[keyof GetDomainInfosResponses]; export type GetDomainInfoByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/domain/info/{id}'; }; export type GetDomainInfoByIdResponses = { /** * OK */ 200: DomainInfo; }; export type GetDomainInfoByIdResponse = GetDomainInfoByIdResponses[keyof GetDomainInfoByIdResponses]; export type CountByDeviceGroupAndEmptyOtaPackageData = { body?: never; path: { /** * OTA package type */ otaPackageType: 'FIRMWARE' | 'SOFTWARE'; otaPackageId: string; entityGroupId: string; }; query?: never; url: '/api/devices/count/{otaPackageType}/{otaPackageId}/{entityGroupId}'; }; export type CountByDeviceGroupAndEmptyOtaPackageResponses = { /** * OK */ 200: number; }; export type CountByDeviceGroupAndEmptyOtaPackageResponse = CountByDeviceGroupAndEmptyOtaPackageResponses[keyof CountByDeviceGroupAndEmptyOtaPackageResponses]; export type CountByDeviceProfileAndEmptyOtaPackageData = { body?: never; path: { /** * OTA package type */ otaPackageType: 'FIRMWARE' | 'SOFTWARE'; /** * Device Profile Id. I.g. '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; }; query?: never; url: '/api/devices/count/{otaPackageType}/{deviceProfileId}'; }; export type CountByDeviceProfileAndEmptyOtaPackageResponses = { /** * OK */ 200: number; }; export type CountByDeviceProfileAndEmptyOtaPackageResponse = CountByDeviceProfileAndEmptyOtaPackageResponses[keyof CountByDeviceProfileAndEmptyOtaPackageResponses]; export type GetDeviceProfilesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the device profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'transportType' | 'description' | 'isDefault'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/deviceProfiles'; }; export type GetDeviceProfilesResponses = { /** * OK */ 200: PageDataDeviceProfile; }; export type GetDeviceProfilesResponse = GetDeviceProfilesResponses[keyof GetDeviceProfilesResponses]; export type GetDeviceProfileInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the device profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'transportType' | 'description' | 'isDefault'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * Type of the transport */ transportType?: 'DEFAULT' | 'MQTT' | 'COAP' | 'LWM2M' | 'SNMP'; /** * A list of device profile ids, separated by comma ',' */ deviceProfileIds: Array; }; url: '/api/deviceProfileInfos'; }; export type GetDeviceProfileInfosResponses = { /** * OK */ 200: Array | PageDataDeviceProfileInfo; }; export type GetDeviceProfileInfosResponse = GetDeviceProfileInfosResponses[keyof GetDeviceProfileInfosResponses]; export type GetDeviceProfileInfoByIdData = { body?: never; path: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; }; query?: never; url: '/api/deviceProfileInfo/{deviceProfileId}'; }; export type GetDeviceProfileInfoByIdResponses = { /** * OK */ 200: DeviceProfileInfo; }; export type GetDeviceProfileInfoByIdResponse = GetDeviceProfileInfoByIdResponses[keyof GetDeviceProfileInfoByIdResponses]; export type GetDefaultDeviceProfileInfoData = { body?: never; path?: never; query?: never; url: '/api/deviceProfileInfo/default'; }; export type GetDefaultDeviceProfileInfoResponses = { /** * OK */ 200: DeviceProfileInfo; }; export type GetDefaultDeviceProfileInfoResponse = GetDefaultDeviceProfileInfoResponses[keyof GetDefaultDeviceProfileInfoResponses]; export type DeleteDeviceProfileData = { body?: never; path: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; }; query?: never; url: '/api/deviceProfile/{deviceProfileId}'; }; export type DeleteDeviceProfileResponses = { /** * OK */ 200: unknown; }; export type GetDeviceProfileByIdData = { body?: never; path: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId: string; }; query?: { /** * Inline images as a data URL (Base64) */ inlineImages?: boolean; }; url: '/api/deviceProfile/{deviceProfileId}'; }; export type GetDeviceProfileByIdResponses = { /** * OK */ 200: DeviceProfile; }; export type GetDeviceProfileByIdResponse = GetDeviceProfileByIdResponses[keyof GetDeviceProfileByIdResponses]; export type GetDeviceProfileNamesData = { body?: never; path?: never; query?: { /** * Flag indicating whether to retrieve exclusively the names of device profiles that are referenced by tenant's devices. */ activeOnly?: boolean; }; url: '/api/deviceProfile/names'; }; export type GetDeviceProfileNamesResponses = { /** * OK */ 200: Array; }; export type GetDeviceProfileNamesResponse = GetDeviceProfileNamesResponses[keyof GetDeviceProfileNamesResponses]; export type GetTimeseriesKeys1Data = { body?: never; path?: never; query?: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId?: string; }; url: '/api/deviceProfile/devices/keys/timeseries'; }; export type GetTimeseriesKeys1Responses = { /** * OK */ 200: Array; }; export type GetTimeseriesKeys1Response = GetTimeseriesKeys1Responses[keyof GetTimeseriesKeys1Responses]; export type GetAttributesKeysData = { body?: never; path?: never; query?: { /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId?: string; }; url: '/api/deviceProfile/devices/keys/attributes'; }; export type GetAttributesKeysResponses = { /** * OK */ 200: Array; }; export type GetAttributesKeysResponse = GetAttributesKeysResponses[keyof GetAttributesKeysResponses]; export type GetAllDeviceInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId?: string; /** * A boolean value representing the device active flag. */ active?: boolean; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/deviceInfos/all'; }; export type GetAllDeviceInfosResponses = { /** * OK */ 200: PageDataDeviceInfo; }; export type GetAllDeviceInfosResponse = GetAllDeviceInfosResponses[keyof GetAllDeviceInfosResponses]; export type GetFirmwareByIdData = { body?: never; path: { groupId: string; firmwareType: string; }; query?: never; url: '/api/deviceGroupOtaPackage/{groupId}/{firmwareType}'; }; export type GetFirmwareByIdResponses = { /** * OK */ 200: DeviceGroupOtaPackage; }; export type GetFirmwareByIdResponse = GetFirmwareByIdResponses[keyof GetFirmwareByIdResponses]; export type DeleteDeviceData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device/{deviceId}'; }; export type DeleteDeviceResponses = { /** * OK */ 200: unknown; }; export type GetDeviceByIdData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device/{deviceId}'; }; export type GetDeviceByIdResponses = { /** * OK */ 200: Device; }; export type GetDeviceByIdResponse = GetDeviceByIdResponses[keyof GetDeviceByIdResponses]; export type GetDeviceCredentialsByDeviceIdData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device/{deviceId}/credentials'; }; export type GetDeviceCredentialsByDeviceIdResponses = { /** * OK */ 200: DeviceCredentials; }; export type GetDeviceCredentialsByDeviceIdResponse = GetDeviceCredentialsByDeviceIdResponses[keyof GetDeviceCredentialsByDeviceIdResponses]; export type GetDeviceTypesData = { body?: never; path?: never; query?: never; url: '/api/device/types'; }; export type GetDeviceTypesResponses = { /** * OK */ 200: Array; }; export type GetDeviceTypesResponse = GetDeviceTypesResponses[keyof GetDeviceTypesResponses]; export type GetDeviceInfoByIdData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device/info/{deviceId}'; }; export type GetDeviceInfoByIdResponses = { /** * OK */ 200: DeviceInfo; }; export type GetDeviceInfoByIdResponse = GetDeviceInfoByIdResponses[keyof GetDeviceInfoByIdResponses]; export type DownloadServerCertificateData = { body?: never; path: { /** * A string value representing the device connectivity protocol. Possible values: 'mqtt', 'mqtts', 'http', 'https', 'coap', 'coaps' */ protocol: string; }; query?: never; url: '/api/device-connectivity/{protocol}/certificate/download'; }; export type DownloadServerCertificateResponses = { /** * OK */ 200: Blob | File; }; export type DownloadServerCertificateResponse = DownloadServerCertificateResponses[keyof DownloadServerCertificateResponses]; export type GetDevicePublishTelemetryCommandsData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device-connectivity/{deviceId}'; }; export type GetDevicePublishTelemetryCommandsResponses = { /** * OK */ 200: unknown; }; export type DownloadGatewayDockerComposeData = { body?: never; path: { /** * A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceId: string; }; query?: never; url: '/api/device-connectivity/gateway-launch/{deviceId}/docker-compose/download'; }; export type DownloadGatewayDockerComposeResponses = { /** * OK */ 200: Blob | File; }; export type DownloadGatewayDockerComposeResponse = DownloadGatewayDockerComposeResponses[keyof DownloadGatewayDockerComposeResponses]; export type GetDashboardsByIdsData = { body?: never; path?: never; query: { /** * A list of dashboard ids, separated by comma ',' */ dashboardIds: Array; }; url: '/api/dashboards'; }; export type GetDashboardsByIdsResponses = { /** * OK */ 200: Array; }; export type GetDashboardsByIdsResponse = GetDashboardsByIdsResponses[keyof GetDashboardsByIdsResponses]; export type GetAllDashboardsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/dashboards/all'; }; export type GetAllDashboardsResponses = { /** * OK */ 200: PageDataDashboardInfo; }; export type GetAllDashboardsResponse = GetAllDashboardsResponses[keyof GetAllDashboardsResponses]; export type DeleteDashboardData = { body?: never; path: { /** * A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ dashboardId: string; }; query?: never; url: '/api/dashboard/{dashboardId}'; }; export type DeleteDashboardResponses = { /** * OK */ 200: unknown; }; export type GetDashboardByIdData = { body?: never; headers?: { 'Accept-Encoding'?: string; }; path: { /** * A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ dashboardId: string; }; query?: { /** * Export used resources and replace resource links with resource metadata */ includeResources?: boolean; }; url: '/api/dashboard/{dashboardId}'; }; export type GetDashboardByIdResponses = { /** * OK */ 200: unknown; }; export type GetServerTimeData = { body?: never; path?: never; query?: never; url: '/api/dashboard/serverTime'; }; export type GetServerTimeResponses = { /** * OK */ 200: unknown; }; export type GetMaxDatapointsLimitData = { body?: never; path?: never; query?: never; url: '/api/dashboard/maxDatapointsLimit'; }; export type GetMaxDatapointsLimitResponses = { /** * OK */ 200: unknown; }; export type GetDashboardInfoByIdData = { body?: never; path: { /** * A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ dashboardId: string; }; query?: never; url: '/api/dashboard/info/{dashboardId}'; }; export type GetDashboardInfoByIdResponses = { /** * OK */ 200: DashboardInfo; }; export type GetDashboardInfoByIdResponse = GetDashboardInfoByIdResponses[keyof GetDashboardInfoByIdResponses]; export type GetHomeDashboardData = { body?: never; headers?: { 'Accept-Encoding'?: string; }; path?: never; query?: never; url: '/api/dashboard/home'; }; export type GetHomeDashboardResponses = { /** * OK */ 200: unknown; }; export type GetHomeDashboardInfoData = { body?: never; path?: never; query?: never; url: '/api/dashboard/home/info'; }; export type GetHomeDashboardInfoResponses = { /** * OK */ 200: HomeDashboardInfo; }; export type GetHomeDashboardInfoResponse = GetHomeDashboardInfoResponses[keyof GetHomeDashboardInfoResponses]; export type GetCustomersData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'city'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A list of customer ids, separated by comma ',' */ customerIds: Array; }; url: '/api/customers'; }; export type GetCustomersResponses = { /** * OK */ 200: Array | PageDataCustomer; }; export type GetCustomersResponse = GetCustomersResponses[keyof GetCustomersResponses]; export type GetAllCustomerInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'city'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customerInfos/all'; }; export type GetAllCustomerInfosResponses = { /** * OK */ 200: PageDataCustomerInfo; }; export type GetAllCustomerInfosResponse = GetAllCustomerInfosResponses[keyof GetAllCustomerInfosResponses]; export type DeleteCustomerData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query?: never; url: '/api/customer/{customerId}'; }; export type DeleteCustomerResponses = { /** * OK */ 200: unknown; }; export type GetCustomerByIdData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query?: never; url: '/api/customer/{customerId}'; }; export type GetCustomerByIdResponses = { /** * OK */ 200: Customer; }; export type GetCustomerByIdResponse = GetCustomerByIdResponses[keyof GetCustomerByIdResponses]; export type GetCustomerUsersData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/users'; }; export type GetCustomerUsersResponses = { /** * OK */ 200: PageDataUser; }; export type GetCustomerUsersResponse = GetCustomerUsersResponses[keyof GetCustomerUsersResponses]; export type GetCustomerUserInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/userInfos'; }; export type GetCustomerUserInfosResponses = { /** * OK */ 200: PageDataUserInfo; }; export type GetCustomerUserInfosResponse = GetCustomerUserInfosResponses[keyof GetCustomerUserInfosResponses]; export type GetCustomerTitleByIdData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query?: never; url: '/api/customer/{customerId}/title'; }; export type GetCustomerTitleByIdResponses = { /** * OK */ 200: string; }; export type GetCustomerTitleByIdResponse = GetCustomerTitleByIdResponses[keyof GetCustomerTitleByIdResponses]; export type GetShortCustomerInfoByIdData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query?: never; url: '/api/customer/{customerId}/shortInfo'; }; export type GetShortCustomerInfoByIdResponses = { /** * OK */ 200: JsonNode; }; export type GetShortCustomerInfoByIdResponse = GetShortCustomerInfoByIdResponses[keyof GetShortCustomerInfoByIdResponses]; export type GetCustomerEntityViewsData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * * * ## Entity View Filter * * Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': * * ```json * { * "type": "entityViewType", * "entityViewType": "Concrete Mixer", * "entityViewNameFilter": "CAT" * } * ``` */ type?: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/entityViews'; }; export type GetCustomerEntityViewsResponses = { /** * OK */ 200: PageDataEntityView; }; export type GetCustomerEntityViewsResponse = GetCustomerEntityViewsResponses[keyof GetCustomerEntityViewsResponses]; export type GetCustomerEntityViewInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * * * ## Entity View Filter * * Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': * * ```json * { * "type": "entityViewType", * "entityViewType": "Concrete Mixer", * "entityViewNameFilter": "CAT" * } * ``` */ type?: string; /** * The case insensitive 'substring' filter based on the entity view name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/entityViewInfos'; }; export type GetCustomerEntityViewInfosResponses = { /** * OK */ 200: PageDataEntityViewInfo; }; export type GetCustomerEntityViewInfosResponse = GetCustomerEntityViewInfosResponses[keyof GetCustomerEntityViewInfosResponses]; export type GetCustomerEdgesData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * A string value representing the edge type. For example, 'default' */ type?: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/edges'; }; export type GetCustomerEdgesResponses = { /** * OK */ 200: PageDataEdge; }; export type GetCustomerEdgesResponse = GetCustomerEdgesResponses[keyof GetCustomerEdgesResponses]; export type GetCustomerEdgeInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the edge type. For example, 'default' */ type?: string; /** * The case insensitive 'substring' filter based on the edge name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/edgeInfos'; }; export type GetCustomerEdgeInfosResponses = { /** * OK */ 200: PageDataEdgeInfo; }; export type GetCustomerEdgeInfosResponse = GetCustomerEdgeInfosResponses[keyof GetCustomerEdgeInfosResponses]; export type GetCustomerDevicesData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Device type as the name of the device profile */ type?: string; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/devices'; }; export type GetCustomerDevicesResponses = { /** * OK */ 200: PageDataDevice; }; export type GetCustomerDevicesResponse = GetCustomerDevicesResponses[keyof GetCustomerDevicesResponses]; export type GetCustomerDeviceInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ deviceProfileId?: string; /** * A boolean value representing the device active flag. */ active?: boolean; /** * The case insensitive 'substring' filter based on the device name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'deviceProfileName' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/deviceInfos'; }; export type GetCustomerDeviceInfosResponses = { /** * OK */ 200: PageDataDeviceInfo; }; export type GetCustomerDeviceInfosResponse = GetCustomerDeviceInfosResponses[keyof GetCustomerDeviceInfosResponses]; export type GetCustomerDashboardsData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the dashboard title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/dashboards'; }; export type GetCustomerDashboardsResponses = { /** * OK */ 200: PageDataDashboardInfo; }; export type GetCustomerDashboardsResponse = GetCustomerDashboardsResponses[keyof GetCustomerDashboardsResponses]; export type GetCustomerCustomerInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * The case insensitive 'substring' filter based on the customer title. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title' | 'email' | 'country' | 'city'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/customerInfos'; }; export type GetCustomerCustomerInfosResponses = { /** * OK */ 200: PageDataCustomerInfo; }; export type GetCustomerCustomerInfosResponse = GetCustomerCustomerInfosResponses[keyof GetCustomerCustomerInfosResponses]; export type GetCustomerAssetsData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Asset type */ type?: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/assets'; }; export type GetCustomerAssetsResponses = { /** * OK */ 200: PageDataAsset; }; export type GetCustomerAssetsResponse = GetCustomerAssetsResponses[keyof GetCustomerAssetsResponses]; export type GetCustomerAssetInfosData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId?: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/{customerId}/assetInfos'; }; export type GetCustomerAssetInfosResponses = { /** * OK */ 200: PageDataAssetInfo; }; export type GetCustomerAssetInfosResponse = GetCustomerAssetInfosResponses[keyof GetCustomerAssetInfosResponses]; export type GetAllCustomerUsersData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the user email. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'firstName' | 'lastName' | 'email'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customer/users'; }; export type GetAllCustomerUsersResponses = { /** * OK */ 200: PageDataUser; }; export type GetAllCustomerUsersResponse = GetAllCustomerUsersResponses[keyof GetAllCustomerUsersResponses]; export type GetCustomerInfoByIdData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query?: never; url: '/api/customer/info/{customerId}'; }; export type GetCustomerInfoByIdResponses = { /** * OK */ 200: CustomerInfo; }; export type GetCustomerInfoByIdResponse = GetCustomerInfoByIdResponses[keyof GetCustomerInfoByIdResponses]; export type GetCustomMenuInfoByIdData = { body?: never; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: never; url: '/api/customMenu/{customMenuId}/info'; }; export type GetCustomMenuInfoByIdResponses = { /** * OK */ 200: CustomMenuInfo; }; export type GetCustomMenuInfoByIdResponse = GetCustomMenuInfoByIdResponses[keyof GetCustomMenuInfoByIdResponses]; export type GetCustomMenuAssigneeListData = { body?: never; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: never; url: '/api/customMenu/{customMenuId}/assigneeList'; }; export type GetCustomMenuAssigneeListResponses = { /** * OK */ 200: Array; }; export type GetCustomMenuAssigneeListResponse = GetCustomMenuAssigneeListResponses[keyof GetCustomMenuAssigneeListResponses]; export type GetCustomMenuInfosData = { body?: never; path?: never; query: { /** * Custom menu scope. */ scope?: 'SYSTEM' | 'TENANT' | 'CUSTOMER'; /** * Custom menu assignee type. */ assigneeType?: 'NO_ASSIGN' | 'ALL' | 'CUSTOMERS' | 'USERS' | 'USER_GROUPS'; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the custom menu name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'title'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/customMenu/infos'; }; export type GetCustomMenuInfosResponses = { /** * OK */ 200: PageDataCustomMenuInfo; }; export type GetCustomMenuInfosResponse = GetCustomMenuInfosResponses[keyof GetCustomMenuInfosResponses]; export type GetConvertersData = { body?: never; path?: never; query: { /** * Fetch edge template converters */ isEdgeTemplate?: boolean; /** * Maximum amount of entities in a one page */ pageSize: string; /** * Sequence number of page starting from 0 */ page: string; /** * The case insensitive 'startsWith' filter based on the converter name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'debugMode'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A string value representing the integration type. One of the following: * APACHE_PULSAR, AWS_IOT, AWS_KINESIS, AWS_SQS, AZURE_EVENT_HUB, AZURE_IOT_HUB, AZURE_SERVICE_BUS, CHIRPSTACK, COAP, CUSTOM, HTTP, IBM_WATSON_IOT, KAFKA, LORIOT, MQTT, OCEANCONNECT, OPC_UA, PUB_SUB, RABBITMQ, SIGFOX, TCP, THINGPARK, TMOBILE_IOT_CDP, TPE, TTI, TTN, TUYA, UDP */ integrationType?: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; /** * A list of converter ids, separated by comma ',' */ converterIds: Array; }; url: '/api/converters'; }; export type GetConvertersResponses = { /** * OK */ 200: Array | PageDataConverter; }; export type GetConvertersResponse = GetConvertersResponses[keyof GetConvertersResponses]; export type DeleteConverterData = { body?: never; path: { /** * A string value representing the converter id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ converterId: string; }; query?: never; url: '/api/converter/{converterId}'; }; export type DeleteConverterResponses = { /** * OK */ 200: unknown; }; export type GetConverterByIdData = { body?: never; path: { /** * A string value representing the converter id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ converterId: string; }; query?: never; url: '/api/converter/{converterId}'; }; export type GetConverterByIdResponses = { /** * OK */ 200: Converter; }; export type GetConverterByIdResponse = GetConverterByIdResponses[keyof GetConverterByIdResponses]; export type GetLatestConverterDebugInputData = { body?: never; path: { /** * A string value representing the converter id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ converterId: string; }; query?: { /** * A string value representing the converter type. One of the following: * UPLINK, DOWNLINK */ converterType?: string; /** * A string value representing the integration type. One of the following: * APACHE_PULSAR, AWS_IOT, AWS_KINESIS, AWS_SQS, AZURE_EVENT_HUB, AZURE_IOT_HUB, AZURE_SERVICE_BUS, CHIRPSTACK, COAP, CUSTOM, HTTP, IBM_WATSON_IOT, KAFKA, LORIOT, MQTT, OCEANCONNECT, OPC_UA, PUB_SUB, RABBITMQ, SIGFOX, TCP, THINGPARK, TMOBILE_IOT_CDP, TPE, TTI, TTN, TUYA, UDP */ integrationType?: string; /** * A string value representing the integration name. For example, 'My New Integration' */ integrationName?: string; /** * Converter version. */ converterVersion?: number; }; url: '/api/converter/{converterId}/debugIn'; }; export type GetLatestConverterDebugInputResponses = { /** * OK */ 200: JsonNode; }; export type GetLatestConverterDebugInputResponse = GetLatestConverterDebugInputResponses[keyof GetLatestConverterDebugInputResponses]; export type GetUplinkConverterData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/uplink'; }; export type GetUplinkConverterResponses = { /** * OK */ 200: string; }; export type GetUplinkConverterResponse = GetUplinkConverterResponses[keyof GetUplinkConverterResponses]; export type GetUplinkPayloadData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/uplink/payload'; }; export type GetUplinkPayloadResponses = { /** * OK */ 200: string; }; export type GetUplinkPayloadResponse = GetUplinkPayloadResponses[keyof GetUplinkPayloadResponses]; export type GetUplinkConverterMetadataData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/uplink/metadata'; }; export type GetUplinkConverterMetadataResponses = { /** * OK */ 200: string; }; export type GetUplinkConverterMetadataResponse = GetUplinkConverterMetadataResponses[keyof GetUplinkConverterMetadataResponses]; export type GetDownlinkConverterData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/downlink'; }; export type GetDownlinkConverterResponses = { /** * OK */ 200: string; }; export type GetDownlinkConverterResponse = GetDownlinkConverterResponses[keyof GetDownlinkConverterResponses]; export type GetDownlinkPayloadData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/downlink/payload'; }; export type GetDownlinkPayloadResponses = { /** * OK */ 200: string; }; export type GetDownlinkPayloadResponse = GetDownlinkPayloadResponses[keyof GetDownlinkPayloadResponses]; export type GetDownlinkConverterMetadataData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; model: string; }; query?: never; url: '/api/converter/library/{integrationType}/{vendorName}/{model}/downlink/metadata'; }; export type GetDownlinkConverterMetadataResponses = { /** * OK */ 200: string; }; export type GetDownlinkConverterMetadataResponse = GetDownlinkConverterMetadataResponses[keyof GetDownlinkConverterMetadataResponses]; export type GetVendorModelsData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; vendorName: string; }; query?: { converterType?: string; page?: number; pageSize?: number; loadImages?: boolean; }; url: '/api/converter/library/{integrationType}/{vendorName}/models'; }; export type GetVendorModelsResponses = { /** * OK */ 200: Array; }; export type GetVendorModelsResponse = GetVendorModelsResponses[keyof GetVendorModelsResponses]; export type GetVendorsData = { body?: never; path: { integrationType: 'OCEANCONNECT' | 'SIGFOX' | 'THINGPARK' | 'TPE' | 'CHIRPSTACK' | 'PARTICLE' | 'TMOBILE_IOT_CDP' | 'HTTP' | 'MQTT' | 'PUB_SUB' | 'AWS_IOT' | 'AWS_SQS' | 'AWS_KINESIS' | 'TTN' | 'TTI' | 'AZURE_EVENT_HUB' | 'OPC_UA' | 'CUSTOM' | 'UDP' | 'TCP' | 'KAFKA' | 'AZURE_IOT_HUB' | 'APACHE_PULSAR' | 'RABBITMQ' | 'LORIOT' | 'COAP' | 'TUYA' | 'AZURE_SERVICE_BUS' | 'KPN'; }; query?: { converterType?: string; page?: number; pageSize?: number; loadImages?: boolean; }; url: '/api/converter/library/{integrationType}/vendors'; }; export type GetVendorsResponses = { /** * OK */ 200: Array; }; export type GetVendorsResponse = GetVendorsResponses[keyof GetVendorsResponses]; export type GetComponentDescriptorsByTypesData = { body?: never; path?: never; query: { /** * List of types of the Rule Nodes, (ENRICHMENT, FILTER, TRANSFORMATION, ACTION or EXTERNAL) */ componentTypes: Array; /** * Type of the Rule Chain */ ruleChainType?: 'CORE' | 'EDGE'; }; url: '/api/components'; }; export type GetComponentDescriptorsByTypesResponses = { /** * OK */ 200: Array; }; export type GetComponentDescriptorsByTypesResponse = GetComponentDescriptorsByTypesResponses[keyof GetComponentDescriptorsByTypesResponses]; export type GetComponentDescriptorsByTypeData = { body?: never; path: { /** * Type of the Rule Node */ componentType: 'ENRICHMENT' | 'FILTER' | 'TRANSFORMATION' | 'ACTION' | 'EXTERNAL'; }; query?: { /** * Type of the Rule Chain */ ruleChainType?: 'CORE' | 'EDGE'; }; url: '/api/components/{componentType}'; }; export type GetComponentDescriptorsByTypeResponses = { /** * OK */ 200: Array; }; export type GetComponentDescriptorsByTypeResponse = GetComponentDescriptorsByTypeResponses[keyof GetComponentDescriptorsByTypeResponses]; export type GetComponentDescriptorByClazzData = { body?: never; path: { /** * Component Descriptor class name */ componentDescriptorClazz: string; }; query?: never; url: '/api/component/{componentDescriptorClazz}'; }; export type GetComponentDescriptorByClazzResponses = { /** * OK */ 200: ComponentDescriptor; }; export type GetComponentDescriptorByClazzResponse = GetComponentDescriptorByClazzResponses[keyof GetComponentDescriptorByClazzResponses]; export type GetCalculatedFieldsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Calculated field types filter. */ types?: Array<'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'>; /** * Entity type filter. If not specified, calculated fields for all supported entity types will be returned. */ entityType?: 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'ENTITY_GROUP' | 'CONVERTER' | 'INTEGRATION' | 'RULE_CHAIN' | 'RULE_NODE' | 'SCHEDULER_EVENT' | 'BLOB_ENTITY' | 'REPORT_TEMPLATE' | 'REPORT' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'ROLE' | 'GROUP_PERMISSION' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'SECRET' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY'; /** * Entities filter. If not specified, calculated fields for entity type filter will be returned. */ entities?: Array; /** * Name filter. To specify multiple names, duplicate 'name' parameter for each name, for example '?name=name1&name=name2 */ name?: string; /** * The case insensitive 'substring' filter based on the calculated field name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; params: MultiValueMapStringString; }; url: '/api/calculatedFields'; }; export type GetCalculatedFieldsResponses = { /** * OK */ 200: PageDataCalculatedFieldInfo; }; export type GetCalculatedFieldsResponse = GetCalculatedFieldsResponses[keyof GetCalculatedFieldsResponses]; export type GetCalculatedFieldNamesData = { body?: never; path?: never; query: { /** * Calculated field type filter. */ type: 'SIMPLE' | 'SCRIPT' | 'GEOFENCING' | 'ALARM' | 'PROPAGATION' | 'RELATED_ENTITIES_AGGREGATION' | 'ENTITY_AGGREGATION'; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the calculated field name. */ textSearch?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/calculatedFields/names'; }; export type GetCalculatedFieldNamesResponses = { /** * OK */ 200: PageDataString; }; export type GetCalculatedFieldNamesResponse = GetCalculatedFieldNamesResponses[keyof GetCalculatedFieldNamesResponses]; export type DeleteCalculatedFieldData = { body?: never; path: { calculatedFieldId: string; }; query?: never; url: '/api/calculatedField/{calculatedFieldId}'; }; export type DeleteCalculatedFieldResponses = { /** * OK */ 200: unknown; }; export type GetCalculatedFieldByIdData = { body?: never; path: { calculatedFieldId: string; }; query?: never; url: '/api/calculatedField/{calculatedFieldId}'; }; export type GetCalculatedFieldByIdResponses = { /** * OK */ 200: CalculatedField; }; export type GetCalculatedFieldByIdResponse = GetCalculatedFieldByIdResponses[keyof GetCalculatedFieldByIdResponses]; export type ReprocessCalculatedFieldData = { body?: never; path: { calculatedFieldId: string; }; query: { startTs: number; endTs: number; }; url: '/api/calculatedField/{calculatedFieldId}/reprocess'; }; export type ReprocessCalculatedFieldResponses = { /** * OK */ 200: Job; }; export type ReprocessCalculatedFieldResponse = ReprocessCalculatedFieldResponses[keyof ReprocessCalculatedFieldResponses]; export type ValidateCalculatedFieldReprocessingData = { body?: never; path: { calculatedFieldId: string; }; query?: never; url: '/api/calculatedField/{calculatedFieldId}/reprocess/validate'; }; export type ValidateCalculatedFieldReprocessingResponses = { /** * OK */ 200: CfReprocessingValidationResult; }; export type ValidateCalculatedFieldReprocessingResponse = ValidateCalculatedFieldReprocessingResponses[keyof ValidateCalculatedFieldReprocessingResponses]; export type GetLastCalculatedFieldReprocessingJobData = { body?: never; path: { calculatedFieldId: string; }; query?: never; url: '/api/calculatedField/{calculatedFieldId}/reprocess/job'; }; export type GetLastCalculatedFieldReprocessingJobResponses = { /** * OK */ 200: Job; }; export type GetLastCalculatedFieldReprocessingJobResponse = GetLastCalculatedFieldReprocessingJobResponses[keyof GetLastCalculatedFieldReprocessingJobResponses]; export type GetLatestCalculatedFieldDebugEventData = { body?: never; path: { calculatedFieldId: string; }; query?: never; url: '/api/calculatedField/{calculatedFieldId}/debug'; }; export type GetLatestCalculatedFieldDebugEventResponses = { /** * OK */ 200: JsonNode; }; export type GetLatestCalculatedFieldDebugEventResponse = GetLatestCalculatedFieldDebugEventResponses[keyof GetLatestCalculatedFieldDebugEventResponses]; export type DownloadBlobEntityData = { body?: never; path: { /** * A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ blobEntityId: string; }; query?: never; url: '/api/blobEntity/{blobEntityId}/download'; }; export type DownloadBlobEntityResponses = { /** * OK */ 200: Blob | File; }; export type DownloadBlobEntityResponse = DownloadBlobEntityResponses[keyof DownloadBlobEntityResponses]; export type GetBlobEntityInfoByIdData = { body?: never; path: { /** * A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ blobEntityId: string; }; query?: never; url: '/api/blobEntity/info/{blobEntityId}'; }; export type GetBlobEntityInfoByIdResponses = { /** * OK */ 200: BlobEntityWithCustomerInfo; }; export type GetBlobEntityInfoByIdResponse = GetBlobEntityInfoByIdResponses[keyof GetBlobEntityInfoByIdResponses]; export type GetBlobEntitiesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * A string value representing the blob entity type. For example, 'report' */ type?: string; /** * The case insensitive 'startsWith' filter based on the blob entity name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'contentType' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'. */ endTime?: number; /** * A list of blob entity ids, separated by comma ',' */ blobEntityIds: Array; }; url: '/api/blobEntities'; }; export type GetBlobEntitiesResponses = { /** * OK */ 200: Array | PageDataBlobEntityWithCustomerInfo; }; export type GetBlobEntitiesResponse = GetBlobEntitiesResponses[keyof GetBlobEntitiesResponses]; export type GetUserData = { body?: never; path?: never; query?: never; url: '/api/auth/user'; }; export type GetUserResponses = { /** * OK */ 200: User; }; export type GetUserResponse = GetUserResponses[keyof GetUserResponses]; export type GetAvailableTwoFaProvidersData = { body?: never; path?: never; query?: never; url: '/api/auth/2fa/providers'; }; export type GetAvailableTwoFaProvidersResponses = { /** * OK */ 200: Array; }; export type GetAvailableTwoFaProvidersResponse = GetAvailableTwoFaProvidersResponses[keyof GetAvailableTwoFaProvidersResponses]; export type GetAuditLogsData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus. */ textSearch?: string; /** * Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged. */ sortProperty?: 'createdTime' | 'entityType' | 'entityName' | 'userName' | 'actionType' | 'actionStatus'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ endTime?: number; /** * A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details. */ actionTypes?: string; }; url: '/api/audit/logs'; }; export type GetAuditLogsResponses = { /** * OK */ 200: PageDataAuditLog; }; export type GetAuditLogsResponse = GetAuditLogsResponses[keyof GetAuditLogsResponses]; export type GetAuditLogsByUserIdData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus. */ textSearch?: string; /** * Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged. */ sortProperty?: 'createdTime' | 'entityType' | 'entityName' | 'userName' | 'actionType' | 'actionStatus'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ endTime?: number; /** * A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details. */ actionTypes?: string; }; url: '/api/audit/logs/user/{userId}'; }; export type GetAuditLogsByUserIdResponses = { /** * OK */ 200: PageDataAuditLog; }; export type GetAuditLogsByUserIdResponse = GetAuditLogsByUserIdResponses[keyof GetAuditLogsByUserIdResponses]; export type GetAuditLogsByEntityIdData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus. */ textSearch?: string; /** * Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged. */ sortProperty?: 'createdTime' | 'entityType' | 'entityName' | 'userName' | 'actionType' | 'actionStatus'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ endTime?: number; /** * A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details. */ actionTypes?: string; }; url: '/api/audit/logs/entity/{entityType}/{entityId}'; }; export type GetAuditLogsByEntityIdResponses = { /** * OK */ 200: PageDataAuditLog; }; export type GetAuditLogsByEntityIdResponse = GetAuditLogsByEntityIdResponses[keyof GetAuditLogsByEntityIdResponses]; export type GetAuditLogsByCustomerIdData = { body?: never; path: { /** * A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customerId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus. */ textSearch?: string; /** * Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged. */ sortProperty?: 'createdTime' | 'entityType' | 'entityName' | 'userName' | 'actionType' | 'actionStatus'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'. */ endTime?: number; /** * A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details. */ actionTypes?: string; }; url: '/api/audit/logs/customer/{customerId}'; }; export type GetAuditLogsByCustomerIdResponses = { /** * OK */ 200: PageDataAuditLog; }; export type GetAuditLogsByCustomerIdResponse = GetAuditLogsByCustomerIdResponses[keyof GetAuditLogsByCustomerIdResponses]; export type GetAssetProfilesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the asset profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'description' | 'isDefault'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/assetProfiles'; }; export type GetAssetProfilesResponses = { /** * OK */ 200: PageDataAssetProfile; }; export type GetAssetProfilesResponse = GetAssetProfilesResponses[keyof GetAssetProfilesResponses]; export type GetAssetProfileInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the asset profile name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'description' | 'isDefault'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * A list of asset profile ids, separated by comma ',' */ assetProfileIds: Array; }; url: '/api/assetProfileInfos'; }; export type GetAssetProfileInfosResponses = { /** * OK */ 200: Array | PageDataAssetProfileInfo; }; export type GetAssetProfileInfosResponse = GetAssetProfileInfosResponses[keyof GetAssetProfileInfosResponses]; export type GetAssetProfileInfoByIdData = { body?: never; path: { /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId: string; }; query?: never; url: '/api/assetProfileInfo/{assetProfileId}'; }; export type GetAssetProfileInfoByIdResponses = { /** * OK */ 200: AssetProfileInfo; }; export type GetAssetProfileInfoByIdResponse = GetAssetProfileInfoByIdResponses[keyof GetAssetProfileInfoByIdResponses]; export type GetDefaultAssetProfileInfoData = { body?: never; path?: never; query?: never; url: '/api/assetProfileInfo/default'; }; export type GetDefaultAssetProfileInfoResponses = { /** * OK */ 200: AssetProfileInfo; }; export type GetDefaultAssetProfileInfoResponse = GetDefaultAssetProfileInfoResponses[keyof GetDefaultAssetProfileInfoResponses]; export type DeleteAssetProfileData = { body?: never; path: { /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId: string; }; query?: never; url: '/api/assetProfile/{assetProfileId}'; }; export type DeleteAssetProfileResponses = { /** * OK */ 200: unknown; }; export type GetAssetProfileByIdData = { body?: never; path: { /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId: string; }; query?: { /** * Inline images as a data URL (Base64) */ inlineImages?: boolean; }; url: '/api/assetProfile/{assetProfileId}'; }; export type GetAssetProfileByIdResponses = { /** * OK */ 200: AssetProfile; }; export type GetAssetProfileByIdResponse = GetAssetProfileByIdResponses[keyof GetAssetProfileByIdResponses]; export type GetAssetProfileNamesData = { body?: never; path?: never; query?: { /** * Flag indicating whether to retrieve exclusively the names of asset profiles that are referenced by tenant's assets. */ activeOnly?: boolean; }; url: '/api/assetProfile/names'; }; export type GetAssetProfileNamesResponses = { /** * OK */ 200: Array; }; export type GetAssetProfileNamesResponse = GetAssetProfileNamesResponses[keyof GetAssetProfileNamesResponses]; export type GetAllAssetInfosData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * Include customer or sub-customer entities */ includeCustomers?: boolean; /** * A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetProfileId?: string; /** * The case insensitive 'substring' filter based on the asset name. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'name' | 'type' | 'label' | 'customerTitle'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/assetInfos/all'; }; export type GetAllAssetInfosResponses = { /** * OK */ 200: PageDataAssetInfo; }; export type GetAllAssetInfosResponse = GetAllAssetInfosResponses[keyof GetAllAssetInfosResponses]; export type DeleteAssetData = { body?: never; path: { /** * A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetId: string; }; query?: never; url: '/api/asset/{assetId}'; }; export type DeleteAssetResponses = { /** * OK */ 200: unknown; }; export type GetAssetByIdData = { body?: never; path: { /** * A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetId: string; }; query?: never; url: '/api/asset/{assetId}'; }; export type GetAssetByIdResponses = { /** * OK */ 200: Asset; }; export type GetAssetByIdResponse = GetAssetByIdResponses[keyof GetAssetByIdResponses]; export type GetAssetTypesData = { body?: never; path?: never; query?: never; url: '/api/asset/types'; }; export type GetAssetTypesResponses = { /** * OK */ 200: Array; }; export type GetAssetTypesResponse = GetAssetTypesResponses[keyof GetAssetTypesResponses]; export type GetAssetInfoByIdData = { body?: never; path: { /** * A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assetId: string; }; query?: never; url: '/api/asset/info/{assetId}'; }; export type GetAssetInfoByIdResponses = { /** * OK */ 200: AssetInfo; }; export type GetAssetInfoByIdResponse = GetAssetInfoByIdResponses[keyof GetAssetInfoByIdResponses]; export type GetUserApiKeysData = { body?: never; path: { /** * A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ userId: string; }; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on the description. */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'expirationTime' | 'description' | 'enabled'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/apiKeys/{userId}'; }; export type GetUserApiKeysResponses = { /** * OK */ 200: PageDataApiKeyInfo; }; export type GetUserApiKeysResponse = GetUserApiKeysResponses[keyof GetUserApiKeysResponses]; export type GetAllEdgeEntityGroupsData = { body?: never; path: { /** * A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ edgeId: string; /** * EntityGroup type */ groupType: 'ASSET' | 'DEVICE' | 'USER' | 'ENTITY_VIEW' | 'DASHBOARD'; }; query?: never; url: '/api/allEntityGroups/edge/{edgeId}/{groupType}'; }; export type GetAllEdgeEntityGroupsResponses = { /** * OK */ 200: Array; }; export type GetAllEdgeEntityGroupsResponse = GetAllEdgeEntityGroupsResponses[keyof GetAllEdgeEntityGroupsResponses]; export type GetAllAlarmsData = { body?: never; path?: never; query: { /** * A string value representing one of the AlarmSearchStatus enumeration value */ searchStatus?: 'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'; /** * A string value representing one of the AlarmStatus enumeration value */ status?: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; /** * A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId?: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on of next alarm fields: type, severity or status */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'startTs' | 'endTs' | 'type' | 'ackTs' | 'clearTs' | 'severity' | 'status'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ endTime?: number; /** * A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null. */ fetchOriginator?: boolean; }; url: '/api/alarms'; }; export type GetAllAlarmsResponses = { /** * OK */ 200: PageDataAlarmInfo; }; export type GetAllAlarmsResponse = GetAllAlarmsResponses[keyof GetAllAlarmsResponses]; export type GetAlarmsData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing one of the AlarmSearchStatus enumeration value */ searchStatus?: 'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'; /** * A string value representing one of the AlarmStatus enumeration value */ status?: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; /** * A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId?: string; /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on of next alarm fields: type, severity or status */ textSearch?: string; /** * Property of entity to sort by */ sortProperty?: 'createdTime' | 'startTs' | 'endTs' | 'type' | 'ackTs' | 'clearTs' | 'severity' | 'status'; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; /** * The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ startTime?: number; /** * The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'. */ endTime?: number; /** * A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null. */ fetchOriginator?: boolean; }; url: '/api/alarm/{entityType}/{entityId}'; }; export type GetAlarmsResponses = { /** * OK */ 200: PageDataAlarmInfo; }; export type GetAlarmsResponse = GetAlarmsResponses[keyof GetAlarmsResponses]; export type DeleteAlarmData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}'; }; export type DeleteAlarmResponses = { /** * OK */ 200: boolean; }; export type DeleteAlarmResponse = DeleteAlarmResponses[keyof DeleteAlarmResponses]; export type GetAlarmByIdData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}'; }; export type GetAlarmByIdResponses = { /** * OK */ 200: Alarm; }; export type GetAlarmByIdResponse = GetAlarmByIdResponses[keyof GetAlarmByIdResponses]; export type GetAlarmTypesData = { body?: never; path?: never; query: { /** * Maximum amount of entities in a one page */ pageSize: number; /** * Sequence number of page starting from 0 */ page: number; /** * The case insensitive 'substring' filter based on of next alarm fields: type, severity or status */ textSearch?: string; /** * Sort order. ASC (ASCENDING) or DESC (DESCENDING) */ sortOrder?: 'ASC' | 'DESC'; }; url: '/api/alarm/types'; }; export type GetAlarmTypesResponses = { /** * OK */ 200: PageDataEntitySubtype; }; export type GetAlarmTypesResponse = GetAlarmTypesResponses[keyof GetAlarmTypesResponses]; export type GetAlarmInfoByIdData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/info/{alarmId}'; }; export type GetAlarmInfoByIdResponses = { /** * OK */ 200: AlarmInfo; }; export type GetAlarmInfoByIdResponse = GetAlarmInfoByIdResponses[keyof GetAlarmInfoByIdResponses]; export type GetHighestAlarmSeverityData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query?: { /** * A string value representing one of the AlarmSearchStatus enumeration value */ searchStatus?: 'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'; /** * A string value representing one of the AlarmStatus enumeration value */ status?: 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'; /** * A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ assigneeId?: string; }; url: '/api/alarm/highestSeverity/{entityType}/{entityId}'; }; export type GetHighestAlarmSeverityResponses = { /** * OK */ 200: 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE'; }; export type GetHighestAlarmSeverityResponse = GetHighestAlarmSeverityResponses[keyof GetHighestAlarmSeverityResponses]; export type DeleteAiModelByIdData = { body?: never; path: { /** * ID of the AI model record */ modelUuid: string; }; query?: never; url: '/api/ai/model/{modelUuid}'; }; export type DeleteAiModelByIdResponses = { /** * OK */ 200: boolean; }; export type DeleteAiModelByIdResponse = DeleteAiModelByIdResponses[keyof DeleteAiModelByIdResponses]; export type GetAiModelByIdData = { body?: never; path: { /** * ID of the AI model record */ modelUuid: string; }; query?: never; url: '/api/ai/model/{modelUuid}'; }; export type GetAiModelByIdResponses = { /** * OK */ 200: AiModel; }; export type GetAiModelByIdResponse = GetAiModelByIdResponses[keyof GetAiModelByIdResponses]; export type CheckUpdatesData = { body?: never; path?: never; query?: never; url: '/api/admin/updates'; }; export type CheckUpdatesResponses = { /** * OK */ 200: UpdateMessage; }; export type CheckUpdatesResponse = CheckUpdatesResponses[keyof CheckUpdatesResponses]; export type GetSystemInfoData = { body?: never; path?: never; query?: never; url: '/api/admin/systemInfo'; }; export type GetSystemInfoResponses = { /** * OK */ 200: SystemInfo; }; export type GetSystemInfoResponse = GetSystemInfoResponses[keyof GetSystemInfoResponses]; export type GetSubscriptionInfoData = { body?: never; path?: never; query?: never; url: '/api/admin/subscriptionInfo'; }; export type GetSubscriptionInfoResponses = { /** * OK */ 200: SubscriptionInfo; }; export type GetSubscriptionInfoResponse = GetSubscriptionInfoResponses[keyof GetSubscriptionInfoResponses]; export type GetAdminSettingsData = { body?: never; path: { /** * A string value of the key (e.g. 'general' or 'mail'). */ key: string; }; query?: { /** * Use system settings if settings are not defined on tenant level. */ systemByDefault?: boolean; }; url: '/api/admin/settings/{key}'; }; export type GetAdminSettingsResponses = { /** * OK */ 200: AdminSettings; }; export type GetAdminSettingsResponse = GetAdminSettingsResponses[keyof GetAdminSettingsResponses]; export type GetRepositorySettingsInfoData = { body?: never; path?: never; query?: never; url: '/api/admin/repositorySettings/info'; }; export type GetRepositorySettingsInfoResponses = { /** * OK */ 200: RepositorySettingsInfo; }; export type GetRepositorySettingsInfoResponse = GetRepositorySettingsInfoResponses[keyof GetRepositorySettingsInfoResponses]; export type RepositorySettingsExistsData = { body?: never; path?: never; query?: never; url: '/api/admin/repositorySettings/exists'; }; export type RepositorySettingsExistsResponses = { /** * OK */ 200: boolean; }; export type RepositorySettingsExistsResponse = RepositorySettingsExistsResponses[keyof RepositorySettingsExistsResponses]; export type GetMailProcessingUrlData = { body?: never; path?: never; query?: never; url: '/api/admin/mail/oauth2/loginProcessingUrl'; }; export type GetMailProcessingUrlResponses = { /** * OK */ 200: string; }; export type GetMailProcessingUrlResponse = GetMailProcessingUrlResponses[keyof GetMailProcessingUrlResponses]; export type CodeProcessingUrlData = { body?: never; path?: never; query: { code: string; state: string; }; url: '/api/admin/mail/oauth2/code'; }; export type CodeProcessingUrlResponses = { /** * OK */ 200: unknown; }; export type GetAuthorizationUrlData = { body?: never; path?: never; query?: never; url: '/api/admin/mail/oauth2/authorize'; }; export type GetAuthorizationUrlResponses = { /** * OK */ 200: string; }; export type GetAuthorizationUrlResponse = GetAuthorizationUrlResponses[keyof GetAuthorizationUrlResponses]; export type GetLicenseUsageInfoData = { body?: never; path?: never; query?: never; url: '/api/admin/licenseUsageInfo'; }; export type GetLicenseUsageInfoResponses = { /** * OK */ 200: LicenseUsageInfo; }; export type GetLicenseUsageInfoResponse = GetLicenseUsageInfoResponses[keyof GetLicenseUsageInfoResponses]; export type GetFeaturesInfoData = { body?: never; path?: never; query?: never; url: '/api/admin/featuresInfo'; }; export type GetFeaturesInfoResponses = { /** * OK */ 200: FeaturesInfo; }; export type GetFeaturesInfoResponse = GetFeaturesInfoResponses[keyof GetFeaturesInfoResponses]; export type AutoCommitSettingsExistsData = { body?: never; path?: never; query?: never; url: '/api/admin/autoCommitSettings/exists'; }; export type AutoCommitSettingsExistsResponses = { /** * OK */ 200: boolean; }; export type AutoCommitSettingsExistsResponse = AutoCommitSettingsExistsResponses[keyof AutoCommitSettingsExistsResponses]; export type GetAvailableTwoFaProviders1Data = { body?: never; path?: never; query?: never; url: '/api/2fa/providers'; }; export type GetAvailableTwoFaProviders1Responses = { /** * OK */ 200: Array<'TOTP' | 'SMS' | 'EMAIL' | 'BACKUP_CODE'>; }; export type GetAvailableTwoFaProviders1Response = GetAvailableTwoFaProviders1Responses[keyof GetAvailableTwoFaProviders1Responses]; export type GetAccountTwoFaSettingsData = { body?: never; path?: never; query?: never; url: '/api/2fa/account/settings'; }; export type GetAccountTwoFaSettingsResponses = { /** * OK */ 200: AccountTwoFaSettings; }; export type GetAccountTwoFaSettingsResponse = GetAccountTwoFaSettingsResponses[keyof GetAccountTwoFaSettingsResponses]; export type GetAssetLinksData = { body?: never; path?: never; query?: never; url: '/.well-known/assetlinks.json'; }; export type GetAssetLinksResponses = { /** * OK */ 200: JsonNode; }; export type GetAssetLinksResponse = GetAssetLinksResponses[keyof GetAssetLinksResponses]; export type GetAppleAppSiteAssociationData = { body?: never; path?: never; query?: never; url: '/.well-known/apple-app-site-association'; }; export type GetAppleAppSiteAssociationResponses = { /** * OK */ 200: JsonNode; }; export type GetAppleAppSiteAssociationResponse = GetAppleAppSiteAssociationResponses[keyof GetAppleAppSiteAssociationResponses]; export type DeleteUserSettingsData = { body?: never; path: { /** * paths */ paths: string; /** * Settings type, case insensitive, one of: "general", "quick_links", "doc_links" or "dashboards". */ type: string; }; query?: never; url: '/api/user/settings/{type}/{paths}'; }; export type DeleteUserSettingsResponses = { /** * OK */ 200: unknown; }; export type DeleteUserSettings1Data = { body?: never; path: { /** * paths */ paths: string; }; query?: never; url: '/api/user/settings/{paths}'; }; export type DeleteUserSettings1Responses = { /** * OK */ 200: unknown; }; export type DeleteCustomTranslationKeyData = { body?: never; path: { /** * Locale code (e.g. 'en_US'). */ localeCode: string; /** * A string value representing key of the custom translation (e.g. 'notification.active'). */ keyPath: string; }; query?: never; url: '/api/translation/custom/{localeCode}/{keyPath}'; }; export type DeleteCustomTranslationKeyResponses = { /** * OK */ 200: unknown; }; export type UninstallSolutionTemplateData = { body?: never; path: { /** * A string value representing the solution template id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ solutionTemplateId: string; }; query?: never; url: '/api/solutions/templates/{solutionTemplateId}/delete'; }; export type UninstallSolutionTemplateResponses = { /** * OK */ 200: unknown; }; export type DeleteSecretData = { body?: never; path: { id: string; }; query?: never; url: '/api/secret/{id}'; }; export type DeleteSecretResponses = { /** * OK */ 200: TbSecretDeleteResult; }; export type DeleteSecretResponse = DeleteSecretResponses[keyof DeleteSecretResponses]; export type DeleteEntityTimeseriesData = { body?: never; path: { /** * A string value representing the entity type. For example, 'DEVICE' */ entityType: string; /** * A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ entityId: string; }; query: { /** * A string value representing the comma-separated list of telemetry keys. If keys are not selected, the result will return all latest time series. For example, 'temperature,humidity'. If telemetry keys contain comma, duplicate 'key' parameter for each key, for example '?key=my,key&key=my,second,key */ keys?: string; /** * A boolean value to specify if should be deleted all data for selected keys or only data that are in the selected time range. */ deleteAllDataForKeys?: boolean; /** * A long value representing the start timestamp of removal time range in milliseconds. */ startTs?: number; /** * A long value representing the end timestamp of removal time range in milliseconds. */ endTs?: number; /** * If the parameter is set to true, the latest telemetry can be removed, otherwise, in case that parameter is set to false the latest value will not removed. */ deleteLatest?: boolean; /** * If the parameter is set to true, the latest telemetry will be rewritten in case that current latest value was removed, otherwise, in case that parameter is set to false the new latest value will not set. */ rewriteLatestIfDeleted?: boolean; params: MultiValueMapStringString; }; url: '/api/plugins/telemetry/{entityType}/{entityId}/timeseries/delete'; }; export type DeleteEntityTimeseriesErrors = { /** * Platform returns a bad request in case if keys list is empty or start and end timestamp values is empty when deleteAllDataForKeys is set to false. */ 400: string; /** * User is not authorized to delete entity time series for selected entity. Most likely, User belongs to different Customer or Tenant. */ 401: string; /** * The exception was thrown during processing the request. Platform creates an audit log event about entity time series removal with action type 'TIMESERIES_DELETED' that includes an error stacktrace. */ 500: string; }; export type DeleteEntityTimeseriesError = DeleteEntityTimeseriesErrors[keyof DeleteEntityTimeseriesErrors]; export type DeleteEntityTimeseriesResponses = { /** * Time series for the selected keys in the request was removed. Platform creates an audit log event about entity time series removal with action type 'TIMESERIES_DELETED'. */ 200: string; }; export type DeleteEntityTimeseriesResponse = DeleteEntityTimeseriesResponses[keyof DeleteEntityTimeseriesResponses]; export type DeleteClientRegistrationTemplateData = { body?: never; path: { /** * String representation of client registration template id to delete */ clientRegistrationTemplateId: string; }; query?: never; url: '/api/oauth2/config/template/{clientRegistrationTemplateId}'; }; export type DeleteClientRegistrationTemplateResponses = { /** * OK */ 200: unknown; }; export type DeleteNotificationData = { body?: never; path: { id: string; }; query?: never; url: '/api/notification/{id}'; }; export type DeleteNotificationResponses = { /** * OK */ 200: unknown; }; export type DeleteMobileAppBundleData = { body?: never; path: { id: string; }; query?: never; url: '/api/mobile/bundle/{id}'; }; export type DeleteMobileAppBundleResponses = { /** * OK */ 200: unknown; }; export type DeleteDomainData = { body?: never; path: { id: string; }; query?: never; url: '/api/domain/{id}'; }; export type DeleteDomainResponses = { /** * OK */ 200: unknown; }; export type DeleteDeviceGroupOtaPackageData = { body?: never; path: { id: string; }; query?: never; url: '/api/deviceGroupOtaPackage/{id}'; }; export type DeleteDeviceGroupOtaPackageResponses = { /** * OK */ 200: unknown; }; export type DeleteCustomMenuData = { body?: never; path: { /** * A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ customMenuId: string; }; query?: { /** * Force set to true will unassign menu before deletion */ force?: boolean; }; url: '/api/customMenu/{customMenuId}'; }; export type DeleteCustomMenuResponses = { /** * OK */ 200: CustomMenuDeleteResult; }; export type DeleteCustomMenuResponse = DeleteCustomMenuResponses[keyof DeleteCustomMenuResponses]; export type DeleteBlobEntityData = { body?: never; path: { /** * A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ blobEntityId: string; }; query?: never; url: '/api/blobEntity/{blobEntityId}'; }; export type DeleteBlobEntityResponses = { /** * OK */ 200: unknown; }; export type DeleteApiKeyData = { body?: never; path: { id: string; }; query?: never; url: '/api/apiKey/{id}'; }; export type DeleteApiKeyResponses = { /** * OK */ 200: unknown; }; export type DeleteAlarmCommentData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; /** * A string value representing the alarm comment id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ commentId: string; }; query?: never; url: '/api/alarm/{alarmId}/comment/{commentId}'; }; export type DeleteAlarmCommentResponses = { /** * OK */ 200: unknown; }; export type UnassignAlarmData = { body?: never; path: { /** * A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' */ alarmId: string; }; query?: never; url: '/api/alarm/{alarmId}/assign'; }; export type UnassignAlarmResponses = { /** * OK */ 200: Alarm; }; export type UnassignAlarmResponse = UnassignAlarmResponses[keyof UnassignAlarmResponses]; export type HandleError3Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError3Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError3Response = HandleError3Responses[keyof HandleError3Responses]; export type HandleErrorData = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleErrorResponses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleErrorResponse = HandleErrorResponses[keyof HandleErrorResponses]; export type HandleError5Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError5Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError5Response = HandleError5Responses[keyof HandleError5Responses]; export type HandleError6Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError6Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError6Response = HandleError6Responses[keyof HandleError6Responses]; export type HandleError4Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError4Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError4Response = HandleError4Responses[keyof HandleError4Responses]; export type HandleError1Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError1Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError1Response = HandleError1Responses[keyof HandleError1Responses]; export type HandleError2Data = { body?: never; path?: never; query?: never; url: '/error'; }; export type HandleError2Responses = { /** * OK */ 200: { [key: string]: unknown; }; }; export type HandleError2Response = HandleError2Responses[keyof HandleError2Responses]; export type HandleUnauthorizedTrendzRequests3Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests3Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests3Response = HandleUnauthorizedTrendzRequests3Responses[keyof HandleUnauthorizedTrendzRequests3Responses]; export type HandleUnauthorizedTrendzRequestsData = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequestsResponses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequestsResponse = HandleUnauthorizedTrendzRequestsResponses[keyof HandleUnauthorizedTrendzRequestsResponses]; export type HandleUnauthorizedTrendzRequests5Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests5Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests5Response = HandleUnauthorizedTrendzRequests5Responses[keyof HandleUnauthorizedTrendzRequests5Responses]; export type HandleUnauthorizedTrendzRequests6Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests6Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests6Response = HandleUnauthorizedTrendzRequests6Responses[keyof HandleUnauthorizedTrendzRequests6Responses]; export type HandleUnauthorizedTrendzRequests4Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests4Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests4Response = HandleUnauthorizedTrendzRequests4Responses[keyof HandleUnauthorizedTrendzRequests4Responses]; export type HandleUnauthorizedTrendzRequests1Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests1Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests1Response = HandleUnauthorizedTrendzRequests1Responses[keyof HandleUnauthorizedTrendzRequests1Responses]; export type HandleUnauthorizedTrendzRequests2Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/publicApi/**'; }; export type HandleUnauthorizedTrendzRequests2Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests2Response = HandleUnauthorizedTrendzRequests2Responses[keyof HandleUnauthorizedTrendzRequests2Responses]; export type HandleUnauthorizedTrendzRequests10Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests10Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests10Response = HandleUnauthorizedTrendzRequests10Responses[keyof HandleUnauthorizedTrendzRequests10Responses]; export type HandleUnauthorizedTrendzRequests7Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests7Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests7Response = HandleUnauthorizedTrendzRequests7Responses[keyof HandleUnauthorizedTrendzRequests7Responses]; export type HandleUnauthorizedTrendzRequests12Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests12Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests12Response = HandleUnauthorizedTrendzRequests12Responses[keyof HandleUnauthorizedTrendzRequests12Responses]; export type HandleUnauthorizedTrendzRequests13Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests13Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests13Response = HandleUnauthorizedTrendzRequests13Responses[keyof HandleUnauthorizedTrendzRequests13Responses]; export type HandleUnauthorizedTrendzRequests11Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests11Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests11Response = HandleUnauthorizedTrendzRequests11Responses[keyof HandleUnauthorizedTrendzRequests11Responses]; export type HandleUnauthorizedTrendzRequests8Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests8Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests8Response = HandleUnauthorizedTrendzRequests8Responses[keyof HandleUnauthorizedTrendzRequests8Responses]; export type HandleUnauthorizedTrendzRequests9Data = { body?: string; path?: never; query?: never; url: '/trendz/**'; }; export type HandleUnauthorizedTrendzRequests9Responses = { /** * OK */ 200: string; }; export type HandleUnauthorizedTrendzRequests9Response = HandleUnauthorizedTrendzRequests9Responses[keyof HandleUnauthorizedTrendzRequests9Responses]; export type HandleAuthorizedTrendzRequests3Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests3Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests3Response = HandleAuthorizedTrendzRequests3Responses[keyof HandleAuthorizedTrendzRequests3Responses]; export type HandleAuthorizedTrendzRequestsData = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequestsResponses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequestsResponse = HandleAuthorizedTrendzRequestsResponses[keyof HandleAuthorizedTrendzRequestsResponses]; export type HandleAuthorizedTrendzRequests5Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests5Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests5Response = HandleAuthorizedTrendzRequests5Responses[keyof HandleAuthorizedTrendzRequests5Responses]; export type HandleAuthorizedTrendzRequests6Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests6Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests6Response = HandleAuthorizedTrendzRequests6Responses[keyof HandleAuthorizedTrendzRequests6Responses]; export type HandleAuthorizedTrendzRequests4Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests4Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests4Response = HandleAuthorizedTrendzRequests4Responses[keyof HandleAuthorizedTrendzRequests4Responses]; export type HandleAuthorizedTrendzRequests1Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests1Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests1Response = HandleAuthorizedTrendzRequests1Responses[keyof HandleAuthorizedTrendzRequests1Responses]; export type HandleAuthorizedTrendzRequests2Data = { body?: string; path?: never; query?: never; url: '/apiTrendz/**'; }; export type HandleAuthorizedTrendzRequests2Responses = { /** * OK */ 200: string; }; export type HandleAuthorizedTrendzRequests2Response = HandleAuthorizedTrendzRequests2Responses[keyof HandleAuthorizedTrendzRequests2Responses]; export type AttributeEntry = { key: string; value: unknown; lastUpdateTs?: number; }; //# sourceMappingURL=types.gen.d.ts.map