Chilkat Online Tools

PureBasic / Cognite API v1 / Filter files

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.

    ; {
    ;   "filter": {
    ;     "name": "ex nostrud consectetur",
    ;     "directoryPrefix": "tempor laborum ad consectetur",
    ;     "mimeType": "aute dolor sit Duis",
    ;     "metadata": {},
    ;     "assetIds": [
    ;       467579989120294,
    ;       8421974867540202
    ;     ],
    ;     "assetExternalIds": [
    ;       "",
    ;       "sint minim aliqua "
    ;     ],
    ;     "rootAssetIds": [
    ;       {
    ;         "id": 1543391847125216
    ;       },
    ;       {
    ;         "id": 6483833221883084
    ;       }
    ;     ],
    ;     "dataSetIds": [
    ;       {
    ;         "externalId": "eu aliqua dolor ea"
    ;       },
    ;       {
    ;         "id": 954668826986822
    ;       }
    ;     ],
    ;     "assetSubtreeIds": [
    ;       {
    ;         "externalId": "nisi occaecat sunt enim Ut"
    ;       },
    ;       {
    ;         "externalId": "anim reprehenderit ex nostrud"
    ;       }
    ;     ],
    ;     "source": "nulla mollit exercita",
    ;     "createdTime": {
    ;       "max": 35775661,
    ;       "min": 68358871
    ;     },
    ;     "lastUpdatedTime": {
    ;       "max": 39458190,
    ;       "min": 53247476
    ;     },
    ;     "uploadedTime": {
    ;       "max": 20009824,
    ;       "min": 24281615
    ;     },
    ;     "sourceCreatedTime": {
    ;       "max": 94237198,
    ;       "min": 59856114
    ;     },
    ;     "sourceModifiedTime": {
    ;       "max": 74319204,
    ;       "min": 63072110
    ;     },
    ;     "externalIdPrefix": "et",
    ;     "uploaded": false,
    ;     "labels": {
    ;       "containsAll": [
    ;         {
    ;           "externalId": "Ut ipsum in"
    ;         },
    ;         {
    ;           "externalId": "amet reprehenderit velit"
    ;         }
    ;       ]
    ;     },
    ;     "geoLocation": {
    ;       "relation": "WITHIN",
    ;       "shape": {
    ;         "type": "LineString",
    ;         "coordinates": [
    ;         ]
    ;       }
    ;     }
    ;   },
    ;   "partition": "proident est Duis nisi et",
    ;   "limit": 100,
    ;   "cursor": "incididunt"
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"filter.name","ex nostrud consectetur")
    CkJsonObject::ckUpdateString(json,"filter.directoryPrefix","tempor laborum ad consectetur")
    CkJsonObject::ckUpdateString(json,"filter.mimeType","aute dolor sit Duis")
    CkJsonObject::ckUpdateNewObject(json,"filter.metadata")
    CkJsonObject::ckUpdateInt(json,"filter.assetIds[0]",467579989120294)
    CkJsonObject::ckUpdateInt(json,"filter.assetIds[1]",8421974867540202)
    CkJsonObject::ckUpdateString(json,"filter.assetExternalIds[0]","")
    CkJsonObject::ckUpdateString(json,"filter.assetExternalIds[1]","sint minim aliqua ")
    CkJsonObject::ckUpdateInt(json,"filter.rootAssetIds[0].id",123)
    CkJsonObject::ckUpdateInt(json,"filter.rootAssetIds[1].id",123)
    CkJsonObject::ckUpdateString(json,"filter.dataSetIds[0].externalId","eu aliqua dolor ea")
    CkJsonObject::ckUpdateInt(json,"filter.dataSetIds[1].id",123)
    CkJsonObject::ckUpdateString(json,"filter.assetSubtreeIds[0].externalId","nisi occaecat sunt enim Ut")
    CkJsonObject::ckUpdateString(json,"filter.assetSubtreeIds[1].externalId","anim reprehenderit ex nostrud")
    CkJsonObject::ckUpdateString(json,"filter.source","nulla mollit exercita")
    CkJsonObject::ckUpdateInt(json,"filter.createdTime.max",35775661)
    CkJsonObject::ckUpdateInt(json,"filter.createdTime.min",68358871)
    CkJsonObject::ckUpdateInt(json,"filter.lastUpdatedTime.max",39458190)
    CkJsonObject::ckUpdateInt(json,"filter.lastUpdatedTime.min",53247476)
    CkJsonObject::ckUpdateInt(json,"filter.uploadedTime.max",20009824)
    CkJsonObject::ckUpdateInt(json,"filter.uploadedTime.min",24281615)
    CkJsonObject::ckUpdateInt(json,"filter.sourceCreatedTime.max",94237198)
    CkJsonObject::ckUpdateInt(json,"filter.sourceCreatedTime.min",59856114)
    CkJsonObject::ckUpdateInt(json,"filter.sourceModifiedTime.max",74319204)
    CkJsonObject::ckUpdateInt(json,"filter.sourceModifiedTime.min",63072110)
    CkJsonObject::ckUpdateString(json,"filter.externalIdPrefix","et")
    CkJsonObject::ckUpdateBool(json,"filter.uploaded",0)
    CkJsonObject::ckUpdateString(json,"filter.labels.containsAll[0].externalId","Ut ipsum in")
    CkJsonObject::ckUpdateString(json,"filter.labels.containsAll[1].externalId","amet reprehenderit velit")
    CkJsonObject::ckUpdateString(json,"filter.geoLocation.relation","WITHIN")
    CkJsonObject::ckUpdateString(json,"filter.geoLocation.shape.type","LineString")
    CkJsonObject::ckUpdateNewArray(json,"filter.geoLocation.shape.coordinates")
    CkJsonObject::ckUpdateString(json,"partition","proident est Duis nisi et")
    CkJsonObject::ckUpdateInt(json,"limit",100)
    CkJsonObject::ckUpdateString(json,"cursor","incididunt")

    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}}/files/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 '{
    "filter": {
        "name": "ex nostrud consectetur",
        "directoryPrefix": "tempor laborum ad consectetur",
        "mimeType": "aute dolor sit Duis",
        "metadata": {},
        "assetIds": [
            467579989120294,
            8421974867540202
        ],
        "assetExternalIds": [
            "",
            "sint minim aliqua "
        ],
        "rootAssetIds": [
            {
                "id": 1543391847125216
            },
            {
                "id": 6483833221883084
            }
        ],
        "dataSetIds": [
            {
                "externalId": "eu aliqua dolor ea"
            },
            {
                "id": 954668826986822
            }
        ],
        "assetSubtreeIds": [
            {
                "externalId": "nisi occaecat sunt enim Ut"
            },
            {
                "externalId": "anim reprehenderit ex nostrud"
            }
        ],
        "source": "nulla mollit exercita",
        "createdTime": {
            "max": 35775661,
            "min": 68358871
        },
        "lastUpdatedTime": {
            "max": 39458190,
            "min": 53247476
        },
        "uploadedTime": {
            "max": 20009824,
            "min": 24281615
        },
        "sourceCreatedTime": {
            "max": 94237198,
            "min": 59856114
        },
        "sourceModifiedTime": {
            "max": 74319204,
            "min": 63072110
        },
        "externalIdPrefix": "et",
        "uploaded": false,
        "labels": {
            "containsAll": [
                {
                    "externalId": "Ut ipsum in"
                },
                {
                    "externalId": "amet reprehenderit velit"
                }
            ]
        },
        "geoLocation": {
            "relation": "WITHIN",
            "shape": {
                "type": "LineString",
                "coordinates": []
            }
        }
    },
    "partition": "proident est Duis nisi et",
    "limit": 100,
    "cursor": "incididunt"
}'
https://domain.com/api/v1/projects/{{project}}/files/list

