PureBasic / Cognite API v1 / Retrieve data points
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "items": [
; {
; "externalId": "ut culpa Excepteur",
; "start": 0,
; "end": -12222847,
; "limit": 43358925,
; "aggregates": [
; "interpolation",
; "max"
; ],
; "granularity": "a",
; "includeOutsidePoints": false
; },
; {
; "externalId": "aliquip",
; "start": 0,
; "end": -6309638,
; "limit": 57543521,
; "aggregates": [
; "max",
; "min"
; ],
; "granularity": "",
; "includeOutsidePoints": false
; }
; ],
; "start": "velit",
; "end": 50328109,
; "limit": 100,
; "aggregates": [
; "count",
; "max"
; ],
; "granularity": "mollit dolore",
; "includeOutsidePoints": false,
; "ignoreUnknownIds": false
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"items[0].externalId","ut culpa Excepteur")
CkJsonObject::ckUpdateInt(json,"items[0].start",0)
CkJsonObject::ckUpdateInt(json,"items[0].end",-12222847)
CkJsonObject::ckUpdateInt(json,"items[0].limit",43358925)
CkJsonObject::ckUpdateString(json,"items[0].aggregates[0]","interpolation")
CkJsonObject::ckUpdateString(json,"items[0].aggregates[1]","max")
CkJsonObject::ckUpdateString(json,"items[0].granularity","a")
CkJsonObject::ckUpdateBool(json,"items[0].includeOutsidePoints",0)
CkJsonObject::ckUpdateString(json,"items[1].externalId","aliquip")
CkJsonObject::ckUpdateInt(json,"items[1].start",0)
CkJsonObject::ckUpdateInt(json,"items[1].end",-6309638)
CkJsonObject::ckUpdateInt(json,"items[1].limit",57543521)
CkJsonObject::ckUpdateString(json,"items[1].aggregates[0]","max")
CkJsonObject::ckUpdateString(json,"items[1].aggregates[1]","min")
CkJsonObject::ckUpdateString(json,"items[1].granularity","")
CkJsonObject::ckUpdateBool(json,"items[1].includeOutsidePoints",0)
CkJsonObject::ckUpdateString(json,"start","velit")
CkJsonObject::ckUpdateInt(json,"end",50328109)
CkJsonObject::ckUpdateInt(json,"limit",100)
CkJsonObject::ckUpdateString(json,"aggregates[0]","count")
CkJsonObject::ckUpdateString(json,"aggregates[1]","max")
CkJsonObject::ckUpdateString(json,"granularity","mollit dolore")
CkJsonObject::ckUpdateBool(json,"includeOutsidePoints",0)
CkJsonObject::ckUpdateBool(json,"ignoreUnknownIds",0)
CkHttp::ckSetRequestHeader(http,"content-type","application/json")
CkHttp::ckSetRequestHeader(http,"api-key","{{api-key}}")
resp.i = CkHttp::ckPostJson3(http,"https://domain.com/api/v1/projects/{{project}}/timeseries/data/list","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "api-key: {{api-key}}"
-H "content-type: application/json"
-d '{
"items": [
{
"externalId": "ut culpa Excepteur",
"start": 0,
"end": -12222847,
"limit": 43358925,
"aggregates": [
"interpolation",
"max"
],
"granularity": "a",
"includeOutsidePoints": false
},
{
"externalId": "aliquip",
"start": 0,
"end": -6309638,
"limit": 57543521,
"aggregates": [
"max",
"min"
],
"granularity": "",
"includeOutsidePoints": false
}
],
"start": "velit",
"end": 50328109,
"limit": 100,
"aggregates": [
"count",
"max"
],
"granularity": "mollit dolore",
"includeOutsidePoints": false,
"ignoreUnknownIds": false
}'
https://domain.com/api/v1/projects/{{project}}/timeseries/data/list
Postman Collection Item JSON
{
"id": "getMultiTimeSeriesDatapoints",
"name": "Retrieve data points",
"request": {
"url": {
"host": "{{baseUrl}}",
"path": [
"api",
"v1",
"projects",
"{{project}}",
"timeseries",
"data",
"list"
],
"query": [
],
"variable": [
]
},
"method": "POST",
"header": [
{
"key": "api-key",
"value": "{{api-key}}",
"description": "An admin can create API keys in the Cognite console."
},
{
"key": "content-type",
"value": "application/json"
}
],
"description": "Retrieves a list of data points from multiple time series in a project. This operation supports aggregation, but not pagination. A detailed description of how aggregates work can be found at [our concept guide for aggregation](<https://docs.cognite.com/dev/concepts/aggregation/>).",
"body": {
"mode": "raw",
"raw": "{\n \"items\": [\n {\n \"externalId\": \"ut culpa Excepteur\",\n \"start\": 0,\n \"end\": -12222847,\n \"limit\": 43358925,\n \"aggregates\": [\n \"interpolation\",\n \"max\"\n ],\n \"granularity\": \"a\",\n \"includeOutsidePoints\": false\n },\n {\n \"externalId\": \"aliquip\",\n \"start\": 0,\n \"end\": -6309638,\n \"limit\": 57543521,\n \"aggregates\": [\n \"max\",\n \"min\"\n ],\n \"granularity\": \"\",\n \"includeOutsidePoints\": false\n }\n ],\n \"start\": \"velit\",\n \"end\": 50328109,\n \"limit\": 100,\n \"aggregates\": [\n \"count\",\n \"max\"\n ],\n \"granularity\": \"mollit dolore\",\n \"includeOutsidePoints\": false,\n \"ignoreUnknownIds\": false\n}"
}
}
}