POST Multipart Upload
Overview
The following table contains important information about the POST method in regards to start multipart upload.
| POST Method | |
|---|---|
| Method | POST |
| URL or Endpoint | /api/projects/projectId/uploads/multipart |
| Headers | Authorization |
| Parameters | projectId |
| Body | Check the request body below. |
The description of the URL parameter is as follows:
| projectId Parameter | |
|---|---|
| URL Parameter Name | projectId |
| Mandatory | Yes |
| Type | string |
| Description | Unique Id of the project. |
Request Body
{
"partsNumber": 0,
"fileName": "{fileName}",
"contentLength": "{contentLength}",
"mimeType": "{mimeType}",
"enableDuplicateCheck": false,
"fileHash": "{fileHash}"
}
The description of the parameters is as follows:
| Body Parameter Name | Mandatory | Type | Description |
|---|---|---|---|
| partsNumber | Yes | integer | The total number of parts the file is divided into. |
| fileName | Yes | string | The name of the file being uploaded. |
| contentLength | No | string | The total size of the file in bytes. |
| mimeType | No | string | The MIME type of the file (e.g., "video/mp4"). |
| enableDuplicateCheck | No | boolean | Determines whether duplicate upload should be disallowed. |
| fileHash | No | string | The hash of the file to be uploaded. Required if enableDuplicateCheck is true. |
If the enableDuplicateCheck field is set to true and fileHash is provided, the system will check for existing files with the same file hash and prevent them from being uploaded again. If set to false or omitted, duplicates will be allowed.
Important: This field should be enabled for both the initial upload and any subsequent uploads. If not enabled initially, the system will not perform the duplicate check, and duplicates will be allowed, even if the file hash is the same.
Response
{
"success": true,
"errors": [],
"messages": [],
"result": {
"uploadId": "{uploadId}",
"requestKey": "{requestKey}",
"presignedUrl": [
{
"partNumber": 0,
"presignedUrl": "{presignedUrl}"
}
],
"uploadFileDetailsId": 0
},
"resultInfo": null,
"statusCode": 200
}
Information about the fields that appear when you receive the response are displayed in the table below.
| Field Name | Type | Description |
|---|---|---|
| success | bool | If the response is successful it will return true. Otherwise, it will return false. |
| errors | array[string] | Indicates if there was an error. |
| messages | array[string] | Returns the response message from the back-end. |
| result | object | Returns the main response object containing upload details. |
| uploadId | string | Unique identifier for the upload session. |
| requestKey | string | A unique key associated with the request. |
| presignedUrl | array[object] | Array of objects, each containing a part number and the corresponding presigned URL for uploading. |
| partNumber | integer | The part number for each segment of the upload. |
| presignedUrl | string | The presigned URL to upload a specific part of the file. |
| uploadFileDetailsId | integer($int32) | The ID of upload file details. |
| resultInfo | string | Returns extra information about the result, if any. |
| statusCode | integer($int32) | Returns the HTTP Status Code. |
If the action is successful, the service sends back an HTTP 200 or 201 response.
Errors
For information about the errors that are common to all actions, see Common Errors:
HTTP Status Code 400: Bad Request
HTTP Status Code 401: Unauthorized
HTTP Status Code 403: Forbidden
HTTP Status Code 404: Result Not Found
HTTP Status Code 409: Conflict
{
"success": true,
"errors": [],
"messages": [],
"result": {
"uploadFileDetailsId": "{uploadFileDetailsId}",
"requestKey": "{requestKey}"
},
"resultInfo": null,
"statusCode": 409,
}
HTTP Status Code 500: Internal Server Error
HTTP Status Code 503: Backend Fetch Failed