**Source URL:** https://general.veevavault.dev/safety/vault-api/api-reference/20.2/documents/update-documents/create-single-document-version.md

# Create Single Document Version



<Aside>If you need to create more than one document version, it is best practice to use the [bulk API](/vault-api/api-reference/20.2/documents/update-documents/create-multiple-document-versions).

</Aside>
Add a new draft version of an existing document. You can choose to either use the existing source file, or a new source file. These actions will increase the document’s minor version number. This is analogous to using the **Create Draft** action in the UI.

Note that not all documents are eligible for draft creation. For example, you cannot create a draft of a checked out document. Learn more in [Vault Help](https://platform.veevavault.help/en/gr/1560).

<Endpoint path="/api/{version}/objects/documents/{doc_id}" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `multipart/form-data` |
| `Accept` | `application/json` (default) or `application/xml` |
| X-VaultAPI-MigrationMode | When set to true, Vault applies Document Migration Mode limitations to documents created with the request. You must have the Document Migration permission to use this header. When used with the status__v parameter, allows you to create documents in a state other than Starting State. Learn more about [Document Migration Mode in Vault Help](https://platform.veevavault.help/en/gr/54028). |
</FieldTable>

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

<FieldTable>
| Name | Description |
| --- | --- |
| `{doc_id}` | The document `id` field value. |
</FieldTable>

## Body Parameters {#body-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `createDraft=latestContent` | Create a new draft version from the existing document in the Vault. This does not require uploading a file. This is analogous to the **Copy file from current version** option in the *Create Draft* UI. |
| `createDraft=uploadedContent` | Create a new draft version by uploading the document source file. This requires uploading a new source file with an additional `file` body parameter. The maximum allowed file size is 4GB. This is analogous to the **Upload a new file** option in the *Create Draft* UI. |
| `file` | Optional: If `createDraft=uploadedContent`, use this parameter to include the new document source file.If your target document is a placeholder, use this parameter to upload a source file and create a new draft version of the document. |
| `description__v` | Optional: Add a *Version Description* for the new draft version. Other users may view this description in the document’s *Version History*. Maximum 1,500 characters. |
</FieldTable>

## Query Parameters {#query-parameters}

## Request : Copy file from current version {#request--copy-file-from-current-version}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: multipart/form-data" \
-F "createDraft=latestContent" \
https://myvault.veevavault.com/api/v15.0/objects/documents/534

```
</CodeExample>

## Request : Upload a new file & Suppress rendition {#request--upload-a-new-file--suppress-rendition}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: multipart/form-data" \
-F "file=CholeCap-Presentation.pptx" \
-F "createDraft=uploadedContent" \
https://myvault.veevavault.com/api/v15.0/objects/documents/534?suppressRendition=true

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
  "responseStatus": "SUCCESS",
  "responseMessage": "New draft successfully created.",
  "major_version_number__v": 0,
  "minor_version_number__v": 2
}

```
</CodeExample>

---

**Previous:** [Create Multiple Document Versions](/safety/vault-api/api-reference/20.2/documents/update-documents/create-multiple-document-versions)  
**Next:** [Delete Documents](/safety/vault-api/api-reference/20.2/documents/delete-documents)