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 |