Chilkat Online Tools

Foxpro / Cognite API v1 / Retrieve data points

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loJson
LOCAL loResp

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat_9_5_0.Http')

* 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
* }

loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.UpdateString("items[0].externalId","ut culpa Excepteur")
loJson.UpdateInt("items[0].start",0)
loJson.UpdateInt("items[0].end",-12222847)
loJson.UpdateInt("items[0].limit",43358925)
loJson.UpdateString("items[0].aggregates[0]","interpolation")
loJson.UpdateString("items[0].aggregates[1]","max")
loJson.UpdateString("items[0].granularity","a")
loJson.UpdateBool("items[0].includeOutsidePoints",0)
loJson.UpdateString("items[1].externalId","aliquip")
loJson.UpdateInt("items[1].start",0)
loJson.UpdateInt("items[1].end",-6309638)
loJson.UpdateInt("items[1].limit",57543521)
loJson.UpdateString("items[1].aggregates[0]","max")
loJson.UpdateString("items[1].aggregates[1]","min")
loJson.UpdateString("items[1].granularity","")
loJson.UpdateBool("items[1].includeOutsidePoints",0)
loJson.UpdateString("start","velit")
loJson.UpdateInt("end",50328109)
loJson.UpdateInt("limit",100)
loJson.UpdateString("aggregates[0]","count")
loJson.UpdateString("aggregates[1]","max")
loJson.UpdateString("granularity","mollit dolore")
loJson.UpdateBool("includeOutsidePoints",0)
loJson.UpdateBool("ignoreUnknownIds",0)

loHttp.SetRequestHeader("content-type","application/json")
loHttp.SetRequestHeader("api-key","{{api-key}}")

loResp = loHttp.PostJson3("https://domain.com/api/v1/projects/{{project}}/timeseries/data/list","application/json",loJson)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    CANCEL
ENDIF

? STR(loResp.StatusCode)
? loResp.BodyStr
RELEASE loResp

RELEASE loHttp
RELEASE loJson

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}"
    }
  }
}