curl -X POST https://app.drime.cloud/api/v1/uploads \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/document.pdf" \
-F "parentId=" \
-F "workspaceId=0"
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('parentId', ''); // null for root
formData.append('workspaceId', '0');
const response = await fetch('https://app.drime.cloud/api/v1/uploads', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
},
body: formData
});
const { fileEntry } = await response.json();
console.log(`Uploaded: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
with open('document.pdf', 'rb') as f:
response = requests.post(
'https://app.drime.cloud/api/v1/uploads',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
files={'file': f},
data={
'parentId': '',
'workspaceId': 0
}
)
file_entry = response.json()['fileEntry']
print(f"Uploaded: {file_entry['name']} (ID: {file_entry['id']})")
{
"status": "success",
"fileEntry": {
"id": 123456,
"name": "document.pdf",
"type": "pdf",
"mime": "application/pdf",
"file_size": 1048576,
"hash": "MTIzNDU2fA",
"parent_id": null,
"workspace_id": 0,
"created_at": "2024-01-20T10:00:00.000000Z"
}
}
{
"status": "error",
"message": "The given data was invalid.",
"errors": {
"file": "The file field is required."
}
}
Uploads
Upload File
Upload a file directly to Drime Cloud
POST
/
uploads
curl -X POST https://app.drime.cloud/api/v1/uploads \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/document.pdf" \
-F "parentId=" \
-F "workspaceId=0"
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('parentId', ''); // null for root
formData.append('workspaceId', '0');
const response = await fetch('https://app.drime.cloud/api/v1/uploads', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
},
body: formData
});
const { fileEntry } = await response.json();
console.log(`Uploaded: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
with open('document.pdf', 'rb') as f:
response = requests.post(
'https://app.drime.cloud/api/v1/uploads',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
files={'file': f},
data={
'parentId': '',
'workspaceId': 0
}
)
file_entry = response.json()['fileEntry']
print(f"Uploaded: {file_entry['name']} (ID: {file_entry['id']})")
{
"status": "success",
"fileEntry": {
"id": 123456,
"name": "document.pdf",
"type": "pdf",
"mime": "application/pdf",
"file_size": 1048576,
"hash": "MTIzNDU2fA",
"parent_id": null,
"workspace_id": 0,
"created_at": "2024-01-20T10:00:00.000000Z"
}
}
{
"status": "error",
"message": "The given data was invalid.",
"errors": {
"file": "The file field is required."
}
}
Overview
Uploads a file directly to Drime Cloud using multipart form data. This is the simplest upload method but recommended only for smaller files.For files larger than 5MB, consider using the presigned URL or multipart upload flow for better reliability.
Request Body (multipart/form-data)
file
required
The file to upload
integer
ID of the destination folder. Use
null for root.integer
Workspace ID. Use
0 for personal workspace.string
Optional folder path. Folders will be auto-created if they don’t exist.
Format:
/some/folders/here/file-name.jpginteger
Original modification time of the file as a Unix epoch in milliseconds.
Stored in the entry’s
client_last_modified field so the original mtime is preserved
(like a sync client would). Can also be set later via
Set File Metadata.string
SHA-256 hex digest of the file content. Stored in the entry’s
file_hash field and
used for deduplication via Check File Hash.Response
object
The created file entry object
string
Request status (
success)curl -X POST https://app.drime.cloud/api/v1/uploads \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/document.pdf" \
-F "parentId=" \
-F "workspaceId=0"
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('parentId', ''); // null for root
formData.append('workspaceId', '0');
const response = await fetch('https://app.drime.cloud/api/v1/uploads', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
},
body: formData
});
const { fileEntry } = await response.json();
console.log(`Uploaded: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
with open('document.pdf', 'rb') as f:
response = requests.post(
'https://app.drime.cloud/api/v1/uploads',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
files={'file': f},
data={
'parentId': '',
'workspaceId': 0
}
)
file_entry = response.json()['fileEntry']
print(f"Uploaded: {file_entry['name']} (ID: {file_entry['id']})")
{
"status": "success",
"fileEntry": {
"id": 123456,
"name": "document.pdf",
"type": "pdf",
"mime": "application/pdf",
"file_size": 1048576,
"hash": "MTIzNDU2fA",
"parent_id": null,
"workspace_id": 0,
"created_at": "2024-01-20T10:00:00.000000Z"
}
}
{
"status": "error",
"message": "The given data was invalid.",
"errors": {
"file": "The file field is required."
}
}