curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/files/uploadlink \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"externalId": "my.known.id"
}
]
}
'{
"name": "<string>",
"id": 4503599627370496,
"uploaded": true,
"createdTime": 1730204346000,
"lastUpdatedTime": 1730204346000,
"uploadUrl": "<string>",
"externalId": "my.known.id",
"directory": "<string>",
"source": "<string>",
"mimeType": "image/jpeg",
"metadata": {},
"assetIds": [
4503599627370496
],
"dataSetId": 4503599627370496,
"sourceCreatedTime": 1730204346000,
"sourceModifiedTime": 1730204346000,
"securityCategories": [
4503599627370496
],
"labels": [
{
"externalId": "my.known.id"
}
],
"geoLocation": {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
123
]
},
"properties": {}
},
"uploadedTime": 1730204346000,
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
}Required capabilities:
filesAcl:WRITEOr
dataModelsAcl:READ(scope spaceId:cdf_cdm) anddataModelInstancesAcl:WRITE
Get an uploadUrl for a file.
To upload the file, send an HTTP PUT request to the uploadUrl from the response, with the relevant ‘Content-Type’ and ‘Content-Length’ headers.
If the uploadUrl contains the string ‘/v1/files/gcs_proxy/’, you can make a Google Cloud Storage (GCS) resumable upload request as documented in https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload.
The uploadUrl expires after one week. Any file info entry that does not have the actual file uploaded within one week will be automatically deleted.
Note: The single part uploadUrl from getUploadLink only supports uploading files up to 5000 MB (5,000,000,000 bytes) in size.
The getMultiPartUploadLink and completeMultiPartUpload endpoints provides an alternative way to upload files, both small and large, up to 1000 GiB in size. These endpoints exposes a uniform multipart upload API for all cloud vendor environments for CDF. Optionally parallel part uploads can be used, for faster uploads.
Please note that this endpoint is subject to the new throttling policy, which imposes limits on both request rate and concurrency. For more details, please refer to the Files resource documentation.
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/files/uploadlink \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"externalId": "my.known.id"
}
]
}
'{
"name": "<string>",
"id": 4503599627370496,
"uploaded": true,
"createdTime": 1730204346000,
"lastUpdatedTime": 1730204346000,
"uploadUrl": "<string>",
"externalId": "my.known.id",
"directory": "<string>",
"source": "<string>",
"mimeType": "image/jpeg",
"metadata": {},
"assetIds": [
4503599627370496
],
"dataSetId": 4503599627370496,
"sourceCreatedTime": 1730204346000,
"sourceModifiedTime": 1730204346000,
"securityCategories": [
4503599627370496
],
"labels": [
{
"externalId": "my.known.id"
}
],
"geoLocation": {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
123
]
},
"properties": {}
},
"uploadedTime": 1730204346000,
"instanceId": {
"space": "<string>",
"externalId": "<string>"
}
}Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.
The 'Origin' header parameter is required if there is a Cross Origin issue.
Fields to be set for the file.
1 elementShow child attributes
The response for a successful files operation
Name of the file.
256A server-generated ID for the object.
1 <= x <= 9007199254740991Whether or not the actual file is uploaded. This field is returned only by the API, it has no effect in a post body.
true
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
x >= 01730204346000
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
x >= 01730204346000
The URL where the file contents should be uploaded.
The external ID provided by the client. Must be unique for the resource type.
255"my.known.id"
Directory containing the file. Must be an absolute, unix-style path.
512The source of the file.
128File type. E.g. text/plain, application/pdf, ..
256"image/jpeg"
Custom, application specific metadata. String key -> String value. Limits: Maximum length of key is 128 bytes, value 10240 bytes, up to 256 key-value pairs, of total size at most 10240.
Show child attributes
1 - 1000 elementsA server-generated ID for the object.
1 <= x <= 9007199254740991The dataSet Id for the item.
1 <= x <= 9007199254740991The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
x >= 01730204346000
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
x >= 01730204346000
The security category IDs required to access this file.
100A server-generated ID for the object.
1 <= x <= 9007199254740991A list of the labels associated with this resource item.
10Show child attributes
Geographic metadata.
Show child attributes
The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.
x >= 01730204346000
Show child attributes
Was this page helpful?