Query examples
Info
The following examples do not include the part of the request URL which would specify their environment or whether they should use the endpoints available in the Integrator or Device API. Please prefix the example URIs with the appropriate base URL.
Sending an immediate query with custom SQL
POST sites/{HaloGUID}/queries/immediate
Request example
Response example
{
"id": "{queryID}",
"integratorId": "{integratorID}",
"siteId": "{haloGUID}",
"mode": "immediate",
"status": "successful",
"maxTimeInQueue": 15000,
"sqlQuerySize": 46,
"commandSize": 98,
"createdAt": "2022-08-24T14:15:22Z",
"updatedAt": "2022-08-24T14:15:22Z",
"statusTiming": {
"initialising": {
"startTime": "2022-08-24T14:15:22Z",
"endTime": "2022-08-24T14:15:22Z"
},
"executing": {
"startTime": "2022-08-24T14:15:22Z",
"endTime": "2022-08-24T14:15:22Z"
}
},
"metrics": {
"sqlExecutionDuration": 1000
},
"result": {
"rows": 30,
"size": 25,
"data": "{resultData}",
"parameters": [
{
"name": "@haloGUID",
"direction": "output",
"type": "BigInt",
"value": "66",
"size": 43
}
]
}
}
Sending an immediate query with a stored procedure
POST sites/{HaloGUID}/queries/immediate
Request example
Response example
{
"id": "{queryID}",
"integratorId": "{integratorID}",
"siteId": "{haloGUID}",
"mode": "immediate",
"status": "successful",
"maxTimeInQueue": 15000,
"sqlQuerySize": 46,
"commandSize": 98,
"createdAt": "2022-08-24T14:15:22Z",
"updatedAt": "2022-08-24T14:15:22Z",
"statusTiming": {
"initialising": {
"startTime": "2022-08-24T14:15:22Z",
"endTime": "2022-08-24T14:15:22Z"
},
"executing": {
"startTime": "2022-08-24T14:15:22Z",
"endTime": "2022-08-24T14:15:22Z"
}
},
"metrics": {
"sqlExecutionDuration": 1000
},
"result": {
"rows": 30,
"size": 25,
"data": "{resultData}",
"parameters": [
{
"name": "@haloGUID",
"direction": "output",
"type": "Int",
"value": "0",
"size": 1
}
]
}
}
Sending an async query with custom SQL
POST sites/{HaloGUID}/queries/async
Request example
Response example
{queryID}
is used with the other async query endpoints to check the status of the async query and to get its results once it is complete.
{
"id": "{queryID}",
"integratorId": "{integratorID}",
"siteId": "{haloGUID}",
"mode": "async",
"status": "initialising",
"maxTimeInQueue": 900000,
"sqlQuerySize": 46,
"commandSize": 98,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"statusTiming": {
"initialising": {
"startTime": "2019-08-24T14:15:22Z"
}
}
}
Checking the status and result pagination of an async query
GET sites/{HaloGUID}/queries/{queryID}
Response example
...
indicates nested data that has been left out for clarity. See the API reference for more information.- The
results
object currently only appears whenstatus
issuccessful
, and contains pagination information for use with the Get Query Results endpoint (used in the next example).
{
"id": "{queryID}",
"integratorId": "{integratorID}",
"siteId": "{haloGUID}",
"mode": "async",
"status": "successful",
"maxTimeInQueue": 900000,
"sqlQuerySize": 46,
"commandSize": 98,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"statusTiming": { ... },
"metrics": { ... }
"result": {
"rows": 30,
"size": 25,
"pages": [ ... ]
}
}
Retrieving async query result pages
GET sites/{HaloGUID}/queries/{queryID}/results/{pageNumber}