**Source URL:** https://limited.veevavault.dev/safety/vault-api/api-reference/22.3/file-staging/resumable-upload-sessions/commit-upload-session.md

# Commit Upload Session



Mark an upload session as complete and assemble all previously uploaded parts to create a file.

<Endpoint path="/api/{version}/services/file_staging/upload/{upload_session_id}" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Accept` | `application/json` (default) or `application/xml` |
| `Content-Type` | `application/json`(default) |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `upload_session_id` | The upload session ID. |
</FieldTable>

## Request {#request}

<CodeExample title="">
```
curl -L -X POST -H "Authorization: {SESSION_ID}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
https://myvault.veevavault.com/api/v20.3/services/file_staging/upload/.lqX6rv1jbu5vABJoy5XoSZmQXTTJV_jwxO.kFuS.qISxQJDiFm0s_kfb8oRS9DBDGg--

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "data": {
       "job_id": 100954
   }
}

```
</CodeExample>

## Response Details {#response-details}

On SUCCESS, Vault returns the `job_id` for the commit. Use the [Job Status](/vault-api/api-reference/22.3/jobs/retrieve-job-status) API to retrieve the job results. Upon successful completion of the job, the file will be available on the staging server.



---

**Previous:** [Upload to a Session](/safety/vault-api/api-reference/22.3/file-staging/resumable-upload-sessions/upload-to-a-session)  
**Next:** [List Upload Sessions](/safety/vault-api/api-reference/22.3/file-staging/resumable-upload-sessions/list-upload-sessions)