Files
Request presigned upload URLs
Request presigned S3 URLs for direct file uploads.
Supported File Types:
- Documents: PDF, DOC, DOCX, CSV, TXT, XLS, XLSX
- Images: PNG, JPG, JPEG, JPE, JFIF, JIF, GIF, WebP, BMP, TIFF, TIF, SVG, ICO, HEIC, HEIF, AVIF, APNG
- Max file size: 1GB per file
- Max files per request: 100 files
Upload Process:
- Call this endpoint with file metadata
- Use the returned uploadUrl with a PUT request to upload each file
- Include the Content-Type header matching the declared contentType
- File size must exactly match the declared sizeBytes
Example upload:
curl -X PUT "<uploadUrl>" \
-H "Content-Type: application/pdf" \
--data-binary "@floor_plan.pdf"
post/v1/files/upload-urls
Request
- Base URL: https://api.handoff.ai
- URL: https://api.handoff.ai/v1/files/upload-urls
- Auth: HTTP bearer
Request body
Example request
{
"files": [
{
"filename": "floor_plan.pdf",
"contentType": "application/pdf",
"sizeBytes": 1048576
}
],
"expirationMinutes": 5
}Response
Upload URLs generated successfully
Example response
{
"uploadUrls": [
{
"fileId": "550e8400-e29b-41d4-a716-446655440000",
"filename": "floor_plan.pdf",
"uploadUrl": "https://bucket.s3.amazonaws.com/enterprise/...",
"expiresAt": "2024-01-15T10:30:00.000Z",
"uploadMethod": "PUT"
}
],
"expiresInSeconds": 300
}Changes
No recorded changes to this operation across all 1 revision of this API.