# DocApi

## getFolders

Retrieve a list of all document folders.

```
DocApi.getFolders()
```

Parameters

```
None
```

Returns

```
A list of dictionaries representing document folders.
```

## getDocFolderAndDocList

Retrieve documents and subfolders within a specified folder.

```
DocApi.getDocFolderAndDocList(folderId, orderBy, deleted)
```

Parameters

```
folderId: The ID of the folder as str.
orderBy: Sorting order for the documents and subfolders as str.
deleted: Flag indicating whether to include deleted items as str.

```

Returns

```
A dictionary containing documents and subfolders information.
```

## listHITLDocs

List documents for Human-in-the-Loop (HITL) processing within a folder.

```
DocApi.listHITLDocs(folderId, orderBy, deleted)
```

Parameters

```
folderId: The ID of the folder as str.
orderBy: Sorting order for the documents as str.
deleted: Flag indicating whether to include deleted documents as str.
```

Returns

```
A dictionary containing HITL document information.
```

## getDocFolderList

Retrieve a list of subfolders within a specified folder.

```
DocApi.getDocFolderList(folderId, orderBy)
```

Parameters

```
folderId: The ID of the folder int.
orderBy: Sorting order for the subfolders str.
```

Returns

```
A list of dictionaries representing subfolders.
```

## getDocFolderParents

Retrieve the parent folders of a specified folder.

```
DocApi.getDocFolderParents(folderId)
```

Parameters

```
folderId: The ID of the folder as str.
```

Returns

```
A dictionary containing parent folder information.
```

## getHomeFolderFiles

Retrieve documents within the home folder.

```
DocApi.getHomeFolderFiles(folderId, orderBy)
```

Parameters

```
folderId: The ID of the home folder as str.
orderBy: Sorting order for the documents as str.

```

Returns

```
A list of dictionaries representing documents in the home folder.
```

## getDocAISchema

Retrieve the schema for document AI processing.

```
DocApi.getDocAISchema(schemaDisplayName)
```

Parameters

```
schemaDisplayName: Display name of the document AI schema as str.
```

Returns

```
A dictionary containing document AI schema information.
```

## createDocFolder

Create a new document folder.

```
DocApi.createDocFolder(folder)
```

Parameters

```
folder: Dictionary representing the folder to be created as dict.
```

Returns

```
A Result object indicating the success or failure of the folder creation.
```

## updateFolder

Update an existing document folder.

```
DocApi.updateFolder(folder)
```

Parameters

```
folder: Dictionary representing the folder to be updated.
```

Returns

```
A Result object indicating the success or failure of the folder update.
```

## updateDocFolderProperties

Update properties of a document folder.

```
DocApi.updateDocFolderProperties(params)
```

Parameters

```
params: Dictionary containing folder properties to be updated.
```

Returns

```
A Result object indicating the success or failure of the folder properties update.
```

## renameDocFolder

Rename a document folder.

```
DocApi.renameDocFolder(folderId, newName)
```

Parameters

```
folderId: The ID of the folder to be renamed as str.
newName: The new name for the folder as str.
```

Returns

```
A Result object indicating the success or failure of the folder renaming.
```

## moveDocFolder

Move a document folder to a new parent folder.

```
DocApi.moveDocFolder(folderId, newParentId)
```

Parameters

```
folderId: The ID of the folder to be moved as str.
newParentId: The ID of the new parent folder as str.
```

Returns

```
A Result object indicating the success or failure of the folder movement.
```

## deleteDocFolder

Delete a document folder.

```
DocApi.deleteDocFolder(folderId)
```

Parameters

```
folderId: The ID of the folder to be deleted as str.
```

Returns

```
A Result object indicating the success or failure of the folder deletion.
```

## createUploadSignedUrl

Create a signed URL for uploading files to a document folder.

```
DocApi.createUploadSignedUrl(folderId: str, duration: int) -> Result
```

Parameters

```
folderId: The ID of the folder for uploading.
duration: Duration of the signed URL validity in seconds.
```

Returns

```
A Result object containing the signed URL for upload.
```

## createDownloadSignedUrl

Create a signed URL for downloading files from a document folder.

```
DocApi.createDownloadSignedUrl(folderId: str, duration: int) -> Result
```

Parameters

```
folderId: The ID of the folder for downloading.
duration: Duration of the signed URL validity in seconds.
```

Returns

```
A Result object containing the signed URL for download.
```

## renameDoc

Rename a document.

```
DocApi.renameDoc(docId: str, newName: str) -> Result
```

Parameters

```
docId: The ID of the document to be renamed.
newName: The new name for the document.
```

