The Files API allows you to upload, list, retrieve, and delete files in your Get Pronto account. All file operations require authentication using your API key.
Request a presigned URL for direct-to-storage upload. This is the first step of the upload flow.
POST /upload/presign| Parameter | Type | Description |
|---|---|---|
| filename | String | Original filename |
| mimetype | String | MIME type of the file |
| size | Number | File size in bytes |
| customFilename | String | Optional. Custom filename for the uploaded file |
| folderName | String | Optional. Folder name to upload into |
curl -X POST https://api.getpronto.io/v1/upload/presign \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename": "image.jpg", "mimetype": "image/jpeg", "size": 1024000}'{
"uploadUrl": "https://s3.us-west-000.backblazeb2.com/...",
"pendingUploadId": "abc123-def456",
"expiresIn": 3600
}Upload the file directly to storage using the presigned URL from step 1.
PUT {uploadUrl from step 1}curl -X PUT "{uploadUrl}" \
-H "Content-Type: image/jpeg" \
--data-binary @/path/to/image.jpgConfirm the upload completed successfully. This verifies the file in storage and creates the file record.
POST /upload/confirm| Parameter | Type | Description |
|---|---|---|
| pendingUploadId | String | The pending upload ID from step 1 |
curl -X POST https://api.getpronto.io/v1/upload/confirm \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pendingUploadId": "abc123-def456"}'{
"message": "File uploaded successfully",
"file": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "image.jpg",
"secureUrl": "https://api.getpronto.io/v1/file/user-123/image.jpg",
"secureThumbnailUrl": "https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000/thumbnail",
"rawUrl": "https://s3.us-west-000.backblazeb2.com/...",
"type": "image",
"rawType": "image/jpeg",
"size": "1.0 MB",
"rawSize": 1024000,
"updated": "Just now",
"rawUpdated": "2026-03-24T12:00:00.000Z",
"folderId": null
}
}Retrieve a paginated list of files in your account.
GET /files| Parameter | Type | Description |
|---|---|---|
| page | Integer | Page number (default: 1) |
| pageSize | Integer | Items per page (default: 20, max: 100) |
curl https://api.getpronto.io/v1/files?page=1&pageSize=20 \
-H "Authorization: ApiKey YOUR_API_KEY"{
"files": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "image.jpg",
"secureUrl": "https://api.getpronto.io/v1/file/user-123/image.jpg",
"secureThumbnailUrl": "https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000/thumbnail",
"rawUrl": "https://s3.us-west-000.backblazeb2.com/...",
"type": "image",
"rawType": "image/jpeg",
"size": "1.0 MB",
"rawSize": 1024000,
"updated": "2 hours ago",
"rawUpdated": "2026-03-24T10:00:00.000Z",
"folderId": null
}
],
"pagination": {
"page": 1,
"pageSize": 20,
"totalCount": 135,
"totalPages": 7
}
}Retrieve metadata for a specific file by its ID.
GET /files/:id| Parameter | Type | Description |
|---|---|---|
| id | String | The unique identifier of the file |
curl https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000 \
-H "Authorization: ApiKey YOUR_API_KEY"{
"file": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "image.jpg",
"secureUrl": "https://api.getpronto.io/v1/file/user-123/image.jpg",
"secureThumbnailUrl": "https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000/thumbnail",
"rawUrl": "https://s3.us-west-000.backblazeb2.com/...",
"type": "image",
"rawType": "image/jpeg",
"size": "1.0 MB",
"rawSize": 1024000,
"updated": "2 hours ago",
"rawUpdated": "2026-03-24T10:00:00.000Z",
"folderId": null
}
}Permanently delete a file from your account.
DELETE /files/:id| Parameter | Type | Description |
|---|---|---|
| id | String | The unique identifier of the file to delete |
curl -X DELETE https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000 \
-H "Authorization: ApiKey YOUR_API_KEY"{
"message": "File deleted successfully"
}The file object contains the following properties:
| Parameter | Type | Description |
|---|---|---|
| id | String | Unique identifier for the file |
| name | String | Original filename |
| secureUrl | String | Authenticated URL for file access via the API |
| secureThumbnailUrl | String | Authenticated URL for thumbnail access |
| rawUrl | String | Direct storage URL for the file |
| type | String | Formatted file type (image, video, json, file) |
| rawType | String | Raw MIME type of the file |
| size | String | Human-readable file size (e.g., '1.5 MB') |
| rawSize | Number | File size in bytes |
| updated | String | Human-readable time since last update (e.g., '2 hours ago') |
| rawUpdated | String | ISO 8601 timestamp of when the file was last updated |
| folderId | String | null | ID of the folder the file belongs to, or null |
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "image.jpg",
"secureUrl": "https://api.getpronto.io/v1/file/user-123/image.jpg",
"secureThumbnailUrl": "https://api.getpronto.io/v1/files/123e4567-e89b-12d3-a456-426614174000/thumbnail",
"rawUrl": "https://s3.us-west-000.backblazeb2.com/...",
"type": "image",
"rawType": "image/jpeg",
"size": "1.0 MB",
"rawSize": 1024000,
"updated": "2 hours ago",
"rawUpdated": "2026-03-24T10:00:00.000Z",
"folderId": null
}Continue exploring our documentation with these related topics: