

Last date modified: August 11 2025
The Processing API provides HTTP services based on .NET interfaces. The Relativity REST API supports these services, which you can use to automate processing by following standard Representational State Transfer (REST) features.
Similar to the .NET interfaces on the Processing API, you can use the following services supported through REST to automate your processing workflows:
All of these services support create, read, and update operations except for the Processing Job Manager, which supports running inventory, discovery, and publishing jobs. You use the SaveAsync request for create and update operations. Additionally, all of these operations run asynchronously.
You must install the Processing application in your Relativity environment to automate processing workflows with the Processing API. For more information, see Installing and configuring Processing on the Relativity Documentation site.
See these related pages:
You can use the following .NET code as the REST client for performing any of the operations available in the Processing API. The code currently illustrates how to submit a discovery job, but you can modify it as follows to perform other operations:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Set up the client.
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://localhost/");
//Set the required headers.
httpClient.DefaultRequestHeaders.Add("X-CSRF-Header", "-");
httpClient.DefaultRequestHeaders.Add("Authorization", "Basic bXkudXNlckBrY3VyYS5jb206Q250VGNoVGhzMTIzNCE=");
//Call the operation that you want to run.
string url = "Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Job Manager/SubmitDiscoveryJobsAsync";
StringContent content = new StringContent(QueryInputJSON);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = httpClient.PostAsync(url, content).Result;
string result = response.Content.ReadAsStringAsync().Result;
bool success = HttpStatusCode.Ok == response.StatusCode;
//Parse the result with Json.NET.
JObject resultObject = JObject.Parse(result);
A custodian is a user who's associated with the data included in a processing job. For more information, see
Use this URL on the Processing Custodian Manager service to create or update a custodian:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Custodian Manager/SaveAsync
You can send a request for a custodian who is an individual or an entity, such as corporation, data location, or other construct.
The request to create or update a custodian who is an individual must contains the following fields:
1
2
3
4
5
6
7
8
9
{
"Custodian":{
"DocumentNumberingPrefix":"REL",
"FirstName":"Custodian First Name",
"LastName":"Custodian Last Name",
"CustodianType":"Person"
},
"workspaceArtifactId":1093143
}
The request to create or update a custodian who is an entity contains the following fields:
1
2
3
4
5
6
7
8
{
"Custodian":{
"DocumentNumberingPrefix":"relativity-",
"Name":"Relativity ODA LLC",
"CustodianType":"Other"
},
"workspaceArtifactId":1093143
}
The response returns the Artifact ID of the custodian that was created or updated, such as the integer 1060372.
Use this URL on the Processing Custodian Manager service to retrieve a custodian:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Custodian Manager/ReadAsync
The request must include Artifact ID for the custodian and the workspace:
1
2
3
4
{
"ArtifactId":1041433,
"WorkspaceArtifactId":1093143
}
The response for custodian who is an individual contains the following fields:
1
2
3
4
5
6
7
8
{
"DocumentNumberingPrefix": "Laura-"
"FirstName": "Laura"
"LastName": "Libera"
"CustodianType": "Person"
"ArtifactID": 1038911
"Name": "Libera, Laura"
}
The response for custodian that is an entity contains the same fields as a custodian who is a person. However, the CustodianType fields contains "Entity", and "FirstName" and "LastName" don't contain any values.
1
2
3
4
5
6
7
8
{
"DocumentNumberingPrefix": "relativity-"
"FirstName": "-"
"LastName": "-"
"CustodianType": "Entity"
"ArtifactID": 1038912
"Name": "Relativity ODA LLC"
}
The Processing Profile represents a collection of settings used to process documents. Processing profiles are associated with processing sets, so you must provide the Artifact ID of a processing profile when creating or updating a processing set, see Processing Set Manager for more details. The Processing Profile can be updated using the Object Manager API, use the Create endpoint for creating a new profile, the Update endpoint for updating a profile, the Query endpoint for retrieving a profile, and the Delete endpoint for removing a profile from Relativity. Sample methods are provided below for performing all of these actions with a Processing Profile.
The Processing Profile has multiple properties for specifying numbering; deNISTing, extraction, and deduplication settings.
You can find more information about processing profile fields on the following pages:
Before you can create or update fields within a Processing Profile, the ArtifactID’s will need to be queried. Use the ReadMultipleArtifactIdsAsync endpoint from the Artifact Guid Manager to retrieve the field ArtifactID's that are needed. Once the ArtifactID’s are collected using the corresponding Guid from the list below, they can be used to identify which field values are being set.
1
<host>/Relativity.REST/api/Relativity.Services.ArtifactGuid.IArtifactGuidModule/Artifact%20Guid%20Manager/ReadMultipleArtifactIdsAsync
1
{"workspaceId":10636370,"guids":["7161a505-54ed-4eb1-94fe-004bcdc3e988","5f300c10-4660-4a4d-bfa9-e32c9846c3fa"]}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public async Task<Dictionary<Guid, int>> ReadMultipleArtifactIdsAsync(HttpClient httpClient, int workspaceId, List<Guid> guids)
{
var apiUrl = "/Relativity.Rest/API/Relativity.Services.ArtifactGuid.IArtifactGuidModule/Artifact%20Guid%20Manager/ReadMultipleArtifactIdsAsync";
var payloadObject = new
{
workspaceId = workspaceId,
guids = guids,
};
StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync(apiUrl, payload);
string resultString = await response.Content.ReadAsStringAsync();
var artifactIDs = new Dictionary<Guid, int>();
if (response.IsSuccessStatusCode)
{
dynamic result = JArray.Parse(resultString) as JArray;
foreach (var obj in result)
{
int artifactID = obj.ArtifactID;
Guid guid = obj.Guid;
artifactIDs.Add(guid, artifactID);
}
}
return artifactIDs;
}
To access Processing Profile fields via the Relativity API, enter the following IDs:
To create a processing profile in a workspace, set the required fields using their ArtifactID’s queried from the Guid list above and the value. Call the Object Manager Create endpoint by passing it the new Processing Profile values and the Artifact ID of a Workspace object.
1
<host>/Relativity.REST/api/Relativity.Objects/Workspace/{workspaceId}/Object/Create
1
{"request":{"ObjectType":{"ArtifactTypeID":1000041},"FieldValues":[{"Field":{"ArtifactID":1039245},"Value":"Processing Profile Name"},{"Field":{"ArtifactID":1039459},"Value":[{"ArtifactID":1039609,"Name":"Afrikaans","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null},{"ArtifactID":1039610,"Name":"Albanian","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}]},{"Field":{"ArtifactID":1039460},"Value":{"ArtifactID":1037893,"Name":"(UTC-06:00) Central Time (US & Canada)","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039461},"Value":{"ArtifactID":1039463,"Name":"Global","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039465},"Value":true},{"Field":{"ArtifactID":1039466},"Value":"000001"},{"Field":{"ArtifactID":1039467},"Value":true},{"Field":{"ArtifactID":1039468},"Value":true},{"Field":{"ArtifactID":1039469},"Value":[{"ArtifactID":1039472,"Name":null,"Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}]},{"Field":{"ArtifactID":1039473},"Value":false},{"Field":{"ArtifactID":1039474},"Value":{"ArtifactID":1346192,"Name":"Ring L0001 (201010)","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039475},"Value":{"ArtifactID":1039476,"Name":"DeNIST all files","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039478},"Value":true},{"Field":{"ArtifactID":1039479},"Value":{"ArtifactID":1039480,"Name":"High (Slowest Speed)","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039483},"Value":true},{"Field":{"ArtifactID":1039484},"Value":{"ArtifactID":1039486,"Name":"Extract and place at end","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1039488},"Value":{"ArtifactID":1272519,"Name":"Relativity","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1042412},"Value":{"ArtifactID":1042414,"Name":". (period)","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1042416},"Value":{"ArtifactID":1042423,"Name":"7","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1042427},"Value":{"ArtifactID":1042428,"Name":"Auto Number","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1042430},"Value":{"ArtifactID":1042431,"Name":null,"Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1043873},"Value":{"ArtifactID":1272521,"Name":null,"Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1043876},"Value":{"ArtifactID":1272522,"Name":null,"Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1043879},"Value":true},{"Field":{"ArtifactID":1046224},"Value":{"ArtifactID":1046225,"Name":"MSG","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1272523},"Value":true},{"Field":{"ArtifactID":1272524},"Value":{"ArtifactID":1272525,"Name":"All Files","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1272527},"Value":{"ArtifactID":1272529,"Name":"Exclusion","Guids":[],"FieldType":0,"FieldCategory":0,"SubObjectFields":[],"Value":null}},{"Field":{"ArtifactID":1272530},"Value":"txt pdf"}]}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public async Task<int?> CreateProcessingProfile(HttpClient httpClient, int workspaceId)
{
var objType = new ObjectType() { ArtifactTypeID = 1000041 }; // ArtifactTypeID 1000041 is the Processing Profile ArtifactTypeID
var fieldList = new List<FieldValue>() {
new FieldValue() { ArtifactID = 1039245, Value = "Processing Profile Name" },
new FieldValue() { ArtifactID = 1039459, Value = new List<FieldValue>() { new FieldValue() { ArtifactID = 1039609, Name = "Afrikaans" }, new FieldValue() { ArtifactID = 1039610, Name = "Albanian" } } },
new FieldValue() { ArtifactID = 1039460, Value = new FieldValue() { ArtifactID = 1037893, Name = "(UTC-06:00) Central Time (US & Canada)" } },
new FieldValue() { ArtifactID = 1039461, Value = new FieldValue() { ArtifactID = 1039463, Name = "Global" } },
new FieldValue() { ArtifactID = 1039465, Value = true },
new FieldValue() { ArtifactID = 1039466, Value = "000001" },
new FieldValue() { ArtifactID = 1039467, Value = true },
new FieldValue() { ArtifactID = 1039468, Value = true },
new FieldValue() { ArtifactID = 1039469, Value = new List<FieldValue>() { new FieldValue() { ArtifactID = 1039472 } } },
new FieldValue() { ArtifactID = 1039473, Value = false },
new FieldValue() { ArtifactID = 1039474, Value = new FieldValue() { ArtifactID = 1346192, Name = "Ring L0001 (201010)" } },
new FieldValue() { ArtifactID = 1039475, Value = new FieldValue() { ArtifactID = 1039476, Name = "DeNIST all files" } },
new FieldValue() { ArtifactID = 1039478, Value = true },
new FieldValue() { ArtifactID = 1039479, Value = new FieldValue() { ArtifactID = 1039480, Name = "High (Slowest Speed)" } },
new FieldValue() { ArtifactID = 1039483, Value = true },
new FieldValue() { ArtifactID = 1039484, Value = new FieldValue() { ArtifactID = 1039486, Name = "Extract and place at end" } },
new FieldValue() { ArtifactID = 1039488, Value = new FieldValue() { ArtifactID = 1272519, Name = "Relativity" } },
new FieldValue() { ArtifactID = 1042412, Value = new FieldValue() { ArtifactID = 1042414, Name = ". (period)" } },
new FieldValue() { ArtifactID = 1042416, Value = new FieldValue() { ArtifactID = 1042423, Name = "7" } },
new FieldValue() { ArtifactID = 1042427, Value = new FieldValue() { ArtifactID = 1042428, Name = "Auto Number" } },
new FieldValue() { ArtifactID = 1042430, Value = new FieldValue() { ArtifactID = 1042431 } },
new FieldValue() { ArtifactID = 1043873, Value = new FieldValue() { ArtifactID = 1272521 } },
new FieldValue() { ArtifactID = 1043876, Value = new FieldValue() { ArtifactID = 1272522 } },
new FieldValue() { ArtifactID = 1043879, Value = true },
new FieldValue() { ArtifactID = 1046224, Value = new FieldValue() { ArtifactID = 1046225, Name = "MSG" } },
new FieldValue() { ArtifactID = 1272523, Value = true },
new FieldValue() { ArtifactID = 1272524, Value = new FieldValue() { ArtifactID = 1272525, Name = "All Files" } },
new FieldValue() { ArtifactID = 1272527, Value = new FieldValue() { ArtifactID = 1272529, Name = "Exclusion" } },
new FieldValue() { ArtifactID = 1272530, Value = "txt pdf" },
};
var APIUrl = "/Relativity.Rest/API/Relativity.Objects/workspace";
var payloadObject = new
{
request = new
{
ObjectType = new
{
ArtifactTypeID = objType?.ArtifactTypeID
},
FieldValues = fieldList?.Select(fv => new
{
Field = new
{
ArtifactID = fv.ArtifactID,
},
Value = fv.Value
}),
},
};
StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync($"{APIUrl}/{workspaceId}/object/create", payload);
string resultString = await response.Content.ReadAsStringAsync();
int? outId = null;
if (response.IsSuccessStatusCode)
{
dynamic result = JObject.Parse(resultString) as JObject;
int.TryParse((string)result["Object"]["ArtifactID"], out int id);
outId = id;
}
return outId;
}
Use the Object Manager Query endpoint to retrieve a list of processing profiles from Relativity if passing in the ArtifactTypeId or pass in the ArtifactId of the specific Processing Profile to retrieve child FieldValues.
1
<host>/Relativity.REST/api/Relativity.ObjectManager/v1/Workspace/{workspaceId}/Object/Query
1
2
3
4
5
6
{"request":
{"ObjectType":
{"ArtifactTypeID":1000041},"Condition":"","Sorts":"","Fields":""},
"start":0,
"length":10
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public async Task<string> QueryProcessingProfile(HttpClient httpClient, int workspaceId)
{
var artifactTypeId = 1000041;
var APIUrl = "/Relativity.Rest/API/Relativity.ObjectManager/v1";
var payloadObject = new
{
request = new
{
ObjectType = new
{
ArtifactTypeID = artifactTypeId
},
Condition = "",
Sorts = "",
Fields = "",
},
start = 0,
length = 10,
};
StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync($"{APIUrl}/workspace/{workspaceId}/object/query", payload);
return await response.Content.ReadAsStringAsync();
}
To update a processing profile, modify the profile fields as necessary by passing in the ArtifactID and Value of the field along with the Processing Profile ArtifactID and then pass this object to the Object Manager Update endpoint.
1
<host>/Relativity.REST/api/Relativity.Objects/Workspace/{workspaceId}/Object/Update
1
2
3
4
5
{"request":
{"Object":
{"ArtifactID":1395130},"FieldValues":[{"Field":{"ArtifactID":1039245},"Value":"NewProfileName"}]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public async Task<string> UpdateProcessingProfile(HttpClient httpClient, int workspaceId)
{
int artifactId = 1395130; // Processing Profile ArtifactId
var fieldList = new List<FieldValue>() {
new FieldValue() { ArtifactID = 1039245, Value = "New Profile Name" } // Name field ArtifactId and Value
};
var APIUrl = "/Relativity.Rest/API/Relativity.Objects/workspace";
var payloadObject = new
{
request = new
{
Object = new
{
ArtifactID = artifactId
},
FieldValues = fieldList?.Select(fv => new
{
Field = new
{
ArtifactID = fv.ArtifactID,
},
Value = fv.Value
}),
},
};
StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync($"{APIUrl}/{workspaceId}/object/update", payload);
return await response.Content.ReadAsStringAsync();
}
Use the Object Manager Delete endpoint to remove a processing profile from Relativity by passing in the Processing Profile ArtifactId and WorkspaceId.
1
<host>/Relativity.REST/api/Relativity.Objects/Workspace/{workspaceId}/Object/Delete
1
2
3
4
5
{"request":
{"Object":
{"ArtifactID":1395122}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public async Task<string> DeleteProcessingProfile(HttpClient httpClient, int workspaceId)
{
int artifactId = 1395122; // Processing Profile ArtifactId
string APIUrl = "/Relativity.Rest/API/Relativity.Objects/Workspace";
var payloadObject = new
{
request = new
{
Object = new
{
ArtifactID = artifactId
},
},
};
StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync($"{APIUrl}/{workspaceId}/object/delete", payload);
return await response.Content.ReadAsStringAsync();
}
A data source contains the path used to specify the location of the files that you want to discover during processing. For more information, see
Use this URL on the Processing Data Source Manager service to update or create a data source:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Data Source Manager/SaveAsync
The request must contain an InputPath field that specifies a file path, which the resource pool in the workspace can access. For more information, see Resource Pools on the Relativity RelativityOne Documentation site. It may also contain the StartNumber and IsStartNumberVisible properties.
StartNumber should not be used if the Processing Profile has Level Numbering selected for Numbering Type. If Level Numbering is selected for Numbering Type, set LevelTwoStartNumber to the value used to begin numbering for the second level (box number) of Level Numbering when publishing documents from a specific data source. Set LevelThreeStartNumber to the value used to begin numbering for the third level (folder number) of Level Numbering when publishing documents from a specific data source. Set LevelFourStartNumber to the value used to begin numbering for the fourth level (document number) of Level Numbering when publishing documents from a specific data source.
For more information, see Processing data sources.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"processingDataSource": {
"Custodian":1038885,
"DestinationFolder":1003697,
"DocumentNumberingPrefix":"REL",
"InputPath":"\\\\localhost\\FileShare\\My Documents\\History of English.msg",
"OcrLanguages":[
"English"
],
"Order":123,
"ProcessingSet":{
"ArtifactID":1038907
},
"TimeZone":1036905,
"IsStartNumberVisible":true,
"StartNumber":8,
"ArtifactID":1038908,
"Name":"1038908 - History of English"
},
"workspaceArtifactId":1378006
}
The response returns the Artifact ID of the data source that was created or updated, such as the integer 1046822.
Use this URL on the Processing Data Source Manager service to retrieve a data source:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Data Source Manager/ReadAsync
The request must include Artifact ID for the data source that you want to read, and the workspace where the data source resides:
1
2
3
4
{
"ArtifactId":1038908,
"workspaceArtifactId":1378006
}
The response for a read operation returns a JSON object with the following fields. The Name field for the processing set is always an empty string, while the Name field for the data source usually contains its Artifact ID.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"Custodian": 1038885,
"DestinationFolder": 1003697,
"DocumentNumberingPrefix": "REL-",
"InputPath": "\\localhost\FileShare\My Documents\History of English.msg",
"IsNew": false,
"OcrLanguages": [
"English"
],
"Order": 123,
"ProcessingSet": {
"ArtifactID": 1038907,
"Name": ""
},
"TimeZone": 1036905,
"StartNumber": 8,
"IsStartNumberVisible": true,
"ArtifactID": 1038908,
"Name": "1038908 - History of English"
}
You can use the ValidDeleteAsync endpoint to check if the specified processing data source is safe to be deleted. For example, if the processing set is already discovered or canceled. Use this URL on the Processing Data Source Manager service for deletion validation of the processing sets with the criteria specified in the JSON request:
1
<host>/relativity.rest/api/Relativity.Processing.Services.IProcessingModule/workspace/{workspaceId}/processing-data-sources/{processingDataSourceId}/validate-delete
The request must include the following fields:
The response includes the following fields:
1
2
3
4
5
6
{
"CanDelete": false,
"Reasons": [
"You can't delete the data source because the processing set has already been discovered."
]
}
A processing set object links a processing profile to one or more data sources. For more information, see
Use this URL on the Processing Set Manager service to create or update a processing set:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Set Manager/SaveAsync
The request must include the Artifact ID for the workspace that contains the processing set, and the name and Artifact ID of the processing profile. You can also optionally include a list of recipients who receive email notifications after the creation or update of the processing set completes.
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"workspaceArtifactId":1093143,
"ProcessingSet":{
"EmailNotificationRecipients":[
"jsmith@relativity.com",
"bjones@relativity.com"
],
"Name":"Processing Set Name",
"Profile":{
"ArtifactID":1041350
}
}
}
The response returns the Artifact ID of the processing set that was created or updated, such as the integer 1046784.
Use this URL on the Processing Set Manager service to retrieve a processing set:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Set Manager/ReadAsync
The request must include Artifact ID for the processing set and the workspace that contains it:
1
2
3
4
{
"artifactId":1045777,
"workspaceArtifactId":1093143
}
The response includes the following fields. The Name field for the processing profile is always an empty string.
1
2
3
4
5
6
7
8
9
{
"Profile":{
"ArtifactID":1056549,
"Name":"",
"IsNew":false
},
"ArtifactID":1090382,
"Name":"My Processing Set"
}
Use the GetDocumentAggregates endpoint to retrieve document aggregates and other information about processing sets with the status of Completed or Completed with errors in a specific workspace. For more information about the GetDocumentAggregates() method, see Retrieve a list of processing sets and related aggregate information.
Use this URL on the Processing Set Manager service to retrieve the processing sets with the criteria specified in the JSON request:
1
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing Set Manager/GetDocumentAggregates
The request must include the following fields:
In addition, the request may optionally include these fields:
1
2
3
4
5
6
7
8
9
{
"request":{
"WorkspaceArtifactId":1023139,
"PageSize":15,
"Page":0,
"SortColumnName":"PublishedDocumentSizeInBytes",
"SortDescending":true
}
}
The response includes the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"TotalPublishedDocuments": 15,
"TotalPublishedDocumentSizeInBytes": 3563255,
"TotalProcessingSets": 2,
"ProcessingSetDocumentInfo": [
{
"ProcessingSetId": 1038688,
"ProcessingSetName": "Test 1",
"ProcessingSetDateCreated": "2016-06-02T19:25:42.547",
"PublishedDocumentCount": 14,
"PublishedDocumentSizeInBytes": 3531511
},
{
"ProcessingSetId": 1042347,
"ProcessingSetName": "Test 2",
"ProcessingSetDateCreated": "2016-06-09T19:17:27.253",
"PublishedDocumentCount": 1,
"PublishedDocumentSizeInBytes": 31744
}
]
}
Use the summary endpoint to retrieve processing set summary data in a specific workspace to display to console, such as environment errors, discover and publish status, and more. For more information, see Retrieve a list of processing sets and related aggregate information.
Use this URL on the Processing Set Manager service to retrieve the processing sets with the criteria specified in the JSON request:
1
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/workspace/{workspaceId}/processing-sets/{processingSetId}/summary
The request must include the following fields:
The response includes the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"SetState": {
"ArtifactId": 1043783,
"InventoryStatus": "4bab4cc3-a8a8-438c-a649-6fd4e0d111eb",
"DiscoverStatus": "be180e9d-8abf-41f8-8507-37bd1d22f72e",
"PublishStatus": "fc78eb19-b905-479c-9c3c-6fc49b95ea08",
"Canceled": false,
"ProcessingProfileId": 1040502
},
"HasRunningJobs": false,
"EnvironmentErrors": [],
"DataSourceIds": [
1043784
],
"DataSourceHasDocumentLevelErrors": false,
"DataSourceHasJobLevelErrors": false
}
Use the SubmitInventoryJobsAsync endpoint to run an inventory job. Before you run a discovery job, you may want to exclude irrelevant raw files from your data set, such as eliminating NIST file types. You can perform this task by executing an inventory job. You can only run an inventory job on processing sets that haven't been discovered. If you want to apply filtering to your data, set your filters through the Relativity UI after the inventory job completes. For more information, see
Use this URL on the Processing Job Manager service to run an inventory job:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Job Manager/SubmitInventoryJobsAsync
The request must include Artifact ID for the processing set and the workspace where it resides:
1
2
3
4
5
6
{
"InventoryJob":{
"ProcessingSetId":1046785,
"WorkspaceArtifactId":1093143
}
}
The response returns the status code of 200 when the job completes successfully.
After you create a processing set and add a data source to it, you can initiate a discovery or processing job. During a job run, the processing engine discovers files in the data source based on the values specified in the processing set. For more information, see
Use this URL on the Processing Job Manager service to run a discovery job:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Job Manager/SubmitDiscoveryJobsAsync
The request must include Artifact ID for the processing set and the workspace where it resides:
1
2
3
4
5
6
{
"DiscoveryJob":{
"ProcessingSetId":1046785,
"WorkspaceArtifactId":1093143
}
}
The response returns the status code of 200 when the job completes successfully.
Use the SubmitPublishJobsAsync endpoint to run publishing jobs. You can provide reviewers in Relativity with access to process data by publishing it to a workspace after it has been discovered. You must run a discovery job on the date before you can run a publishing job on it. For more information, see
Use this URL on the Processing Job Manager service to run an publishing job:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Job Manager/SubmitPublishJobsAsync
The request must include Artifact ID for the processing set and the workspace where it resides:
1
2
3
4
5
6
{
"PublishJob":{
"ProcessingSetId":1046785,
"WorkspaceArtifactId":1093143
}
}
The response returns the status code of 200 when the job completes successfully.
You can use the SubmitCancelJobAsync endpoint to cancel inventory, discovery, and publishing jobs for a specific processing set. Use this URL on the Processing Job Manager service to cancel a job:
1
<host>/Relativity.REST/api/Relativity.Processing.Services.IProcessingModule/Processing Job Manager/SubmitCancelJobAsync
The request must include Artifact ID for the processing set and the workspace where it resides:
1
2
3
4
5
6
{
"CancelJob":{
"ProcessingSetId":1046785,
"WorkspaceArtifactId":1093143
}
}
The response returns the status code of 200 when the job is submitted successfully. However, this return value doesn't indicate that the job has been canceled. Multiple factors influence when a worker picks up a cancel job and how long the job takes to execute. For example, the amount of data and system state can affect this outcome.
The submission of cancel job returns successfully when the job associated with a processing set has already been canceled.
Why was this not helpful?
Check one that applies.
Thank you for your feedback.
Want to tell us more?
Great!
Additional Resources |
|||
DevHelp Community | GitHub | Release Notes | NuGet |