Returns

```
A Result object indicating the success or failure of the document renaming.
```

## moveDoc

Move a document to a new parent folder.

```
DocApi.moveDoc(docId: str, newParentFolderId: str) -> Result
```

Parameters

```
docId: The ID of the document to be moved.
newParentFolderId: The ID of the new parent folder.
```

Returns

```
A Result object indicating the success or failure of the document movement.
```

## deleteDoc

Delete a document.

```
DocApi.deleteDoc(docId: str) -> Result
```

Parameters

```
docId: The ID of the document to be deleted.
```

Returns

```
A Result object indicating the success or failure of the document deletion.
```

## deleteManyDocs

Delete multiple documents.

```
DocApi.deleteManyDocs(ids: list, permanent: bool) -> Result
```

Parameters

```
ids: List of document IDs to be deleted.
permanent: Flag indicating whether to permanently delete the documents.

```

Returns

```
A Result object indicating the success or failure of the document deletion.
```

## restoreManyDocs

Restore multiple deleted documents.

```
DocApi.restoreManyDocs(ids: list) -> Result
```

Parameters

```
List of document IDs to be restored.
```

Returns

```
A Result object indicating the success or failure of the document restoration.
```

## copyDoc

Copy a document to a new parent folder with a new name.

```
DocApi.copyDoc(docId: str, newParentFolderId: str, newName: str) -> Result
```

Parameters

```
docId: The ID of the document to be copied.
newParentFolderId: The ID of the new parent folder.
newName: The new name for the copied document.
```

Returns

```
A Result object indicating the success or failure of the document copying.
```

## saveDocObject

Save document object.

```
DocApi.saveDocObject(params: dict) -> Result
```

Parameters

```
params: Dictionary containing document object to be saved.
```

Returns

```
A Result object indicating the success or failure of the document object saving.
```

## updateDocProperties

Update properties of a document.

```
DocApi.updateDocProperties(params: dict) -> Result
```

Parameters

```
params: Dictionary containing document properties to be updated.
```

Returns

```
A Result object indicating the success or failure of the document properties update.
```

## retrieveSignedUrl

Retrieve a signed URL for accessing a document.

```
DocApi.retrieveSignedUrl(docId: str, contentType: str, asAttachment: bool, duration: int) -> Result
```

Parameters

```
docId: The ID of the document.
contentType: MIME type of the document.
asAttachment: Flag indicating whether to treat the document as an attachment.
duration: Duration of the signed URL validity in seconds.

```

Returns

```
A Result object containing the signed URL for document access.
```

## retrieveUploadSignedUrl

Retrieve a signed URL for uploading a document to a folder.

```
DocApi.retrieveUploadSignedUrl(folderId: str, fileName: str, contentType: str) -> Result
```

Parameters

```
folderId: The ID of the folder for uploading.
fileName: Name of the file to be uploaded.
contentType: MIME type of the document.

```

Returns

```
A Result object containing the signed URL for upload.
```

## saveDocGetSignedUrl

Save document object and retrieve a signed URL.

```
DocApi.saveDocGetSignedUrl(params: dict) -> Result
```

Parameters

```
params: Dictionary containing document object to be saved.
```

Returns

```
A Result object containing the saved document object and a signed URL.
```

## autoComplete

Perform auto-completion.

```
DocApi.autoComplete(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for auto-completion.
```

Returns

```
A Result object containing the auto-completion result.
```

## executeWorkflow

Execute a document workflow.

```
DocApi.executeWorkflow(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for the document workflow execution.
```

Returns

```
A Result object indicating the success or failure of the workflow execution.
```

## extractEntities

Extract entities from a document.

```
DocApi.extractEntities(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for entity extraction.
```

Returns

```
A Result object containing the extracted entities.
```

## chat

Perform document chat operation.

```
DocApi.chat(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for document chat.
```

Returns

```
A Result object containing the chat result.
```

## generateJson

Generate JSON from a document.

```
DocApi.generateJson(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for JSON generation.
```

Returns

```
A Result object containing the generated JSON.
```

## bulkUpload

Perform bulk upload of documents.

```
DocApi.bulkUpload(params: dict) -> Result
```

Parameters

```
params: Dictionary containing parameters for bulk upload.
```

Returns

```
A Result object indicating the success or failure of the bulk upload.
```

## deleteDocAISchema

Delete a document AI schema.

```
DocApi.deleteDocAISchema(schemaDisplayName: str) -> Result
```

Parameters

```
schemaDisplayName: Display name of the document AI schema.
```

Returns

```
A Result object indicating the success or failure of the schema deletion.
```
