Chilkat Online Tools

Swift / Cognite API v1 / Update files

Back to Collection Items

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

    let http = CkoHttp()
    var success: Bool

    // 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": [
    //     {
    //       "id": 4053335824259500,
    //       "update": {
    //         "externalId": {
    //           "set": "esse"
    //         },
    //         "directory": {
    //           "set": "occaecat in sit deserunt"
    //         },
    //         "source": {
    //           "set": "adipisicing in"
    //         },
    //         "mimeType": {
    //           "set": "exe"
    //         },
    //         "metadata": {
    //           "set": {}
    //         },
    //         "assetIds": {
    //           "set": [
    //           ]
    //         },
    //         "sourceCreatedTime": {
    //           "setNull": true
    //         },
    //         "sourceModifiedTime": {
    //           "setNull": true
    //         },
    //         "dataSetId": {
    //           "setNull": true
    //         },
    //         "securityCategories": {
    //           "set": [
    //           ]
    //         },
    //         "labels": {
    //           "add": [
    //             {
    //               "externalId": "sit irure reprehenderit magna labore"
    //             },
    //             {
    //               "externalId": "dolor in"
    //             }
    //           ],
    //           "remove": [
    //             {
    //               "externalId": "ut adipisicing esse laboris"
    //             },
    //             {
    //               "externalId": "sint enim sed dolor in"
    //             }
    //           ]
    //         },
    //         "geoLocation": {
    //           "set": {
    //             "type": "Feature",
    //             "geometry": {
    //               "type": "MultiPoint",
    //               "coordinates": [
    //               ]
    //             },
    //             "properties": {}
    //           }
    //         }
    //       }
    //     },
    //     {
    //       "id": 7148873468997944,
    //       "update": {
    //         "externalId": {
    //           "set": "magna consectetur irure labore"
    //         },
    //         "directory": {
    //           "setNull": true
    //         },
    //         "source": {
    //           "setNull": false
    //         },
    //         "mimeType": {
    //           "set": "pariatur exercitation laborum et do"
    //         },
    //         "metadata": {
    //           "set": {}
    //         },
    //         "assetIds": {
    //           "set": [
    //           ]
    //         },
    //         "sourceCreatedTime": {
    //           "set": -126295
    //         },
    //         "sourceModifiedTime": {
    //           "setNull": true
    //         },
    //         "dataSetId": {
    //           "setNull": false
    //         },
    //         "securityCategories": {
    //           "set": [
    //           ]
    //         },
    //         "labels": {
    //           "add": [
    //             {
    //               "externalId": "nostrud ex consequat"
    //             },
    //             {
    //               "externalId": "ullamco eiusmod elit ea"
    //             }
    //           ],
    //           "remove": [
    //             {
    //               "externalId": "deserunt dolor anim"
    //             },
    //             {
    //               "externalId": "in"
    //             }
    //           ]
    //         },
    //         "geoLocation": {
    //           "set": {
    //             "type": "Feature",
    //             "geometry": {
    //               "type": "Point",
    //               "coordinates": [
    //                 67913028.4430609,
    //                 -56262049.39717141
    //               ]
    //             },
    //             "properties": {}
    //           }
    //         }
    //       }
    //     }
    //   ]
    // }

    let json = CkoJsonObject()
    json.UpdateInt("items[0].id", value: 123)
    json.UpdateString("items[0].update.externalId.set", value: "esse")
    json.UpdateString("items[0].update.directory.set", value: "occaecat in sit deserunt")
    json.UpdateString("items[0].update.source.set", value: "adipisicing in")
    json.UpdateString("items[0].update.mimeType.set", value: "exe")
    json.UpdateNewObject("items[0].update.metadata.set")
    json.UpdateNewArray("items[0].update.assetIds.set")
    json.UpdateBool("items[0].update.sourceCreatedTime.setNull", value: true)
    json.UpdateBool("items[0].update.sourceModifiedTime.setNull", value: true)
    json.UpdateBool("items[0].update.dataSetId.setNull", value: true)
    json.UpdateNewArray("items[0].update.securityCategories.set")
    json.UpdateString("items[0].update.labels.add[0].externalId", value: "sit irure reprehenderit magna labore")
    json.UpdateString("items[0].update.labels.add[1].externalId", value: "dolor in")
    json.UpdateString("items[0].update.labels.remove[0].externalId", value: "ut adipisicing esse laboris")
    json.UpdateString("items[0].update.labels.remove[1].externalId", value: "sint enim sed dolor in")
    json.UpdateString("items[0].update.geoLocation.set.type", value: "Feature")
    json.UpdateString("items[0].update.geoLocation.set.geometry.type", value: "MultiPoint")
    json.UpdateNewArray("items[0].update.geoLocation.set.geometry.coordinates")
    json.UpdateNewObject("items[0].update.geoLocation.set.properties")
    json.UpdateInt("items[1].id", value: 123)
    json.UpdateString("items[1].update.externalId.set", value: "magna consectetur irure labore")
    json.UpdateBool("items[1].update.directory.setNull", value: true)
    json.UpdateBool("items[1].update.source.setNull", value: false)
    json.UpdateString("items[1].update.mimeType.set", value: "pariatur exercitation laborum et do")
    json.UpdateNewObject("items[1].update.metadata.set")
    json.UpdateNewArray("items[1].update.assetIds.set")
    json.UpdateInt("items[1].update.sourceCreatedTime.set", value: -126295)
    json.UpdateBool("items[1].update.sourceModifiedTime.setNull", value: true)
    json.UpdateBool("items[1].update.dataSetId.setNull", value: false)
    json.UpdateNewArray("items[1].update.securityCategories.set")
    json.UpdateString("items[1].update.labels.add[0].externalId", value: "nostrud ex consequat")
    json.UpdateString("items[1].update.labels.add[1].externalId", value: "ullamco eiusmod elit ea")
    json.UpdateString("items[1].update.labels.remove[0].externalId", value: "deserunt dolor anim")
    json.UpdateString("items[1].update.labels.remove[1].externalId", value: "in")
    json.UpdateString("items[1].update.geoLocation.set.type", value: "Feature")
    json.UpdateString("items[1].update.geoLocation.set.geometry.type", value: "Point")
    json.UpdateNumber("items[1].update.geoLocation.set.geometry.coordinates[0]", numericStr: "67913028.4430609")
    json.UpdateNumber("items[1].update.geoLocation.set.geometry.coordinates[1]", numericStr: "-56262049.39717141")
    json.UpdateNewObject("items[1].update.geoLocation.set.properties")

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

    var resp: CkoHttpResponse? = http.PostJson3("https://domain.com/api/v1/projects/{{project}}/files/update", contentType: "application/json", json: json)
    if http.LastMethodSuccess == false {
        print("\(http.LastErrorText)")
        return
    }

    print("\(resp!.StatusCode.intValue)")
    print("\(resp!.BodyStr)")
    resp = nil

}

