Chilkat Online Tools

C++ / Cognite API v1 / Filter relationships

Back to Collection Items

#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>

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

    CkHttp http;
    bool success;

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

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

    // {
    //   "filter": {
    //     "sourceExternalIds": [
    //       "culpa esse veniam nisi",
    //       "commodo repr"
    //     ],
    //     "sourceTypes": [
    //       "timeSeries",
    //       "sequence"
    //     ],
    //     "targetExternalIds": [
    //       "exercitation",
    //       "enim culpa"
    //     ],
    //     "targetTypes": [
    //       "sequence",
    //       "timeSeries"
    //     ],
    //     "dataSetIds": [
    //       {
    //         "id": 6853944784929184
    //       },
    //       {
    //         "externalId": "aliquip non"
    //       }
    //     ],
    //     "startTime": {
    //       "max": 15446345,
    //       "min": 52529591
    //     },
    //     "endTime": {
    //       "max": 94684273,
    //       "min": 31959617
    //     },
    //     "confidence": {
    //       "min": 62943472.11126715,
    //       "max": 33071678.92549883
    //     },
    //     "lastUpdatedTime": {
    //       "max": 64148230,
    //       "min": 15602664
    //     },
    //     "createdTime": {
    //       "max": 99622074,
    //       "min": 32696551
    //     },
    //     "activeAtTime": {
    //       "max": 99890540,
    //       "min": 14084932
    //     },
    //     "labels": {
    //       "containsAny": [
    //         {
    //           "externalId": "et Lorem cupidatat amet"
    //         },
    //         {
    //           "externalId": "aliqua"
    //         }
    //       ]
    //     },
    //     "sourcesOrTargets": [
    //       {
    //         "type": "sequence",
    //         "externalId": "consequat id"
    //       }
    //     ]
    //   },
    //   "limit": 100,
    //   "cursor": "non do Excepteur dolor",
    //   "fetchResources": false,
    //   "partition": "laborum id ad cupidatat et"
    // }

    CkJsonObject json;
    json.UpdateString("filter.sourceExternalIds[0]","culpa esse veniam nisi");
    json.UpdateString("filter.sourceExternalIds[1]","commodo repr");
    json.UpdateString("filter.sourceTypes[0]","timeSeries");
    json.UpdateString("filter.sourceTypes[1]","sequence");
    json.UpdateString("filter.targetExternalIds[0]","exercitation");
    json.UpdateString("filter.targetExternalIds[1]","enim culpa");
    json.UpdateString("filter.targetTypes[0]","sequence");
    json.UpdateString("filter.targetTypes[1]","timeSeries");
    json.UpdateInt("filter.dataSetIds[0].id",123);
    json.UpdateString("filter.dataSetIds[1].externalId","aliquip non");
    json.UpdateInt("filter.startTime.max",15446345);
    json.UpdateInt("filter.startTime.min",52529591);
    json.UpdateInt("filter.endTime.max",94684273);
    json.UpdateInt("filter.endTime.min",31959617);
    json.UpdateNumber("filter.confidence.min","62943472.11126715");
    json.UpdateNumber("filter.confidence.max","33071678.92549883");
    json.UpdateInt("filter.lastUpdatedTime.max",64148230);
    json.UpdateInt("filter.lastUpdatedTime.min",15602664);
    json.UpdateInt("filter.createdTime.max",99622074);
    json.UpdateInt("filter.createdTime.min",32696551);
    json.UpdateInt("filter.activeAtTime.max",99890540);
    json.UpdateInt("filter.activeAtTime.min",14084932);
    json.UpdateString("filter.labels.containsAny[0].externalId","et Lorem cupidatat amet");
    json.UpdateString("filter.labels.containsAny[1].externalId","aliqua");
    json.UpdateString("filter.sourcesOrTargets[0].type","sequence");
    json.UpdateString("filter.sourcesOrTargets[0].externalId","consequat id");
    json.UpdateInt("limit",100);
    json.UpdateString("cursor","non do Excepteur dolor");
    json.UpdateBool("fetchResources",false);
    json.UpdateString("partition","laborum id ad cupidatat et");

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

    CkHttpResponse *resp = http.PostJson3("https://domain.com/api/v1/projects/{{project}}/relationships/list","application/json",json);
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << resp->get_StatusCode() << "\r\n";
    std::cout << resp->bodyStr() << "\r\n";
    delete resp;
    }

