Chilkat Online Tools

DataFlex / Cognite API v1 / Aggregate events

Back to Collection Items

Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    Boolean iSuccess
    Variant vJson
    Handle hoJson
    Variant vResp
    Handle hoResp
    String sTemp1
    Integer iTemp1
    Boolean bTemp1

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "fields": [
    //     "subtype"
    //   ],
    //   "aggregate": "uniqueValues",
    //   "filter": {
    //     "startTime": {
    //       "max": 80468070,
    //       "min": 36316784
    //     },
    //     "endTime": {
    //       "max": 41454407,
    //       "min": 22256402
    //     },
    //     "activeAtTime": {
    //       "max": 99761365,
    //       "min": 19522733
    //     },
    //     "metadata": {},
    //     "assetIds": [
    //       7366433780129810,
    //       4231159671616230
    //     ],
    //     "assetExternalIds": [
    //       "laboris amet ex deserunt et",
    //       "Lorem"
    //     ],
    //     "rootAssetIds": [
    //       {
    //         "id": 5301845202166120
    //       },
    //       {
    //         "externalId": "eiusmod exercitation"
    //       }
    //     ],
    //     "assetSubtreeIds": [
    //       {
    //         "id": 532532664250766
    //       },
    //       {
    //         "externalId": "minim consequat"
    //       }
    //     ],
    //     "dataSetIds": [
    //       {
    //         "externalId": "m"
    //       },
    //       {
    //         "id": 7462419378685606
    //       }
    //     ],
    //     "source": "proident",
    //     "type": "incididunt anim reprehenderi",
    //     "subtype": "Lo",
    //     "createdTime": {
    //       "max": 52541729,
    //       "min": 71476601
    //     },
    //     "lastUpdatedTime": {
    //       "max": 55306689,
    //       "min": 35839070
    //     },
    //     "externalIdPrefix": "ad esse Ut consequat ut"
    //   }
    // }

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "fields[0]" "subtype" To iSuccess
    Get ComUpdateString Of hoJson "aggregate" "uniqueValues" To iSuccess
    Get ComUpdateInt Of hoJson "filter.startTime.max" 80468070 To iSuccess
    Get ComUpdateInt Of hoJson "filter.startTime.min" 36316784 To iSuccess
    Get ComUpdateInt Of hoJson "filter.endTime.max" 41454407 To iSuccess
    Get ComUpdateInt Of hoJson "filter.endTime.min" 22256402 To iSuccess
    Get ComUpdateInt Of hoJson "filter.activeAtTime.max" 99761365 To iSuccess
    Get ComUpdateInt Of hoJson "filter.activeAtTime.min" 19522733 To iSuccess
    Get ComUpdateNewObject Of hoJson "filter.metadata" To iSuccess
    Get ComUpdateInt Of hoJson "filter.assetIds[0]" 7366433780129810 To iSuccess
    Get ComUpdateInt Of hoJson "filter.assetIds[1]" 4231159671616230 To iSuccess
    Get ComUpdateString Of hoJson "filter.assetExternalIds[0]" "laboris amet ex deserunt et" To iSuccess
    Get ComUpdateString Of hoJson "filter.assetExternalIds[1]" "Lorem" To iSuccess
    Get ComUpdateInt Of hoJson "filter.rootAssetIds[0].id" 123 To iSuccess
    Get ComUpdateString Of hoJson "filter.rootAssetIds[1].externalId" "eiusmod exercitation" To iSuccess
    Get ComUpdateInt Of hoJson "filter.assetSubtreeIds[0].id" 123 To iSuccess
    Get ComUpdateString Of hoJson "filter.assetSubtreeIds[1].externalId" "minim consequat" To iSuccess
    Get ComUpdateString Of hoJson "filter.dataSetIds[0].externalId" "m" To iSuccess
    Get ComUpdateInt Of hoJson "filter.dataSetIds[1].id" 123 To iSuccess
    Get ComUpdateString Of hoJson "filter.source" "proident" To iSuccess
    Get ComUpdateString Of hoJson "filter.type" "incididunt anim reprehenderi" To iSuccess
    Get ComUpdateString Of hoJson "filter.subtype" "Lo" To iSuccess
    Get ComUpdateInt Of hoJson "filter.createdTime.max" 52541729 To iSuccess
    Get ComUpdateInt Of hoJson "filter.createdTime.min" 71476601 To iSuccess
    Get ComUpdateInt Of hoJson "filter.lastUpdatedTime.max" 55306689 To iSuccess
    Get ComUpdateInt Of hoJson "filter.lastUpdatedTime.min" 35839070 To iSuccess
    Get ComUpdateString Of hoJson "filter.externalIdPrefix" "ad esse Ut consequat ut" To iSuccess

    Send ComSetRequestHeader To hoHttp "content-type" "application/json"
    Send ComSetRequestHeader To hoHttp "api-key" "{{api-key}}"

    Get pvComObject of hoJson to vJson
    Get ComPostJson3 Of hoHttp "https://domain.com/api/v1/projects/{{project}}/events/aggregate" "application/json" vJson To vResp
    If (IsComObject(vResp)) Begin
        Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
        Set pvComObject Of hoResp To vResp
    End
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComStatusCode Of hoResp To iTemp1
    Showln iTemp1
    Get ComBodyStr Of hoResp To sTemp1
    Showln sTemp1
    Send Destroy of hoResp


End_Procedure

Curl Command

curl -X POST
	-H "api-key: {{api-key}}"
	-H "content-type: application/json"
	-d '{
    "fields": [
        "subtype"
    ],
    "aggregate": "uniqueValues",
    "filter": {
        "startTime": {
            "max": 80468070,
            "min": 36316784
        },
        "endTime": {
            "max": 41454407,
            "min": 22256402
        },
        "activeAtTime": {
            "max": 99761365,
            "min": 19522733
        },
        "metadata": {},
        "assetIds": [
            7366433780129810,
            4231159671616230
        ],
        "assetExternalIds": [
            "laboris amet ex deserunt et",
            "Lorem"
        ],
        "rootAssetIds": [
            {
                "id": 5301845202166120
            },
            {
                "externalId": "eiusmod exercitation"
            }
        ],
        "assetSubtreeIds": [
            {
                "id": 532532664250766
            },
            {
                "externalId": "minim consequat"
            }
        ],
        "dataSetIds": [
            {
                "externalId": "m"
            },
            {
                "id": 7462419378685606
            }
        ],
        "source": "proident",
        "type": "incididunt anim reprehenderi",
        "subtype": "Lo",
        "createdTime": {
            "max": 52541729,
            "min": 71476601
        },
        "lastUpdatedTime": {
            "max": 55306689,
            "min": 35839070
        },
        "externalIdPrefix": "ad esse Ut consequat ut"
    }
}'
https://domain.com/api/v1/projects/{{project}}/events/aggregate

