{"note":"OpenAPI conversion -- returning structured metadata","name":"amazonaws-com-iotsitewise","description":"AWS IoT SiteWise","version":"2019-12-02","base_url":"","endpoints":84,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS IoT SiteWise\n@version 2019-12-02\n@auth AWS SigV4\n@endpoints 84\n@hint download_for_search\n@toc assets(13), timeseries(5), projects(8), properties(8), access-policies(5), asset-models(12), jobs(3), dashboards(5), 20200301(7), portals(5), actions(3), configuration(4), logging(2), queries(1), tags(3)\n\n@group assets\n@endpoint POST /assets/{assetId}/associate\n@desc Associates a child asset with the given parent asset through a hierarchy defined in the parent asset's model. For more information, see Associating assets in the IoT SiteWise User Guide.\n@required {assetId: str, hierarchyId: str, childAssetId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group timeseries\n@endpoint POST /timeseries/associate/\n@desc Associates a time series (data stream) with an asset property.\n@required {alias: str, assetId: str, propertyId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group projects\n@endpoint POST /projects/{projectId}/assets/associate\n@desc Associates a group (batch) of assets with an IoT SiteWise Monitor project.\n@required {projectId: str, assetIds: [str]}\n@optional {clientToken: str}\n@returns(200) {errors: [AssetErrorDetails]?}\n\n@endpoint POST /projects/{projectId}/assets/disassociate\n@desc Disassociates a group (batch) of assets from an IoT SiteWise Monitor project.\n@required {projectId: str, assetIds: [str]}\n@optional {clientToken: str}\n@returns(200) {errors: [AssetErrorDetails]?}\n\n@endgroup\n\n@group properties\n@endpoint POST /properties/batch/aggregates\n@desc Gets aggregated values (for example, average, minimum, and maximum) for one or more asset properties. For more information, see Querying aggregates in the IoT SiteWise User Guide.\n@required {entries: [BatchGetAssetPropertyAggregatesEntry]}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {errorEntries: [BatchGetAssetPropertyAggregatesErrorEntry], successEntries: [BatchGetAssetPropertyAggregatesSuccessEntry], skippedEntries: [BatchGetAssetPropertyAggregatesSkippedEntry], nextToken: str?}\n\n@endpoint POST /properties/batch/latest\n@desc Gets the current value for one or more asset properties. For more information, see Querying current values in the IoT SiteWise User Guide.\n@required {entries: [BatchGetAssetPropertyValueEntry]}\n@optional {nextToken: str}\n@returns(200) {errorEntries: [BatchGetAssetPropertyValueErrorEntry], successEntries: [BatchGetAssetPropertyValueSuccessEntry], skippedEntries: [BatchGetAssetPropertyValueSkippedEntry], nextToken: str?}\n\n@endpoint POST /properties/batch/history\n@desc Gets the historical values for one or more asset properties. For more information, see Querying historical values in the IoT SiteWise User Guide.\n@required {entries: [BatchGetAssetPropertyValueHistoryEntry]}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {errorEntries: [BatchGetAssetPropertyValueHistoryErrorEntry], successEntries: [BatchGetAssetPropertyValueHistorySuccessEntry], skippedEntries: [BatchGetAssetPropertyValueHistorySkippedEntry], nextToken: str?}\n\n@endpoint POST /properties\n@desc Sends a list of asset property values to IoT SiteWise. Each value is a timestamp-quality-value (TQV) data point. For more information, see Ingesting data using the API in the IoT SiteWise User Guide. To identify an asset property, you must specify one of the following:   The assetId and propertyId of an asset property.   A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.    With respect to Unix epoch time, IoT SiteWise accepts only TQVs that have a timestamp of no more than 7 days in the past and no more than 10 minutes in the future. IoT SiteWise rejects timestamps outside of the inclusive range of [-7 days, +10 minutes] and returns a TimestampOutOfRangeException error. For each asset property, IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.  IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. For more information, see BatchPutAssetPropertyValue authorization in the IoT SiteWise User Guide.\n@required {entries: [PutAssetPropertyValueEntry]}\n@returns(200) {errorEntries: [BatchPutAssetPropertyErrorEntry]}\n\n@endgroup\n\n@group access-policies\n@endpoint POST /access-policies\n@desc Creates an access policy that grants the specified identity (IAM Identity Center user, IAM Identity Center group, or IAM user) access to the specified IoT SiteWise Monitor portal or project resource.\n@required {accessPolicyIdentity: Identity, accessPolicyResource: Resource, accessPolicyPermission: str}\n@optional {clientToken: str, tags: map<str,str>}\n@returns(200) {accessPolicyId: str, accessPolicyArn: str}\n\n@endgroup\n\n@group assets\n@endpoint POST /assets\n@desc Creates an asset from an existing asset model. For more information, see Creating assets in the IoT SiteWise User Guide.\n@required {assetName: str, assetModelId: str}\n@optional {clientToken: str, tags: map<str,str>, assetDescription: str, assetId: str, assetExternalId: str}\n@returns(200) {assetId: str, assetArn: str, assetStatus: AssetStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group asset-models\n@endpoint POST /asset-models\n@desc Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see Defining asset models in the IoT SiteWise User Guide. You can create two types of asset models, ASSET_MODEL or COMPONENT_MODEL.    ASSET_MODEL – (default) An asset model that you can use to create assets. Can't be included as a component in another asset model.    COMPONENT_MODEL – A reusable component that you can include in the composite models of other asset models. You can't create assets directly from this type of asset model.\n@required {assetModelName: str}\n@optional {assetModelType: str, assetModelId: str, assetModelExternalId: str, assetModelDescription: str, assetModelProperties: [AssetModelPropertyDefinition], assetModelHierarchies: [AssetModelHierarchyDefinition], assetModelCompositeModels: [AssetModelCompositeModelDefinition], clientToken: str, tags: map<str,str>}\n@returns(200) {assetModelId: str, assetModelArn: str, assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endpoint POST /asset-models/{assetModelId}/composite-models\n@desc Creates a custom composite model from specified property and hierarchy definitions. There are two types of custom composite models, inline and component-model-based.  Use component-model-based custom composite models to define standard, reusable components. A component-model-based custom composite model consists of a name, a description, and the ID of the component model it references. A component-model-based custom composite model has no properties of its own; its referenced component model provides its associated properties to any created assets. For more information, see Custom composite models (Components) in the IoT SiteWise User Guide. Use inline custom composite models to organize the properties of an asset model. The properties of inline custom composite models are local to the asset model where they are included and can't be used to create multiple assets. To create a component-model-based model, specify the composedAssetModelId of an existing asset model with assetModelType of COMPONENT_MODEL. To create an inline model, specify the assetModelCompositeModelProperties and don't include an composedAssetModelId.\n@required {assetModelId: str, assetModelCompositeModelName: str, assetModelCompositeModelType: str}\n@optional {If-Match: str, If-None-Match: str, Match-For-Version-Type: str, assetModelCompositeModelExternalId: str, parentAssetModelCompositeModelId: str, assetModelCompositeModelId: str, assetModelCompositeModelDescription: str, clientToken: str, composedAssetModelId: str, assetModelCompositeModelProperties: [AssetModelPropertyDefinition]}\n@returns(200) {assetModelCompositeModelId: str, assetModelCompositeModelPath: [AssetModelCompositeModelPathSegment], assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group jobs\n@endpoint POST /jobs\n@desc Defines a job to ingest data to IoT SiteWise from Amazon S3. For more information, see Create a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.  Before you create a bulk import job, you must enable IoT SiteWise warm tier or IoT SiteWise cold tier. For more information about how to configure storage settings, see PutStorageConfiguration. Bulk import is designed to store historical data to IoT SiteWise. It does not trigger computations or notifications on IoT SiteWise warm or cold tier storage.\n@required {jobName: str, jobRoleArn: str, files: [File], errorReportLocation: ErrorReportLocation, jobConfiguration: JobConfiguration}\n@optional {adaptiveIngestion: bool, deleteFilesAfterImport: bool}\n@returns(200) {jobId: str, jobName: str, jobStatus: str}\n\n@endgroup\n\n@group dashboards\n@endpoint POST /dashboards\n@desc Creates a dashboard in an IoT SiteWise Monitor project.\n@required {projectId: str, dashboardName: str, dashboardDefinition: str}\n@optional {dashboardDescription: str, clientToken: str, tags: map<str,str>}\n@returns(200) {dashboardId: str, dashboardArn: str}\n\n@endgroup\n\n@group 20200301\n@endpoint POST /20200301/gateways\n@desc Creates a gateway, which is a virtual or edge device that delivers industrial data streams from local servers to IoT SiteWise. For more information, see Ingesting data using a gateway in the IoT SiteWise User Guide.\n@required {gatewayName: str, gatewayPlatform: GatewayPlatform}\n@optional {tags: map<str,str>}\n@returns(200) {gatewayId: str, gatewayArn: str}\n\n@endgroup\n\n@group portals\n@endpoint POST /portals\n@desc Creates a portal, which can contain projects and dashboards. IoT SiteWise Monitor uses IAM Identity Center or IAM to authenticate portal users and manage user permissions.  Before you can sign in to a new portal, you must add at least one identity to that portal. For more information, see Adding or removing portal administrators in the IoT SiteWise User Guide.\n@required {portalName: str, portalContactEmail: str, roleArn: str}\n@optional {portalDescription: str, clientToken: str, portalLogoImageFile: ImageFile, tags: map<str,str>, portalAuthMode: str, notificationSenderEmail: str, alarms: Alarms}\n@returns(200) {portalId: str, portalArn: str, portalStartUrl: str, portalStatus: PortalStatus{state: str, error: MonitorErrorDetails?{code: str?, message: str?}}, ssoApplicationId: str}\n\n@endgroup\n\n@group projects\n@endpoint POST /projects\n@desc Creates a project in the specified portal.  Make sure that the project name and description don't contain confidential information.\n@required {portalId: str, projectName: str}\n@optional {projectDescription: str, clientToken: str, tags: map<str,str>}\n@returns(200) {projectId: str, projectArn: str}\n\n@endgroup\n\n@group access-policies\n@endpoint DELETE /access-policies/{accessPolicyId}\n@desc Deletes an access policy that grants the specified identity access to the specified IoT SiteWise Monitor resource. You can use this operation to revoke access to an IoT SiteWise Monitor resource.\n@required {accessPolicyId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group assets\n@endpoint DELETE /assets/{assetId}\n@desc Deletes an asset. This action can't be undone. For more information, see Deleting assets and models in the IoT SiteWise User Guide.  You can't delete an asset that's associated to another asset. For more information, see DisassociateAssets.\n@required {assetId: str}\n@optional {clientToken: str}\n@returns(200) {assetStatus: AssetStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group asset-models\n@endpoint DELETE /asset-models/{assetModelId}\n@desc Deletes an asset model. This action can't be undone. You must delete all assets created from an asset model before you can delete the model. Also, you can't delete an asset model if a parent asset model exists that contains a property formula expression that depends on the asset model that you want to delete. For more information, see Deleting assets and models in the IoT SiteWise User Guide.\n@required {assetModelId: str}\n@optional {clientToken: str, If-Match: str, If-None-Match: str, Match-For-Version-Type: str}\n@returns(200) {assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endpoint DELETE /asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}\n@desc Deletes a composite model. This action can't be undone. You must delete all assets created from a composite model before you can delete the model. Also, you can't delete a composite model if a parent asset model exists that contains a property formula expression that depends on the asset model that you want to delete. For more information, see Deleting assets and models in the IoT SiteWise User Guide.\n@required {assetModelId: str, assetModelCompositeModelId: str}\n@optional {clientToken: str, If-Match: str, If-None-Match: str, Match-For-Version-Type: str}\n@returns(200) {assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group dashboards\n@endpoint DELETE /dashboards/{dashboardId}\n@desc Deletes a dashboard from IoT SiteWise Monitor.\n@required {dashboardId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group 20200301\n@endpoint DELETE /20200301/gateways/{gatewayId}\n@desc Deletes a gateway from IoT SiteWise. When you delete a gateway, some of the gateway's files remain in your gateway's file system.\n@required {gatewayId: str}\n\n@endgroup\n\n@group portals\n@endpoint DELETE /portals/{portalId}\n@desc Deletes a portal from IoT SiteWise Monitor.\n@required {portalId: str}\n@optional {clientToken: str}\n@returns(200) {portalStatus: PortalStatus{state: str, error: MonitorErrorDetails?{code: str?, message: str?}}}\n\n@endgroup\n\n@group projects\n@endpoint DELETE /projects/{projectId}\n@desc Deletes a project from IoT SiteWise Monitor.\n@required {projectId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group timeseries\n@endpoint POST /timeseries/delete/\n@desc Deletes a time series (data stream). If you delete a time series that's associated with an asset property, the asset property still exists, but the time series will no longer be associated with this asset property. To identify a time series, do one of the following:   If the time series isn't associated with an asset property, specify the alias of the time series.   If the time series is associated with an asset property, specify one of the following:    The alias of the time series.   The assetId and propertyId that identifies the asset property.\n@optional {alias: str, assetId: str, propertyId: str, clientToken: str}\n\n@endgroup\n\n@group access-policies\n@endpoint GET /access-policies/{accessPolicyId}\n@desc Describes an access policy, which specifies an identity's access to an IoT SiteWise Monitor portal or project.\n@required {accessPolicyId: str}\n@returns(200) {accessPolicyId: str, accessPolicyArn: str, accessPolicyIdentity: Identity{user: UserIdentity?{id: str}, group: GroupIdentity?{id: str}, iamUser: IAMUserIdentity?{arn: str}, iamRole: IAMRoleIdentity?{arn: str}}, accessPolicyResource: Resource{portal: PortalResource?{id: str}, project: ProjectResource?{id: str}}, accessPolicyPermission: str, accessPolicyCreationDate: str(timestamp), accessPolicyLastUpdateDate: str(timestamp)}\n\n@endgroup\n\n@group actions\n@endpoint GET /actions/{actionId}\n@desc Retrieves information about an action.\n@required {actionId: str}\n@returns(200) {actionId: str, targetResource: TargetResource{assetId: str}, actionDefinitionId: str, actionPayload: ActionPayload{stringValue: str}, executionTime: str(timestamp)}\n\n@endgroup\n\n@group assets\n@endpoint GET /assets/{assetId}\n@desc Retrieves information about an asset.\n@required {assetId: str}\n@optional {excludeProperties: bool}\n@returns(200) {assetId: str, assetArn: str, assetName: str, assetModelId: str, assetProperties: [AssetProperty], assetHierarchies: [AssetHierarchy], assetCompositeModels: [AssetCompositeModel]?, assetCreationDate: str(timestamp), assetLastUpdateDate: str(timestamp), assetStatus: AssetStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}, assetDescription: str?, assetCompositeModelSummaries: [AssetCompositeModelSummary]?, assetExternalId: str?}\n\n@endpoint GET /assets/{assetId}/composite-models/{assetCompositeModelId}\n@desc Retrieves information about an asset composite model (also known as an asset component). An AssetCompositeModel is an instance of an AssetModelCompositeModel. If you want to see information about the model this is based on, call DescribeAssetModelCompositeModel.\n@required {assetId: str, assetCompositeModelId: str}\n@returns(200) {assetId: str, assetCompositeModelId: str, assetCompositeModelExternalId: str?, assetCompositeModelPath: [AssetCompositeModelPathSegment], assetCompositeModelName: str, assetCompositeModelDescription: str, assetCompositeModelType: str, assetCompositeModelProperties: [AssetProperty], assetCompositeModelSummaries: [AssetCompositeModelSummary], actionDefinitions: [ActionDefinition]?}\n\n@endgroup\n\n@group asset-models\n@endpoint GET /asset-models/{assetModelId}\n@desc Retrieves information about an asset model.\n@required {assetModelId: str}\n@optional {excludeProperties: bool, assetModelVersion: str}\n@returns(200) {assetModelId: str, assetModelExternalId: str?, assetModelArn: str, assetModelName: str, assetModelType: str?, assetModelDescription: str, assetModelProperties: [AssetModelProperty], assetModelHierarchies: [AssetModelHierarchy], assetModelCompositeModels: [AssetModelCompositeModel]?, assetModelCompositeModelSummaries: [AssetModelCompositeModelSummary]?, assetModelCreationDate: str(timestamp), assetModelLastUpdateDate: str(timestamp), assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}, assetModelVersion: str?, eTag: str?}\n\n@endpoint GET /asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}\n@desc Retrieves information about an asset model composite model (also known as an asset model component). For more information, see Custom composite models (Components) in the IoT SiteWise User Guide.\n@required {assetModelId: str, assetModelCompositeModelId: str}\n@optional {assetModelVersion: str}\n@returns(200) {assetModelId: str, assetModelCompositeModelId: str, assetModelCompositeModelExternalId: str?, assetModelCompositeModelPath: [AssetModelCompositeModelPathSegment], assetModelCompositeModelName: str, assetModelCompositeModelDescription: str, assetModelCompositeModelType: str, assetModelCompositeModelProperties: [AssetModelProperty], compositionDetails: CompositionDetails?{compositionRelationship: [CompositionRelationshipItem]?}, assetModelCompositeModelSummaries: [AssetModelCompositeModelSummary], actionDefinitions: [ActionDefinition]?}\n\n@endgroup\n\n@group assets\n@endpoint GET /assets/{assetId}/properties/{propertyId}\n@desc Retrieves information about an asset property.  When you call this operation for an attribute property, this response includes the default attribute value that you define in the asset model. If you update the default value in the model, this operation's response includes the new default value.  This operation doesn't return the value of the asset property. To get the value of an asset property, use GetAssetPropertyValue.\n@required {assetId: str, propertyId: str}\n@returns(200) {assetId: str, assetName: str, assetModelId: str, assetProperty: Property?{id: str, name: str, alias: str?, notification: PropertyNotification?{topic: str, state: str}, dataType: str, unit: str?, type: PropertyType?{attribute: Attribute?{defaultValue: str?}, measurement: Measurement?{processingConfig: MeasurementProcessingConfig?}, transform: Transform?{expression: str, variables: [ExpressionVariable], processingConfig: TransformProcessingConfig?}, metric: Metric?{expression: str, variables: [ExpressionVariable], window: MetricWindow, processingConfig: MetricProcessingConfig?}}, path: [AssetPropertyPathSegment]?, externalId: str?}, compositeModel: CompositeModelProperty?{name: str, type: str, assetProperty: Property{id: str, name: str, alias: str?, notification: PropertyNotification?{topic: str, state: str}, dataType: str, unit: str?, type: PropertyType?{attribute: Attribute?, measurement: Measurement?, transform: Transform?, metric: Metric?}, path: [AssetPropertyPathSegment]?, externalId: str?}, id: str?, externalId: str?}, assetExternalId: str?}\n\n@endgroup\n\n@group jobs\n@endpoint GET /jobs/{jobId}\n@desc Retrieves information about a bulk import job request. For more information, see Describe a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.\n@required {jobId: str}\n@returns(200) {jobId: str, jobName: str, jobStatus: str, jobRoleArn: str, files: [File], errorReportLocation: ErrorReportLocation{bucket: str, prefix: str}, jobConfiguration: JobConfiguration{fileFormat: FileFormat{csv: Csv?{columnNames: [str]}, parquet: Parquet?}}, jobCreationDate: str(timestamp), jobLastUpdateDate: str(timestamp), adaptiveIngestion: bool?, deleteFilesAfterImport: bool?}\n\n@endgroup\n\n@group dashboards\n@endpoint GET /dashboards/{dashboardId}\n@desc Retrieves information about a dashboard.\n@required {dashboardId: str}\n@returns(200) {dashboardId: str, dashboardArn: str, dashboardName: str, projectId: str, dashboardDescription: str?, dashboardDefinition: str, dashboardCreationDate: str(timestamp), dashboardLastUpdateDate: str(timestamp)}\n\n@endgroup\n\n@group configuration\n@endpoint GET /configuration/account/encryption\n@desc Retrieves information about the default encryption configuration for the Amazon Web Services account in the default or specified Region. For more information, see Key management in the IoT SiteWise User Guide.\n@returns(200) {encryptionType: str, kmsKeyArn: str?, configurationStatus: ConfigurationStatus{state: str, error: ConfigurationErrorDetails?{code: str, message: str}}}\n\n@endgroup\n\n@group 20200301\n@endpoint GET /20200301/gateways/{gatewayId}\n@desc Retrieves information about a gateway.\n@required {gatewayId: str}\n@returns(200) {gatewayId: str, gatewayName: str, gatewayArn: str, gatewayPlatform: GatewayPlatform?{greengrass: Greengrass?{groupArn: str}, greengrassV2: GreengrassV2?{coreDeviceThingName: str}, siemensIE: SiemensIE?{iotCoreThingName: str}}, gatewayCapabilitySummaries: [GatewayCapabilitySummary], creationDate: str(timestamp), lastUpdateDate: str(timestamp)}\n\n@endpoint GET /20200301/gateways/{gatewayId}/capability/{capabilityNamespace}\n@desc Retrieves information about a gateway capability configuration. Each gateway capability defines data sources for a gateway. A capability configuration can contain multiple data source configurations. If you define OPC-UA sources for a gateway in the IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To list all capability configurations for a gateway, use DescribeGateway.\n@required {gatewayId: str, capabilityNamespace: str}\n@returns(200) {gatewayId: str, capabilityNamespace: str, capabilityConfiguration: str, capabilitySyncStatus: str}\n\n@endgroup\n\n@group logging\n@endpoint GET /logging\n@desc Retrieves the current IoT SiteWise logging options.\n@returns(200) {loggingOptions: LoggingOptions{level: str}}\n\n@endgroup\n\n@group portals\n@endpoint GET /portals/{portalId}\n@desc Retrieves information about a portal.\n@required {portalId: str}\n@returns(200) {portalId: str, portalArn: str, portalName: str, portalDescription: str?, portalClientId: str, portalStartUrl: str, portalContactEmail: str, portalStatus: PortalStatus{state: str, error: MonitorErrorDetails?{code: str?, message: str?}}, portalCreationDate: str(timestamp), portalLastUpdateDate: str(timestamp), portalLogoImageLocation: ImageLocation?{id: str, url: str}, roleArn: str?, portalAuthMode: str?, notificationSenderEmail: str?, alarms: Alarms?{alarmRoleArn: str, notificationLambdaArn: str?}}\n\n@endgroup\n\n@group projects\n@endpoint GET /projects/{projectId}\n@desc Retrieves information about a project.\n@required {projectId: str}\n@returns(200) {projectId: str, projectArn: str, projectName: str, portalId: str, projectDescription: str?, projectCreationDate: str(timestamp), projectLastUpdateDate: str(timestamp)}\n\n@endgroup\n\n@group configuration\n@endpoint GET /configuration/account/storage\n@desc Retrieves information about the storage configuration for IoT SiteWise.\n@returns(200) {storageType: str, multiLayerStorage: MultiLayerStorage?{customerManagedS3Storage: CustomerManagedS3Storage{s3ResourceArn: str, roleArn: str}}, disassociatedDataStorage: str?, retentionPeriod: RetentionPeriod?{numberOfDays: int?, unlimited: bool?}, configurationStatus: ConfigurationStatus{state: str, error: ConfigurationErrorDetails?{code: str, message: str}}, lastUpdateDate: str(timestamp)?, warmTier: str?, warmTierRetentionPeriod: WarmTierRetentionPeriod?{numberOfDays: int?, unlimited: bool?}}\n\n@endgroup\n\n@group timeseries\n@endpoint GET /timeseries/describe/\n@desc Retrieves information about a time series (data stream). To identify a time series, do one of the following:   If the time series isn't associated with an asset property, specify the alias of the time series.   If the time series is associated with an asset property, specify one of the following:    The alias of the time series.   The assetId and propertyId that identifies the asset property.\n@optional {alias: str, assetId: str, propertyId: str}\n@returns(200) {assetId: str?, propertyId: str?, alias: str?, timeSeriesId: str, dataType: str, dataTypeSpec: str?, timeSeriesCreationDate: str(timestamp), timeSeriesLastUpdateDate: str(timestamp), timeSeriesArn: str}\n\n@endgroup\n\n@group assets\n@endpoint POST /assets/{assetId}/disassociate\n@desc Disassociates a child asset from the given parent asset through a hierarchy defined in the parent asset's model.\n@required {assetId: str, hierarchyId: str, childAssetId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group timeseries\n@endpoint POST /timeseries/disassociate/\n@desc Disassociates a time series (data stream) from an asset property.\n@required {alias: str, assetId: str, propertyId: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group actions\n@endpoint POST /actions\n@desc Executes an action on a target resource.\n@required {targetResource: TargetResource, actionDefinitionId: str, actionPayload: ActionPayload}\n@optional {clientToken: str}\n@returns(200) {actionId: str}\n\n@endgroup\n\n@group queries\n@endpoint POST /queries/execution\n@desc Run SQL queries to retrieve metadata and time-series data from asset models, assets, measurements, metrics, transforms, and aggregates.\n@required {queryStatement: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {columns: [ColumnInfo]?, rows: [Row]?, nextToken: str?}\n\n@endgroup\n\n@group properties\n@endpoint GET /properties/aggregates\n@desc Gets aggregated values for an asset property. For more information, see Querying aggregates in the IoT SiteWise User Guide. To identify an asset property, you must specify one of the following:   The assetId and propertyId of an asset property.   A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.\n@required {aggregateTypes: [str], resolution: str, startDate: str(timestamp), endDate: str(timestamp)}\n@optional {assetId: str, propertyId: str, propertyAlias: str, qualities: [str], timeOrdering: str, nextToken: str, maxResults: int}\n@returns(200) {aggregatedValues: [AggregatedValue], nextToken: str?}\n\n@endpoint GET /properties/latest\n@desc Gets an asset property's current value. For more information, see Querying current values in the IoT SiteWise User Guide. To identify an asset property, you must specify one of the following:   The assetId and propertyId of an asset property.   A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.\n@optional {assetId: str, propertyId: str, propertyAlias: str}\n@returns(200) {propertyValue: AssetPropertyValue?{value: Variant{stringValue: str?, integerValue: int?, doubleValue: num(f64)?, booleanValue: bool?}, timestamp: TimeInNanos{timeInSeconds: int(i64), offsetInNanos: int?}, quality: str?}}\n\n@endpoint GET /properties/history\n@desc Gets the history of an asset property's values. For more information, see Querying historical values in the IoT SiteWise User Guide. To identify an asset property, you must specify one of the following:   The assetId and propertyId of an asset property.   A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.\n@optional {assetId: str, propertyId: str, propertyAlias: str, startDate: str(timestamp), endDate: str(timestamp), qualities: [str], timeOrdering: str, nextToken: str, maxResults: int}\n@returns(200) {assetPropertyValueHistory: [AssetPropertyValue], nextToken: str?}\n\n@endpoint GET /properties/interpolated\n@desc Get interpolated values for an asset property for a specified time interval, during a period of time. If your time series is missing data points during the specified time interval, you can use interpolation to estimate the missing data. For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. To identify an asset property, you must specify one of the following:   The assetId and propertyId of an asset property.   A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.\n@required {startTimeInSeconds: int(i64), endTimeInSeconds: int(i64), quality: str, intervalInSeconds: int(i64), type: str}\n@optional {assetId: str, propertyId: str, propertyAlias: str, startTimeOffsetInNanos: int, endTimeOffsetInNanos: int, nextToken: str, maxResults: int, intervalWindowInSeconds: int(i64)}\n@returns(200) {interpolatedAssetPropertyValues: [InterpolatedAssetPropertyValue], nextToken: str?}\n\n@endgroup\n\n@group access-policies\n@endpoint GET /access-policies\n@desc Retrieves a paginated list of access policies for an identity (an IAM Identity Center user, an IAM Identity Center group, or an IAM user) or an IoT SiteWise Monitor resource (a portal or project).\n@optional {identityType: str, identityId: str, resourceType: str, resourceId: str, iamArn: str, nextToken: str, maxResults: int}\n@returns(200) {accessPolicySummaries: [AccessPolicySummary], nextToken: str?}\n\n@endgroup\n\n@group actions\n@endpoint GET /actions\n@desc Retrieves a paginated list of actions for a specific target resource.\n@required {targetResourceType: str, targetResourceId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {actionSummaries: [ActionSummary], nextToken: str}\n\n@endgroup\n\n@group asset-models\n@endpoint GET /asset-models/{assetModelId}/composite-models\n@desc Retrieves a paginated list of composite models associated with the asset model\n@required {assetModelId: str}\n@optional {nextToken: str, maxResults: int, assetModelVersion: str}\n@returns(200) {assetModelCompositeModelSummaries: [AssetModelCompositeModelSummary], nextToken: str?}\n\n@endpoint GET /asset-models/{assetModelId}/properties\n@desc Retrieves a paginated list of properties associated with an asset model. If you update properties associated with the model before you finish listing all the properties, you need to start all over again.\n@required {assetModelId: str}\n@optional {nextToken: str, maxResults: int, filter: str, assetModelVersion: str}\n@returns(200) {assetModelPropertySummaries: [AssetModelPropertySummary], nextToken: str?}\n\n@endpoint GET /asset-models\n@desc Retrieves a paginated list of summaries of all asset models.\n@optional {assetModelTypes: [str], nextToken: str, maxResults: int, assetModelVersion: str}\n@returns(200) {assetModelSummaries: [AssetModelSummary], nextToken: str?}\n\n@endgroup\n\n@group assets\n@endpoint GET /assets/{assetId}/properties\n@desc Retrieves a paginated list of properties associated with an asset. If you update properties associated with the model before you finish listing all the properties, you need to start all over again.\n@required {assetId: str}\n@optional {nextToken: str, maxResults: int, filter: str}\n@returns(200) {assetPropertySummaries: [AssetPropertySummary], nextToken: str?}\n\n@endpoint GET /assets/{assetId}/assetRelationships\n@desc Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.\n@required {assetId: str, traversalType: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {assetRelationshipSummaries: [AssetRelationshipSummary], nextToken: str?}\n\n@endpoint GET /assets\n@desc Retrieves a paginated list of asset summaries. You can use this operation to do the following:   List assets based on a specific asset model.   List top-level assets.   You can't use this operation to list all assets. To retrieve summaries for all of your assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all assets for each asset model.\n@optional {nextToken: str, maxResults: int, assetModelId: str, filter: str}\n@returns(200) {assetSummaries: [AssetSummary], nextToken: str?}\n\n@endpoint GET /assets/{assetId}/hierarchies\n@desc Retrieves a paginated list of associated assets. You can use this operation to do the following:    CHILD - List all child assets associated to the asset.    PARENT - List the asset's parent asset.\n@required {assetId: str}\n@optional {hierarchyId: str, traversalDirection: str, nextToken: str, maxResults: int}\n@returns(200) {assetSummaries: [AssociatedAssetsSummary], nextToken: str?}\n\n@endgroup\n\n@group jobs\n@endpoint GET /jobs\n@desc Retrieves a paginated list of bulk import job requests. For more information, see List bulk import jobs (CLI) in the IoT SiteWise User Guide.\n@optional {nextToken: str, maxResults: int, filter: str}\n@returns(200) {jobSummaries: [JobSummary], nextToken: str?}\n\n@endgroup\n\n@group asset-models\n@endpoint GET /asset-models/{assetModelId}/composition-relationships\n@desc Retrieves a paginated list of composition relationships for an asset model of type COMPONENT_MODEL.\n@required {assetModelId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {compositionRelationshipSummaries: [CompositionRelationshipSummary], nextToken: str?}\n\n@endgroup\n\n@group dashboards\n@endpoint GET /dashboards\n@desc Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project.\n@required {projectId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {dashboardSummaries: [DashboardSummary], nextToken: str?}\n\n@endgroup\n\n@group 20200301\n@endpoint GET /20200301/gateways\n@desc Retrieves a paginated list of gateways.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {gatewaySummaries: [GatewaySummary], nextToken: str?}\n\n@endgroup\n\n@group portals\n@endpoint GET /portals\n@desc Retrieves a paginated list of IoT SiteWise Monitor portals.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {portalSummaries: [PortalSummary]?, nextToken: str?}\n\n@endgroup\n\n@group projects\n@endpoint GET /projects/{projectId}/assets\n@desc Retrieves a paginated list of assets associated with an IoT SiteWise Monitor project.\n@required {projectId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {assetIds: [str], nextToken: str?}\n\n@endpoint GET /projects\n@desc Retrieves a paginated list of projects for an IoT SiteWise Monitor portal.\n@required {portalId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {projectSummaries: [ProjectSummary], nextToken: str?}\n\n@endgroup\n\n@group tags\n@endpoint GET /tags\n@desc Retrieves the list of tags for an IoT SiteWise resource.\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endgroup\n\n@group timeseries\n@endpoint GET /timeseries/\n@desc Retrieves a paginated list of time series (data streams).\n@optional {nextToken: str, maxResults: int, assetId: str, aliasPrefix: str, timeSeriesType: str}\n@returns(200) {TimeSeriesSummaries: [TimeSeriesSummary], nextToken: str?}\n\n@endgroup\n\n@group configuration\n@endpoint POST /configuration/account/encryption\n@desc Sets the default encryption configuration for the Amazon Web Services account. For more information, see Key management in the IoT SiteWise User Guide.\n@required {encryptionType: str}\n@optional {kmsKeyId: str}\n@returns(200) {encryptionType: str, kmsKeyArn: str?, configurationStatus: ConfigurationStatus{state: str, error: ConfigurationErrorDetails?{code: str, message: str}}}\n\n@endgroup\n\n@group logging\n@endpoint PUT /logging\n@desc Sets logging options for IoT SiteWise.\n@required {loggingOptions: LoggingOptions}\n\n@endgroup\n\n@group configuration\n@endpoint POST /configuration/account/storage\n@desc Configures storage settings for IoT SiteWise.\n@required {storageType: str}\n@optional {multiLayerStorage: MultiLayerStorage, disassociatedDataStorage: str, retentionPeriod: RetentionPeriod, warmTier: str, warmTierRetentionPeriod: WarmTierRetentionPeriod}\n@returns(200) {storageType: str, multiLayerStorage: MultiLayerStorage?{customerManagedS3Storage: CustomerManagedS3Storage{s3ResourceArn: str, roleArn: str}}, disassociatedDataStorage: str?, retentionPeriod: RetentionPeriod?{numberOfDays: int?, unlimited: bool?}, configurationStatus: ConfigurationStatus{state: str, error: ConfigurationErrorDetails?{code: str, message: str}}, warmTier: str?, warmTierRetentionPeriod: WarmTierRetentionPeriod?{numberOfDays: int?, unlimited: bool?}}\n\n@endgroup\n\n@group tags\n@endpoint POST /tags\n@desc Adds tags to an IoT SiteWise resource. If a tag already exists for the resource, this operation updates the tag's value.\n@required {resourceArn: str, tags: map<str,str>}\n\n@endpoint DELETE /tags\n@desc Removes a tag from an IoT SiteWise resource.\n@required {resourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group access-policies\n@endpoint PUT /access-policies/{accessPolicyId}\n@desc Updates an existing access policy that specifies an identity's access to an IoT SiteWise Monitor portal or project resource.\n@required {accessPolicyId: str, accessPolicyIdentity: Identity, accessPolicyResource: Resource, accessPolicyPermission: str}\n@optional {clientToken: str}\n\n@endgroup\n\n@group assets\n@endpoint PUT /assets/{assetId}\n@desc Updates an asset's name. For more information, see Updating assets and models in the IoT SiteWise User Guide.\n@required {assetId: str, assetName: str}\n@optional {clientToken: str, assetDescription: str, assetExternalId: str}\n@returns(200) {assetStatus: AssetStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group asset-models\n@endpoint PUT /asset-models/{assetModelId}\n@desc Updates an asset model and all of the assets that were created from the model. Each asset created from the model inherits the updated asset model's property and hierarchy definitions. For more information, see Updating assets and models in the IoT SiteWise User Guide.  If you remove a property from an asset model, IoT SiteWise deletes all previous data for that property. You can’t change the type or data type of an existing property. To replace an existing asset model property with a new one with the same name, do the following:   Submit an UpdateAssetModel request with the entire existing property removed.   Submit a second UpdateAssetModel request that includes the new property. The new asset property will have the same name as the previous one and IoT SiteWise will generate a new unique id.\n@required {assetModelId: str, assetModelName: str}\n@optional {If-Match: str, If-None-Match: str, Match-For-Version-Type: str, assetModelExternalId: str, assetModelDescription: str, assetModelProperties: [AssetModelProperty], assetModelHierarchies: [AssetModelHierarchy], assetModelCompositeModels: [AssetModelCompositeModel], clientToken: str}\n@returns(200) {assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endpoint PUT /asset-models/{assetModelId}/composite-models/{assetModelCompositeModelId}\n@desc Updates a composite model and all of the assets that were created from the model. Each asset created from the model inherits the updated asset model's property and hierarchy definitions. For more information, see Updating assets and models in the IoT SiteWise User Guide.  If you remove a property from a composite asset model, IoT SiteWise deletes all previous data for that property. You can’t change the type or data type of an existing property. To replace an existing composite asset model property with a new one with the same name, do the following:   Submit an UpdateAssetModelCompositeModel request with the entire existing property removed.   Submit a second UpdateAssetModelCompositeModel request that includes the new property. The new asset property will have the same name as the previous one and IoT SiteWise will generate a new unique id.\n@required {assetModelId: str, assetModelCompositeModelId: str, assetModelCompositeModelName: str}\n@optional {If-Match: str, If-None-Match: str, Match-For-Version-Type: str, assetModelCompositeModelExternalId: str, assetModelCompositeModelDescription: str, clientToken: str, assetModelCompositeModelProperties: [AssetModelProperty]}\n@returns(200) {assetModelCompositeModelPath: [AssetModelCompositeModelPathSegment], assetModelStatus: AssetModelStatus{state: str, error: ErrorDetails?{code: str, message: str, details: [DetailedError]?}}}\n\n@endgroup\n\n@group assets\n@endpoint PUT /assets/{assetId}/properties/{propertyId}\n@desc Updates an asset property's alias and notification state.  This operation overwrites the property's existing alias and notification state. To keep your existing property's alias or notification state, you must include the existing values in the UpdateAssetProperty request. For more information, see DescribeAssetProperty.\n@required {assetId: str, propertyId: str}\n@optional {propertyAlias: str, propertyNotificationState: str, clientToken: str, propertyUnit: str}\n\n@endgroup\n\n@group dashboards\n@endpoint PUT /dashboards/{dashboardId}\n@desc Updates an IoT SiteWise Monitor dashboard.\n@required {dashboardId: str, dashboardName: str, dashboardDefinition: str}\n@optional {dashboardDescription: str, clientToken: str}\n\n@endgroup\n\n@group 20200301\n@endpoint PUT /20200301/gateways/{gatewayId}\n@desc Updates a gateway's name.\n@required {gatewayId: str, gatewayName: str}\n\n@endpoint POST /20200301/gateways/{gatewayId}/capability\n@desc Updates a gateway capability configuration or defines a new capability configuration. Each gateway capability defines data sources for a gateway. A capability configuration can contain multiple data source configurations. If you define OPC-UA sources for a gateway in the IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To list all capability configurations for a gateway, use DescribeGateway.\n@required {gatewayId: str, capabilityNamespace: str, capabilityConfiguration: str}\n@returns(200) {capabilityNamespace: str, capabilitySyncStatus: str}\n\n@endgroup\n\n@group portals\n@endpoint PUT /portals/{portalId}\n@desc Updates an IoT SiteWise Monitor portal.\n@required {portalId: str, portalName: str, portalContactEmail: str, roleArn: str}\n@optional {portalDescription: str, portalLogoImage: Image, clientToken: str, notificationSenderEmail: str, alarms: Alarms}\n@returns(200) {portalStatus: PortalStatus{state: str, error: MonitorErrorDetails?{code: str?, message: str?}}}\n\n@endgroup\n\n@group projects\n@endpoint PUT /projects/{projectId}\n@desc Updates an IoT SiteWise Monitor project.\n@required {projectId: str, projectName: str}\n@optional {projectDescription: str, clientToken: str}\n\n@endgroup\n\n@end\n"}