# 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.
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://trillo.gitbook.io/trillo-workbench-python-sdk/docapi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
