Processing filters provide functionality to view and select processed documents before publishing them to Relativity. The Processing Filter Manager service exposes endpoints for programmatically creating, updating, and deleting filters. It supports applying these filters to data and retrieving the filtered data. Additionally, this service exposes helper endpoints for retrieving filters associated with a data source or available in a specific workspace. For more general information, see Filtering data on the Relativity 9.6 site.
As a sample use case, you may want to implement a simplified processing workflow by programmatically adding complex criteria to filters applied to processing jobs in Relativity. This approach eliminates the need to manually enter filter criteria through the UI, which may be time consuming and error prone. Similarly, you can also use the Processing Filter Manager service to modify the settings on these or other complex filters implemented in your environment.
The Processing Filter Manager service also supports the same functionality through .NET. For more information, see Processing Filter Manager (.NET).
This page contains the following information:
To use the Processing Filter Manager service, send POST requests using the required endpoint. See the following base URL for this service:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/
You can use the following .NET code as a sample client for deleting a processing filter or for performing other operations. This code illustrates how to perform the following tasks:
//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 Filter Manager/DeleteFilterAsync”; 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);
Review the following guidelines for working with this service.
Verify that you have access to the workspace where you want make calls to the Processing Filter Manager service.
Use the GetFilterByDataSourceAsync or GetFiltersAsync helper endpoints to get the name, identifier, and type for a filter. See Retrieve processing filters and Retrieve processing filters for a data source.
To create or update a processing filter, use the expression types, operators, and properties supported by the Processing Filter Manager service for this purpose. For more information on objects used to build expressions, see Processing Filter Manager (.NET).
The following types of expressions are supported:
The following operators are supported in expressions:
Click the following drop-down link to view a list of properties supported for use in expressions.
Use the CreateExpressionFilterAsync endpoint to add a new processing filter to Relativity. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/CreateExpressionFilterAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "FilterName" : "FileIdNot123", "DataSourceArtifactIds": [1042573], "Expression" : "{ \"Type\" : \"EmptyExpression\", \"Property\" : \"FileId\", \"Constraint\" : \"IsNot\", \"Value\" : 123 }", "IncludeFamily": "true" } }
The response contains the following fields:
{ "FilterId": 10, "FilterName": "FileIdNot1", "Type": "Expression" }
To apply a filter to the documents in a data set, send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/ApplyFilterAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "FilterId" : 10, "Priority": 100 } }
When the request is successful, the response contains a value of type long, which is the ID for the job that was executed.
{ 13242 }
To modify a processing filter, send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/UpdateExpressionFilterAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "FilterName" : "My Filtered Files", "FilterId" : 3, "DataSourceArtifactIds": [1042573], "Expression" : "{ \"Type\" : \"EmptyExpression\", \"Property\" : \"FileId\", \"Constraint\" : \"IsNot\", \"Value\" : 1 }", "IncludeFamily": "true" }
The response contains the following fields:
{ "FilterId": 3, "FilterName": "My Filtered Files", "Type": "Expression" }
Use the DeleteFilterAsync endpoint to remove a filter from Relativity. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/DeleteFilterAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "FilterId" : 8 } }
When the filter is successfully deleted, the response returns the status code of 200.
You can retrieve available metadata for a specific document. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing Document Manager/GetDocumentMetadataAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "ProcessingFileId" : 9, "WorkspaceArtifactId" : 1000000 } }
The response contains the following fields:
{ "ProcessingFileId": 9, "WorkspaceArtifactId": 1017804, "MetadataJson": "{\"Metadata\":{\"OracleFileID\":1999,\"OracleFileType\":\"Unknown format\",\"MediaType\":\"text/plain\"},\"DocMetadata\":{\"LastModified\":\"2017-12- 13T17:48:00.0478951Z\",\"CreatedOn\":\"1900-01-01T00:00:00Z\",\"LastAccessed\":\"1900-01-01T00:00:00Z\",\"LiteralFileExtension\":\"TXT\"}}", "Errors": [] }
After you apply a processing filter, you can use the GetDiscoveredDocumentsAsync endpoint to retrieve the filtered discovered documents. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/GetDiscoveredDocumentsAsync
The body of the request must contain the following fields unless specifically identified as optional:
Columns marked with "Yes" are supported with mapped constraint. IsIn and IsNotIn constraints expect arrays.
Field | Is | IsNot | IsIn | IsNotIn | IsSet | IsNotSet | IsLike | IsNotLike | IsLessThan | IsLessThanOrEqualTo | IsGreaterThan | IsGreaterThanOrEqualTo |
Boolean | ||||||||||||
ContainerExtension | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ContainerID | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
ContainerName | ||||||||||||
CustodianArtifactId | Yes | Yes | Yes | Yes | ||||||||
DataSourceArtifactId | Yes | Yes | Yes | Yes | ||||||||
DiscoverGroupId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
DocumentErrorMessage | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ExtractedTextLocation | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileExtension | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileName | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileSize | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
FileType | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FolderPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ImportSource | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
IngestionError | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
IsContainer | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
IsEmbedded | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
LogicalPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MD5Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Numeric | ||||||||||||
OfficeEmbeddedItems | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
OriginalPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ParentDocumentId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
ProcessingFileId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
Rel Object | ||||||||||||
SHA1Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SHA256Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
String | ||||||||||||
TextExtractionMethod | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
VirtualPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Unprocessable | Yes | Yes | Yes | Yes | Yes | Yes |
{ "request": { "WorkspaceArtifactId" : 1017804, "Expression" : "{ \"Type\" : \"ConditionalExpression\", \"Property\" : \"ProcessingFileId\", \"Constraint\" : \"IsNot\", \"Value\" : 2 }", "StartingPointOfResult": 0, "NumberOfResults": 2, "SortingOptions": [ { "Property" : "ProcessingFileId", "Order": "Ascending" } ] } }
{ "FilterId": -1, "TotalCount": 11, "Results": [ { "ContainerExtension": "", "ContainerID": 0, "ContainerName": "", "CustodianArtifactId": 1040723, "CustodianName": "Shah, Yash", "DataSourceArtifactId": 1040724, "DataSourceName": "Shah, Yash - 1040724", "DiscoverGroupId": 2, "DocumentErrorMessage": "", "ExtractedTextLocation": "", "FileExtension": "BIN", "FileName": "1.txt", "FileSize": 0, "FileType": "Empty zero byte file", "FolderPath": "", "ImportSource": "\\\\P-DV-VM-EVE7CUT\\processingsource\\1.txt", "IngestionError": "", "IsContainer": false, "IsEmbedded": false, "LogicalPath": "", "MD5Hash": "D41D8CD98F00B204E9800998ECF8427E", "OfficeEmbeddedItems": false, "OriginalPath": "", "ParentDocumentId": 0, "ProcessingFileId": 1, "SHA1Hash": "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709", "SHA256Hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", "Unprocessable": true, "VirtualPath": "" }, { "ContainerExtension": "7Z", "ContainerID": 2, "ContainerName": "10TextFiles_LZMA2Compression.7z", "CustodianArtifactId": 1040727, "CustodianName": "Regan, Robert", "DataSourceArtifactId": 1040728, "DataSourceName": "Regan, Robert - 1040728", "DiscoverGroupId": 9, "DocumentErrorMessage": "", "ExtractedTextLocation": "\\\\P-DV-VM-EVE7CUT\\fileshare\\EDDS1017804\\Processing\\1040728\\INV1017804\\INTERMEDIATE\\0\\3.TXT", "FileExtension": "TXT", "FileName": "TextFile1.txt", "FileSize": 6497, "FileType": "Text - Western European", "FolderPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "ImportSource": "", "IngestionError": "", "IsContainer": false, "IsEmbedded": false, "LogicalPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "MD5Hash": "B98A72D799731A07334D2EFF845F0D93", "OfficeEmbeddedItems": false, "OriginalPath": "", "ParentDocumentId": 2, "ProcessingFileId": 3, "SHA1Hash": "ACC7C604E020001C6F726CC19F8577891AF88CE4", "SHA256Hash": "75265C2E912D0882FB4BB7ABF60EA5DE60BB13568A2C3A4404CDC7C5B888C0A6", "TextExtractionMethod": "Native", "Unprocessable": false, "VirtualPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files" } ] }
After you apply a processing filter, you can use the GetFilterResultAsync endpoint to retrieve the filtered date. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/GetFilterResultAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "FilterId" : 6, "NumberOfResults" : 100, "StartingPointOfResult": 0 } }
{ "FilterId": 2, "TotalCount": 10, "Results": [ { "ContainerExtension": "7Z", "ContainerID": 2, "ContainerName": "10TextFiles_LZMA2Compression.7z", "CustodianArtifactId": 1040727, "CustodianName": "Regan, Robert", "DataSourceArtifactId": 1040728, "DataSourceName": "Regan, Robert - 1040728", "DiscoverGroupId": 9, "DocumentErrorMessage": "", "ExtractedTextLocation": "\\\\P-DV-VM-EVE7CUT\\fileshare\\EDDS1017804\\Processing\\1040728\\INV1017804\\INTERMEDIATE\\0\\4.TXT", "FileExtension": "TXT", "FileName": "TextFile10.txt", "FileSize": 9113, "FileType": "Text - Western European", "FolderPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "ImportSource": "", "IngestionError": "", "IsContainer": false, "IsEmbedded": false, "LogicalPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "MD5Hash": "C61FAF7FE97EC3BE0A5B6FC50570CE8F", "OfficeEmbeddedItems": false, "OriginalPath": "", "ParentDocumentId": 2, "ProcessingFileId": 4, "SHA1Hash": "1E4E46F2D0D1A114F1F1E9FADC298DB5B1103B23", "SHA256Hash": "3D8B8B6B053B7B13F04A82E46A86CD72C9E6CBDE2D1519059DCD3D6BCB01FDDC", "TextExtractionMethod": "Native", "Unprocessable": false, "VirtualPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files" }, { "ContainerExtension": "7Z", "ContainerID": 2, "ContainerName": "10TextFiles_LZMA2Compression.7z", "CustodianArtifactId": 1040727, "CustodianName": "Regan, Robert", "DataSourceArtifactId": 1040728, "DataSourceName": "Regan, Robert - 1040728", "DiscoverGroupId": 9, "DocumentErrorMessage": "", "ExtractedTextLocation": "\\\\P-DV-VM-EVE7CUT\\fileshare\\EDDS1017804\\Processing\\1040728\\INV1017804\\INTERMEDIATE\\0\\5.TXT", "FileExtension": "TXT", "FileName": "TextFile2.txt", "FileSize": 4331, "FileType": "Text - Western European", "FolderPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "ImportSource": "", "IngestionError": "", "IsContainer": false, "IsEmbedded": false, "LogicalPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files", "MD5Hash": "BACD97CA8B90595FAB6350DFB7E8165A", "OfficeEmbeddedItems": false, "OriginalPath": "", "ParentDocumentId": 2, "ProcessingFileId": 5, "SHA1Hash": "DC9B65C5AEC375AFCCB2EF41653E084B62AFB6DA", "SHA256Hash": "4DE4A5ED7979900CBA63F50868AE2228B3036C54D7BE61EAB7E34FC538FCC945", "TextExtractionMethod": "Native", "Unprocessable": false, "VirtualPath": "10TextFiles_LZMA2Compression.7z\\10 Text Files" } ] }
You can retrieve all available processing filters for a specific workspace. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/GetFiltersAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524 } }
The response contains the following fields:
[ { "FilterId": 2, "FilterName": "ConditionalTest", "Type": "Expression" }, { "FilterId": 3, "FilterName": "Empty3files", "Type": "Expression" }, { "FilterId": 1, "FilterName": "Emptyyy", "Type": "Expression" }, { "FilterId": 6, "FilterName": "FileSizeGreaterThanBegins", "Type": "Expression" }, { "FilterId": 5, "FilterName": "TextExtractionMethodBegins", "Type": "Expression" } ]
You can retrieve processing filters for a specific data source. Send a POST request to the following URL:
<host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/GetFilterByDataSourceAsync
The body of the request must contain the following fields unless specifically identified as optional:
{ "request": { "WorkspaceArtifactId" : 1021524, "DataSourceArtifactId": 1042573 } }
The response contains the following fields:
[ { "FilterId": 2, "FilterName": "ConditionalTest", "Type": "Expression" }, { "FilterId": 3, "FilterName": "Empty3files", "Type": "Expression" }, { "FilterId": 6, "FilterName": "FileSizeGreaterThanBegins", "Type": "Expression" }, { "FilterId": 5, "FilterName": "TextExtractionMethodBegins", "Type": "Expression" } ]
After you apply a processing filter, you can use the PivotOnDiscoveredDocumentsAsync endpoint to retrieve filtered discovered documents on pivot. Send a POST request to the following URL:
<Host>/Relativity.Rest/api/Relativity.Processing.Services.IProcessingModule/Processing%20Filter%20Manager/PivotOnGetDiscoveredDocumentsAsync
The body of the request must contain the following fields unless specifically identified as optional:
Columns marked with "Yes" are supported with mapped constraint. IsIn and IsNotIn constraints expect arrays.
Field | Is | IsNot | IsIn | IsNotIn | IsSet | IsNotSet | IsLike | IsNotLike | IsLessThan | IsLessThanOrEqualTo | IsGreaterThan | IsGreaterThanOrEqualTo | BeginsWith | DoesNotBeginWith | EndsWith | DoesNotEndWith |
Boolean | ||||||||||||||||
ContainerExtension | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ContainerID | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
ContainerName | ||||||||||||||||
CustodianArtifactId | Yes | Yes | Yes | Yes | ||||||||||||
DataSourceArtifactId | Yes | Yes | Yes | Yes | ||||||||||||
DiscoverGroupId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
DocumentErrorMessage | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ExtractedTextLocation | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileExtension | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileName | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FileSize | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
FileType | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FolderPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ImportSource | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
IngestionError | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
IsContainer | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||
IsEmbedded | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||
LogicalPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MD5Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Numeric | ||||||||||||||||
OfficeEmbeddedItems | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||
OriginalPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ParentDocumentId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
ProcessingFileId | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
Rel Object | ||||||||||||||||
SHA1Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SHA256Hash | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
String | ||||||||||||||||
TextExtractionMethod | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
VirtualPath | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Unprocessable | Yes | Yes | Yes | Yes | Yes | Yes |
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression" : "{ \"Type\" : \"ConditionalExpression\", \"Property\" : \"FileName\", \"Constraint\" : \"IsSet\", \"Value\" : \"1\" }", "PivotOnOption": { "GroupByProperty": "ContainerID", "GroupByOrdering": "Ascending", "GroupByCount": "0", "PivotOnProperty": "CustodianArtifactID", "PivotOnOrdering": "Ascending", "PivotOnCount": "0" } } }
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression" : "{ \"Type\" : \"ConditionalExpression\", \"Property\" : \"FileName\", \"Constraint\" : \"IsSet\", \"Value\" : \"1\" }", "PivotOnOption": { "GroupByProperty": "ContainerID", "GroupByOrdering": "Ascending", "GroupByCount": "0" } } }
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression": "{ \"Type\":\"CompositeExpression\", \"Expressions\": [ { \"Type\":\"ConditionalExpression\", \"Property\":\"FileType\", \"Constraint\":\"IsNotLike\", \"Value\":\"[\\\"97\\\"]\" }, { \"Type\":\"ConditionalExpression\", \"Property\":\"FileSize\", \"Constraint\":\"IsGreaterThan\", \"Value\":20480 } ],\"Operator\":\"And\"}", "PivotOnOption": { "GroupByProperty": "FileName", "GroupByOrdering": "Descending", "GroupByCount": "0", "PivotOnProperty": "CustodianArtifactID", "PivotOnOrdering": "Ascending", "PivotOnCount": "0" } } }
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression": "{ \"Type\":\"CompositeExpression\", \"Expressions\": [ { \"Type\":\"ConditionalExpression\", \"Property\":\"FileType\", \"Constraint\":\"IsNotLike\", \"Value\":\"[\"97\"]\" }, { \"Type\":\"ConditionalExpression\", \"Property\":\"FileSize\", \"Constraint\":\"IsGreaterThan\", \"Value\":20480 } ],\"Operator\":\"And\"}", "PivotOnOption": { "GroupByProperty": "FileName", "GroupByOrdering": "Descending", "GroupByCount": "0", } } }
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression" : "", "PivotOnOption": { "GroupByProperty": "FileName", "GroupByOrdering": "Descending", "GroupByCount": "0", "PivotOnProperty": "CustodianArtifactID", "PivotOnOrdering": "Ascending", "PivotOnCount": "0" } } }
{ "request": { "WorkspaceArtifactId" : 1017662, "Expression" : "", "PivotOnOption": { "GroupByProperty": "FileName", "GroupByOrdering": "Descending", "GroupByCount": "0", } } }
When the request is successful, the response will return a List of GetDiscoveredDocumentsWithPivotOnResponse objects.
The response contains the following fields:
[ { "GroupByIdentifier": "Q1_Result", "PivotOnIdentifier": "", "ResultCount": 2 }, { "PropertyValue": "Q2_Result", "PivotOnIdentifier": "", "ResultCount": 4 }, { "PropertyValue": "Q3_Result", "PivotOnIdentifier": "", "ResultCount": 3 } ]
[ { "GroupByIdentifier": "Q1_Result", "PivotOnIdentifier": "1", "ResultCount": 2 }, { "PropertyValue": "Q2_Result", "PivotOnIdentifier": "2", "ResultCount": 4 }, { "PropertyValue": "Q3_Result", "PivotOnIdentifier": "3", "ResultCount": 3 } ]
Community Updates |
|||
Aero Developer FAQ | Evolving the Platform | Most recent release notes | |
Learn more | Learn more | Learn more |
Additional Resources |
|||
![]() |
![]() |
||
Access Third-Party Tools with GitHub | Create .NET Apps Faster with NuGet | ||
Visit github | visit nuget |