- Overview
- Document Processing Contracts
- Release notes
- About the Document Processing Contracts
- Box Class
- IPersistedActivity interface
- PrettyBoxConverter Class
- IClassifierActivity Interface
- IClassifierCapabilitiesProvider Interface
- ClassifierDocumentType Class
- ClassifierResult Class
- ClassifierCodeActivity Class
- ClassifierNativeActivity Class
- ClassifierAsyncCodeActivity Class
- ClassifierDocumentTypeCapability Class
- ContentValidationData Class
- EvaluatedBusinessRulesForFieldValue Class
- EvaluatedBusinessRuleDetails Class
- ExtractorAsyncCodeActivity Class
- ExtractorCodeActivity Class
- ExtractorDocumentType Class
- ExtractorDocumentTypeCapabilities Class
- ExtractorFieldCapability Class
- ExtractorNativeActivity Class
- ExtractorResult Class
- FieldValue Class
- FieldValueResult Class
- ICapabilitiesProvider Interface
- IExtractorActivity Interface
- ExtractorPayload Class
- DocumentActionPriority Enum
- DocumentActionData Class
- DocumentActionStatus Enum
- DocumentActionType Enum
- DocumentClassificationActionData Class
- DocumentValidationActionData Class
- UserData Class
- Document Class
- DocumentSplittingResult Class
- DomExtensions Class
- Page Class
- PageSection Class
- Polygon Class
- PolygonConverter Class
- Metadata Class
- WordGroup Class
- Word Class
- ProcessingSource Enum
- ResultsTableCell Class
- ResultsTableValue Class
- ResultsTableColumnInfo Class
- ResultsTable Class
- Rotation Enum
- Rule Class
- RuleResult Class
- RuleSet Class
- RuleSetResult Class
- SectionType Enum
- WordGroupType Enum
- IDocumentTextProjection Interface
- ClassificationResult Class
- ExtractionResult Class
- ResultsDocument Class
- ResultsDocumentBounds Class
- ResultsDataPoint Class
- ResultsValue Class
- ResultsContentReference Class
- ResultsValueTokens Class
- ResultsDerivedField Class
- ResultsDataSource Enum
- ResultConstants Class
- SimpleFieldValue Class
- TableFieldValue Class
- DocumentGroup Class
- DocumentTaxonomy Class
- DocumentType Class
- Field Class
- FieldType Enum
- FieldValueDetails Class
- LanguageInfo Class
- MetadataEntry Class
- TextType Enum
- TypeField Class
- ITrackingActivity Interface
- ITrainableActivity Interface
- ITrainableClassifierActivity Interface
- ITrainableExtractorActivity Interface
- TrainableClassifierAsyncCodeActivity Class
- TrainableClassifierCodeActivity Class
- TrainableClassifierNativeActivity Class
- TrainableExtractorAsyncCodeActivity Class
- TrainableExtractorCodeActivity Class
- TrainableExtractorNativeActivity Class
- BasicDataPoint Class
- BasicValue Class
- ComponentCollectionFacade Class
- DataPointFacadeBase Class
- ExtractionResultHandler Class
- FieldGroupDataPoint Class
- FieldGroupValue Class
- FieldLookupBase Class
- FieldRedactionSettings Class
- RedactionOptions Class (Preview)
- RedactionType Enum
- ResultsValueFacadeBase Class
- TableDataPoint Class
- TableRow Class
- TableValue Class
- WildcardDataPoint Class
- WildcardDataPointCollection Class
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding
- Release notes
- About the Document Understanding activity package
- Project compatibility
- Configuring external connection
- Document Understanding coded automation APIs (preview)
- Set PDF Password
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- Extract PDF Page Range
- Extract Document Data
- Create Validation Task and Wait
- Wait for Validation Task and Resume
- Create Validation Task
- Create Document Validation Artifacts
- Retrieve Document Validation Artifacts
- Classify Document
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Wait for Classification Validation Task and Resume
- Intelligent OCR
- Release notes
- About the IntelligentOCR activity package
- Project compatibility
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Document Understanding Project Classifier
- Intelligent Keyword Classifier
- Create Document Classification Action
- Create Document Validation Artifacts
- Retrieve Document Validation Artifacts
- Wait For Document Classification Action And Resume
- Train Classifiers Scope
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- Document Understanding Project Extractor
- Document Understanding Project Extractor Trainer
- RegEx Based Extractor
- Form Extractor
- Intelligent Form Extractor
- Redact Document
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Export Extraction Results
- Machine Learning Extractor
- Machine Learning Extractor Trainer
- Machine Learning Classifier
- Machine Learning Classifier Trainer
- Generative Classifier
- Generative Extractor
- Configuring Authentication
- ML Services
- OCR
- OCR Contracts
- Release notes
- About the OCR Contracts
- Project compatibility
- IOCRActivity Interface
- OCRAsyncCodeActivity Class
- OCRCodeActivity Class
- OCRNativeActivity Class
- Character Class
- OCRResult Class
- Word Class
- FontStyles Enum
- OCRRotation Enum
- OCRCapabilities Class
- OCRScrapeBase Class
- OCRScrapeFactory Class
- ScrapeControlBase Class
- ScrapeEngineUsages Enum
- ScrapeEngineBase
- ScrapeEngineFactory Class
- ScrapeEngineProvider Class
- OmniPage
- PDF
- [Unlisted] Abbyy
- [Unlisted] Abbyy Embedded
Coded automation APIs for the Document Understanding activities package, covering document classification, data extraction, and validation artifacts.
UiPath.DocumentUnderstanding.Activities
Coded workflow API for classifying documents, extracting structured data, and creating and retrieving document validation artifacts. These APIs are available when designing coded automations. For an introduction to coded automations and how to design them using APIs, see Coded Automations.
- Service accessor:
du(typeIDocumentUnderstandingService) - Required package:
"UiPath.DocumentUnderstanding.Activities": "*"in theproject.jsondependencies.
Auto-imported namespaces
The following namespaces are automatically available in coded workflows when the Document Understanding package is installed:
UiPath.DocumentUnderstanding.Activities.ApiUiPath.Platform.ResourceHandlingUiPath.DocumentProcessing.Contracts.ActionsUiPath.IntelligentOCR.StudioWeb.Activities.DataExtractionUiPath.IntelligentOCR.StudioWeb.Activities.DocumentClassification
Service overview
The du service exposes each Document Understanding operation as a direct method call. There is no connection or scope to open. Call methods on the service accessor directly:
var extracted = du.ExtractDocumentData(@"C:\invoices\invoice.pdf", "Invoices", "Production", "invoice");
var extracted = du.ExtractDocumentData(@"C:\invoices\invoice.pdf", "Invoices", "Production", "invoice");
The service mirrors the Studio Web Classify Document, Extract Document Data, Create Document Validation Artifacts, and Retrieve Document Validation Artifacts activities.
Project version or tag
The projectVersionOrTag parameter maps to Studio's single Version dropdown. Pass either a version name (for example, v3) or a tag (for example, Production, Staging, live). The runtime resolves whichever kind matches the project. For the Predefined project, use Production.
Common parameters
timeoutMs(Int) - Timeout in milliseconds for classification and extraction. Defaults to3600000(1 hour).docType(String) - The document type id. Pass the document type name for projects with multiple document types, or an empty string for IXP-style projects that have a single extractor per version.
Classification
DocumentData ClassifyDocument(string documentPath, string projectName, string projectVersionOrTag, int timeoutMs = 3600000)
Classifies a document from a local file path against a Document Understanding project. Returns a DocumentData object, including the predicted document type.
DocumentData ClassifyDocument(IResource file, string projectName, string projectVersionOrTag, int timeoutMs = 3600000)
Classifies the supplied document resource. Accepts any IResource, such as the output of the Path Exists or Get Local File or Folder activity.
Data extraction
IDocumentData<DictionaryData> ExtractDocumentData(string documentPath, string projectName, string projectVersionOrTag, string docType, int timeoutMs = 3600000)
Extracts structured data from a document at a local file path. Returns the extracted fields as IDocumentData<DictionaryData>.
IDocumentData<DictionaryData> ExtractDocumentData(IResource file, string projectName, string projectVersionOrTag, string docType, int timeoutMs = 3600000)
Extracts structured data from the supplied document resource.
IDocumentData<DictionaryData> ExtractDocumentData(DocumentData classifiedDocument, string projectName, string projectVersionOrTag, string docType = null, int timeoutMs = 3600000)
Extracts structured data from a document already classified with ClassifyDocument, which avoids re-digitizing the file. When docType is null, it is derived from the classified document's document type.
Validation artifacts
ContentValidationData CreateDocumentValidationArtifacts(IDocumentData<DictionaryData> automaticExtractionResults, string orchestratorFolderName, string orchestratorBucketName = null)
Uploads extraction results to Orchestrator storage and returns a ContentValidationData handle. Use the handle to create a validation action, or to retrieve the results later with RetrieveDocumentValidationArtifacts. When orchestratorBucketName is null, the default bucket is used.
IDocumentData<DictionaryData> RetrieveDocumentValidationArtifacts(ContentValidationData contentValidationData, object completedAppAction = null, bool removeDataFromStorage = false, bool returnAutomaticExtractionResults = false)
Retrieves validated extraction results from storage. When removeDataFromStorage is true, the storage artifacts are deleted after retrieval. When returnAutomaticExtractionResults is true, the original automatic extraction results are returned instead of the validated ones.
Relationship to the activities
The coded API and the Document Understanding XAML activities run on the same runtime, so a coded workflow reaches the same classification, extraction, and validation-artifact behavior as the Extract Document Data and Classify Document activities. The difference is the call shape: the service takes plain file paths or IResource inputs and returns Document Data objects directly, and you use ordinary try/catch instead of the activity Continue On Error option.
Common patterns
Classify, then extract
This pattern classifies a document and then reuses the classified result to extract data, which avoids digitizing the file a second time.
[Workflow]
public void Execute()
{
var classified = du.ClassifyDocument(@"C:\docs\file.pdf", "MyProject", "Production");
Log($"Document type: {classified.DocumentType.DisplayName}");
// Reuses the classified document, so the file is not digitized again.
var extracted = du.ExtractDocumentData(classified, "MyProject", "Production");
}
[Workflow]
public void Execute()
{
var classified = du.ClassifyDocument(@"C:\docs\file.pdf", "MyProject", "Production");
Log($"Document type: {classified.DocumentType.DisplayName}");
// Reuses the classified document, so the file is not digitized again.
var extracted = du.ExtractDocumentData(classified, "MyProject", "Production");
}
Extract and prepare data for app tasks containing the validation control
This pattern extracts data, uploads it to storage as validation artifacts for review in an app task, and retrieves the validated results after the action completes.
[Workflow]
public void Execute()
{
var extracted = du.ExtractDocumentData(@"C:\docs\invoice.pdf", "Invoices", "Production", "invoice");
// Upload the results so they can be reviewed in Action Center.
var artifacts = du.CreateDocumentValidationArtifacts(extracted, "Shared");
// After the Action Center validation action completes, retrieve the validated results.
var validated = du.RetrieveDocumentValidationArtifacts(artifacts, removeDataFromStorage: true);
}
[Workflow]
public void Execute()
{
var extracted = du.ExtractDocumentData(@"C:\docs\invoice.pdf", "Invoices", "Production", "invoice");
// Upload the results so they can be reviewed in Action Center.
var artifacts = du.CreateDocumentValidationArtifacts(extracted, "Shared");
// After the Action Center validation action completes, retrieve the validated results.
var validated = du.RetrieveDocumentValidationArtifacts(artifacts, removeDataFromStorage: true);
}
- Auto-imported namespaces
- Service overview
- Project version or tag
- Common parameters
- Classification
DocumentData ClassifyDocument(string documentPath, string projectName, string projectVersionOrTag, int timeoutMs = 3600000)DocumentData ClassifyDocument(IResource file, string projectName, string projectVersionOrTag, int timeoutMs = 3600000)- Data extraction
IDocumentData<DictionaryData> ExtractDocumentData(string documentPath, string projectName, string projectVersionOrTag, string docType, int timeoutMs = 3600000)IDocumentData<DictionaryData> ExtractDocumentData(IResource file, string projectName, string projectVersionOrTag, string docType, int timeoutMs = 3600000)IDocumentData<DictionaryData> ExtractDocumentData(DocumentData classifiedDocument, string projectName, string projectVersionOrTag, string docType = null, int timeoutMs = 3600000)- Validation artifacts
ContentValidationData CreateDocumentValidationArtifacts(IDocumentData<DictionaryData> automaticExtractionResults, string orchestratorFolderName, string orchestratorBucketName = null)IDocumentData<DictionaryData> RetrieveDocumentValidationArtifacts(ContentValidationData contentValidationData, object completedAppAction = null, bool removeDataFromStorage = false, bool returnAutomaticExtractionResults = false)- Relationship to the activities
- Common patterns
- Classify, then extract
- Extract and prepare data for app tasks containing the validation control