ixp
latest
false
- Introduction
- Setting up your account
- Balance
- Clusters
- Concept drift
- Coverage
- Datasets
- General fields
- Labels (predictions, confidence levels, label hierarchy, and label sentiment)
- Models
- Streams
- Model Rating
- Projects
- Precision
- Recall
- Annotated and unannotated messages
- Extraction Fields
- Sources
- Taxonomies
- Training
- True and false positive and negative predictions
- Validation
- Messages
- Access Control and Administration
- Manage sources and datasets
- Understanding the data structure and permissions
- Creating or deleting a data source in the GUI
- Uploading a CSV file into a source
- Preparing data for .CSV upload
- Creating a dataset
- Multilingual sources and datasets
- Enabling sentiment on a dataset
- Amending dataset settings
- Deleting a message
- Deleting a dataset
- Exporting a dataset
- Using Exchange integrations
- Model training and maintenance
- Understanding labels, general fields, and metadata
- Label hierarchy and best practices
- Comparing analytics and automation use cases
- Turning your objectives into labels
- Overview of the model training process
- Generative Annotation
- Dastaset status
- Model training and annotating best practice
- Training with label sentiment analysis enabled
- Training chat and calls data
- Understanding data requirements
- Train
- Introduction to Refine
- Precision and recall explained
- Precision and Recall
- How validation works
- Understanding and improving model performance
- Reasons for label low average precision
- Training using Check label and Missed label
- Training using Teach label (Refine)
- Training using Search (Refine)
- Understanding and increasing coverage
- Improving Balance and using Rebalance
- When to stop training your model
- Using general fields
- Generative extraction
- Using analytics and monitoring
- Automations and Communications Mining™
- Developer
- Exchange Integration with Azure service user
- Exchange Integration with Azure Application Authentication
- Exchange Integration with Azure Application Authentication and Graph
- Fetching data for Tableau with Python
- Elasticsearch integration
- Self-hosted Exchange integration
- UiPath® Automation Framework
- UiPath® Marketplace activities
- UiPath® official activities
- How machines learn to understand words: a guide to embeddings in NLP
- Prompt-based learning with Transformers
- Efficient Transformers II: knowledge distillation & fine-tuning
- Efficient Transformers I: attention mechanisms
- Deep hierarchical unsupervised intent modelling: getting value without training data
- Fixing annotating bias with Communications Mining™
- Active learning: better ML models in less time
- It's all in the numbers - assessing model performance with metrics
- Why model validation is important
- Comparing Communications Mining™ and Google AutoML for conversational data intelligence
- Licensing
- FAQs and more
Important :
Communications Mining is now part of UiPath IXP. Check the Introduction in the Overview Guide for more details.

Communications Mining user guide
Last updated Aug 1, 2025
Sources
/api/v1/sources
Permissions required: View sources
- Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/sources' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/sources' \ -H "Authorization: Bearer $REINFER_TOKEN" - Node
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "sources": [ { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" } ], "status": "ok" }
{ "sources": [ { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" } ], "status": "ok" }
/api/v1/sources/<project>
Permissions required: View sources
- Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/<project>' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/<project>' \ -H "Authorization: Bearer $REINFER_TOKEN" - Node
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/<project>", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/<project>", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/<project>", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/<project>", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "sources": [ { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" } ], "status": "ok" }
{ "sources": [ { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" } ], "status": "ok" }
/api/v1/sources/<project>/<source_name>
Permissions required: View sources
- Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN" - Node
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
/api/v1/sources/id:<source_id>
Permissions required: View sources
- Bash
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X GET 'https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f' \ -H "Authorization: Bearer $REINFER_TOKEN" - Node
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.get( { url: "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.get( "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
/api/v1/sources/<project>/<source_name>
Permissions required: Sources admin
- Bash
curl -X PUT 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source": { "description": "An optional long form description.", "title": "An Example Source" } }'
curl -X PUT 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source": { "description": "An optional long form description.", "title": "An Example Source" } }' - Node
const request = require("request"); request.put( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { source: { description: "An optional long form description.", title: "An Example Source", }, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.put( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { source: { description: "An optional long form description.", title: "An Example Source", }, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.put( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "source": { "title": "An Example Source", "description": "An optional long form description.", } }, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.put( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={ "source": { "title": "An Example Source", "description": "An optional long form description.", } }, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An optional long form description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-10T23:13:28.340295+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-10T23:13:28.340295+00:00" }, "status": "ok" }
NAME | TYPE | REQUIRED | DESCRIPTION |
---|---|---|---|
language | string | no | The primary language of the source. Supported values are en (English) and Multilingual. Defaults to en. |
title | string | no | One-line human-readable title for the source. |
description | string | no | A longer description of the source. |
should_translate | boolean | no | Whether messages uploaded to this source should be translated into the language where required. Defaults to false.
|
sensitive_properties | array<string> | no | An array of properties which should be marked as sensitive and hidden from non-privileged users. |
bucket_id | string | no | ID of a bucket to load data from. Data will be parsed into comments and loaded into this source. |
/api/v1/sources/<project>/<source_name>
Permissions required: Sources admin
- Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source": { "description": "An alternative description." } }'
curl -X POST 'https://<my_api_endpoint>/api/v1/sources/<project>/example' \ -H "Authorization: Bearer $REINFER_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "source": { "description": "An alternative description." } }' - Node
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { source: { description: "An alternative description." } }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.post( { url: "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, json: true, body: { source: { description: "An alternative description." } }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={"source": {"description": "An alternative description."}}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.post( "https://<my_api_endpoint>/api/v1/sources/<project>/example", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, json={"source": {"description": "An alternative description."}}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An alternative description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-11T08:06:14.944290+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-11T08:06:14.944290+00:00" }, "status": "ok" }
{ "source": { "created_at": "2016-02-10T23:13:28.340295+00:00", "description": "An alternative description.", "id": "18ba5ce699f8da1f", "language": "en", "last_modified": "2016-02-11T08:06:14.944290+00:00", "name": "example", "owner": "<project>", "sensitive_properties": [], "should_translate": false, "title": "An Example Source", "updated_at": "2016-02-11T08:06:14.944290+00:00" }, "status": "ok" }
NAME | TYPE | REQUIRED | DESCRIPTION |
---|---|---|---|
title | string | no | One-line human-readable title for the source. |
description | string | no | A longer description of the source. |
should_translate | boolean | no | Whether messages uploaded to this source should be translated into English where required. Defaults to false. |
sensitive_properties | array<string> | no | An array of properties which should be marked as sensitive and hidden from non-privileged users. |
bucket_id | string | no | ID of a bucket to load data from. Data will be parsed into comments and loaded into this source. |
/api/v1/sources/id:<source_id>
Permissions required: Sources admin
- Bash
curl -X DELETE 'https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f' \ -H "Authorization: Bearer $REINFER_TOKEN"
curl -X DELETE 'https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f' \ -H "Authorization: Bearer $REINFER_TOKEN" - Node
const request = require("request"); request.delete( { url: "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } );
const request = require("request"); request.delete( { url: "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers: { Authorization: "Bearer " + process.env.REINFER_TOKEN, }, }, function (error, response, json) { // digest response console.log(JSON.stringify(json, null, 2)); } ); - Python
import json import os import requests response = requests.delete( "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True))
import json import os import requests response = requests.delete( "https://<my_api_endpoint>/api/v1/sources/id:18ba5ce699f8da1f", headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]}, ) print(json.dumps(response.json(), indent=2, sort_keys=True)) - Response
{ "status": "ok" }
{ "status": "ok" }