curl -X POST https://app.drime.cloud/api/v1/s3/entries \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filename": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"size": 87965,
"clientName": "document.pdf",
"clientMime": "application/pdf",
"clientExtension": "pdf",
"workspaceId": 0,
"parentId": null
}'
// After uploading to S3...
const key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6';
const uuid = key.split('/').pop(); // Extract UUID
const response = await fetch('https://app.drime.cloud/api/v1/s3/entries', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filename: uuid,
size: file.size,
clientName: file.name,
clientMime: file.type,
clientExtension: file.name.split('.').pop(),
workspaceId: 0,
parentId: null
})
});
const { fileEntry } = await response.json();
console.log(`File registered: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
# After uploading to S3...
key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6'
uuid = key.split('/')[-1]
response = requests.post(
'https://app.drime.cloud/api/v1/s3/entries',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
json={
'filename': uuid,
'size': 87965,
'clientName': 'document.pdf',
'clientMime': 'application/pdf',
'clientExtension': 'pdf',
'workspaceId': 0,
'parentId': None
}
)
file_entry = response.json()['fileEntry']
print(f"File registered: {file_entry['name']} (ID: {file_entry['id']})")
{
"fileEntry": {
"name": "document.pdf",
"file_name": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"mime": "application/pdf",
"file_size": 87965,
"type": "pdf",
"extension": "pdf",
"workspace_id": 0,
"owner_id": 15843,
"id": 488163222,
"hash": "NDg4MTYzMjIyfA",
"path": "488163222",
"url": "api/v1/file-entries/488163222",
"created_at": "2025-12-22T13:45:07.000000Z",
"updated_at": "2025-12-22T13:45:07.000000Z"
},
"status": "success"
}
Uploads
Create S3 Entry
Register a file in Drime after S3 upload
POST
/
s3
/
entries
curl -X POST https://app.drime.cloud/api/v1/s3/entries \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filename": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"size": 87965,
"clientName": "document.pdf",
"clientMime": "application/pdf",
"clientExtension": "pdf",
"workspaceId": 0,
"parentId": null
}'
// After uploading to S3...
const key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6';
const uuid = key.split('/').pop(); // Extract UUID
const response = await fetch('https://app.drime.cloud/api/v1/s3/entries', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filename: uuid,
size: file.size,
clientName: file.name,
clientMime: file.type,
clientExtension: file.name.split('.').pop(),
workspaceId: 0,
parentId: null
})
});
const { fileEntry } = await response.json();
console.log(`File registered: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
# After uploading to S3...
key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6'
uuid = key.split('/')[-1]
response = requests.post(
'https://app.drime.cloud/api/v1/s3/entries',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
json={
'filename': uuid,
'size': 87965,
'clientName': 'document.pdf',
'clientMime': 'application/pdf',
'clientExtension': 'pdf',
'workspaceId': 0,
'parentId': None
}
)
file_entry = response.json()['fileEntry']
print(f"File registered: {file_entry['name']} (ID: {file_entry['id']})")
{
"fileEntry": {
"name": "document.pdf",
"file_name": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"mime": "application/pdf",
"file_size": 87965,
"type": "pdf",
"extension": "pdf",
"workspace_id": 0,
"owner_id": 15843,
"id": 488163222,
"hash": "NDg4MTYzMjIyfA",
"path": "488163222",
"url": "api/v1/file-entries/488163222",
"created_at": "2025-12-22T13:45:07.000000Z",
"updated_at": "2025-12-22T13:45:07.000000Z"
},
"status": "success"
}
Overview
Creates a file entry in the Drime database after successfully uploading a file to S3/R2. This is the final step in both simple and multipart upload flows.Request Body
string
required
The UUID filename from the S3 key (last segment)
integer
required
File size in bytes
string
required
Original filename to display to users
string
MIME type of the file
string
File extension without dot
integer
Workspace ID. Use
0 for personal workspace.integer
Parent folder ID. Use
null for root.string
Folder path for auto-creation (overrides parentId)
Response
object
The created file entry object
string
Request status (
success)curl -X POST https://app.drime.cloud/api/v1/s3/entries \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filename": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"size": 87965,
"clientName": "document.pdf",
"clientMime": "application/pdf",
"clientExtension": "pdf",
"workspaceId": 0,
"parentId": null
}'
// After uploading to S3...
const key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6';
const uuid = key.split('/').pop(); // Extract UUID
const response = await fetch('https://app.drime.cloud/api/v1/s3/entries', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filename: uuid,
size: file.size,
clientName: file.name,
clientMime: file.type,
clientExtension: file.name.split('.').pop(),
workspaceId: 0,
parentId: null
})
});
const { fileEntry } = await response.json();
console.log(`File registered: ${fileEntry.name} (ID: ${fileEntry.id})`);
import requests
# After uploading to S3...
key = 'uploads/71ea55f2-1ba7-46ad-98b7-db487ecac2f6/71ea55f2-1ba7-46ad-98b7-db487ecac2f6'
uuid = key.split('/')[-1]
response = requests.post(
'https://app.drime.cloud/api/v1/s3/entries',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'},
json={
'filename': uuid,
'size': 87965,
'clientName': 'document.pdf',
'clientMime': 'application/pdf',
'clientExtension': 'pdf',
'workspaceId': 0,
'parentId': None
}
)
file_entry = response.json()['fileEntry']
print(f"File registered: {file_entry['name']} (ID: {file_entry['id']})")
{
"fileEntry": {
"name": "document.pdf",
"file_name": "71ea55f2-1ba7-46ad-98b7-db487ecac2f6",
"mime": "application/pdf",
"file_size": 87965,
"type": "pdf",
"extension": "pdf",
"workspace_id": 0,
"owner_id": 15843,
"id": 488163222,
"hash": "NDg4MTYzMjIyfA",
"path": "488163222",
"url": "api/v1/file-entries/488163222",
"created_at": "2025-12-22T13:45:07.000000Z",
"updated_at": "2025-12-22T13:45:07.000000Z"
},
"status": "success"
}
If you provide
relativePath, folders will be automatically created and the file placed in the correct location.⌘I

