DU Learning
1. Create Modern Structured and semi structured steps.
2. Build-It is for creating documents types, upload docs, defining fields, and train
Measure-Checking Performance and checking accuracy after training
Publish- Publishing
Monitor- Monitor usage and project activity
[Link] Types can be of :Invoice, Purchase Order, Receipt, Bank Statement, Credit Note
[Link]: Which document type it is?
5. Directly we cannot train after uploading, we must annotate before training
6. In annotation -There are 3 types of fields - regular field(invoice no:86349), Table Field (Multiple
Rows),Classification(depends on document type)
7. Must annotate all invoices which are uploaded
8. Must have 5 pdfs to get trained
Created Project
Given One Folder name
uploaded 4 invoices
Creating the Filed : Extraction fields- Add -Extraction field,
1. Invoice Number
2. Invoice Date
3. Amount Due
4. Customer Name
-> Table Field : Give Table column names , by giving add column , While Extracting each column we
must tick the below column names
5. Start Training
6. go to measure tab check the fields of ,Dataset,metrics
7. Publish - create project version , give name and click create
Add a file to a storage bucket
Uploading files to an existing storage bucket using Orchestrator APIs is a two-part process:
• First you need to call the
GET /odata/Buckets({key})/[Link] endpoint, that
returns an URI and the HTTP method as a response.
• Then you need to use the HTTP method from the GET response to call the {URI} endpoint,
attach the file you want to upload in binary format, and send it to the URI obtained from the
GET request.
Note:
External applications must include the [Link] scope in order to upload files to an existing
storage bucket. This scope provides the storage permissions needed for upload operations.
GET endpoint
GET {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Buckets({key})/
[Link]
To find out the URI and the HTTP verb, you need to upload the file to an existing storage bucket, then
make a GET request to /odata/Buckets({key})/[Link].
Provide the following parameters and headers:
Path parameters
Data
Path param Description
type
The ID of the storage bucket where you want to upload
key (required) String
your file.
Query parameters
Data
Param Description
type
The name of the file you want to upload, together
path (required) String
with its extension. For example, "my_file.txt".
The content type for the file extension. For example,
contentType (required) String
the content type of .txt extensions is text/plain.
Request headers
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json' \
--header 'X-UIPATH-OrganizationUnitId: {the_ID_of_the_folder_that_contains_the_storage_bucket}'
\
The X-UIPATH-OrganizationUnitId is the ID of the folder that contains the storage bucket.
Example request
curl --location --request GET
'{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Buckets(28053)/Ui
[Link]?path=my_file.txt&contentType=text/plain' \
--header 'x-uipath-organizationunitid: 3991326' \
--header 'Authorization: Bearer 1234'
The access token in the example is 1234 for length considerations.
Response body
The response body contains the URI and the HTTP verb required to upload the file to the storage
bucket in binary format.
"@[Link]":
"{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UiPath
.[Link]",
"Uri": "[Link]
0fa7/my_file.txt?sv=2021-08-06&st=2023-01-13T16%3A32%3A12Z&se=2023-01-
13T17%3A32%3A42Z&sr=b&sp=cw&sig=xB3W02xGYHfw%3D",
"Verb": "PUT",
"Headers": {
"Keys": [
"x-ms-blob-type"
],
"Values": [
"BlockBlob"
PUT endpoint
PUT {URI}
The URI is the value of the "Uri" key from the response body.
Request headers
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: text/plain'
Note:
• Make sure to include the headers you receive in the GET response body, and assign values to
them. For example, for Azure Blob Storage, the returned header is x-ms-blob-type-header,
which uses the BlockBlob value.
• Do not use an authorization header with this request.
Request body
Upload the file in binary format. You must use the same file you used as a query parameter in the
GET request. In this case, "my_file.txt".
--data-binary '@/C:/Users/[Link]/OneDrive/Documents/my_file.txt'
Example request
Let's say you gathered all the information needed to build the API call.
curl --location --request PUT '[Link]
905f/BlobFilePersistence/2760e0fe-0fa7/my_file.txt?sv=2021-08-06&st=2023-01-
13T16%3A32%3A12Z&se=2023-01-13T17%3A32%3A42Z&sr=b&sp=cw&sig=xB3W02xGYHfw%3D' \
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: text/plain' \
--data-binary '@/C:/Users/[Link]/OneDrive/Documents/my_file.txt'
In the Orchestrator UI, the file is visible in your storage bucket.
Folders requests
API endpoints for managing folders and assigning users and roles within them.
Assigning a user to a folder with a specified role
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Folders/[Link]
[Link]
Request headers
Key Value
Authorization Bearer
Request body
"assignments": {
"UserIds": [58571],
"RolesPerFolder": [
"FolderId": 14091,
"RoleIds": [25]
Response code
204 No Content
Getting all the users in a folder and their roles
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Folders/[Link]
[Link](key=14089,includeInherited=true)?$expand=UserEntity%
2CRoles
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"@[Link]":
"{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UserR
oles",
"@[Link]": 2,
"value": [
"Id": 52454,
"UserEntity": {
"UserName": "admin",
"IsInherited": true,
"Id": 52454
},
"Roles": [
"Name": "Administrator",
"Origin": "Assigned",
"Id": 13
},
"Name": "Test",
"Origin": "Assigned",
"Id": 25
},
"Id": 58571,
"UserEntity": {
"UserName": "Petrix",
"IsInherited": false,
"Id": 58571
},
"Roles": [
"Name": "Test",
"Origin": "Assigned",
"Id": 25
}
]
Checking if a folder is a personal workspace
The IsPersonal boolean property in the response body of
the \FolderNavigation\GetFolderNavigationContextForCurrentUser endpoint checks if the folder with
the queried ID (for example, 302428) is a personal workspace.
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/api/FoldersNavigation/Get
FolderNavigationContextForCurrentUser?folderId=302428
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"Id": 302428,
"DisplayName": "[Link]@[Link]'s workspace",
"IsSelectable": true,
"IsPersonal": true,
"ProvisionType": "Automatic",
"Ancestors": [],
"ChildrenPage": [],
"ChildrenCount": 0
Generic Tasks requests
API endpoints for creating and managing external tasks linked to systems such as Jira or Salesforce.
External tasks
Create external task
Create a new external tasks for operations performed in external systems, such as JIRA or Salesforce.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Create
Task
Request headers
Key Value
Authorization Bearer
Request body
"type": "ExternalTask",
"externalTag": "JIRA",
"title": "Close Ticket",
"priority": "High",
"data": {},
"taskCatalogName": "Tickets"
Response code
201 Created
Response body
"status": 0,
"data": {},
"action": null,
"externalTag": "JIRA",
"id": 1378
Complete external task
Complete an external task based on the taskId. The taskId must be included in the body of the
request as in the example below.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Compl
eteTask
Request headers
Key Value
Authorization Bearer
Request body
"taskId": 1378,
"data": {},
"action": "close"
Response code
204 No Content
Document Validation tasks
Create Document Validation task
Create a document validation task in Orchestrator enabling users to validate document extraction
results.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Create
Task
Request headers
Key Value
Authorization Bearer
Request body
"type": "DocumentValidationTask",
"externalTag": "DV",
"title": "Build Certificate",
"priority": "Low",
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"taskCatalogName": "MinodoraCertificates"
Response code
201 Created
Response body
"status": 0,
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"action": null,
"externalTag": "DV",
"organizationUnitId": 1424,
"id": 27627
Retrieve Document Validation task
Return a document validation task details based on the taskId. The taskId must be included in the
request. For
example, {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTas
ks/GetTaskDataById?taskId=1378.
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/GetTa
skDataById?taskId=1378
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"status": 0,
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"action": null,
"externalTag": null,
"organizationUnitId": 828,
"id": 1378
DU Learning
1. Create Modern Structured and semi structured steps.
2. Build-It is for creating documents types, upload docs, defining fields, and train
Measure-Checking Performance and checking accuracy after training
Publish- Publishing
Monitor- Monitor usage and project activity
[Link] Types can be of :Invoice, Purchase Order, Receipt, Bank Statement, Credit Note
[Link]: Which document type it is?
5. Directly we cannot train after uploading, we must annotate before training
6. In annotation -There are 3 types of fields - regular field(invoice no:86349), Table Field (Multiple
Rows),Classification(depends on document type)
7. Must annotate all invoices which are uploaded
8. Must have 5 pdfs to get trained
Created Project
Given One Folder name
uploaded 4 invoices
Creating the Filed : Extraction fields- Add -Extraction field,
1. Invoice Number
2. Invoice Date
3. Amount Due
4. Customer Name
-> Table Field : Give Table column names , by giving add column , While Extracting each column we
must tick the below column names
5. Start Training
6. go to measure tab check the fields of ,Dataset,metrics
7. Publish - create project version , give name and click create
Add a file to a storage bucket
Uploading files to an existing storage bucket using Orchestrator APIs is a two-part process:
• First you need to call the
GET /odata/Buckets({key})/[Link] endpoint, that
returns an URI and the HTTP method as a response.
• Then you need to use the HTTP method from the GET response to call the {URI} endpoint,
attach the file you want to upload in binary format, and send it to the URI obtained from the
GET request.
Note:
External applications must include the [Link] scope in order to upload files to an existing
storage bucket. This scope provides the storage permissions needed for upload operations.
GET endpoint
GET {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Buckets({key})/
[Link]
To find out the URI and the HTTP verb, you need to upload the file to an existing storage bucket, then
make a GET request to /odata/Buckets({key})/[Link].
Provide the following parameters and headers:
Path parameters
Data
Path param Description
type
The ID of the storage bucket where you want to upload
key (required) String
your file.
Query parameters
Data
Param Description
type
The name of the file you want to upload, together
path (required) String
with its extension. For example, "my_file.txt".
The content type for the file extension. For example,
contentType (required) String
the content type of .txt extensions is text/plain.
Request headers
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json' \
--header 'X-UIPATH-OrganizationUnitId: {the_ID_of_the_folder_that_contains_the_storage_bucket}'
\
The X-UIPATH-OrganizationUnitId is the ID of the folder that contains the storage bucket.
Example request
curl --location --request GET
'{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Buckets(28053)/Ui
[Link]?path=my_file.txt&contentType=text/plain' \
--header 'x-uipath-organizationunitid: 3991326' \
--header 'Authorization: Bearer 1234'
The access token in the example is 1234 for length considerations.
Response body
The response body contains the URI and the HTTP verb required to upload the file to the storage
bucket in binary format.
"@[Link]":
"{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UiPath
.[Link]",
"Uri": "[Link]
0fa7/my_file.txt?sv=2021-08-06&st=2023-01-13T16%3A32%3A12Z&se=2023-01-
13T17%3A32%3A42Z&sr=b&sp=cw&sig=xB3W02xGYHfw%3D",
"Verb": "PUT",
"Headers": {
"Keys": [
"x-ms-blob-type"
],
"Values": [
"BlockBlob"
PUT endpoint
PUT {URI}
The URI is the value of the "Uri" key from the response body.
Request headers
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: text/plain'
Note:
• Make sure to include the headers you receive in the GET response body, and assign values to
them. For example, for Azure Blob Storage, the returned header is x-ms-blob-type-header,
which uses the BlockBlob value.
• Do not use an authorization header with this request.
Request body
Upload the file in binary format. You must use the same file you used as a query parameter in the
GET request. In this case, "my_file.txt".
--data-binary '@/C:/Users/[Link]/OneDrive/Documents/my_file.txt'
Example request
Let's say you gathered all the information needed to build the API call.
curl --location --request PUT '[Link]
905f/BlobFilePersistence/2760e0fe-0fa7/my_file.txt?sv=2021-08-06&st=2023-01-
13T16%3A32%3A12Z&se=2023-01-13T17%3A32%3A42Z&sr=b&sp=cw&sig=xB3W02xGYHfw%3D' \
--header 'x-ms-blob-type: BlockBlob' \
--header 'Content-Type: text/plain' \
--data-binary '@/C:/Users/[Link]/OneDrive/Documents/my_file.txt'
In the Orchestrator UI, the file is visible in your storage bucket.
Folders requests
API endpoints for managing folders and assigning users and roles within them.
Assigning a user to a folder with a specified role
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Folders/[Link]
[Link]
Request headers
Key Value
Authorization Bearer
Request body
"assignments": {
"UserIds": [58571],
"RolesPerFolder": [
"FolderId": 14091,
"RoleIds": [25]
Response code
204 No Content
Getting all the users in a folder and their roles
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Folders/[Link]
[Link](key=14089,includeInherited=true)?$expand=UserEntity%
2CRoles
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"@[Link]":
"{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UserR
oles",
"@[Link]": 2,
"value": [
"Id": 52454,
"UserEntity": {
"UserName": "admin",
"IsInherited": true,
"Id": 52454
},
"Roles": [
"Name": "Administrator",
"Origin": "Assigned",
"Id": 13
},
"Name": "Test",
"Origin": "Assigned",
"Id": 25
},
"Id": 58571,
"UserEntity": {
"UserName": "Petrix",
"IsInherited": false,
"Id": 58571
},
"Roles": [
"Name": "Test",
"Origin": "Assigned",
"Id": 25
Checking if a folder is a personal workspace
The IsPersonal boolean property in the response body of
the \FolderNavigation\GetFolderNavigationContextForCurrentUser endpoint checks if the folder with
the queried ID (for example, 302428) is a personal workspace.
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/api/FoldersNavigation/Get
FolderNavigationContextForCurrentUser?folderId=302428
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"Id": 302428,
"DisplayName": "[Link]@[Link]'s workspace",
"IsSelectable": true,
"IsPersonal": true,
"ProvisionType": "Automatic",
"Ancestors": [],
"ChildrenPage": [],
"ChildrenCount": 0
Generic Tasks requests
API endpoints for creating and managing external tasks linked to systems such as Jira or Salesforce.
External tasks
Create external task
Create a new external tasks for operations performed in external systems, such as JIRA or Salesforce.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Create
Task
Request headers
Key Value
Authorization Bearer
Request body
"type": "ExternalTask",
"externalTag": "JIRA",
"title": "Close Ticket",
"priority": "High",
"data": {},
"taskCatalogName": "Tickets"
Response code
201 Created
Response body
{
"status": 0,
"data": {},
"action": null,
"externalTag": "JIRA",
"id": 1378
Complete external task
Complete an external task based on the taskId. The taskId must be included in the body of the
request as in the example below.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Compl
eteTask
Request headers
Key Value
Authorization Bearer
Request body
"taskId": 1378,
"data": {},
"action": "close"
Response code
204 No Content
Document Validation tasks
Create Document Validation task
Create a document validation task in Orchestrator enabling users to validate document extraction
results.
POST
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/Create
Task
Request headers
Key Value
Authorization Bearer
Request body
"type": "DocumentValidationTask",
"externalTag": "DV",
"title": "Build Certificate",
"priority": "Low",
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"taskCatalogName": "MinodoraCertificates"
Response code
201 Created
Response body
"status": 0,
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"action": null,
"externalTag": "DV",
"organizationUnitId": 1424,
"id": 27627
Retrieve Document Validation task
Return a document validation task details based on the taskId. The taskId must be included in the
request. For
example, {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTas
ks/GetTaskDataById?taskId=1378.
GET
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/tasks/GenericTasks/GetTa
skDataById?taskId=1378
Request headers
Key Value
Authorization Bearer
Response code
200 OK
Response body
"status": 0,
"data": {
"BucketId": 25,
"DocumentId": "Construction Tender Document",
"DocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\Construction Tender
[Link]",
"EncodedDocumentPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TextPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"DocumentObjectModelPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"TaxonomyPath": "default\\bc40e5c8-3e5d-4a4e-8beb-8ed4595c265d\\[Link]",
"AutomaticExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\input_results.zip",
"ValidatedExtractionResultsPath": "default\\bc40e5c8-3e5d-4a4e-8beb-
8ed4595c265d\\output_results.zip",
"Version": "1.0"
},
"action": null,
"externalTag": null,
"organizationUnitId": 828,
"id": 1378