Search documentation
karat

+

K

User Documentation ↗

Upload File

POST/api/v1/datasets/{datasetRid}/files: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 identifier as branchId. 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 branchId. 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 the Dataset on which to upload the File.

Query parameters

filePath
string

The File's path within the Dataset.

branchId
string
optional

The identifier (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 branchId. 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. Examples: my-file.txt, path/to/my-file.jpg, dataframe.snappy.parquet.

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/v1/datasets/ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da/files:upload?filePath=q3-data%252fmy-file.csv&branchId=master&transactionRid=ri.foundry.main.transaction.0a0207cb-26b7-415b-bc80-66a3aa3933f4" \ -d '@/path/to/file'

Response

Copied!
1 2 3 4 5 6 { "path": "q3-data/my-file.csv", "transactionRid": "ri.foundry.main.transaction.bf9515c2-02d4-4703-8f84-c3b3c190254d", "sizeBytes": "74930", "updatedTime": "2022-10-10T16:44:55.192Z" }