From 1b383aa8101f715dd923a474b81cb7ebba902f05 Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Fri, 22 May 2026 09:17:27 +0100 Subject: [PATCH] Update PE OpenAPI spec in master (from master) --- pe/docs/Alarm.md | 2 +- pe/docs/AlarmData.md | 2 +- pe/docs/AlarmInfo.md | 2 +- pe/docs/Asset.md | 2 +- pe/docs/AssetInfo.md | 2 +- pe/docs/AvailableEntityKeys.md | 4 +- pe/docs/AvailableEntityKeysV2.md | 2 +- pe/docs/Device.md | 2 +- pe/docs/DeviceInfo.md | 2 +- pe/docs/Edge.md | 4 +- pe/docs/EdgeInfo.md | 4 +- pe/docs/EntityDataDiff.md | 2 +- pe/docs/EntityExportData.md | 2 +- pe/docs/EntityGroupInfo.md | 2 +- pe/docs/EntityView.md | 2 +- pe/docs/EntityViewInfo.md | 2 +- pe/docs/GroupPermissionInfo.md | 2 +- pe/docs/PageDataAlarmData.md | 2 +- pe/docs/PageDataAlarmInfo.md | 2 +- pe/docs/PageDataAsset.md | 2 +- pe/docs/PageDataAssetInfo.md | 2 +- pe/docs/PageDataDevice.md | 2 +- pe/docs/PageDataDeviceInfo.md | 2 +- pe/docs/PageDataEdge.md | 4 +- pe/docs/PageDataEdgeInfo.md | 4 +- pe/docs/PageDataEntityGroupInfo.md | 2 +- pe/docs/PageDataEntityView.md | 2 +- pe/docs/PageDataEntityViewInfo.md | 2 +- pe/docs/PageDataReportTemplateInfo.md | 2 +- pe/docs/PageDataRole.md | 2 +- pe/docs/PageDataScheduledReportInfo.md | 2 +- pe/docs/PageDataSchedulerEventInfo.md | 2 +- .../PageDataSchedulerEventWithCustomerInfo.md | 2 +- pe/docs/ReportTemplate.md | 2 +- pe/docs/ReportTemplateInfo.md | 2 +- pe/docs/Role.md | 2 +- pe/docs/SaveDeviceWithCredentialsRequest.md | 2 +- pe/docs/ScheduledReportInfo.md | 2 +- pe/docs/SchedulerEvent.md | 2 +- pe/docs/SchedulerEventInfo.md | 2 +- pe/docs/SchedulerEventWithCustomerInfo.md | 2 +- pe/docs/SolutionData.md | 2 +- pe/docs/SolutionExportImportControllerApi.md | 6 +- pe/docs/SolutionExportRequest.md | 3 +- pe/docs/SolutionExportResponse.md | 2 +- pe/docs/TbChatRequest.md | 2 +- pe/docs/TbUserMessage.md | 2 +- pe/docs/WidgetsBundleExportData.md | 2 +- pe/spec/openapi.json | 79 +++++++------- .../client/api/ThingsboardApi.java | 12 +-- .../org/thingsboard/client/model/Alarm.java | 2 +- .../thingsboard/client/model/AlarmData.java | 2 +- .../thingsboard/client/model/AlarmInfo.java | 2 +- .../org/thingsboard/client/model/Asset.java | 14 ++- .../thingsboard/client/model/AssetInfo.java | 14 ++- .../client/model/AvailableEntityKeys.java | 4 +- .../client/model/AvailableEntityKeysV2.java | 2 +- .../org/thingsboard/client/model/Device.java | 14 ++- .../thingsboard/client/model/DeviceInfo.java | 14 ++- .../org/thingsboard/client/model/Edge.java | 16 ++- .../thingsboard/client/model/EdgeInfo.java | 16 ++- .../client/model/EntityGroupInfo.java | 18 ++-- .../thingsboard/client/model/EntityView.java | 14 ++- .../client/model/EntityViewInfo.java | 14 ++- .../client/model/ReportTemplate.java | 14 ++- .../client/model/ReportTemplateInfo.java | 14 ++- .../org/thingsboard/client/model/Role.java | 14 ++- .../client/model/ScheduledReportInfo.java | 14 ++- .../client/model/SchedulerEvent.java | 14 ++- .../client/model/SchedulerEventInfo.java | 14 ++- .../model/SchedulerEventWithCustomerInfo.java | 14 ++- .../client/model/SolutionExportRequest.java | 100 +++++++++++++----- .../client/model/TbUserMessage.java | 2 +- .../client/model/WidgetsBundleExportData.java | 2 +- 74 files changed, 362 insertions(+), 188 deletions(-) diff --git a/pe/docs/Alarm.md b/pe/docs/Alarm.md index 179a1f60..825c8b62 100644 --- a/pe/docs/Alarm.md +++ b/pe/docs/Alarm.md @@ -10,7 +10,7 @@ | **id** | **AlarmId** | 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. | [optional] | | **createdTime** | **Long** | Timestamp of the alarm creation, in milliseconds | [optional] [readonly] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. | [optional] [readonly] | | **type** | **String** | representing type of the Alarm | | | **originator** | **EntityId** | JSON object with alarm originator id | | | **severity** | **AlarmSeverity** | Alarm severity | | diff --git a/pe/docs/AlarmData.md b/pe/docs/AlarmData.md index 437dd885..d644f5fa 100644 --- a/pe/docs/AlarmData.md +++ b/pe/docs/AlarmData.md @@ -10,7 +10,7 @@ | **id** | **AlarmId** | 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. | [optional] | | **createdTime** | **Long** | Timestamp of the alarm creation, in milliseconds | [optional] [readonly] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. | [optional] [readonly] | | **type** | **String** | representing type of the Alarm | | | **originator** | **EntityId** | JSON object with alarm originator id | | | **severity** | **AlarmSeverity** | Alarm severity | | diff --git a/pe/docs/AlarmInfo.md b/pe/docs/AlarmInfo.md index 2f2f13ab..0f6c6c5a 100644 --- a/pe/docs/AlarmInfo.md +++ b/pe/docs/AlarmInfo.md @@ -10,7 +10,7 @@ | **id** | **AlarmId** | 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. | [optional] | | **createdTime** | **Long** | Timestamp of the alarm creation, in milliseconds | [optional] [readonly] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. | [optional] [readonly] | | **type** | **String** | representing type of the Alarm | | | **originator** | **EntityId** | JSON object with alarm originator id | | | **severity** | **AlarmSeverity** | Alarm severity | | diff --git a/pe/docs/Asset.md b/pe/docs/Asset.md index e4fdcf90..aa42da3d 100644 --- a/pe/docs/Asset.md +++ b/pe/docs/Asset.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the asset creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the asset. May include: 'description' (string). | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. | [optional] | | **name** | **String** | Unique Asset Name in scope of Tenant | | | **type** | **String** | Asset type | [optional] | | **label** | **String** | Label that may be used in widgets | [optional] | diff --git a/pe/docs/AssetInfo.md b/pe/docs/AssetInfo.md index 513ca1dc..50f864d1 100644 --- a/pe/docs/AssetInfo.md +++ b/pe/docs/AssetInfo.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the asset creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the asset. May include: 'description' (string). | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. | [optional] | | **name** | **String** | Unique Asset Name in scope of Tenant | | | **type** | **String** | Asset type | [optional] | | **label** | **String** | Label that may be used in widgets | [optional] | diff --git a/pe/docs/AvailableEntityKeys.md b/pe/docs/AvailableEntityKeys.md index 61961775..159b9529 100644 --- a/pe/docs/AvailableEntityKeys.md +++ b/pe/docs/AvailableEntityKeys.md @@ -10,8 +10,8 @@ Contains unique time series and attribute key names discovered from entities mat | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| | **entityTypes** | **Set\** | Set of entity types found among the matched entities. | | -| **timeseries** | **Set\** | | | -| **attribute** | **Set\** | | | +| **timeseries** | **Set\** | List of unique time series key names available on the matched entities. | | +| **attribute** | **Set\** | List of unique attribute key names available on the matched entities. | | diff --git a/pe/docs/AvailableEntityKeysV2.md b/pe/docs/AvailableEntityKeysV2.md index ec83e9fd..4a100ff3 100644 --- a/pe/docs/AvailableEntityKeysV2.md +++ b/pe/docs/AvailableEntityKeysV2.md @@ -11,7 +11,7 @@ Contains unique time series and attribute key names discovered from entities mat |------------ | ------------- | ------------- | -------------| | **totalEntities** | **Integer** | Total number of entities that matched the query filter. | | | **entityTypes** | **Set\** | Set of entity types found among the matched entities. | | -| **timeseries** | **List\** | | [optional] | +| **timeseries** | **List\** | List of unique time series keys available on the matched entities, sorted alphabetically. Omitted when timeseries keys were not requested. | [optional] | | **attributes** | **Map\\>** | Map of attribute scope to the list of unique attribute keys available on the matched entities. Only scopes supported by the matched entity types are included. Omitted when attribute keys were not requested or when none of the requested scopes apply to the matched entity types. | [optional] | diff --git a/pe/docs/Device.md b/pe/docs/Device.md index 2087460f..d692703b 100644 --- a/pe/docs/Device.md +++ b/pe/docs/Device.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the device creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the device. May include: 'gateway' (boolean, whether the device is a gateway), 'description' (string), 'lastConnectedGateway' (string, UUID of the last gateway that connected this device). | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. | [optional] | | **name** | **String** | Unique Device Name in scope of Tenant | [optional] | | **type** | **String** | Device Profile Name | [optional] | | **label** | **String** | Label that may be used in widgets | [optional] | diff --git a/pe/docs/DeviceInfo.md b/pe/docs/DeviceInfo.md index dd83152f..f2d3c342 100644 --- a/pe/docs/DeviceInfo.md +++ b/pe/docs/DeviceInfo.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the device creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the device. May include: 'gateway' (boolean, whether the device is a gateway), 'description' (string), 'lastConnectedGateway' (string, UUID of the last gateway that connected this device). | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. | [optional] | | **name** | **String** | Unique Device Name in scope of Tenant | [optional] | | **type** | **String** | Device Profile Name | [optional] | | **label** | **String** | Label that may be used in widgets | [optional] | diff --git a/pe/docs/Edge.md b/pe/docs/Edge.md index 863e4247..1289a096 100644 --- a/pe/docs/Edge.md +++ b/pe/docs/Edge.md @@ -12,8 +12,8 @@ A JSON value representing the edge. | **id** | **EdgeId** | 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. | [optional] | | **createdTime** | **Long** | Timestamp of the edge creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the edge. May include: 'description' (string). | [optional] | -| **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. | [optional] | | **rootRuleChainId** | **RuleChainId** | JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. | [optional] [readonly] | | **name** | **String** | Unique Edge Name in scope of Tenant | | | **type** | **String** | Edge type | | diff --git a/pe/docs/EdgeInfo.md b/pe/docs/EdgeInfo.md index ddf4ec49..c99182dc 100644 --- a/pe/docs/EdgeInfo.md +++ b/pe/docs/EdgeInfo.md @@ -10,8 +10,8 @@ | **id** | **EdgeId** | 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. | [optional] | | **createdTime** | **Long** | Timestamp of the edge creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the edge. May include: 'description' (string). | [optional] | -| **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. | [optional] | | **rootRuleChainId** | **RuleChainId** | JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. | [optional] [readonly] | | **name** | **String** | Unique Edge Name in scope of Tenant | | | **type** | **String** | Edge type | | diff --git a/pe/docs/EntityDataDiff.md b/pe/docs/EntityDataDiff.md index 64fbd3e8..4aac4674 100644 --- a/pe/docs/EntityDataDiff.md +++ b/pe/docs/EntityDataDiff.md @@ -100,7 +100,7 @@ #### WidgetsBundleExportData *(extends EntityExportData, entityType=`WIDGETS_BUNDLE`)* | Name | Type | Description | Notes | |------|------|-------------|-------| -| widgets | List | | [optional] | +| widgets | List | List of widgets in the bundle | [optional] | | fqns | List | | [optional] | #### WidgetTypeExportData *(extends EntityExportData, entityType=`WIDGET_TYPE`)* diff --git a/pe/docs/EntityExportData.md b/pe/docs/EntityExportData.md index 7234885b..945a67c3 100644 --- a/pe/docs/EntityExportData.md +++ b/pe/docs/EntityExportData.md @@ -94,7 +94,7 @@ Base export container for ThingsBoard entities #### WidgetsBundleExportData *(entityType=`WIDGETS_BUNDLE`)* | Name | Type | Description | Notes | |------|------|-------------|-------| -| widgets | List | | [optional] | +| widgets | List | List of widgets in the bundle | [optional] | | fqns | List | | [optional] | #### WidgetTypeExportData *(entityType=`WIDGET_TYPE`)* diff --git a/pe/docs/EntityGroupInfo.md b/pe/docs/EntityGroupInfo.md index b1d06664..213b6f07 100644 --- a/pe/docs/EntityGroupInfo.md +++ b/pe/docs/EntityGroupInfo.md @@ -15,7 +15,7 @@ | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the entity group. May include: 'description' (string), 'isPublic' (boolean, whether this group is shared publicly), 'publicCustomerId' (string, UUID of the public customer associated with this group). | [optional] | | **_configuration** | **com.fasterxml.jackson.databind.JsonNode** | JSON with the configuration for UI components: list of columns, settings, actions, etc | [optional] | | **version** | **Long** | | [optional] | -| **ownerIds** | **Set\** | | [optional] | +| **ownerIds** | **Set\** | List of the entity group owners. | | | **edgeGroupAll** | **Boolean** | Indicates special edge group 'All' that contains all entities and can't be deleted. | [optional] [readonly] | | **groupAll** | **Boolean** | Indicates special group 'All' that contains all entities and can't be deleted. | [optional] | | **tenantId** | **TenantId** | | [optional] | diff --git a/pe/docs/EntityView.md b/pe/docs/EntityView.md index c21ed12a..32a1d6ae 100644 --- a/pe/docs/EntityView.md +++ b/pe/docs/EntityView.md @@ -14,7 +14,7 @@ A JSON object representing the entity view. | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the entity view. May include: 'description' (string). | [optional] | | **entityId** | **EntityId** | JSON object with the referenced Entity Id (Device or Asset). | | | **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. | [optional] | | **name** | **String** | Entity View name | | | **type** | **String** | Device Profile Name | | | **keys** | **TelemetryEntityView** | Set of telemetry and attribute keys to expose via Entity View. | [optional] | diff --git a/pe/docs/EntityViewInfo.md b/pe/docs/EntityViewInfo.md index 3ea0c368..89a52765 100644 --- a/pe/docs/EntityViewInfo.md +++ b/pe/docs/EntityViewInfo.md @@ -12,7 +12,7 @@ | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the entity view. May include: 'description' (string). | [optional] | | **entityId** | **EntityId** | JSON object with the referenced Entity Id (Device or Asset). | | | **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. | [optional] | | **name** | **String** | Entity View name | | | **type** | **String** | Device Profile Name | | | **keys** | **TelemetryEntityView** | Set of telemetry and attribute keys to expose via Entity View. | [optional] | diff --git a/pe/docs/GroupPermissionInfo.md b/pe/docs/GroupPermissionInfo.md index 8525fe48..1b220ef2 100644 --- a/pe/docs/GroupPermissionInfo.md +++ b/pe/docs/GroupPermissionInfo.md @@ -41,7 +41,7 @@ | createdTime | Long | Timestamp of the role creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the role. May include: 'description' (string). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Role is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | name | String | Role Name | | | type | RoleType | Type of the role: generic or group | | | permissions | com.fasterxml.jackson.databind.JsonNode | Set of permissions granted by this role. The JSON shape depends on the role 'type': * GENERIC — JSON object mapping `Resource` enum names to arrays of `Operation` enum names allowed on that resource. The wildcard entry `{\"ALL\":[\"ALL\"]}` grants every operation on every resource. * GROUP — JSON array of `Operation` enum names that apply to the entity group this role is bound to via `GroupPermission.entityGroupId`. Only operations with `allowedForGroupRole=true` may appear (see `Operation` enum). The wildcard entry `[\"ALL\"]` grants every supported operation on the bound entity group. | | diff --git a/pe/docs/PageDataAlarmData.md b/pe/docs/PageDataAlarmData.md index 6fcbad0a..9f0f21ea 100644 --- a/pe/docs/PageDataAlarmData.md +++ b/pe/docs/PageDataAlarmData.md @@ -24,7 +24,7 @@ | id | AlarmId | 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. | [optional] | | createdTime | Long | Timestamp of the alarm creation, in milliseconds | [optional] [readonly] | | tenantId | TenantId | JSON object with Tenant Id | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. | [optional] [readonly] | | type | String | representing type of the Alarm | | | originator | EntityId | JSON object with alarm originator id | | | severity | AlarmSeverity | Alarm severity | | diff --git a/pe/docs/PageDataAlarmInfo.md b/pe/docs/PageDataAlarmInfo.md index a927b63e..4c1c8c8b 100644 --- a/pe/docs/PageDataAlarmInfo.md +++ b/pe/docs/PageDataAlarmInfo.md @@ -24,7 +24,7 @@ | id | AlarmId | 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. | [optional] | | createdTime | Long | Timestamp of the alarm creation, in milliseconds | [optional] [readonly] | | tenantId | TenantId | JSON object with Tenant Id | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. | [optional] [readonly] | | type | String | representing type of the Alarm | | | originator | EntityId | JSON object with alarm originator id | | | severity | AlarmSeverity | Alarm severity | | diff --git a/pe/docs/PageDataAsset.md b/pe/docs/PageDataAsset.md index b35aba46..47d8dcf1 100644 --- a/pe/docs/PageDataAsset.md +++ b/pe/docs/PageDataAsset.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the asset creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the asset. May include: 'description' (string). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. | [optional] | | name | String | Unique Asset Name in scope of Tenant | | | type | String | Asset type | [optional] | | label | String | Label that may be used in widgets | [optional] | diff --git a/pe/docs/PageDataAssetInfo.md b/pe/docs/PageDataAssetInfo.md index e810a6b5..bbef8c6a 100644 --- a/pe/docs/PageDataAssetInfo.md +++ b/pe/docs/PageDataAssetInfo.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the asset creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the asset. May include: 'description' (string). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. | [optional] | | name | String | Unique Asset Name in scope of Tenant | | | type | String | Asset type | [optional] | | label | String | Label that may be used in widgets | [optional] | diff --git a/pe/docs/PageDataDevice.md b/pe/docs/PageDataDevice.md index 81217256..be3f3c5f 100644 --- a/pe/docs/PageDataDevice.md +++ b/pe/docs/PageDataDevice.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the device creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the device. May include: 'gateway' (boolean, whether the device is a gateway), 'description' (string), 'lastConnectedGateway' (string, UUID of the last gateway that connected this device). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. | [optional] | | name | String | Unique Device Name in scope of Tenant | [optional] | | type | String | Device Profile Name | [optional] | | label | String | Label that may be used in widgets | [optional] | diff --git a/pe/docs/PageDataDeviceInfo.md b/pe/docs/PageDataDeviceInfo.md index 2965abe5..bd75a36f 100644 --- a/pe/docs/PageDataDeviceInfo.md +++ b/pe/docs/PageDataDeviceInfo.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the device creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the device. May include: 'gateway' (boolean, whether the device is a gateway), 'description' (string), 'lastConnectedGateway' (string, UUID of the last gateway that connected this device). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. | [optional] | | name | String | Unique Device Name in scope of Tenant | [optional] | | type | String | Device Profile Name | [optional] | | label | String | Label that may be used in widgets | [optional] | diff --git a/pe/docs/PageDataEdge.md b/pe/docs/PageDataEdge.md index 188819d6..6da79107 100644 --- a/pe/docs/PageDataEdge.md +++ b/pe/docs/PageDataEdge.md @@ -24,8 +24,8 @@ | id | EdgeId | 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. | [optional] | | createdTime | Long | Timestamp of the edge creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the edge. May include: 'description' (string). | [optional] | -| tenantId | TenantId | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. | [optional] | | rootRuleChainId | RuleChainId | JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. | [optional] [readonly] | | name | String | Unique Edge Name in scope of Tenant | | | type | String | Edge type | | diff --git a/pe/docs/PageDataEdgeInfo.md b/pe/docs/PageDataEdgeInfo.md index 20594b20..44cbe2e4 100644 --- a/pe/docs/PageDataEdgeInfo.md +++ b/pe/docs/PageDataEdgeInfo.md @@ -24,8 +24,8 @@ | id | EdgeId | 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. | [optional] | | createdTime | Long | Timestamp of the edge creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the edge. May include: 'description' (string). | [optional] | -| tenantId | TenantId | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. | [optional] | | rootRuleChainId | RuleChainId | JSON object with Root Rule Chain Id. Use 'setEdgeRootRuleChain' to change the Root Rule Chain Id. | [optional] [readonly] | | name | String | Unique Edge Name in scope of Tenant | | | type | String | Edge type | | diff --git a/pe/docs/PageDataEntityGroupInfo.md b/pe/docs/PageDataEntityGroupInfo.md index 73a9957e..752d22da 100644 --- a/pe/docs/PageDataEntityGroupInfo.md +++ b/pe/docs/PageDataEntityGroupInfo.md @@ -29,7 +29,7 @@ | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the entity group. May include: 'description' (string), 'isPublic' (boolean, whether this group is shared publicly), 'publicCustomerId' (string, UUID of the public customer associated with this group). | [optional] | | _configuration | com.fasterxml.jackson.databind.JsonNode | JSON with the configuration for UI components: list of columns, settings, actions, etc | [optional] | | version | Long | | [optional] | -| ownerIds | Set | | [optional] | +| ownerIds | Set | List of the entity group owners. | | | edgeGroupAll | Boolean | Indicates special edge group 'All' that contains all entities and can't be deleted. | [optional] [readonly] | | groupAll | Boolean | Indicates special group 'All' that contains all entities and can't be deleted. | [optional] | | tenantId | TenantId | | [optional] | diff --git a/pe/docs/PageDataEntityView.md b/pe/docs/PageDataEntityView.md index 11176bd9..be3739f5 100644 --- a/pe/docs/PageDataEntityView.md +++ b/pe/docs/PageDataEntityView.md @@ -26,7 +26,7 @@ | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the entity view. May include: 'description' (string). | [optional] | | entityId | EntityId | JSON object with the referenced Entity Id (Device or Asset). | | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. | [optional] | | name | String | Entity View name | | | type | String | Device Profile Name | | | keys | TelemetryEntityView | Set of telemetry and attribute keys to expose via Entity View. | [optional] | diff --git a/pe/docs/PageDataEntityViewInfo.md b/pe/docs/PageDataEntityViewInfo.md index 970e135a..d8fbe927 100644 --- a/pe/docs/PageDataEntityViewInfo.md +++ b/pe/docs/PageDataEntityViewInfo.md @@ -26,7 +26,7 @@ | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the entity view. May include: 'description' (string). | [optional] | | entityId | EntityId | JSON object with the referenced Entity Id (Device or Asset). | | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. | [optional] | | name | String | Entity View name | | | type | String | Device Profile Name | | | keys | TelemetryEntityView | Set of telemetry and attribute keys to expose via Entity View. | [optional] | diff --git a/pe/docs/PageDataReportTemplateInfo.md b/pe/docs/PageDataReportTemplateInfo.md index 6016850f..34084de4 100644 --- a/pe/docs/PageDataReportTemplateInfo.md +++ b/pe/docs/PageDataReportTemplateInfo.md @@ -24,7 +24,7 @@ | id | ReportTemplateId | 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 | [optional] | | createdTime | Long | Timestamp of the report template creation, in milliseconds | [optional] [readonly] | | tenantId | TenantId | JSON object with Tenant Id. Tenant Id of the report template can't be changed. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | name | String | Report name | | | format | TbReportFormat | Report format | | | type | ReportTemplateType | Report template type | | diff --git a/pe/docs/PageDataRole.md b/pe/docs/PageDataRole.md index e884ce46..7473eb17 100644 --- a/pe/docs/PageDataRole.md +++ b/pe/docs/PageDataRole.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the role creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the role. May include: 'description' (string). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Role is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | name | String | Role Name | | | type | RoleType | Type of the role: generic or group | | | permissions | com.fasterxml.jackson.databind.JsonNode | Set of permissions granted by this role. The JSON shape depends on the role 'type': * GENERIC — JSON object mapping `Resource` enum names to arrays of `Operation` enum names allowed on that resource. The wildcard entry `{\"ALL\":[\"ALL\"]}` grants every operation on every resource. * GROUP — JSON array of `Operation` enum names that apply to the entity group this role is bound to via `GroupPermission.entityGroupId`. Only operations with `allowedForGroupRole=true` may appear (see `Operation` enum). The wildcard entry `[\"ALL\"]` grants every supported operation on the bound entity group. | | diff --git a/pe/docs/PageDataScheduledReportInfo.md b/pe/docs/PageDataScheduledReportInfo.md index 72e76d12..a3b918fb 100644 --- a/pe/docs/PageDataScheduledReportInfo.md +++ b/pe/docs/PageDataScheduledReportInfo.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the scheduler event | [optional] | | tenantId | TenantId | JSON object with Tenant Id | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | originatorId | EntityId | JSON object with Originator Id | [optional] [readonly] | | name | String | scheduler event name | [optional] | | type | String | scheduler event type | [optional] | diff --git a/pe/docs/PageDataSchedulerEventInfo.md b/pe/docs/PageDataSchedulerEventInfo.md index 28828dbd..1cbc1233 100644 --- a/pe/docs/PageDataSchedulerEventInfo.md +++ b/pe/docs/PageDataSchedulerEventInfo.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the scheduler event | [optional] | | tenantId | TenantId | JSON object with Tenant Id | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | originatorId | EntityId | JSON object with Originator Id | [optional] [readonly] | | name | String | scheduler event name | [optional] | | type | String | scheduler event type | [optional] | diff --git a/pe/docs/PageDataSchedulerEventWithCustomerInfo.md b/pe/docs/PageDataSchedulerEventWithCustomerInfo.md index fe3dc872..90e1217a 100644 --- a/pe/docs/PageDataSchedulerEventWithCustomerInfo.md +++ b/pe/docs/PageDataSchedulerEventWithCustomerInfo.md @@ -25,7 +25,7 @@ | createdTime | Long | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the scheduler event | [optional] | | tenantId | TenantId | JSON object with Tenant Id | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | originatorId | EntityId | JSON object with Originator Id | [optional] [readonly] | | name | String | scheduler event name | [optional] | | type | String | scheduler event type | [optional] | diff --git a/pe/docs/ReportTemplate.md b/pe/docs/ReportTemplate.md index 80519216..6db0a9e4 100644 --- a/pe/docs/ReportTemplate.md +++ b/pe/docs/ReportTemplate.md @@ -12,7 +12,7 @@ A JSON value representing the Report Template. | **id** | **ReportTemplateId** | 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 | [optional] | | **createdTime** | **Long** | Timestamp of the report template creation, in milliseconds | [optional] [readonly] | | **tenantId** | **TenantId** | JSON object with Tenant Id. Tenant Id of the report template can't be changed. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **name** | **String** | Report name | | | **format** | **TbReportFormat** | Report format | | | **type** | **ReportTemplateType** | Report template type | | diff --git a/pe/docs/ReportTemplateInfo.md b/pe/docs/ReportTemplateInfo.md index e5d489be..0cbbe44a 100644 --- a/pe/docs/ReportTemplateInfo.md +++ b/pe/docs/ReportTemplateInfo.md @@ -10,7 +10,7 @@ | **id** | **ReportTemplateId** | 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 | [optional] | | **createdTime** | **Long** | Timestamp of the report template creation, in milliseconds | [optional] [readonly] | | **tenantId** | **TenantId** | JSON object with Tenant Id. Tenant Id of the report template can't be changed. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **name** | **String** | Report name | | | **format** | **TbReportFormat** | Report format | | | **type** | **ReportTemplateType** | Report template type | | diff --git a/pe/docs/Role.md b/pe/docs/Role.md index 1d03f070..01dcdb91 100644 --- a/pe/docs/Role.md +++ b/pe/docs/Role.md @@ -13,7 +13,7 @@ A JSON value representing the role. | **createdTime** | **Long** | Timestamp of the role creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the role. May include: 'description' (string). | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Role is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **name** | **String** | Role Name | | | **type** | **RoleType** | Type of the role: generic or group | | | **permissions** | **com.fasterxml.jackson.databind.JsonNode** | Set of permissions granted by this role. The JSON shape depends on the role 'type': * GENERIC — JSON object mapping `Resource` enum names to arrays of `Operation` enum names allowed on that resource. The wildcard entry `{\"ALL\":[\"ALL\"]}` grants every operation on every resource. * GROUP — JSON array of `Operation` enum names that apply to the entity group this role is bound to via `GroupPermission.entityGroupId`. Only operations with `allowedForGroupRole=true` may appear (see `Operation` enum). The wildcard entry `[\"ALL\"]` grants every supported operation on the bound entity group. | | diff --git a/pe/docs/SaveDeviceWithCredentialsRequest.md b/pe/docs/SaveDeviceWithCredentialsRequest.md index 656995ed..73329a81 100644 --- a/pe/docs/SaveDeviceWithCredentialsRequest.md +++ b/pe/docs/SaveDeviceWithCredentialsRequest.md @@ -25,7 +25,7 @@ The JSON object with device and credentials. See method description above for ex | createdTime | Long | Timestamp of the device creation, in milliseconds | [optional] [readonly] | | additionalInfo | com.fasterxml.jackson.databind.JsonNode | Additional parameters of the device. May include: 'gateway' (boolean, whether the device is a gateway), 'description' (string), 'lastConnectedGateway' (string, UUID of the last gateway that connected this device). | [optional] | | tenantId | TenantId | JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. | [optional] [readonly] | -| customerId | CustomerId | JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. | [optional] | | name | String | Unique Device Name in scope of Tenant | [optional] | | type | String | Device Profile Name | [optional] | | label | String | Label that may be used in widgets | [optional] | diff --git a/pe/docs/ScheduledReportInfo.md b/pe/docs/ScheduledReportInfo.md index 07b7bab5..0adc53ec 100644 --- a/pe/docs/ScheduledReportInfo.md +++ b/pe/docs/ScheduledReportInfo.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the scheduler event | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **originatorId** | **EntityId** | JSON object with Originator Id | [optional] [readonly] | | **name** | **String** | scheduler event name | [optional] | | **type** | **String** | scheduler event type | [optional] | diff --git a/pe/docs/SchedulerEvent.md b/pe/docs/SchedulerEvent.md index 7a62dced..84f90e40 100644 --- a/pe/docs/SchedulerEvent.md +++ b/pe/docs/SchedulerEvent.md @@ -13,7 +13,7 @@ A JSON value representing the Scheduler Event. | **createdTime** | **Long** | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the scheduler event | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **originatorId** | **EntityId** | JSON object with Originator Id | [optional] [readonly] | | **name** | **String** | scheduler event name | [optional] | | **type** | **String** | scheduler event type | [optional] | diff --git a/pe/docs/SchedulerEventInfo.md b/pe/docs/SchedulerEventInfo.md index 0fc51755..981e3758 100644 --- a/pe/docs/SchedulerEventInfo.md +++ b/pe/docs/SchedulerEventInfo.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the scheduler event | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **originatorId** | **EntityId** | JSON object with Originator Id | [optional] [readonly] | | **name** | **String** | scheduler event name | [optional] | | **type** | **String** | scheduler event type | [optional] | diff --git a/pe/docs/SchedulerEventWithCustomerInfo.md b/pe/docs/SchedulerEventWithCustomerInfo.md index c9173436..e01a964f 100644 --- a/pe/docs/SchedulerEventWithCustomerInfo.md +++ b/pe/docs/SchedulerEventWithCustomerInfo.md @@ -11,7 +11,7 @@ | **createdTime** | **Long** | Timestamp of the scheduler event creation, in milliseconds | [optional] [readonly] | | **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional parameters of the scheduler event | [optional] | | **tenantId** | **TenantId** | JSON object with Tenant Id | [optional] [readonly] | -| **customerId** | **CustomerId** | JSON object with Customer Id | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. | [optional] | | **originatorId** | **EntityId** | JSON object with Originator Id | [optional] [readonly] | | **name** | **String** | scheduler event name | [optional] | | **type** | **String** | scheduler event type | [optional] | diff --git a/pe/docs/SolutionData.md b/pe/docs/SolutionData.md index 098fcf34..ad97c497 100644 --- a/pe/docs/SolutionData.md +++ b/pe/docs/SolutionData.md @@ -101,7 +101,7 @@ Portable solution package containing exported entities grouped by type. Represen #### WidgetsBundleExportData *(extends EntityExportData, entityType=`WIDGETS_BUNDLE`)* | Name | Type | Description | Notes | |------|------|-------------|-------| -| widgets | List | | [optional] | +| widgets | List | List of widgets in the bundle | [optional] | | fqns | List | | [optional] | #### WidgetTypeExportData *(extends EntityExportData, entityType=`WIDGET_TYPE`)* diff --git a/pe/docs/SolutionExportImportControllerApi.md b/pe/docs/SolutionExportImportControllerApi.md index dd304f2b..dcf4a969 100644 --- a/pe/docs/SolutionExportImportControllerApi.md +++ b/pe/docs/SolutionExportImportControllerApi.md @@ -19,14 +19,14 @@ SolutionExportResponse exportSolution(@Nonnull SolutionExportRequest solutionExp Export Solution (exportSolution) -Exports a set of entities as a portable solution package. The request specifies entity IDs to include and optional export settings (relations, attributes, credentials). All specified entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. +Exports a set of entities as a portable solution package. The request specifies entities to include via 'internalIds' (server-internal UUIDs) and/or 'externalIds' (looked up by the entity's stored externalId within the current tenant); at least one of the two collections must be non-empty, and entities reached via both sides are deduplicated. Optional export settings control inclusion of relations, attributes, and credentials. All resolved entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. ### Parameters | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **solutionExportRequest** | **SolutionExportRequest** | Export request with entity IDs and optional settings. | | +| **solutionExportRequest** | **SolutionExportRequest** | Export request with internal and/or external entity IDs and optional settings. | | ### Return type @@ -67,7 +67,7 @@ SolutionValidationResult validateSolution(@Nonnull SolutionData solutionData) Validate Solution (validateSolution) -Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL READ permission. +Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. ### Parameters diff --git a/pe/docs/SolutionExportRequest.md b/pe/docs/SolutionExportRequest.md index 08cfd406..871a4c9f 100644 --- a/pe/docs/SolutionExportRequest.md +++ b/pe/docs/SolutionExportRequest.md @@ -9,7 +9,8 @@ Solution export request specifying which entities to include and export settings | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -| **entityIds** | **Set\** | | [optional] | +| **internalIds** | **Set\** | Set of internal entity IDs to export. The 'id' of each EntityId is the server-internal UUID. All listed entities must belong to the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty. | [optional] | +| **externalIds** | **Set\** | Set of external entity IDs to export. The 'id' of each EntityId is the external UUID (as stored in the 'externalId' field on the entity in the current tenant). The server looks up each entity by 'externalId' and 'entityType' within the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty. | [optional] | | **settings** | **EntityExportSettings** | Optional export settings controlling what additional data is included (relations, attributes, credentials, etc.). If not specified, default settings will be used that include all available data. | [optional] | diff --git a/pe/docs/SolutionExportResponse.md b/pe/docs/SolutionExportResponse.md index d8c5f9d0..4da3c8ba 100644 --- a/pe/docs/SolutionExportResponse.md +++ b/pe/docs/SolutionExportResponse.md @@ -107,7 +107,7 @@ Solution export response containing the exported solution data and any dependenc #### WidgetsBundleExportData *(extends EntityExportData, entityType=`WIDGETS_BUNDLE`)* | Name | Type | Description | Notes | |------|------|-------------|-------| -| widgets | List | | [optional] | +| widgets | List | List of widgets in the bundle | [optional] | | fqns | List | | [optional] | #### WidgetTypeExportData *(extends EntityExportData, entityType=`WIDGET_TYPE`)* diff --git a/pe/docs/TbChatRequest.md b/pe/docs/TbChatRequest.md index 6389386e..ba812366 100644 --- a/pe/docs/TbChatRequest.md +++ b/pe/docs/TbChatRequest.md @@ -18,7 +18,7 @@ #### TbUserMessage | Name | Type | Description | Notes | |------|------|-------------|-------| -| contents | List | | | +| contents | List | A list of content parts that make up the complete user prompt | | #### AiModelConfig | Name | Type | Description | Notes | diff --git a/pe/docs/TbUserMessage.md b/pe/docs/TbUserMessage.md index 6349a182..b2ce1ca0 100644 --- a/pe/docs/TbUserMessage.md +++ b/pe/docs/TbUserMessage.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -| **contents** | **List\** | | | +| **contents** | **List\** | A list of content parts that make up the complete user prompt | | diff --git a/pe/docs/WidgetsBundleExportData.md b/pe/docs/WidgetsBundleExportData.md index 01e6ca71..c50c513e 100644 --- a/pe/docs/WidgetsBundleExportData.md +++ b/pe/docs/WidgetsBundleExportData.md @@ -9,7 +9,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -| **widgets** | **List\** | | [optional] | +| **widgets** | **List\** | List of widgets in the bundle | [optional] | | **fqns** | **List\** | | [optional] | diff --git a/pe/spec/openapi.json b/pe/spec/openapi.json index 9efb9246..46c31212 100644 --- a/pe/spec/openapi.json +++ b/pe/spec/openapi.json @@ -94477,10 +94477,10 @@ "solution-export-import-controller" ], "summary": "Export Solution (exportSolution)", - "description": "Exports a set of entities as a portable solution package. The request specifies entity IDs to include and optional export settings (relations, attributes, credentials). All specified entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint.\n\nAvailable for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission.", + "description": "Exports a set of entities as a portable solution package. The request specifies entities to include via 'internalIds' (server-internal UUIDs) and/or 'externalIds' (looked up by the entity's stored externalId within the current tenant); at least one of the two collections must be non-empty, and entities reached via both sides are deduplicated. Optional export settings control inclusion of relations, attributes, and credentials. All resolved entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint.\n\nAvailable for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission.", "operationId": "exportSolution", "requestBody": { - "description": "Export request with entity IDs and optional settings.", + "description": "Export request with internal and/or external entity IDs and optional settings.", "content": { "application/json": { "schema": { @@ -94769,7 +94769,7 @@ "solution-export-import-controller" ], "summary": "Validate Solution (validateSolution)", - "description": "Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings.\n\nAvailable for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL READ permission.", + "description": "Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings.\n\nAvailable for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission.", "operationId": "validateSolution", "requestBody": { "description": "Solution data to validate.", @@ -118743,7 +118743,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", + "description": "JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected.", "readOnly": true }, "type": { @@ -119475,7 +119475,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", + "description": "JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected.", "readOnly": true }, "type": { @@ -119786,7 +119786,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", + "description": "JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected.", "readOnly": true }, "type": { @@ -121038,8 +121038,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset." }, "name": { "type": "string", @@ -121142,8 +121141,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset." }, "name": { "type": "string", @@ -121785,6 +121783,7 @@ }, "timeseries": { "type": "array", + "description": "List of unique time series key names available on the matched entities.", "items": { "type": "string", "example": "temperature", @@ -121794,6 +121793,7 @@ }, "attribute": { "type": "array", + "description": "List of unique attribute key names available on the matched entities.", "items": { "type": "string", "example": "serialNumber", @@ -121832,6 +121832,7 @@ }, "timeseries": { "type": "array", + "description": "List of unique time series keys available on the matched entities, sorted alphabetically.\nOmitted when timeseries keys were not requested.", "items": { "$ref": "#/components/schemas/KeyInfo" } @@ -125796,8 +125797,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device." }, "name": { "type": "string", @@ -126141,8 +126141,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device." }, "name": { "type": "string", @@ -127058,13 +127057,12 @@ }, "tenantId": { "$ref": "#/components/schemas/TenantId", - "description": "JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id.", + "description": "JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation.", "readOnly": true }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id." }, "rootRuleChainId": { "$ref": "#/components/schemas/RuleChainId", @@ -127417,13 +127415,12 @@ }, "tenantId": { "$ref": "#/components/schemas/TenantId", - "description": "JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id.", + "description": "JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation.", "readOnly": true }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id." }, "rootRuleChainId": { "$ref": "#/components/schemas/RuleChainId", @@ -128610,6 +128607,7 @@ }, "ownerIds": { "type": "array", + "description": "List of the entity group owners.", "items": { "$ref": "#/components/schemas/EntityId" }, @@ -128631,6 +128629,7 @@ }, "required": [ "name", + "ownerIds", "type" ] }, @@ -129335,8 +129334,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View." }, "name": { "type": "string", @@ -129450,8 +129448,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id.", - "readOnly": true + "description": "JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View." }, "name": { "type": "string", @@ -139682,8 +139679,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "name": { "type": "string", @@ -139860,8 +139856,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "name": { "type": "string", @@ -140368,8 +140363,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id. ", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Role is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "name": { "type": "string", @@ -141338,8 +141332,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "originatorId": { "$ref": "#/components/schemas/EntityId", @@ -141417,8 +141410,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "originatorId": { "$ref": "#/components/schemas/EntityId", @@ -141562,8 +141554,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "originatorId": { "$ref": "#/components/schemas/EntityId", @@ -141625,8 +141616,7 @@ }, "customerId": { "$ref": "#/components/schemas/CustomerId", - "description": "JSON object with Customer Id", - "readOnly": true + "description": "JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id." }, "originatorId": { "$ref": "#/components/schemas/EntityId", @@ -142875,8 +142865,17 @@ "type": "object", "description": "Solution export request specifying which entities to include and export settings.", "properties": { - "entityIds": { + "internalIds": { + "type": "array", + "description": "Set of internal entity IDs to export. The 'id' of each EntityId is the server-internal UUID. All listed entities must belong to the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty.", + "items": { + "$ref": "#/components/schemas/EntityId" + }, + "uniqueItems": true + }, + "externalIds": { "type": "array", + "description": "Set of external entity IDs to export. The 'id' of each EntityId is the external UUID (as stored in the 'externalId' field on the entity in the current tenant). The server looks up each entity by 'externalId' and 'entityType' within the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty.", "items": { "$ref": "#/components/schemas/EntityId" }, @@ -143943,6 +143942,7 @@ "properties": { "contents": { "type": "array", + "description": "A list of content parts that make up the complete user prompt", "items": { "$ref": "#/components/schemas/TbContent" }, @@ -147756,6 +147756,7 @@ "properties": { "widgets": { "type": "array", + "description": "List of widgets in the bundle", "items": { "$ref": "#/components/schemas/JsonNode" } diff --git a/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java b/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java index 0d20cc04..188efebe 100644 --- a/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java +++ b/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java @@ -11229,8 +11229,8 @@ private HttpRequest.Builder exportRuleChainsRequestBuilder(@Nonnull Integer limi /** * Export Solution (exportSolution) - * Exports a set of entities as a portable solution package. The request specifies entity IDs to include and optional export settings (relations, attributes, credentials). All specified entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. - * @param solutionExportRequest Export request with entity IDs and optional settings. (required) + * Exports a set of entities as a portable solution package. The request specifies entities to include via 'internalIds' (server-internal UUIDs) and/or 'externalIds' (looked up by the entity's stored externalId within the current tenant); at least one of the two collections must be non-empty, and entities reached via both sides are deduplicated. Optional export settings control inclusion of relations, attributes, and credentials. All resolved entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. + * @param solutionExportRequest Export request with internal and/or external entity IDs and optional settings. (required) * @return SolutionExportResponse * @throws ApiException if fails to make API call */ @@ -11241,8 +11241,8 @@ public SolutionExportResponse exportSolution(@Nonnull SolutionExportRequest solu /** * Export Solution (exportSolution) - * Exports a set of entities as a portable solution package. The request specifies entity IDs to include and optional export settings (relations, attributes, credentials). All specified entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. - * @param solutionExportRequest Export request with entity IDs and optional settings. (required) + * Exports a set of entities as a portable solution package. The request specifies entities to include via 'internalIds' (server-internal UUIDs) and/or 'externalIds' (looked up by the entity's stored externalId within the current tenant); at least one of the two collections must be non-empty, and entities reached via both sides are deduplicated. Optional export settings control inclusion of relations, attributes, and credentials. All resolved entities must belong to the current tenant. The response contains the solution data (entities grouped by type) and any dependency warnings (e.g. when an exported device profile references a rule chain that was not included in the export). The solution data can later be imported into the same or a different tenant via the import endpoint. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. + * @param solutionExportRequest Export request with internal and/or external entity IDs and optional settings. (required) * @param headers Optional headers to include in the request * @return ApiResponse<SolutionExportResponse> * @throws ApiException if fails to make API call @@ -66268,7 +66268,7 @@ private HttpRequest.Builder validateCalculatedFieldReprocessingRequestBuilder(@N /** * Validate Solution (validateSolution) - * Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL READ permission. + * Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. * @param solutionData Solution data to validate. (required) * @return SolutionValidationResult * @throws ApiException if fails to make API call @@ -66280,7 +66280,7 @@ public SolutionValidationResult validateSolution(@Nonnull SolutionData solutionD /** * Validate Solution (validateSolution) - * Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL READ permission. + * Performs a dry-run validation of a solution without modifying any data. Detects duplicate entities within the solution, identifies name conflicts with existing entities in the current tenant, and reports missing dependency references (e.g. a device profile referencing an absent rule chain). The result indicates whether the solution is safe to import (valid=true) and lists any conflicts or warnings. Available for users with 'TENANT_ADMIN' authority. Requires VERSION_CONTROL WRITE permission. * @param solutionData Solution data to validate. (required) * @param headers Optional headers to include in the request * @return ApiResponse<SolutionValidationResult> diff --git a/pe/src/main/java/org/thingsboard/client/model/Alarm.java b/pe/src/main/java/org/thingsboard/client/model/Alarm.java index a775110c..feed3c8c 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Alarm.java +++ b/pe/src/main/java/org/thingsboard/client/model/Alarm.java @@ -237,7 +237,7 @@ public TenantId getTenantId() { /** - * JSON object with Customer Id + * JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. * @return customerId */ @Nullable diff --git a/pe/src/main/java/org/thingsboard/client/model/AlarmData.java b/pe/src/main/java/org/thingsboard/client/model/AlarmData.java index 71152843..203f6b82 100644 --- a/pe/src/main/java/org/thingsboard/client/model/AlarmData.java +++ b/pe/src/main/java/org/thingsboard/client/model/AlarmData.java @@ -271,7 +271,7 @@ public TenantId getTenantId() { /** - * JSON object with Customer Id + * JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. * @return customerId */ @Nullable diff --git a/pe/src/main/java/org/thingsboard/client/model/AlarmInfo.java b/pe/src/main/java/org/thingsboard/client/model/AlarmInfo.java index d99ba555..a94dc041 100644 --- a/pe/src/main/java/org/thingsboard/client/model/AlarmInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/AlarmInfo.java @@ -258,7 +258,7 @@ public TenantId getTenantId() { /** - * JSON object with Customer Id + * JSON object with Customer Id. Derived from the originator entity owner and cannot be set independently; any value supplied in the request body must match the originator's customer or the request is rejected. * @return customerId */ @Nullable diff --git a/pe/src/main/java/org/thingsboard/client/model/Asset.java b/pe/src/main/java/org/thingsboard/client/model/Asset.java index f2cdae44..7b19442d 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Asset.java +++ b/pe/src/main/java/org/thingsboard/client/model/Asset.java @@ -108,13 +108,11 @@ public Asset() { public Asset( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerId = ownerId; } @@ -194,8 +192,13 @@ public TenantId getTenantId() { + public Asset customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. * @return customerId */ @Nullable @@ -206,6 +209,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public Asset name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/AssetInfo.java b/pe/src/main/java/org/thingsboard/client/model/AssetInfo.java index 2c8c227f..b58482af 100644 --- a/pe/src/main/java/org/thingsboard/client/model/AssetInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/AssetInfo.java @@ -121,14 +121,12 @@ public AssetInfo() { public AssetInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerName = ownerName; this.ownerId = ownerId; } @@ -209,8 +207,13 @@ public TenantId getTenantId() { + public AssetInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignAssetToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Asset. * @return customerId */ @Nullable @@ -221,6 +224,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public AssetInfo name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeys.java b/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeys.java index caaa4068..329cfdbd 100644 --- a/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeys.java +++ b/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeys.java @@ -109,7 +109,7 @@ public AvailableEntityKeys addTimeseriesItem(String timeseriesItem) { } /** - * Get timeseries + * List of unique time series key names available on the matched entities. * @return timeseries */ @Nonnull @@ -142,7 +142,7 @@ public AvailableEntityKeys addAttributeItem(String attributeItem) { } /** - * Get attribute + * List of unique attribute key names available on the matched entities. * @return attribute */ @Nonnull diff --git a/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeysV2.java b/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeysV2.java index cf138b21..3020d852 100644 --- a/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeysV2.java +++ b/pe/src/main/java/org/thingsboard/client/model/AvailableEntityKeysV2.java @@ -144,7 +144,7 @@ public AvailableEntityKeysV2 addTimeseriesItem(KeyInfo timeseriesItem) { } /** - * Get timeseries + * List of unique time series keys available on the matched entities, sorted alphabetically. Omitted when timeseries keys were not requested. * @return timeseries */ @Nullable diff --git a/pe/src/main/java/org/thingsboard/client/model/Device.java b/pe/src/main/java/org/thingsboard/client/model/Device.java index 3e7c2fc8..6cc72f5c 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Device.java +++ b/pe/src/main/java/org/thingsboard/client/model/Device.java @@ -124,13 +124,11 @@ public Device() { public Device( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerId = ownerId; } @@ -210,8 +208,13 @@ public TenantId getTenantId() { + public Device customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. * @return customerId */ @Nullable @@ -222,6 +225,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public Device name(@Nullable String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/DeviceInfo.java b/pe/src/main/java/org/thingsboard/client/model/DeviceInfo.java index 7e146e01..5347cfc7 100644 --- a/pe/src/main/java/org/thingsboard/client/model/DeviceInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/DeviceInfo.java @@ -142,7 +142,6 @@ public DeviceInfo() { public DeviceInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, @JsonProperty(JSON_PROPERTY_ACTIVE) Boolean active, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId @@ -150,7 +149,6 @@ public DeviceInfo( this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerName = ownerName; this.active = active; this.ownerId = ownerId; @@ -232,8 +230,13 @@ public TenantId getTenantId() { + public DeviceInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Device. * @return customerId */ @Nullable @@ -244,6 +247,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public DeviceInfo name(@Nullable String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/Edge.java b/pe/src/main/java/org/thingsboard/client/model/Edge.java index 03a61eda..1b3908fc 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Edge.java +++ b/pe/src/main/java/org/thingsboard/client/model/Edge.java @@ -128,14 +128,12 @@ public Edge() { public Edge( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ROOT_RULE_CHAIN_ID) RuleChainId rootRuleChainId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.rootRuleChainId = rootRuleChainId; this.ownerId = ownerId; } @@ -203,7 +201,7 @@ public void setAdditionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode /** - * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. + * JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. * @return tenantId */ @Nullable @@ -216,8 +214,13 @@ public TenantId getTenantId() { + public Edge customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. + * JSON object with Customer Id. * @return customerId */ @Nullable @@ -228,6 +231,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/EdgeInfo.java b/pe/src/main/java/org/thingsboard/client/model/EdgeInfo.java index 6697ca65..477b8b18 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EdgeInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/EdgeInfo.java @@ -141,7 +141,6 @@ public EdgeInfo() { public EdgeInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ROOT_RULE_CHAIN_ID) RuleChainId rootRuleChainId, @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId @@ -149,7 +148,6 @@ public EdgeInfo( this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.rootRuleChainId = rootRuleChainId; this.ownerName = ownerName; this.ownerId = ownerId; @@ -218,7 +216,7 @@ public void setAdditionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode /** - * JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id. + * JSON object with Tenant Id. Always set to the tenant of the current user on save; cannot be changed after creation. * @return tenantId */ @Nullable @@ -231,8 +229,13 @@ public TenantId getTenantId() { + public EdgeInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignEdgeToCustomer' to change the Customer Id. + * JSON object with Customer Id. * @return customerId */ @Nullable @@ -243,6 +246,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java b/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java index 063c55de..dcea622e 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java @@ -216,7 +216,7 @@ public static TypeEnum fromValue(EntityType value) { private Long version; public static final String JSON_PROPERTY_OWNER_IDS = "ownerIds"; - @Nullable + @Nonnull private Set ownerIds = new LinkedHashSet<>(); public static final String JSON_PROPERTY_EDGE_GROUP_ALL = "edgeGroupAll"; @@ -426,7 +426,7 @@ public void setVersion(@Nullable Long version) { } - public EntityGroupInfo ownerIds(@Nullable Set ownerIds) { + public EntityGroupInfo ownerIds(@Nonnull Set ownerIds) { this.ownerIds = ownerIds; return this; } @@ -440,21 +440,21 @@ public EntityGroupInfo addOwnerIdsItem(EntityId ownerIdsItem) { } /** - * Get ownerIds + * List of the entity group owners. * @return ownerIds */ - @Nullable - @JsonProperty(value = JSON_PROPERTY_OWNER_IDS, required = false) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + @Nonnull + @JsonProperty(value = JSON_PROPERTY_OWNER_IDS, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) public Set getOwnerIds() { return ownerIds; } @JsonDeserialize(as = LinkedHashSet.class) - @JsonProperty(value = JSON_PROPERTY_OWNER_IDS, required = false) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setOwnerIds(@Nullable Set ownerIds) { + @JsonProperty(value = JSON_PROPERTY_OWNER_IDS, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setOwnerIds(@Nonnull Set ownerIds) { this.ownerIds = ownerIds; } diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityView.java b/pe/src/main/java/org/thingsboard/client/model/EntityView.java index 9267816b..a0fa3af3 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityView.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityView.java @@ -118,13 +118,11 @@ public EntityView() { public EntityView( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerId = ownerId; } @@ -228,8 +226,13 @@ public TenantId getTenantId() { + public EntityView customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. * @return customerId */ @Nullable @@ -240,6 +243,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public EntityView name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityViewInfo.java b/pe/src/main/java/org/thingsboard/client/model/EntityViewInfo.java index 17f2238d..5b9582ae 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityViewInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityViewInfo.java @@ -131,14 +131,12 @@ public EntityViewInfo() { public EntityViewInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerName = ownerName; this.ownerId = ownerId; } @@ -243,8 +241,13 @@ public TenantId getTenantId() { + public EntityViewInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. Use 'assignEntityViewToCustomer' to change the Customer Id. + * JSON object with Customer Id. Optional on create: when omitted, defaults to the owner of the target Entity Group or to the current Customer user. Cannot be changed on update via this endpoint; use the Owner API (changeOwnerToCustomer) to re-assign an existing Entity View. * @return customerId */ @Nullable @@ -255,6 +258,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public EntityViewInfo name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/ReportTemplate.java b/pe/src/main/java/org/thingsboard/client/model/ReportTemplate.java index 68116cff..0bbff944 100644 --- a/pe/src/main/java/org/thingsboard/client/model/ReportTemplate.java +++ b/pe/src/main/java/org/thingsboard/client/model/ReportTemplate.java @@ -110,13 +110,11 @@ public ReportTemplate() { public ReportTemplate( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerId = ownerId; } @@ -172,8 +170,13 @@ public TenantId getTenantId() { + public ReportTemplate customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -184,6 +187,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public ReportTemplate name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/ReportTemplateInfo.java b/pe/src/main/java/org/thingsboard/client/model/ReportTemplateInfo.java index e7d7fab2..db2787f7 100644 --- a/pe/src/main/java/org/thingsboard/client/model/ReportTemplateInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/ReportTemplateInfo.java @@ -109,14 +109,12 @@ public ReportTemplateInfo() { public ReportTemplateInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerName = ownerName; this.ownerId = ownerId; } @@ -173,8 +171,13 @@ public TenantId getTenantId() { + public ReportTemplateInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Report Template is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -185,6 +188,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public ReportTemplateInfo name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/Role.java b/pe/src/main/java/org/thingsboard/client/model/Role.java index 0a4728a0..9499b35a 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Role.java +++ b/pe/src/main/java/org/thingsboard/client/model/Role.java @@ -108,13 +108,11 @@ public Role() { public Role( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.ownerId = ownerId; } @@ -194,8 +192,13 @@ public TenantId getTenantId() { + public Role customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id. + * JSON object with Customer Id. Optional: when omitted the Role is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -206,6 +209,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } public Role name(@Nonnull String name) { diff --git a/pe/src/main/java/org/thingsboard/client/model/ScheduledReportInfo.java b/pe/src/main/java/org/thingsboard/client/model/ScheduledReportInfo.java index a658f18b..ea4bdaff 100644 --- a/pe/src/main/java/org/thingsboard/client/model/ScheduledReportInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/ScheduledReportInfo.java @@ -127,7 +127,6 @@ public ScheduledReportInfo() { public ScheduledReportInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ORIGINATOR_ID) EntityId originatorId, @JsonProperty(JSON_PROPERTY_TEMPLATE_INFO) EntityInfo templateInfo, @JsonProperty(JSON_PROPERTY_CUSTOMER_TITLE) String customerTitle, @@ -137,7 +136,6 @@ public ScheduledReportInfo( this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.originatorId = originatorId; this.templateInfo = templateInfo; this.customerTitle = customerTitle; @@ -221,8 +219,13 @@ public TenantId getTenantId() { + public ScheduledReportInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -233,6 +236,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/SchedulerEvent.java b/pe/src/main/java/org/thingsboard/client/model/SchedulerEvent.java index 9977355c..33069e49 100644 --- a/pe/src/main/java/org/thingsboard/client/model/SchedulerEvent.java +++ b/pe/src/main/java/org/thingsboard/client/model/SchedulerEvent.java @@ -116,14 +116,12 @@ public SchedulerEvent() { public SchedulerEvent( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ORIGINATOR_ID) EntityId originatorId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.originatorId = originatorId; this.ownerId = ownerId; } @@ -204,8 +202,13 @@ public TenantId getTenantId() { + public SchedulerEvent customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -216,6 +219,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/SchedulerEventInfo.java b/pe/src/main/java/org/thingsboard/client/model/SchedulerEventInfo.java index 50473dc4..e3955544 100644 --- a/pe/src/main/java/org/thingsboard/client/model/SchedulerEventInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/SchedulerEventInfo.java @@ -111,14 +111,12 @@ public SchedulerEventInfo() { public SchedulerEventInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ORIGINATOR_ID) EntityId originatorId, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId ) { this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.originatorId = originatorId; this.ownerId = ownerId; } @@ -199,8 +197,13 @@ public TenantId getTenantId() { + public SchedulerEventInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -211,6 +214,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/SchedulerEventWithCustomerInfo.java b/pe/src/main/java/org/thingsboard/client/model/SchedulerEventWithCustomerInfo.java index d0c63c08..2b630ce0 100644 --- a/pe/src/main/java/org/thingsboard/client/model/SchedulerEventWithCustomerInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/SchedulerEventWithCustomerInfo.java @@ -128,7 +128,6 @@ public SchedulerEventWithCustomerInfo() { public SchedulerEventWithCustomerInfo( @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, - @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, @JsonProperty(JSON_PROPERTY_ORIGINATOR_ID) EntityId originatorId, @JsonProperty(JSON_PROPERTY_CUSTOMER_IS_PUBLIC) Boolean customerIsPublic, @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId @@ -136,7 +135,6 @@ public SchedulerEventWithCustomerInfo( this(); this.createdTime = createdTime; this.tenantId = tenantId; - this.customerId = customerId; this.originatorId = originatorId; this.customerIsPublic = customerIsPublic; this.ownerId = ownerId; @@ -218,8 +216,13 @@ public TenantId getTenantId() { + public SchedulerEventWithCustomerInfo customerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + return this; + } + /** - * JSON object with Customer Id + * JSON object with Customer Id. Optional: when omitted the Scheduler Event is owned by the tenant. When the request is made by a Customer user, the value is forced to the user's own Customer Id. * @return customerId */ @Nullable @@ -230,6 +233,11 @@ public CustomerId getCustomerId() { } + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomerId(@Nullable CustomerId customerId) { + this.customerId = customerId; + } /** diff --git a/pe/src/main/java/org/thingsboard/client/model/SolutionExportRequest.java b/pe/src/main/java/org/thingsboard/client/model/SolutionExportRequest.java index 0fdf1cf7..f34f62e0 100644 --- a/pe/src/main/java/org/thingsboard/client/model/SolutionExportRequest.java +++ b/pe/src/main/java/org/thingsboard/client/model/SolutionExportRequest.java @@ -42,14 +42,19 @@ * Solution export request specifying which entities to include and export settings. */ @JsonPropertyOrder({ - SolutionExportRequest.JSON_PROPERTY_ENTITY_IDS, + SolutionExportRequest.JSON_PROPERTY_INTERNAL_IDS, + SolutionExportRequest.JSON_PROPERTY_EXTERNAL_IDS, SolutionExportRequest.JSON_PROPERTY_SETTINGS }) @Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") public class SolutionExportRequest { - public static final String JSON_PROPERTY_ENTITY_IDS = "entityIds"; + public static final String JSON_PROPERTY_INTERNAL_IDS = "internalIds"; @Nullable - private Set entityIds = new LinkedHashSet<>(); + private Set internalIds = new LinkedHashSet<>(); + + public static final String JSON_PROPERTY_EXTERNAL_IDS = "externalIds"; + @Nullable + private Set externalIds = new LinkedHashSet<>(); public static final String JSON_PROPERTY_SETTINGS = "settings"; @Nullable @@ -58,36 +63,69 @@ public class SolutionExportRequest { public SolutionExportRequest() { } - public SolutionExportRequest entityIds(@Nullable Set entityIds) { - this.entityIds = entityIds; + public SolutionExportRequest internalIds(@Nullable Set internalIds) { + this.internalIds = internalIds; return this; } - public SolutionExportRequest addEntityIdsItem(EntityId entityIdsItem) { - if (this.entityIds == null) { - this.entityIds = new LinkedHashSet<>(); + public SolutionExportRequest addInternalIdsItem(EntityId internalIdsItem) { + if (this.internalIds == null) { + this.internalIds = new LinkedHashSet<>(); } - this.entityIds.add(entityIdsItem); + this.internalIds.add(internalIdsItem); return this; } /** - * Get entityIds - * @return entityIds + * Set of internal entity IDs to export. The 'id' of each EntityId is the server-internal UUID. All listed entities must belong to the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty. + * @return internalIds */ @Nullable - @JsonProperty(value = JSON_PROPERTY_ENTITY_IDS, required = false) + @JsonProperty(value = JSON_PROPERTY_INTERNAL_IDS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public Set getEntityIds() { - return entityIds; + public Set getInternalIds() { + return internalIds; } @JsonDeserialize(as = LinkedHashSet.class) - @JsonProperty(value = JSON_PROPERTY_ENTITY_IDS, required = false) + @JsonProperty(value = JSON_PROPERTY_INTERNAL_IDS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setEntityIds(@Nullable Set entityIds) { - this.entityIds = entityIds; + public void setInternalIds(@Nullable Set internalIds) { + this.internalIds = internalIds; + } + + + public SolutionExportRequest externalIds(@Nullable Set externalIds) { + this.externalIds = externalIds; + return this; + } + + public SolutionExportRequest addExternalIdsItem(EntityId externalIdsItem) { + if (this.externalIds == null) { + this.externalIds = new LinkedHashSet<>(); + } + this.externalIds.add(externalIdsItem); + return this; + } + + /** + * Set of external entity IDs to export. The 'id' of each EntityId is the external UUID (as stored in the 'externalId' field on the entity in the current tenant). The server looks up each entity by 'externalId' and 'entityType' within the current tenant. Optional, but at least one of 'internalIds' or 'externalIds' must be non-empty. + * @return externalIds + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_EXTERNAL_IDS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Set getExternalIds() { + return externalIds; + } + + + @JsonDeserialize(as = LinkedHashSet.class) + @JsonProperty(value = JSON_PROPERTY_EXTERNAL_IDS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExternalIds(@Nullable Set externalIds) { + this.externalIds = externalIds; } @@ -127,20 +165,22 @@ public boolean equals(Object o) { return false; } SolutionExportRequest solutionExportRequest = (SolutionExportRequest) o; - return Objects.equals(this.entityIds, solutionExportRequest.entityIds) && + return Objects.equals(this.internalIds, solutionExportRequest.internalIds) && + Objects.equals(this.externalIds, solutionExportRequest.externalIds) && Objects.equals(this.settings, solutionExportRequest.settings); } @Override public int hashCode() { - return Objects.hash(entityIds, settings); + return Objects.hash(internalIds, externalIds, settings); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SolutionExportRequest {\n"); - sb.append(" entityIds: ").append(toIndentedString(entityIds)).append("\n"); + sb.append(" internalIds: ").append(toIndentedString(internalIds)).append("\n"); + sb.append(" externalIds: ").append(toIndentedString(externalIds)).append("\n"); sb.append(" settings: ").append(toIndentedString(settings)).append("\n"); sb.append("}"); return sb.toString(); @@ -189,12 +229,24 @@ public String toUrlQueryString(String prefix) { StringJoiner joiner = new StringJoiner("&"); - // add `entityIds` to the URL query string - if (getEntityIds() != null) { + // add `internalIds` to the URL query string + if (getInternalIds() != null) { + int i = 0; + for (EntityId _item : getInternalIds()) { + if (_item != null) { + joiner.add(_item.toUrlQueryString(String.format(java.util.Locale.ROOT, "%sinternalIds%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + i++; + } + + // add `externalIds` to the URL query string + if (getExternalIds() != null) { int i = 0; - for (EntityId _item : getEntityIds()) { + for (EntityId _item : getExternalIds()) { if (_item != null) { - joiner.add(_item.toUrlQueryString(String.format(java.util.Locale.ROOT, "%sentityIds%s%s", prefix, suffix, + joiner.add(_item.toUrlQueryString(String.format(java.util.Locale.ROOT, "%sexternalIds%s%s", prefix, suffix, "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } diff --git a/pe/src/main/java/org/thingsboard/client/model/TbUserMessage.java b/pe/src/main/java/org/thingsboard/client/model/TbUserMessage.java index 18fbe31a..b9999f8e 100644 --- a/pe/src/main/java/org/thingsboard/client/model/TbUserMessage.java +++ b/pe/src/main/java/org/thingsboard/client/model/TbUserMessage.java @@ -65,7 +65,7 @@ public TbUserMessage addContentsItem(TbContent contentsItem) { } /** - * Get contents + * A list of content parts that make up the complete user prompt * @return contents */ @Nonnull diff --git a/pe/src/main/java/org/thingsboard/client/model/WidgetsBundleExportData.java b/pe/src/main/java/org/thingsboard/client/model/WidgetsBundleExportData.java index a544c3ad..de785786 100644 --- a/pe/src/main/java/org/thingsboard/client/model/WidgetsBundleExportData.java +++ b/pe/src/main/java/org/thingsboard/client/model/WidgetsBundleExportData.java @@ -87,7 +87,7 @@ public WidgetsBundleExportData addWidgetsItem(com.fasterxml.jackson.databind.Jso } /** - * Get widgets + * List of widgets in the bundle * @return widgets */ @Nullable