Space

Files

Upload, download, organise and share files. Uploads are resumable, so a large file survives a dropped connection.

Method Endpoint Permission
DELETE Abort an upload
/v1/files/uploads/:session Cancels a resumable upload and releases its storage.
files.write
POST Complete an upload
/v1/files/uploads/:session/complete Finalises the file after every part has landed.
files.write
POST Create a folder
/v1/file-folders Makes a folder, optionally inside another.
files.write
POST Start an upload
/v1/files/uploads Opens a resumable upload session and returns the part size to use.
files.write
DELETE Delete a file
/v1/files/:id Moves a file to trash.
files.write docs.documents.write
DELETE Delete a folder
/v1/file-folders/:id Moves a folder to the trash. There is no permanent delete.
files.write
GET Download a file
/v1/files/:id/content Streams the file. Proxied, so the documented size cap applies.
files.read
GET Get file metadata
/v1/files/:id Returns a file's name, size, content type and location.
files.read docs.documents.read
GET Get upload status
/v1/files/uploads/:session Reports which parts have landed, so a resumed upload sends only what is missing. A read, so it needs files.read rather than files.write.
files.read
GET List files
/v1/files Lists files with cursor pagination, filterable by folder and content type.
files.read docs.documents.read
GET List folders
/v1/file-folders Lists the drive's folders, or its trash with ?trashed=true. Named file-folders because /v1/folders is mail's.
files.read
GET List file permissions
/v1/files/:id/permissions Lists who has access to a file and at what level.
files.read
POST Share a file
/v1/files/:id/permissions Grants another person access. Requires files.share, which is separate from files.write.
files.share
DELETE Revoke file access
/v1/files/:id/permissions/:pid Removes someone's access to a file.
files.share
PATCH Rename or move a file
/v1/files/:id Changes a file's name or folder.
files.write docs.documents.write
PATCH Rename or move a folder
/v1/file-folders/:id Renames a folder, reparents it, or both in that order.
files.write
PUT Upload a part
/v1/files/uploads/:session/parts/:n Sends one part of a resumable upload. Parts are idempotent, so a failed part is simply re-sent.
files.write