Deepnote research: our notes on building agents
Get started
All endpoint groups

Deepnote Public API v2

Files API

Project files and folders.

Base URL

https://api.deepnote.com/v2

Create a file

Creates a file at the requested project path from a multipart upload or a JSON body. When that path already exists, a unique path is generated unless `overwrite` is set. Use multipart for large files.

post/files

Request body

required
multipart/form-dataCreateFileMultipartBody
projectIdrequiredstring:uuid

Project to create the file in.

pathrequiredstring

Requested destination path within the project. If it already exists and `overwrite` is not set, a unique path is generated.

overwrite"true" | "false"

Replace the file at `path` if it already exists instead of generating a unique path.

filerequiredstring:binary

File content to upload.

application/jsonCreateFileJsonBody
projectIdrequiredstring:uuid

Project to create the file in.

pathrequiredstring

Requested destination path within the project. If it already exists and `overwrite` is not set, a unique path is generated.

contentrequiredstring

File content encoded as UTF-8 text or base64.

encoding"utf8" | "base64"
overwriteboolean

Replace the file at `path` if it already exists instead of generating a unique path.

Responses

▸201File created
application/jsonCreateFileResponse
filerequiredCreatedFile
▸400Validation error
application/jsonErrorResponse
messagerequiredstring
▸401Unauthorized
application/jsonErrorResponse
messagerequiredstring
▸403Insufficient permissions
application/jsonErrorResponse
messagerequiredstring
▸404Project not found
application/jsonErrorResponse
messagerequiredstring
▸409Project is suspended, or `overwrite` is set and the path is a directory
application/jsonErrorResponse
messagerequiredstring
▸413File too large
application/jsonErrorResponse
messagerequiredstring
▸429Rate limit exceeded
application/jsonErrorResponse
messagerequiredstring

Delete a file

delete/files

Parameters

projectIdqueryrequiredstring:uuid

Project that contains the file.

pathqueryrequiredstring

File path within the project.

Responses

▸204File deleted
▸400Validation error
application/jsonErrorResponse
messagerequiredstring
▸401Unauthorized
application/jsonErrorResponse
messagerequiredstring
▸403Insufficient permissions
application/jsonErrorResponse
messagerequiredstring
▸404File not found
application/jsonErrorResponse
messagerequiredstring
▸409Project is suspended
application/jsonErrorResponse
messagerequiredstring
▸429Rate limit exceeded
application/jsonErrorResponse
messagerequiredstring

Copy a file between projects

Copies a source file into another project, using the source file path as the target path.

post/files/copy

Request body

required
application/jsonCopyFileBody
sourceProjectIdrequiredstring:uuid

Project that contains the source file.

targetProjectIdrequiredstring:uuid

Project to copy the file into.

sourceFilePathrequiredstring

File path within the source project. The same normalized path is used in the target project.

Responses

▸201File copied
application/jsonCopyFileResponse
filerequiredFileReference
▸400Validation error
application/jsonErrorResponse
messagerequiredstring
▸401Unauthorized
application/jsonErrorResponse
messagerequiredstring
▸403Insufficient permissions
application/jsonErrorResponse
messagerequiredstring
▸404Project or file not found
application/jsonErrorResponse
messagerequiredstring
▸409Project is suspended or target file already exists in the destination project
application/jsonErrorResponse
messagerequiredstring
▸429Rate limit exceeded
application/jsonErrorResponse
messagerequiredstring

Download a file

Streams the raw content of a file from the project filesystem.

get/files/download

Parameters

projectIdqueryrequiredstring:uuid

Project that contains the file.

pathqueryrequiredstring

File path within the project.

Responses

▸200Raw file content
application/octet-streamstring:binary
▸400Validation error or path is not a file
application/jsonErrorResponse
messagerequiredstring
▸401Unauthorized
application/jsonErrorResponse
messagerequiredstring
▸403Insufficient permissions
application/jsonErrorResponse
messagerequiredstring
▸404File not found
application/jsonErrorResponse
messagerequiredstring
▸409Project is suspended
application/jsonErrorResponse
messagerequiredstring
▸429Rate limit exceeded
application/jsonErrorResponse
messagerequiredstring
▸500Internal server error
application/jsonErrorResponse
messagerequiredstring