Curl Command

curl -X POST
	-H "api-key: {{api-key}}"
	-H "content-type: application/json"
	-d '{
    "items": [
        {
            "id": 4053335824259500,
            "update": {
                "externalId": {
                    "set": "esse"
                },
                "directory": {
                    "set": "occaecat in sit deserunt"
                },
                "source": {
                    "set": "adipisicing in"
                },
                "mimeType": {
                    "set": "exe"
                },
                "metadata": {
                    "set": {}
                },
                "assetIds": {
                    "set": []
                },
                "sourceCreatedTime": {
                    "setNull": true
                },
                "sourceModifiedTime": {
                    "setNull": true
                },
                "dataSetId": {
                    "setNull": true
                },
                "securityCategories": {
                    "set": []
                },
                "labels": {
                    "add": [
                        {
                            "externalId": "sit irure reprehenderit magna labore"
                        },
                        {
                            "externalId": "dolor in"
                        }
                    ],
                    "remove": [
                        {
                            "externalId": "ut adipisicing esse laboris"
                        },
                        {
                            "externalId": "sint enim sed dolor in"
                        }
                    ]
                },
                "geoLocation": {
                    "set": {
                        "type": "Feature",
                        "geometry": {
                            "type": "MultiPoint",
                            "coordinates": []
                        },
                        "properties": {}
                    }
                }
            }
        },
        {
            "id": 7148873468997944,
            "update": {
                "externalId": {
                    "set": "magna consectetur irure labore"
                },
                "directory": {
                    "setNull": true
                },
                "source": {
                    "setNull": false
                },
                "mimeType": {
                    "set": "pariatur exercitation laborum et do"
                },
                "metadata": {
                    "set": {}
                },
                "assetIds": {
                    "set": []
                },
                "sourceCreatedTime": {
                    "set": -126295
                },
                "sourceModifiedTime": {
                    "setNull": true
                },
                "dataSetId": {
                    "setNull": false
                },
                "securityCategories": {
                    "set": []
                },
                "labels": {
                    "add": [
                        {
                            "externalId": "nostrud ex consequat"
                        },
                        {
                            "externalId": "ullamco eiusmod elit ea"
                        }
                    ],
                    "remove": [
                        {
                            "externalId": "deserunt dolor anim"
                        },
                        {
                            "externalId": "in"
                        }
                    ]
                },
                "geoLocation": {
                    "set": {
                        "type": "Feature",
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                67913028.4430609,
                                -56262049.39717141
                            ]
                        },
                        "properties": {}
                    }
                }
            }
        }
    ]
}'
https://domain.com/api/v1/projects/{{project}}/files/update

Postman Collection Item JSON