Postman Collection Item JSON

{
  "id": "aggregateEvents",
  "name": "Aggregate events",
  "request": {
    "url": {
      "host": "{{baseUrl}}",
      "path": [
        "api",
        "v1",
        "projects",
        "{{project}}",
        "events",
        "aggregate"
      ],
      "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": "The aggregation API allows you to compute aggregated results on events \nlike getting the count of all events in a project or checking what are all the \ndifferent types and subtypes of events in your project, along with \nthe count of events in each of those aggregations. By specifying an additional \nfilter, you can also aggregate only among events matching the specified filter.\n\nThe default behavior, when you do not specify \nthe `aggregate` field in the request body, is to return the count \nof events.\n\nSetting `aggregate` to `uniqueValues` will return all unique values (up to a \nmaximum of 1000) and the count of each in the field specified in \n`fields: []`. Note that, currently, you can only request for unique \nvalues on a single field. Also, in the case of text fields, the values are \naggregated in a case-insensitive manner. For example:\n\n```\n{\n  \"aggregate\": \"uniqueValues\",\n  \"fields\": [ \"type\" ]\n}\n```\n\nwill return all unique 'types' in the events in your project.\n\nSimilarly,\n\n```\n{\n  \"aggregate\": \"uniqueValues\",\n  \"fields\": [ \"dataSetId\" ],\n  \"filter\": {\n    \"subType\": \"subtype_1\"\n  }\n}\n```\nwill return all unique dataSetIds in events of subtype 'subtype_1'\n",
    "body": {
      "mode": "raw",
      "raw": "{\n    \"fields\": [\n        \"subtype\"\n    ],\n    \"aggregate\": \"uniqueValues\",\n    \"filter\": {\n        \"startTime\": {\n            \"max\": 80468070,\n            \"min\": 36316784\n        },\n        \"endTime\": {\n            \"max\": 41454407,\n            \"min\": 22256402\n        },\n        \"activeAtTime\": {\n            \"max\": 99761365,\n            \"min\": 19522733\n        },\n        \"metadata\": {},\n        \"assetIds\": [\n            7366433780129810,\n            4231159671616230\n        ],\n        \"assetExternalIds\": [\n            \"laboris amet ex deserunt et\",\n            \"Lorem\"\n        ],\n        \"rootAssetIds\": [\n            {\n                \"id\": 5301845202166120\n            },\n            {\n                \"externalId\": \"eiusmod exercitation\"\n            }\n        ],\n        \"assetSubtreeIds\": [\n            {\n                \"id\": 532532664250766\n            },\n            {\n                \"externalId\": \"minim consequat\"\n            }\n        ],\n        \"dataSetIds\": [\n            {\n                \"externalId\": \"m\"\n            },\n            {\n                \"id\": 7462419378685606\n            }\n        ],\n        \"source\": \"proident\",\n        \"type\": \"incididunt anim reprehenderi\",\n        \"subtype\": \"Lo\",\n        \"createdTime\": {\n            \"max\": 52541729,\n            \"min\": 71476601\n        },\n        \"lastUpdatedTime\": {\n            \"max\": 55306689,\n            \"min\": 35839070\n        },\n        \"externalIdPrefix\": \"ad esse Ut consequat ut\"\n    }\n}"
    }
  }
}