Skip to main content
POST
/
files
JavaScript SDK
const fileContent = 'file data here'; // can also be of type ArrayBuffer, Buffer, Blob, File or any
// automatic upload:
const file = await client.files.upload({name: 'examplefile.jpg', mimeType: 'image/jpeg'}, fileContent);

// manual with uploadUrl:
const file2 = await client.files.upload({name: 'examplefile.jpg', mimeType: 'image/jpeg'});
// then upload using the file.uploadUrl
{
  "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>"
  }
}

Authorizations

Authorization
string
header
required

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.

Headers

Origin
string

The 'Origin' header parameter is required if there is a Cross Origin issue.

Query Parameters

overwrite
boolean
default:false

If 'overwrite' is set to true, and the POST body content specifies a 'externalId' field, fields for the file found for externalId can be overwritten. The default setting is false.

If metadata is included in the request body, all of the original metadata will be overwritten. The actual file will be overwritten after a successful upload with the uploadUrl from the response. If there is no successful upload, the current file contents will be kept.

File-Asset mappings only change if explicitly stated in the assetIds field of the POST json body. Do not set assetIds in request body if you want to keep the current file-asset mappings.

Body

application/json

Fields to be set for the file.

name
string
required

Name of the file.

Maximum string length: 256
externalId
string

The external ID provided by the client. Must be unique for the resource type.

Maximum string length: 255
Example:

"my.known.id"

directory
string

Directory containing the file. Must be an absolute, unix-style path.

Maximum string length: 512
source
string

The source of the file.

Maximum string length: 128
mimeType
string

File type. E.g. text/plain, application/pdf, ..

Maximum string length: 256
Example:

"image/jpeg"

metadata
object

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.

assetIds
integer<int64>[]
Required array length: 1 - 1000 elements

A server-generated ID for the object.

Required range: 1 <= x <= 9007199254740991
dataSetId
integer<int64>

The dataSet Id for the item.

Required range: 1 <= x <= 9007199254740991
sourceCreatedTime
integer<int64>

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

sourceModifiedTime
integer<int64>

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

securityCategories
integer<int64>[]

The security category IDs required to access this file.

Maximum array length: 100

A server-generated ID for the object.

Required range: 1 <= x <= 9007199254740991
labels
Label · object[]

A list of the labels associated with this resource item.

Maximum array length: 10
geoLocation
object

Geographic metadata.

Response

The response for a successful files operation

name
string
required

Name of the file.

Maximum string length: 256
id
integer<int64>
required

A server-generated ID for the object.

Required range: 1 <= x <= 9007199254740991
uploaded
boolean
required

Whether or not the actual file is uploaded. This field is returned only by the API, it has no effect in a post body.

Example:

true

createdTime
integer<int64>
required

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

lastUpdatedTime
integer<int64>
required

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

uploadUrl
string
required

The URL where the file contents should be uploaded.

externalId
string

The external ID provided by the client. Must be unique for the resource type.

Maximum string length: 255
Example:

"my.known.id"

directory
string

Directory containing the file. Must be an absolute, unix-style path.

Maximum string length: 512
source
string

The source of the file.

Maximum string length: 128
mimeType
string

File type. E.g. text/plain, application/pdf, ..

Maximum string length: 256
Example:

"image/jpeg"

metadata
object

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.

assetIds
integer<int64>[]
Required array length: 1 - 1000 elements

A server-generated ID for the object.

Required range: 1 <= x <= 9007199254740991
dataSetId
integer<int64>

The dataSet Id for the item.

Required range: 1 <= x <= 9007199254740991
sourceCreatedTime
integer<int64>

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

sourceModifiedTime
integer<int64>

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

securityCategories
integer<int64>[]

The security category IDs required to access this file.

Maximum array length: 100

A server-generated ID for the object.

Required range: 1 <= x <= 9007199254740991
labels
Label · object[]

A list of the labels associated with this resource item.

Maximum array length: 10
geoLocation
object

Geographic metadata.

uploadedTime
integer<int64>

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

instanceId
object
Last modified on April 23, 2026