Search documentation
karat

+

K

User Documentation ↗

Upload File

POST/api/v2/datasets/{datasetRid}/files/{filePath}/upload

Uploads a File to an existing Dataset. The body of the request must contain the binary content of the file and the Content-Type header must be application/octet-stream. By default the file is uploaded to a new transaction on the default branch - master for most enrollments. If the file already exists only the most recent version will be visible in the updated view.

Advanced Usage

See Datasets Core Concepts for details on using branches and transactions. To upload a file to a specific Branch specify the Branch's name as branchName. A new transaction will be created and committed on this branch. By default the TransactionType will be UPDATE, to override this default specify transactionType in addition to branchName. See createBranch to create a custom branch. To upload a file on a manually opened transaction specify the Transaction's resource identifier as transactionRid. This is useful for uploading multiple files in a single transaction. See createTransaction to open a transaction.

Third-party applications using this endpoint via OAuth2 must request the following operation scope: api:datasets-write.

Path parameters

datasetRid
string

The Resource Identifier (RID) of a Dataset.

filePath
string

The path to a File within Foundry.

Query parameters

branchName
string
optional

The name of the Branch on which to upload the File. Defaults to master for most enrollments.

transactionType
string (enum)
optional

The type of the Transaction to create when using branchName. Defaults to UPDATE.

Enum values: APPEND, UPDATE, SNAPSHOT, DELETE

transactionRid
string
optional

The Resource Identifier (RID) of the open Transaction on which to upload the File.

Request body

body
string

Response body

File
object
Hide child attributes

Hide child attributes

path
string

The path to a File within Foundry.

transactionRid
string

The Resource Identifier (RID) of a Transaction.

sizeBytes
string
optional
updatedTime
string

Examples

Request

Copied!
1 2 3 4 5 curl -X POST \ -H "Content-type: application/octet-stream" \ -H "Authorization: Bearer $TOKEN" \ "https://$HOSTNAME/api/v2/datasets/ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da/files/2020/09/30/trades.csv/upload?branchName=master&transactionType=APPEND&transactionRid=ri.foundry.main.transaction.0a0207cb-26b7-415b-bc80-66a3aa3933f4" \ -d '@/path/to/file'

Response

Copied!
1 2 3 4 5 { "path": "2020/09/30/trades.csv", "updatedTime": "2020-09-30T12:34:56.789Z", "transactionRid": "ri.foundry.main.transaction.0a0207cb-26b7-415b-bc80-66a3aa3933f4" }

Error responses

Error Name
BranchNotFoundError CodeNOT_FOUND
Status Code404
DescriptionThe requested branch could not be found, or the client token does not have access to it.
ParametersdatasetRid, branchName
DatasetNotFoundError CodeNOT_FOUND
Status Code404
DescriptionThe requested dataset could not be found, or the client token does not have access to it.
ParametersdatasetRid
OpenTransactionAlreadyExistsError CodeCONFLICT
Status Code404
DescriptionA transaction is already open on this dataset and branch. A branch of a dataset can only have one open transaction at a time.
ParametersdatasetRid, branchName
FileAlreadyExistsError CodeNOT_FOUND
Status Code404
DescriptionThe given file path already exists in the dataset and transaction.
ParametersdatasetRid, transactionRid, path
UploadFilePermissionDeniedError CodePERMISSION_DENIED
Status Code403
DescriptionCould not upload the File.
ParametersdatasetRid, filePath