Skip to main content
DELETE
/
files
/
{file_id}
Delete File
curl --request DELETE \
  --url https://api.example.com/files/{file_id}
{
  "success": false,
  "error": {
    "code": "not_found",
    "message": "File not found or already deleted"
  }
}

Overview

Permanently delete a file from your Hubsy Cloud storage. This action cannot be undone.

Path Parameters

file_id
string
required
The unique identifier of the file to delete

Example Request

curl -X DELETE https://api.hubsy.cloud/v1/files/file_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

success
boolean
Indicates if the deletion was successful
data
object
Information about the deleted file

Example Response

{
  "success": true,
  "data": {
    "id": "file_abc123",
    "name": "document.pdf",
    "deleted_at": "2024-01-15T16:45:00Z",
    "recoverable_until": "2024-02-14T16:45:00Z"
  }
}

Error Responses

{
  "success": false,
  "error": {
    "code": "not_found",
    "message": "File not found or already deleted"
  }
}

Important Notes

Deleted files are moved to trash for 30 days:
  • Files remain recoverable for 30 days
  • After 30 days, files are permanently deleted
  • Use the restore endpoint to recover files
  • Storage space is freed only after permanent deletion
To permanently delete immediately:
  • Use the permanent=true query parameter
  • This bypasses the trash
  • Action cannot be undone
  • Requires elevated API key permissions

Permanent Deletion

To permanently delete a file immediately (bypass trash):
curl -X DELETE "https://api.hubsy.cloud/v1/files/file_abc123?permanent=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
Permanent deletion cannot be undone. Files are immediately and irreversibly removed.

Bulk Delete

Delete multiple files at once:
curl -X POST https://api.hubsy.cloud/v1/files/bulk-delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file_ids": ["file_abc123", "file_def456", "file_ghi789"]
  }'

Bulk Delete Response

{
  "success": true,
  "data": {
    "deleted": ["file_abc123", "file_def456", "file_ghi789"],
    "failed": [],
    "total": 3,
    "deleted_count": 3,
    "failed_count": 0
  }
}

Restore Deleted File

Restore a file from trash:
curl -X POST https://api.hubsy.cloud/v1/files/file_abc123/restore \
  -H "Authorization: Bearer YOUR_API_KEY"

Restore Response

{
  "success": true,
  "data": {
    "id": "file_abc123",
    "name": "document.pdf",
    "restored_at": "2024-01-16T10:00:00Z",
    "folder_id": "folder_123"
  }
}

List Trash

GET /trash - View deleted files

Empty Trash

DELETE /trash - Permanently delete all trashed files

Restore File

POST /files/{file_id}/restore - Restore from trash

Bulk Delete

POST /files/bulk-delete - Delete multiple files

Best Practices

Always confirm with users:
  • Show file name and details
  • Explain trash/recovery period
  • Provide undo option
  • Log deletion for audit trail
Handle common scenarios:
  • File already deleted
  • Permission errors
  • Invalid file ID
  • Network timeouts
For multiple file deletions:
  • Use bulk delete endpoint
  • Handle partial failures
  • Show progress to users
  • Provide summary of results