Postman Collection Item JSON

{
  "id": "advancedListFiles",
  "name": "Filter files",
  "request": {
    "url": {
      "host": "{{baseUrl}}",
      "path": [
        "api",
        "v1",
        "projects",
        "{{project}}",
        "files",
        "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 all files in a project. Criteria can be supplied to select a subset of files. This operation supports pagination with cursors.",
    "body": {
      "mode": "raw",
      "raw": "{\n    \"filter\": {\n        \"name\": \"ex nostrud consectetur\",\n        \"directoryPrefix\": \"tempor laborum ad consectetur\",\n        \"mimeType\": \"aute dolor sit Duis\",\n        \"metadata\": {},\n        \"assetIds\": [\n            467579989120294,\n            8421974867540202\n        ],\n        \"assetExternalIds\": [\n            \"\",\n            \"sint minim aliqua \"\n        ],\n        \"rootAssetIds\": [\n            {\n                \"id\": 1543391847125216\n            },\n            {\n                \"id\": 6483833221883084\n            }\n        ],\n        \"dataSetIds\": [\n            {\n                \"externalId\": \"eu aliqua dolor ea\"\n            },\n            {\n                \"id\": 954668826986822\n            }\n        ],\n        \"assetSubtreeIds\": [\n            {\n                \"externalId\": \"nisi occaecat sunt enim Ut\"\n            },\n            {\n                \"externalId\": \"anim reprehenderit ex nostrud\"\n            }\n        ],\n        \"source\": \"nulla mollit exercita\",\n        \"createdTime\": {\n            \"max\": 35775661,\n            \"min\": 68358871\n        },\n        \"lastUpdatedTime\": {\n            \"max\": 39458190,\n            \"min\": 53247476\n        },\n        \"uploadedTime\": {\n            \"max\": 20009824,\n            \"min\": 24281615\n        },\n        \"sourceCreatedTime\": {\n            \"max\": 94237198,\n            \"min\": 59856114\n        },\n        \"sourceModifiedTime\": {\n            \"max\": 74319204,\n            \"min\": 63072110\n        },\n        \"externalIdPrefix\": \"et\",\n        \"uploaded\": false,\n        \"labels\": {\n            \"containsAll\": [\n                {\n                    \"externalId\": \"Ut ipsum in\"\n                },\n                {\n                    \"externalId\": \"amet reprehenderit velit\"\n                }\n            ]\n        },\n        \"geoLocation\": {\n            \"relation\": \"WITHIN\",\n            \"shape\": {\n                \"type\": \"LineString\",\n                \"coordinates\": []\n            }\n        }\n    },\n    \"partition\": \"proident est Duis nisi et\",\n    \"limit\": 100,\n    \"cursor\": \"incididunt\"\n}"
    }
  }
}