{
  "id": "updateFiles",
  "name": "Update files",
  "request": {
    "url": {
      "host": "{{baseUrl}}",
      "path": [
        "api",
        "v1",
        "projects",
        "{{project}}",
        "files",
        "update"
      ],
      "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": "Updates the information for the files specified in the request body.\n\nIf you want to update the file content, uploaded using the uploadUrl, please\nuse the initFileUpload request with the query parameter 'overwrite=true'.\nAlternatively, delete and recreate the file.\n\nFor primitive fields (String, Long, Int), use 'set': 'value' to update\nvalue; use 'setNull': true to set that field to null.\n\nFor the Json Array field (e.g. assetIds and securityCategories): Use either only 'set', or a combination of 'add' and/or 'remove'. \n\n__AssetIds update examples__:\n\nExample request body to overwrite assetIds with a new set, asset ID 1 and 2.\n\n```\n{\n  \"items\": [\n    {\n      \"id\": 1,\n      \"update\": {\n        \"assetIds\" : {\n          \"set\" : [ 1, 2 ]\n        }\n      }\n    }\n  ]\n}\n```\n\nExample request body to add one asset Id, and remove another asset ID.\n\n```\n{\n  \"items\": [\n    {\n      \"id\": 1,\n      \"update\": {\n        \"assetIds\" : {\n          \"add\" : [ 3 ],\n          \"remove\": [ 2 ]\n        }\n      }\n    }\n  ]\n}\n```\n\n__Metadata update examples__:\n\nExample request body to overwrite metadata with a new set.\n```\n{\n  \"items\": [\n    {\n      \"id\": 1,\n      \"update\": {\n        \"metadata\": {\n          \"set\": {\n            \"key1\": \"value1\",\n            \"key2\": \"value2\"\n          }\n        }\n      }\n    }\n  ]\n}\n```\n\nExample request body to add two key-value pairs and remove two other key-value pairs by key for\nthe metadata field.\n```\n{\n  \"items\": [\n    {\n      \"id\": 1,\n      \"update\": {\n        \"metadata\": {\n          \"add\": {\n            \"key3\": \"value3\",\n            \"key4\": \"value4\"\n          },\n          \"remove\": [\n            \"key1\",\n            \"key2\"\n          ]\n        }\n      }\n    }\n  ]\n}\n```",
    "body": {
      "mode": "raw",
      "raw": "{\n    \"items\": [\n        {\n            \"id\": 4053335824259500,\n            \"update\": {\n                \"externalId\": {\n                    \"set\": \"esse\"\n                },\n                \"directory\": {\n                    \"set\": \"occaecat in sit deserunt\"\n                },\n                \"source\": {\n                    \"set\": \"adipisicing in\"\n                },\n                \"mimeType\": {\n                    \"set\": \"exe\"\n                },\n                \"metadata\": {\n                    \"set\": {}\n                },\n                \"assetIds\": {\n                    \"set\": []\n                },\n                \"sourceCreatedTime\": {\n                    \"setNull\": true\n                },\n                \"sourceModifiedTime\": {\n                    \"setNull\": true\n                },\n                \"dataSetId\": {\n                    \"setNull\": true\n                },\n                \"securityCategories\": {\n                    \"set\": []\n                },\n                \"labels\": {\n                    \"add\": [\n                        {\n                            \"externalId\": \"sit irure reprehenderit magna labore\"\n                        },\n                        {\n                            \"externalId\": \"dolor in\"\n                        }\n                    ],\n                    \"remove\": [\n                        {\n                            \"externalId\": \"ut adipisicing esse laboris\"\n                        },\n                        {\n                            \"externalId\": \"sint enim sed dolor in\"\n                        }\n                    ]\n                },\n                \"geoLocation\": {\n                    \"set\": {\n                        \"type\": \"Feature\",\n                        \"geometry\": {\n                            \"type\": \"MultiPoint\",\n                            \"coordinates\": []\n                        },\n                        \"properties\": {}\n                    }\n                }\n            }\n        },\n        {\n            \"id\": 7148873468997944,\n            \"update\": {\n                \"externalId\": {\n                    \"set\": \"magna consectetur irure labore\"\n                },\n                \"directory\": {\n                    \"setNull\": true\n                },\n                \"source\": {\n                    \"setNull\": false\n                },\n                \"mimeType\": {\n                    \"set\": \"pariatur exercitation laborum et do\"\n                },\n                \"metadata\": {\n                    \"set\": {}\n                },\n                \"assetIds\": {\n                    \"set\": []\n                },\n                \"sourceCreatedTime\": {\n                    \"set\": -126295\n                },\n                \"sourceModifiedTime\": {\n                    \"setNull\": true\n                },\n                \"dataSetId\": {\n                    \"setNull\": false\n                },\n                \"securityCategories\": {\n                    \"set\": []\n                },\n                \"labels\": {\n                    \"add\": [\n                        {\n                            \"externalId\": \"nostrud ex consequat\"\n                        },\n                        {\n                            \"externalId\": \"ullamco eiusmod elit ea\"\n                        }\n                    ],\n                    \"remove\": [\n                        {\n                            \"externalId\": \"deserunt dolor anim\"\n                        },\n                        {\n                            \"externalId\": \"in\"\n                        }\n                    ]\n                },\n                \"geoLocation\": {\n                    \"set\": {\n                        \"type\": \"Feature\",\n                        \"geometry\": {\n                            \"type\": \"Point\",\n                            \"coordinates\": [\n                                67913028.4430609,\n                                -56262049.39717141\n                            ]\n                        },\n                        \"properties\": {}\n                    }\n                }\n            }\n        }\n    ]\n}"
    }
  }
}