Curl Command

curl -X POST
	-H "api-key: {{api-key}}"
	-H "content-type: application/json"
	-d '{
    "filter": {
        "sourceExternalIds": [
            "culpa esse veniam nisi",
            "commodo repr"
        ],
        "sourceTypes": [
            "timeSeries",
            "sequence"
        ],
        "targetExternalIds": [
            "exercitation",
            "enim culpa"
        ],
        "targetTypes": [
            "sequence",
            "timeSeries"
        ],
        "dataSetIds": [
            {
                "id": 6853944784929184
            },
            {
                "externalId": "aliquip non"
            }
        ],
        "startTime": {
            "max": 15446345,
            "min": 52529591
        },
        "endTime": {
            "max": 94684273,
            "min": 31959617
        },
        "confidence": {
            "min": 62943472.11126715,
            "max": 33071678.92549883
        },
        "lastUpdatedTime": {
            "max": 64148230,
            "min": 15602664
        },
        "createdTime": {
            "max": 99622074,
            "min": 32696551
        },
        "activeAtTime": {
            "max": 99890540,
            "min": 14084932
        },
        "labels": {
            "containsAny": [
                {
                    "externalId": "et Lorem cupidatat amet"
                },
                {
                    "externalId": "aliqua"
                }
            ]
        },
        "sourcesOrTargets": [
            {
                "type": "sequence",
                "externalId": "consequat id"
            }
        ]
    },
    "limit": 100,
    "cursor": "non do Excepteur dolor",
    "fetchResources": false,
    "partition": "laborum id ad cupidatat et"
}'
https://domain.com/api/v1/projects/{{project}}/relationships/list

Postman Collection Item JSON

{
  "id": "listRelationships",
  "name": "Filter relationships",
  "request": {
    "url": {
      "host": "{{baseUrl}}",
      "path": [
        "api",
        "v1",
        "projects",
        "{{project}}",
        "relationships",
        "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": "Lists relationships matching the query filter in the request. You can retrieve a maximum of 1000 relationships per request.",
    "body": {
      "mode": "raw",
      "raw": "{\n    \"filter\": {\n        \"sourceExternalIds\": [\n            \"culpa esse veniam nisi\",\n            \"commodo repr\"\n        ],\n        \"sourceTypes\": [\n            \"timeSeries\",\n            \"sequence\"\n        ],\n        \"targetExternalIds\": [\n            \"exercitation\",\n            \"enim culpa\"\n        ],\n        \"targetTypes\": [\n            \"sequence\",\n            \"timeSeries\"\n        ],\n        \"dataSetIds\": [\n            {\n                \"id\": 6853944784929184\n            },\n            {\n                \"externalId\": \"aliquip non\"\n            }\n        ],\n        \"startTime\": {\n            \"max\": 15446345,\n            \"min\": 52529591\n        },\n        \"endTime\": {\n            \"max\": 94684273,\n            \"min\": 31959617\n        },\n        \"confidence\": {\n            \"min\": 62943472.11126715,\n            \"max\": 33071678.92549883\n        },\n        \"lastUpdatedTime\": {\n            \"max\": 64148230,\n            \"min\": 15602664\n        },\n        \"createdTime\": {\n            \"max\": 99622074,\n            \"min\": 32696551\n        },\n        \"activeAtTime\": {\n            \"max\": 99890540,\n            \"min\": 14084932\n        },\n        \"labels\": {\n            \"containsAny\": [\n                {\n                    \"externalId\": \"et Lorem cupidatat amet\"\n                },\n                {\n                    \"externalId\": \"aliqua\"\n                }\n            ]\n        },\n        \"sourcesOrTargets\": [\n            {\n                \"type\": \"sequence\",\n                \"externalId\": \"consequat id\"\n            }\n        ]\n    },\n    \"limit\": 100,\n    \"cursor\": \"non do Excepteur dolor\",\n    \"fetchResources\": false,\n    \"partition\": \"laborum id ad cupidatat et\"\n}"
    }
  }
}