Class DocumentRequest
- CRUD operations (single and bulk)
- Create from Template
- Placeholders
- Versions
- Locks
- Reclassify
- Document Meta-Data
- Document Types
Many documents requests, including single document requests, leverage the Document
model
for inbound/outbound API calls. This includes setters/getters for standard Vault fields and
a setter/getter for custom fields. Example:
Document doc = new Document(); doc.setName("VAPIL Single Document"); doc.setLifecycle("General Lifecycle"); doc.setType("General"); doc.setTitle("Test Upload VAPIL"); doc.setProperty("custom_field__c", "value"); DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(filePath) .createSingleDocument(doc);
Bulk endpoints should be used for multiple document transactions. Example with input CSV file:
DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(csvFilePath) .createMultipleDocuments();
- Vault API Coverage:
- https://developer.veevavault.com/api/25.1/#documents
The following endpoints are covered in other classes for ease of use
- Document Annotations -
DocumentAnnotationRequest
- Document Attachments -
DocumentAttachmentRequest
- Document Events -
DocumentEventRequest
- Document Relationships -
DocumentRelationshipRequest
- Document Roles -
DocumentRoleRequest
- Document Renditions -
DocumentRenditionRequest
- Document Templates -
DocumentTemplateRequest
- Document Annotations -
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Create document from latestcontent or uploadedcontentstatic enum
Crosslink binding rules enum for doc field picklist source_binding_rule__vstatic enum
Download option for Document Tokenstatic enum
Retrieve all document named filterstatic enum
Retrieve all document scopestatic enum
Retrieve all document versions scope -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
X-VaultAPI-MigrationMode When set to true, Vault applies Document Migration Mode limitations only to documents created with the request.static final String
If you’re identifying documents in your input by a unique field, add idParam={fieldname} to the request endpoint.Fields inherited from class com.veeva.vault.vapil.api.request.VaultRequest
HTTP_HEADER_AUTHORIZATION, HTTP_HEADER_REFERENCE_ID, HTTP_HEADER_VAULT_CLIENT_ID, referenceId, requestClientId, vaultClient
-
Method Summary
Modifier and TypeMethodDescriptionCreate Content Placeholder DocumentscreateCrossLinkDocument
(Document doc, int source_vault_id__v, int source_document_id__v) Create Crosslink DocumentcreateDocumentFromTemplate
(Document doc, String fromTemplate) Create Documents from TemplatescreateDocumentLock
(int docId) Create Document LockCreate Multiple DocumentsCreate Multiple Document VersionsCreate Single DocumentcreateSingleDocumentVersion
(int docId) Create Single Document VersionCreate Unclassified DocumentsdeleteDocumentLock
(int docId) Deleting Document LockDelete Multiple DocumentsDelete Multiple Document VersionsdeleteSingleDocument
(int docid) Delete Single DocumentdeleteSingleDocumentVersion
(int docId, int majorVersion, int minorVersion) Delete Single Document VersiondocumentTokens
(List<Integer> docIds) Document TokensdownloadDocumentFile
(int docId) Download Document FiledownloadDocumentVersionFile
(int docId, int majorVersion, int minorVersion) Download Document Version FiledownloadDocumentVersionThumbnailFile
(int docId, int majorVersion, int minorVersion) Download Document Version Thumbnail FileexportDocuments
(boolean includeSource, boolean includeRenditions, boolean includeAllVersions) Export DocumentsexportDocumentVersions
(boolean includeSource, boolean includeRenditions) Export Document VersionsReclassify Multiple DocumentsReclassify DocumentRetrieve All Document FieldsRetrieve All DocumentsRetrieve All Document TypesretrieveCommonDocumentFields
(Set<Integer> docIds) Retrieve Common Document FieldsRetrieve Deleted Document IDsretrieveDeletedDocumentIdsByPage
(String pageUrl) Retrieve Deleted Document IDs (By Page)retrieveDocument
(int docId) Retrieve DocumentretrieveDocumentClassification
(String type, String subType, String classification) Retrieve Document ClassificationretrieveDocumentExportResults
(int jobId) Retrieve Document Export ResultsretrieveDocumentLock
(int docId) Retrieve Document LockRetrieve Document Lock MetadataretrieveDocumentSubtype
(String type, String subType) Retrieve Document SubtyperetrieveDocumentType
(String type) Retrieve Document TyperetrieveDocumentVersion
(int docId, int majorVersion, int minorVersion) Retrieve Document VersionretrieveDocumentVersions
(int docId) Retrieve Document VersionssetBinaryFile
(String filename, byte[] binaryContent) Specify source data in an input filesetBoundSourceMajorVersion
(Integer boundSourceMajorVersion) Specify the Cross-Link Bound Source Major VersionsetBoundSourceMinorVersion
(Integer boundSourceMinorVersion) Specify the Cross-Link Bound Source Minor VersionsetChannel
(String channel) Include the channel request parameter set to the website object record id value that corresponds to the distribution channel where the document is being made available.Set the Header Content Type to CSVSet the Header Content Type to JSONsetCreateDraft
(DocumentRequest.CreateDraftType createDraft) Set the createDraft type.setDescription
(String description) Specify descriptionsetDownloadOption
(DocumentRequest.DownloadOption downloadOption) Include the downloadOption request parameter set to PDF, source, both, or none.setEndData
(String endDate) Set the end date, used to set end date Retrieve Deleted Document IDs APIsetExpiryDateOffset
(Integer expiryDateOffset) Specify number of days after which the tokens will expire and the documents will no longer be available in the viewer.setIdParam
(String idParam) Specify an UPSERT operation via the idParamsetInputPath
(String inputPath) Specify source data in an input fileSet the limit of documents returned by retrieve all documentssetLockDocument
(Boolean lockDocument) Specify to check out the document before retrievalsetMigrationMode
(boolean migrationMode) Enable migration mode to create multiple document versions in bulk and perform manual assignment of documents numbers.Set the offset, used to paginate Retrieve Deleted Document IDs APIsetOutputPath
(String outputPath) Specify source data in an output filesetRequestString
(String requestString) Specify source data in an input string, such as a JSON requestsetScopeFilter
(DocumentRequest.NamedFilter namedFilter) Set named filter of documents returned by retrieve all documentsSet scope of documents returned by retrieve all documentssetSearchKeyword
(String keyword) Search keyword for documents returned by retrieve all documentsSort for documents returned by retrieve all documentssetSourceBindingRule
(DocumentRequest.CrosslinkBinding sourceBindingRule) Specify the Cross-Link Source Binding RuleSet the starting position of documents returned by retrieve all documentssetStartData
(String startDate) Set the start date, used to set start date for Retrieve Deleted Document IDs APIsetSteadyState
(Boolean steadyState) Document Tokens: If set to true, Vault generates a token for the latest steady state version of a document.setSuppressRendition
(Boolean suppressRendition) Specify whether to suppress renditionsetTokenGroup
(String tokenGroup) This only required if you want to group together generated tokens for multiple documents in order to display the documents being referenced in the same viewer.setVersionScope
(DocumentRequest.VersionsScope versionsScope) Set all versions or latest version of documents returned by retrieve all documentsUndo Collaborative Authoring CheckoutupdateDocumentVersion
(Document doc, int majorVersion, int minorVersion) Update Document VersionUpdate Multiple DocumentsUpdate Single DocumentMethods inherited from class com.veeva.vault.vapil.api.request.VaultRequest
getBaseObjectMapper, send, send, sendReturnBinary, sendReturnBinary, sendToFile, sendToFile, setHeaderClientId, setHeaderReferenceId, setVaultClient
-
Field Details
-
HTTP_HEADER_VAULT_MIGRATION_MODE
X-VaultAPI-MigrationMode When set to true, Vault applies Document Migration Mode limitations only to documents created with the request.- See Also:
-
ID_PARAM
If you’re identifying documents in your input by a unique field, add idParam={fieldname} to the request endpoint.- See Also:
-
-
Method Details
-
retrieveAllDocumentFields
Retrieve All Document FieldsRetrieve all standard and custom document fields and field properties.
- Returns:
- DocumentFieldResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/properties
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-all-document-fields
- Example Request:
DocumentFieldResponse resp = vaultClient.newRequest(DocumentRequest.class) .retrieveAllDocumentFields();
- Example Response:
System.out.println(resp.getResponse());
-
retrieveCommonDocumentFields
Retrieve Common Document FieldsRetrieve all document fields and field properties which are common to (shared by) a specified set of documents. This allows you to determine which document fields are eligible for bulk update.
- Parameters:
docIds
- List of Document Ids- Returns:
- DocumentFieldResponse
- Vault API Endpoint:
POST /api/{version}/metadata/objects/documents/properties/find_common
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-common-document-fields
- Example Request:
DocumentFieldResponse resp = vaultClient.newRequest(DocumentRequest.class) .retrieveCommonDocumentFields();
- Example Response:
System.out.println(resp.getResponse());
-
retrieveAllDocumentTypes
Retrieve All Document TypesRetrieve all document types. These are the top-level of the document type/subtype/classification hierarchy.
- Returns:
- DocumentTypesResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/types
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-all-document-types
- Example Request:
DocumentTypesResponse allTypesResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveAllDocumentTypes();
- Example Response:
System.out.println(allTypesResponse.getResponse()); for (DocumentTypesResponse.DocumentType documentType : allTypesResponse.getTypes()) { DocumentTypeResponse typeResponse = vaultClient.newRequest(DocumentRequest.class).retrieveDocumentType(documentType.getName()); System.out.println(typeResponse.getResponse()); if (typeResponse.getSubtypes() != null) { for (DocumentTypeResponse.DocumentSubtype documentSubtype : typeResponse.getSubtypes()) { DocumentSubtypeResponse subtypeResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentSubtype(documentType.getName(), documentSubtype.getName()); System.out.println(subtypeResponse.getResponse()); if (subtypeResponse.getClassifications() != null) { for (DocumentSubtypeResponse.DocumentClassification documentClassification : subtypeResponse.getClassifications()) { DocumentClassificationResponse classificationResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentClassification( documentType.getName(), documentSubtype.getName(), documentClassification.getName()); System.out.println(classificationResponse.getResponse()); } } } } } }
-
retrieveDocumentType
Retrieve Document TypeRetrieve all metadata from a document type, including all of its subtypes (when available).
- Parameters:
type
- document type (api name)- Returns:
- DocumentTypeResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/types/{type}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-type
- Example Request:
DocumentTypeResponse typeResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentType(documentType.getName());
- Example Response:
System.out.println("Response: " + typeResponse.getResponse());
-
retrieveDocumentSubtype
Retrieve Document SubtypeRetrieve all metadata from a document subtype, including all of its classifications (when available).
- Parameters:
type
- document type (api name)subType
- document subType (api name)- Returns:
- DocumentSubtypeResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/types/{type}/subtypes/{subtype}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-subtype
- Example Request:
DocumentSubtypeResponse subtypeResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentSubtype(documentType.getName(), documentSubtype.getName());
- Example Response:
System.out.println("Response: " + subtypeResponse.getResponse());
-
retrieveDocumentClassification
public DocumentClassificationResponse retrieveDocumentClassification(String type, String subType, String classification) Retrieve Document Classification- Parameters:
type
- document type (api name)subType
- document subType (api name)classification
- document classification (api name)- Returns:
- DocumentClassificationResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/types/{type}/subtypes/{subtype}/classifications/{classification}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-classification
- Example Request:
DocumentClassificationResponse classificationResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentClassification( documentType.getName(), documentSubtype.getName(), documentClassification.getName());
- Example Response:
System.out.println("Response: " + classificationResponse.getResponse());
-
retrieveAllDocuments
Retrieve All DocumentsRetrieve the latest version of all documents and binders
Various properties can filter the list of returned documents
- namedFilter=My Documents Retrieves only documents which you have created.
- namedFilter=Favorites Retrieves only documents which you have marked as favorites in the library.
- namedFilter=Recent Documents Retrieves only documents which you have recently accessed.
- namedFilter=Cart Retrieves only documents in your cart.
- versionsScope=contents Searches only within the document content.
- versionsScope=all Searches both within the document content and searchable document fields.
- versionsScope=all Retrieves all document versions, rather than only the latest version.
- searchKeyword={keyword} Search for documents based on a {keyword} in searchable document fields.
- limit
- sort
- start
- Returns:
- DocumentsResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-all-documents
- Example Request:
DocumentsResponse response = vaultClient.newRequest(DocumentRequest.class) .retrieveAllDocuments();
- Example Response:
System.out.println("Number of Documents: " + response.getSize()); List<DocumentsResponse.DocumentNode> documents = response.getDocuments(); for (DocumentsResponse.DocumentNode documentNode : documents) { Document document = documentNode.getDocument(); System.out.println("Document Name: " + document.getName()); System.out.println("Document ID: " + document.getId()); System.out.println(("Major Version: " + document.getMajorVersionNumber())); System.out.println("Minor Version: " + document.getMinorVersionNumber()); }
-
retrieveDocument
Retrieve DocumentRetrieve all metadata from a single document
- Parameters:
docId
- The Document Id- Returns:
- DocumentResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .retrieveDocument(docId);
- Example Response:
System.out.println(response.getResponse()); Document responseDoc = response.getDocument(); System.out.println("Name = " + responseDoc.getName()); System.out.println("Title = " + responseDoc.getTitle()); // Get a custom property System.out.println("Custom property custom__c = " + responseDoc.get("custom__c")); System.out.println("Renditions " + response.getRenditions().getViewableRendition()); for (DocumentResponse.Version v : response.getVersions()) System.out.println("Version = " + v.getNumber() + " " + v.getValue());
-
retrieveDocumentVersions
Retrieve Document VersionsRetrieve all versions of a document.
- Parameters:
docId
- The Document Id- Returns:
- DocumentVersionResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/versions
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-versions
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentVersion(docId, 0, 1);
- Example Response:
See
retrieveDocument(int)
for example responses
-
retrieveDocumentVersion
Retrieve Document VersionRetrieve all fields and values configured on a document version.
- Parameters:
docId
- The Document IdmajorVersion
- document major version numberminorVersion
- document minor version number- Returns:
- DocumentResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-version
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentVersion(docId, 0, 1);
- Example Response:
See
retrieveDocument(int)
for example responses
-
downloadDocumentFile
Download Document File- Parameters:
docId
- The Document Id- Returns:
- VaultResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/file
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#download-document-file
- Example Request:
VaultResponse response = vaultClient.newRequest(DocumentRequest.class).downloadDocumentFile(docId);
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("Doc content length: " + response.getBinaryContent().length);
}
-
downloadDocumentVersionFile
Download Document Version File- Parameters:
docId
- The Document IdmajorVersion
- document major version numberminorVersion
- document minor version number- Returns:
- VaultResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}/file
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#download-document-version-file
- Example Request:
VaultResponse response = vaultClient.newRequest(DocumentRequest.class) .downloadDocumentVersionFile(docId, majorVersion, minorVersion);
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("Created doc content length: " + response.getBinaryContent().length); }
-
downloadDocumentVersionThumbnailFile
public VaultResponse downloadDocumentVersionThumbnailFile(int docId, int majorVersion, int minorVersion) Download Document Version Thumbnail File- Parameters:
docId
- The Document IdmajorVersion
- document major version numberminorVersion
- document minor version number- Returns:
- VaultResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}/thumbnail
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#download-document-version-thumbnail-file
- Example Request:
VaultResponse response = vaultClient.newRequest(DocumentRequest.class) .downloadDocumentVersionThumbnailFile(docId, majorVersion, minorVersion);
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("Created doc content length: " + response.getBinaryContent().length); }
-
createSingleDocument
Create Single DocumentCreate a single document by uploading the specified file.
Use either the local path or binaryfile setters.
Use bulk for multiple documents! See
createMultipleDocuments()
.- Parameters:
doc
- Document metadata to create- Returns:
- DocumentResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document
- Example Request:
Document doc = new Document(); doc.setName("VAPIL Single Document"); doc.setLifecycle("General Lifecycle"); doc.setType("General"); doc.setTitle("Test Upload VAPIL"); DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(filePath) .createSingleDocument(doc);
- Example Response:
System.out.println("Created doc id: " + response.getDocument().getId());
-
createDocumentFromTemplate
Create Documents from Templates- Parameters:
doc
- Document to createfromTemplate
- The Template to create from- Returns:
- DocumentResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class).createDocumentFromTemplate(doc, "template_name__c");
- Example Response:
System.out.println("Created doc id: " + response);
-
createContentPlaceholderDocument
Create Content Placeholder Documents- Parameters:
doc
- Document to create- Returns:
- DocumentCreateResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class).createContentPlaceholderDocument(doc);
- Example Response:
System.out.println("Created doc id: " + response.getDocument().getId());
-
createUnclassifiedDocument
Create Unclassified Documents- Returns:
- DocumentResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(filePath) .createUnclassifiedDocument();
- Example Response:
System.out.println("Created doc id: " + response.getDocument().getId());
-
createCrossLinkDocument
public DocumentResponse createCrossLinkDocument(Document doc, int source_vault_id__v, int source_document_id__v) Create Crosslink DocumentWhen creating a CrossLink document, you must include all document fields that are required for the specified document type/subtype/classification and no file is uploaded. You must also specify the vault ID and document ID for the source document which will be bound to the new CrossLink document.
Source binding rules define which version of the source document will be bound to the CrossLink document. If not specified, this defaults to the Latest Steady State version.
- Parameters:
doc
- Document to createsource_vault_id__v
- The source Vault Idsource_document_id__v
- The source document id- Returns:
- DocumentResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document
- Example Request:
Document doc = new Document(); doc.setName("VAPIL CrossLink"); doc.setLifecycle("General Lifecycle"); doc.setType("General"); doc.setTitle("VAPIL CrossLink - latest version"); Example 1 - Create Crosslink response = vaultClient.newRequest(DocumentRequest.class) .setSourceBindingRule(DocumentRequest.CrosslinkBinding.LATEST) .createCrossLinkDocument(doc, vaultId, crosslinkDocId); Example 2 - Create Crosslink Bound to Latest Version DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .createCrossLinkDocument(doc, vaultId, crosslinkDocId); Example 3 - Create Crosslink Bound to Specific Document Version DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setSourceBindingRule(DocumentRequest.CrosslinkBinding.SPECIFIC) .setBoundSourceMajorVersion(1) .setBoundSourceMinorVersion(0) .createCrossLinkDocument(doc, vaultId, crosslinkDocId);
- Example Response:
System.out.println("Created doc id: " + response.getDocument().getId());
-
createMultipleDocuments
Create Multiple DocumentsThis endpoint allows you to create multiple documents at once with a CSV input file.
The maximum CSV input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 500.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-multiple-documents
- Example Request:
Example 1 - CSV input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(csvFilePath) .createMultipleDocuments();
,Example 2 - Binary input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setBinaryFile(csv.getName(), Files.readAllBytes(csv.toPath())) .createMultipleDocuments();
- Example Response:
System.out.println(response.getResponse());
-
updateSingleDocument
Update Single DocumentUpdate editable field values on the latest version of a single document. To update past document versions, see Update Document Version. Note that this endpoint does not allow you to update the archive__v field.
Use bulk for multiple documents! See
updateMultipleDocuments()
.- Parameters:
doc
- Document metadata to update- Returns:
- DocumentResponse
- Vault API Endpoint:
PUT /api/{version}/objects/documents/{doc_id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#update-single-document
-
updateMultipleDocuments
Update Multiple DocumentsBulk update editable field values on multiple documents. You can only update the latest version of each document.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
PUT /api/{version}/objects/documents/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#update-multiple-documents
- Example Request:
Example 1 - CSV input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(csvFilePath) .updateMultipleDocuments();
,Example 2 - Binary input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setBinaryFile(csv.getName(), Files.readAllBytes(csv.toPath())) .updateMultipleDocuments();
- Example Response:
System.out.println(response.getResponse());
-
reclassifySingleDocument
Reclassify DocumentReclassify allows you to change the document type of an existing document or assign a document type to an unclassified document. A document is the combination of the type__v, subtype__v, and classification__v fields on a document. When you reclassify, Vault may add or remove certain fields on the document. You can only reclassify the latest version of a document and only one document at a time. The API does not currently support bulk reclassify.
- Parameters:
doc
- Document metadata to reclassify- Returns:
- DocumentResponse
- Vault API Endpoint:
PUT /api/{version}/objects/documents/{doc_id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#reclassify-document
-
reclassifyMultipleDocuments
Reclassify Multiple DocumentsReclassify documents in bulk. Reclassify allows you to change the document type of existing documents or assign document types to unclassified documents. A document is the combination of the type__v, subtype__v, and classification__v fields on a document. When you reclassify, Vault may add or remove certain fields on the document. You can only reclassify the latest version of a document you cannot reclassify a checked out document.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
PUT /api/{version}/objects/documents/batch/actions/reclassify
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#reclassify-multiple-documents
-
updateDocumentVersion
Update Document VersionUpdate editable field values on a specific version of a document.
- Parameters:
doc
- Document metadata to updatemajorVersion
- document major version numberminorVersion
- document minor version number- Returns:
- DocumentResponse
- Vault API Endpoint:
PUT /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#update-document-version
-
createMultipleDocumentVersions
Create Multiple Document VersionsYour vault must be in Migration Mode. The maximum CSV input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 500.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/versions/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-multiple-documents
-
createSingleDocumentVersion
Create Single Document VersionAdd 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. Use bulk for multiple documents!
- Parameters:
docId
- Document id- Returns:
- DocumentCreateResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/{doc_id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-single-document-version
- Example Request:
Example 1 - Create Single Document Version From Uploaded Content DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setBinaryFile(testFile.getAbsolutePath(), Files.readAllBytes(testFile.toPath())) .setCreateDraft(CreateDraftType.UPLOADEDCONTENT) .createSingleDocumentVersion(docId); Example 1 - Create Single Document Version From Latest Content DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setCreateDraft(CreateDraftType.LATESTCONTENT) .createSingleDocumentVersion(docId); Example 1 - Create Single Document Version From Placeholder DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .setBinaryFile(testFile.getAbsolutePath(), Files.readAllBytes(testFile.toPath())) .createSingleDocumentVersion(docId);
- Example Response:
System.out.println("Response Status: " + response.getResponseStatus()); System.out.println("Major Version: " + response.getDocument().getMajorVersionNumber()); System.out.println("Minor Version: " + response.getDocument().getMinorVersionNumber());
-
deleteSingleDocument
Delete Single DocumentDelete all versions of a document, including all source files and viewable renditions.
- Parameters:
docid
- The Document Id- Returns:
- DocumentResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/{document_id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#delete-single-document
-
deleteMultipleDocuments
Delete Multiple DocumentsDelete all versions of multiple documents, including all source files and viewable renditions.
The maximum input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 500.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#delete-multiple-documents
- Example Request:
Example 1 - CSV input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(csvFilePath) .deleteMultipleDocuments();
,Example 2 - Binary input DocumentBulkResponse response = vaultClient.newRequest(DocumentRequest.class) .setBinaryFile(csv.getName(), Files.readAllBytes(csv.toPath())) .deleteMultipleDocuments();
- Example Response:
System.out.println(response.getResponse());
-
deleteSingleDocumentVersion
Delete Single Document VersionDelete a specific version of a document, including the version’s source file and viewable rendition. Other versions of the document remain unchanged.
- Parameters:
docId
- Document metadata to updatemajorVersion
- document major version numberminorVersion
- document minor version number- Returns:
- DocumentResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#delete-single-document-version
- Example Request:
DocumentResponse response = vaultClient.newRequest(DocumentRequest.class) .deleteSingleDocumentVersion(docId, 0, 1);
- Example Response:
System.out.println("Response Status: " + response.getResponseStatus()); System.out.println("ID: " + response.getDocument().getId());
-
deleteMultipleDocumentVersions
Delete Multiple Document VersionsDelete a specific version of multiple documents, including the version’s source file and viewable rendition.
The maximum input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 500.
- Returns:
- DocumentBulkResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/versions/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#delete-multiple-documents
-
retrieveDeletedDocumentIds
Retrieve Deleted Document IDsRetrieve IDs of documents deleted within the past 30 days.
After documents and document versions are deleted, their IDs remain available for retrieval for 30 days. After that, they cannot be retrieved. This request supports optional parameters to narrow the results to a specific date and time range within the past 30 days.
To completely restore a document deleted within the last 30 days, contact Veeva support.
- Returns:
- DocumentDeletionResponse
- Vault API Endpoint:
GET /api/{version}/objects/deletions/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-deleted-document-ids
- Example Request:
DocumentDeletionResponse response = vaultClient.newRequest(DocumentRequest.class).retrieveDeletedDocumentIds();
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("# deleted docs: " + response.getResponseDetails().getTotal()); }
-
retrieveDeletedDocumentIdsByPage
Retrieve Deleted Document IDs (By Page)Retrieve IDs of documents deleted using the previous_page or next_page parameter of a previous request
- Parameters:
pageUrl
- The URL from the previous_page or next_page parameter- Returns:
- DocumentDeletionResponse
- Vault API Endpoint:
GET /api/{version}/objects/deletions/documents
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-deleted-document-ids
- Example Request:
DocumentDeletionResponse paginatedResponse = paginatedResponse = vaultClient.newRequest(JobRequest.class) .retrieveDeletedDocumentIdsByPage(response.getResponseDetails().getNextPage());
- Example Response:
System.out.println(paginatedResponse.getResponseStatus())
;
-
retrieveDocumentLockMetadata
Retrieve Document Lock Metadata- Returns:
- MetaDataDocumentLockResponse
- Vault API Endpoint:
GET /api/{version}/metadata/objects/documents/lock
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-lock-metadata
- Example Request:
MetaDataDocumentLockResponse response = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentLockMetadata();
- Example Response:
if (response.isSuccessful()) { for (DocumentLock documentLock : response.getProperties()) { System.out.println("Document Lock Properties: " + documentLock.getName()); } }
-
createDocumentLock
Create Document LockA document lock is analogous to checking out a document but without the file attached in the response for download.
- Parameters:
docId
- document id- Returns:
- VaultResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/{doc_id}/lock
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#create-document-lock
- Example Request:
VaultResponse lockCreateResponse = vaultClient.newRequest(DocumentRequest.class) .createDocumentLock(docId);
- Example Response:
System.out.println("Document Lock Created: " + lockCreateResponse.getResponseStatus());
-
retrieveDocumentLock
Retrieve Document Lock- Parameters:
docId
- document id- Returns:
- VaultResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/lock
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-lock
- Example Request:
DocumentLockResponse lockResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentLock(docId);
- Example Response:
System.out.println("Document Lock By: " + lockResponse.getLock().getLockedBy()); System.out.println("Document Lock Date: " + lockResponse.getLock().getLockedDate());
-
deleteDocumentLock
Deleting Document LockDeleting a document lock is analogous to undoing check out of a document.
- Parameters:
docId
- document id- Returns:
- VaultResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/{doc_id}/lock
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#delete-document-lock
- Example Request:
VaultResponse lockDeleteResponse = vaultClient.newRequest(DocumentRequest.class) .deleteDocumentLock(docId);
- Example Response:
System.out.println("Document Lock Deleted: " + lockDeleteResponse.getResponseStatus());
-
undoCollaborativeAuthoringCheckout
Undo Collaborative Authoring CheckoutUndo Collaborative Authoring checkout on up to 500 documents at once.
- Returns:
- DocumentCollaborativeCheckoutResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/batch/lock
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#undo-collaborative-authoring-checkout
- Example Request:
DocumentCollaborativeCheckoutResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(csv_path) .undoCollaborativeAuthoringCheckout();
- Example Response:
for (DocumentCollaborativeCheckoutResponse.UndoCheckoutResponse undoCheckoutResponse : response.getData()) { System.out.println("Document ID: " + undoCheckoutResponse.getId()); System.out.println("Response Status: " + undoCheckoutResponse.getResponseStatus()); System.out.println("Response Message: " + undoCheckoutResponse.getResponseMessage()); }
-
exportDocuments
public JobCreateResponse exportDocuments(boolean includeSource, boolean includeRenditions, boolean includeAllVersions) Export DocumentsUse this request to export a set of document to your vault’s FTP staging server.
- Parameters:
includeSource
- indicates to include source content filesincludeRenditions
- indicates to include renditionsincludeAllVersions
- indicates to include all versions- Returns:
- JobCreateResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/batch/actions/fileextract
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#export-documents-1
- Example Request:
JobCreateResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(filePath) .exportDocuments(true, true, true);
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("Job Id: " + response.getJobId()); }
-
exportDocumentVersions
Export Document VersionsExport a specific set of document versions to your vault’s FTP staging server. The files you export go to the u{userID} folder, regardless of your security profile.
- Parameters:
includeSource
- indicates to include source content filesincludeRenditions
- indicates to include renditions- Returns:
- JobCreateResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/versions/batch/actions/fileextract
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#export-document-versions
- Example Request:
JobCreateResponse response = vaultClient.newRequest(DocumentRequest.class) .setInputPath(filePath) .exportDocumentVersions(true, true);
- Example Response:
if (response != null && response.isSuccessful()) { System.out.println("Job Id: " + response.getJobId()); }
-
retrieveDocumentExportResults
Retrieve Document Export ResultsAfter submitting a request to export documents from your vault, you can query your vault to determine the results of the request.
Before submitting this request:
You must have previously requested a document export job (via the API) which is no longer active.
You must have a valid job_id value (retrieved from the document export binder request above).
You must be a Vault Owner, System Admin or the user who initiated the job.- Parameters:
jobId
- job id- Returns:
- DocumentExportResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/batch/actions/fileextract/{jobid}/results
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-export-results
- Example Request:
DocumentExportResponse exportResponse = vaultClient.newRequest(DocumentRequest.class) .retrieveDocumentExportResults(jobId);
- Example Response:
if (exportResponse != null && exportResponse.isSuccessful()) { List<DocumentExportResponse.ExportedDocument> exportedDocumentList = exportResponse.getData(); if (exportedDocumentList != null) { for (DocumentExportResponse.ExportedDocument exportedDocument : exportedDocumentList) { System.out.println("id: " + exportedDocument.getId()); System.out.println("major version: " + exportedDocument.getMajorVersionNumber()); System.out.println("minor version: " + exportedDocument.getMinorVersionNumber()); System.out.println("File: " + exportedDocument.getFile()); } } }
-
documentTokens
Document TokensThe Vault Document Tokens API allows you to generates document access tokens needed by the external viewer to view documents outside of Vault.
- Parameters:
docIds
- list of document ids- Returns:
- DocumentTokenResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/tokens
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#document-tokens
- Example Request:
DocumentTokenResponse response = vaultClient.newRequest(DocumentRequest.class) .setExpiryDateOffset(10) .setDownloadOption(DocumentRequest.DownloadOption.PDF) .setTokenGroup("example") .documentTokens(docIds);
- Example Response:
System.out.println(response.getResponse());
-
setBinaryFile
Specify source data in an input file- Parameters:
filename
- file name (no path)binaryContent
- byte array of the file content- Returns:
- The Request
-
setBoundSourceMajorVersion
Specify the Cross-Link Bound Source Major Version- Parameters:
boundSourceMajorVersion
- Required when the source_binding_rule__v is set to Specific Document version- Returns:
- The Request
-
setBoundSourceMinorVersion
Specify the Cross-Link Bound Source Minor Version- Parameters:
boundSourceMinorVersion
- Required when the source_binding_rule__v is set to Specific Document version- Returns:
- The Request
-
setChannel
Include the channel request parameter set to the website object record id value that corresponds to the distribution channel where the document is being made available. If no website record is specified, Vault will assume the request is for Approved Email.- Parameters:
channel
- channel- Returns:
- The Request
-
setContentTypeCsv
Set the Header Content Type to CSV- Returns:
- The Request
-
setContentTypeJson
Set the Header Content Type to JSON- Returns:
- The Request
-
setDescription
Specify description- Parameters:
description
- description__v- Returns:
- The Request
-
setDownloadOption
Include the downloadOption request parameter set to PDF, source, both, or none. These allow users viewing the document to be able to download a PDF version or source version (Word™, PowerPoint™, etc.) of the document. If not specified, the download options default to those set on each document.- Parameters:
downloadOption
- downloadOption for document tokens- Returns:
- The Request
-
setExpiryDateOffset
Specify number of days after which the tokens will expire and the documents will no longer be available in the viewer. If not specified, the tokens will expire after 10 years by default.- Parameters:
expiryDateOffset
- description__v- Returns:
- The Request
-
setIdParam
Specify an UPSERT operation via the idParam- Parameters:
idParam
- External Id field API name for the UPSERT- Returns:
- The Request
-
setLimit
Set the limit of documents returned by retrieve all documents- Parameters:
limit
- max number of documents returned- Returns:
- The Request
-
setInputPath
Specify source data in an input file- Parameters:
inputPath
- Absolute path to the file for the request- Returns:
- The Request
-
setLockDocument
Specify to check out the document before retrieval- Parameters:
lockDocument
- whether or not to lock the document- Returns:
- The Request
-
setOutputPath
Specify source data in an output file- Parameters:
outputPath
- Absolute path to the file for the response- Returns:
- The Request
-
setScopeFilter
Set named filter of documents returned by retrieve all documents- Parameters:
namedFilter
- named filter for documents- Returns:
- The Request
-
setRequestString
Specify source data in an input string, such as a JSON request- Parameters:
requestString
- The source request as a string- Returns:
- The Request
-
setScopeFilter
Set scope of documents returned by retrieve all documents- Parameters:
scope
- scope of documents- Returns:
- The Request
-
setSearchKeyword
Search keyword for documents returned by retrieve all documents- Parameters:
keyword
- keyword to search for- Returns:
- The Request
-
setSort
Sort for documents returned by retrieve all documents- Parameters:
sort
- order by value- Returns:
- The Request
-
setSourceBindingRule
Specify the Cross-Link Source Binding Rule- Parameters:
sourceBindingRule
- Possible values are Latest version, Latest Steady State version, or Specific Document version- Returns:
- The Request
-
setStart
Set the starting position of documents returned by retrieve all documents- Parameters:
start
- starting position- Returns:
- The Request
-
setSteadyState
Document Tokens: If set to true, Vault generates a token for the latest steady state version of a document. If you do not have view permission, or if a steady-state version does not exist, Vault returns an INVALID_STATE error. If omitted, the default value is false, and Vault generates a token for the latest version, regardless of state.- Parameters:
steadyState
- true/false- Returns:
- DocumentRequest
-
setSuppressRendition
Specify whether to suppress rendition- Parameters:
suppressRendition
- Required when the source_binding_rule__v is set to Specific Document version- Returns:
- DocumentRequest
-
setTokenGroup
This only required if you want to group together generated tokens for multiple documents in order to display the documents being referenced in the same viewer. This value accepts strings of alphanumeric characters (a-z, A-Z, 0-9, and single consecutive underscores) up to 255 characters in length.- Parameters:
tokenGroup
- name of group- Returns:
- The Request
-
setVersionScope
Set all versions or latest version of documents returned by retrieve all documents- Parameters:
versionsScope
- scope for versions- Returns:
- The Request
-
setMigrationMode
Enable migration mode to create multiple document versions in bulk and perform manual assignment of documents numbers. If not specified, the create multiple document versions endpoint will fail. API user must have the Document Migration permission to use this header.- Parameters:
migrationMode
- The source request as a string- Returns:
- The Request
-
setOffset
Set the offset, used to paginate Retrieve Deleted Document IDs API- Parameters:
offset
- The offset as an int- Returns:
- The Request
-
setStartData
Set the start date, used to set start date for Retrieve Deleted Document IDs API- Parameters:
startDate
- The start date as a string in the YYYY-MM-DDTHH:MM:SSZ format- Returns:
- The Request
-
setEndData
Set the end date, used to set end date Retrieve Deleted Document IDs API- Parameters:
endDate
- The end date as a string in the YYYY-MM-DDTHH:MM:SSZ format- Returns:
- The Request
-
setCreateDraft
Set the createDraft type. This parameter is only required to create a new draft version from an existing document or by uploading a source file. To create a new version for a placeholder document, you must omit this parameter.- Parameters:
createDraft
- The createDraft type: latestContent or uploadedContent- Returns:
- The Request
-