Uploads
Request Multipart Upload Part
Request a presigned URL for a specific part of a multipart upload
This endpoint is only needed for multipart uploads, including any files larger than 5GB. Requires builds:create scope.
Each request requires the pending_upload_id returned from the initial upload request, the part_number, and the content_length of the chunk in bytes.
POST
/upload/request/multipartAuthorization
bearerAuth AuthorizationBearer <token>
API key. Bearer authentication header of the form Bearer <token>, where <token> is your Workspace or Application API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.comupload/request/multipart" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d @- <<'EOF'{ "pending_upload_id": "550e8400-e29b-41d4-a716-446655440000", "part_number": 1, "content_length": 8388608}EOF{ "message": "Generated pre-signed URL for part 1.", "part_presigned_url": "https://buildstash.s3.amazonaws.com/aBc1234/xYz9876/example.exe?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE%2F20250615%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250615T143000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=abc123", "part_number": 1}Empty
{ "message": "Unauthorized"}Notes
- Part numbers must be sequential starting from 1
- Each part must be uploaded exactly once
- The
content_lengthfield is required and must match the size of the chunk you intend to upload - The ETag from each upload must be saved for the final verification step
- Parts can be uploaded in parallel for better performance
- If a part upload fails, you can retry uploading to the same presigned URL