Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

ExecuteQuery - AWS IoT SiteWise

ExecuteQuery

Run SQL queries to retrieve metadata and time-series data from asset models, assets, measurements, metrics, transforms, and aggregates.

Request Syntax

POST /queries/execution HTTP/1.1 Content-type: application/json { "clientToken": "string", "maxResults": number, "nextToken": "string", "queryStatement": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

Type: String

Length Constraints: Minimum length of 36. Maximum length of 64.

Pattern: \S{36,64}

Required: No

maxResults

The maximum number of results to return at one time. The default is 25.

Type: Integer

Valid Range: Minimum value of 1.

Required: No

nextToken

The string that specifies the next page of results.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 4096.

Required: No

queryStatement

The AWS IoT SiteWise query statement.

Type: String

Length Constraints: Minimum length of 1.

Pattern: ^[\s\S]+$

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "columns": [ { "name": "string", "type": { "scalarType": "string" } } ], "nextToken": "string", "rows": [ { "data": [ { "arrayValue": [ "Datum" ], "nullValue": boolean, "rowValue": "Row", "scalarValue": "string" } ] } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

columns

Represents a single column in the query results.

Type: Array of ColumnInfo objects

nextToken

The string that specifies the next page of results.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 4096.

rows

Represents a single row in the query results.

Type: Array of Row objects

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

Access is denied.

HTTP Status Code: 403

InternalFailureException

AWS IoT SiteWise can't process your request right now. Try again later.

HTTP Status Code: 500

InvalidRequestException

The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.

HTTP Status Code: 400

QueryTimeoutException

The query timed out.

HTTP Status Code: 400

ServiceUnavailableException

The requested service is unavailable.

HTTP Status Code: 503

ThrottlingException

Your request exceeded a rate limit. For example, you might have exceeded the number of AWS IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.

For more information, see Quotas in the AWS IoT SiteWise User Guide.

HTTP Status Code: 429

ValidationException

The validation failed for this query.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following:

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.