Workspace Manager API service exposes the API to create, read, update and delete the workspaces. Sample use cases for the Workspace Manager service include:
You can also use the Workspace Manager service through the .NET API. For more information, see Workspace Manager API.
This page contains the following information:
To use the Workspace Manager service, send requests by making calls with the required HTTP methods. Use the following base URL for this service:
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace
You can use the following C# code as a sample client for creating a Workspace. This code illustrates how to performs the following tasks:
Instantiate an HttpClient object for sending requests to the Workspace Manager service.
Request all required values for creating a workspace.
Set the required headers for the request. For information on setting headers, see HTTP headers.
Set the URL required for the operation.
Set the JSON payload required for the operation.
Use the PostAsync() method to send a POST request.
Return the Artifact ID of the created workspace.
private HttpClient GetHttpClient() { HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri("https://localhost/"); httpClient.DefaultRequestHeaders.Add("X-CSRF-Header", "-"); httpClient.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("test@test.com:SomePassword"))); return httpClient; } private string BASE_URL = "Relativity.REST/api/Relativity.Workspaces/workspace"; private async Task<List<int>> GetArtifactIDList(HttpClient httpClient, string url) { HttpResponseMessage response = await httpClient.GetAsync(url); string resultString = await response.Content.ReadAsStringAsync(); var artifactIDs = new List<int>(); dynamic objects = JArray.Parse(resultString) as JArray; foreach (var obj in objects) { int artifactID = obj.ArtifactID; artifactIDs.Add(artifactID); } return artifactIDs; } private async Task<List<int>> QueryArtifactIDList(HttpClient httpClient, string url) { var queryRequest = new { request = new { Fields = new[] { new { Name = "*" } }, Condition = "" }, start = 1, length = 1000 }; StringContent payload = new StringContent(JsonConvert.SerializeObject(queryRequest), Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.PostAsync(url, payload); string resultString = await response.Content.ReadAsStringAsync(); var artifactIDs = new List<int>(); dynamic result = JObject.Parse(resultString) as JObject; foreach (var obj in result.Objects) { int artifactID = obj.ArtifactID; artifactIDs.Add(artifactID); } return artifactIDs; } public async Task<List<int>> GetEligibleStatuses(HttpClient httpClient) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-statuses"); } public async Task<List<int>> GetEligibleResourcePools(HttpClient httpClient) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools"); } public async Task<List<int>> GetEligibleFileRepositories(HttpClient httpClient, int resourcePoolID) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools/{resourcePoolID}/eligible-file-repositories"); } public async Task<List<int>> GetEligibleCacheLocations(HttpClient httpClient, int resourcePoolID) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools/{resourcePoolID}/eligible-cache-locations"); } public async Task<List<int>> GetEligibleSqlServers(HttpClient httpClient, int resourcePoolID) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools/{resourcePoolID}/eligible-sql-servers"); } public async Task<List<int>> GetEligibleAzureCredentials(HttpClient httpClient, int resourcePoolID) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools/{resourcePoolID}/eligible-azure-credentials"); } public async Task<List<int>> GetEligibleAzureFileSystemCredentials(HttpClient httpClient, int resourcePoolID) { return await GetArtifactIDList(httpClient, $"{BASE_URL}/eligible-resource-pools/{resourcePoolID}/eligible-azure-file-system-credentials"); } public async Task<List<int>> QueryEligibleMatters(HttpClient httpClient) { return await QueryArtifactIDList(httpClient, $"{BASE_URL}/query-eligible-matters"); } public async Task<List<int>> QueryEligibleTemplates(HttpClient httpClient) { return await QueryArtifactIDList(httpClient, $"{BASE_URL}/query-eligible-templates"); } public async Task<int> GetDefaultSqlFullTextLanguage(HttpClient httpClient) { HttpResponseMessage response = await httpClient.GetAsync($"{BASE_URL}/eligible-sql-full-text-languages"); string resultString = await response.Content.ReadAsStringAsync(); dynamic languages = JObject.Parse(resultString) as JObject; int defaultLanguageID = languages.DefaultLanguageLcid; return defaultLanguageID; } public async Task<string> GetDefaultDownloadHandlerUrl(HttpClient httpClient) { HttpResponseMessage response = await httpClient.GetAsync($"{BASE_URL}/default-download-handler-url"); string result = await response.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject<string>(result); } public async Task<int> CreateWorkspace(string name) { HttpClient httpClient = GetHttpClient(); int statusID = (await GetEligibleStatuses(httpClient)).First(); int matterID = (await QueryEligibleMatters(httpClient)).First(); string defaultDownloadHandlerUrl = await GetDefaultDownloadHandlerUrl(httpClient); int resourcePoolID = (await GetEligibleResourcePools(httpClient)).First(); int fileRepositoryID = (await GetEligibleFileRepositories(httpClient, resourcePoolID)).First(); int cacheLocationID = (await GetEligibleCacheLocations(httpClient, resourcePoolID)).First(); int sqlServerID = (await GetEligibleSqlServers(httpClient, resourcePoolID)).First(); int sqlFullTextLanguage = await GetDefautlSqlFullTextLanguage(httpClient); int templateID = (await QueryEligibleTemplates(httpClient)).First(); var payloadObject = new { workspaceRequest = new { Name = name, Status = new { ArtifactID = statusID }, Matter = new { Secured = false, Value = new { ArtifactID = matterID } }, DownloadHandlerUrl = defaultDownloadHandlerUrl, EnableDataGrid = false, ResourcePool = new { Secured = false, Value = new { ArtifactID = resourcePoolID } }, DefaultFileRepository = new { Secured = false, Value = new { ArtifactID = fileRepositoryID } }, DefaultCacheLocation = new { Secured = false, Value = new { ArtifactID = cacheLocationID } }, SqlServer = new { Secured = false, Value = new { ArtifactID = sqlServerID } }, SqlFullTextLanguage = sqlFullTextLanguage, Template = new { Secured = false, Value = new { ArtifactID = templateID } }, Keywords = "sample keywords for workspace", Notes = "sample notes for workspace" } }; StringContent payload = new StringContent(JsonConvert.SerializeObject(payloadObject), Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.PostAsync($"{BASE_URL}/", payload); string resultString = await response.Content.ReadAsStringAsync(); dynamic result = JObject.Parse(resultString) as JObject; int artifactID = result.ArtifactID; return artifactID; }
To create a workspace, send the POST request to the following URL:
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace
The body of the request should contain the following fields:
workspaceRequest - represents a workspace object. It contains the following fields:
DownloadHandlerUrl - the default URL for making downloaded files available to users.
EnableDataGrid - true, if DataGrid should be enabled for the workspace, false otherwise.
Matter - represents a matter securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a matter object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of matter, which is represented as an integer.
Guids - a listof GUIDs identifying the matter.
Name - the name of a workspace to create.
ResourcePool - represents a resource pool securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a resource pool object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the resource pool which is represented as an integer.
Guids - a listof GUIDs identifying the resource pool.
DefaultFileRepository - represents a file repository server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a file repository server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the file repository server which is represented as an integer.
Guids - a listof GUIDs identifying the file repository server.
DataGridFileRepository - represents a file repository server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a file repository server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the file repository server which is represented as an integer.
Guids - a listof GUIDs identifying the file repository server.
DefaultCacheLocation - represents a cache location server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a cache location server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the cache location server which is represented as an integer.
Guids - a listof GUIDs identifying the cache location server.
SqlServer - represents a SQL server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a SQL server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the SQL server which is represented as an integer.
Guids - a listof GUIDs identifying the SQL server.
AzureCredentials - represents a Azure credentials securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a Azure credentials object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the Azure credentials which is represented as an integer.
Guids - a listof GUIDs identifying the Azure credentials.
AzureFileSystemCredentials - represents a Azure filesystem credentials securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a Azure filesystem credentials object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the Azure filesystem credentials which is represented as an integer.
Guids - a listof GUIDs identifying the Azure filesystem credentials.
SqlFullTextLanguage - a unique identifier of the SQL full text language represented as an integer.
Status - represents a status of the workspace. It contains the following fields:
ArtifactID - a unique identifier of the status, which is represented as an integer.
Guids - a list of GUIDs identifying the status.
Template - represents a template workspace securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. Should be false for Create request.
Value - represents a template workspace object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the template workspace which is represented as an integer.
Guids - a listof GUIDs identifying the template workspace.
Keywords - optional words or phrase used to describe the workspace.
Notes - additional information about the workspace.
When a create request is successful, the response contains the object representing the created workspace. It contains the following fields:
ArtifactID - a unique identifier of the created workspace, which is represented as an integer.
Guids -a list of GUIDs identifying the workspace.
Name - the name of the created workspace.
Client - represents a client securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a client object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the client, which is represented as an integer.
Guids - a list of GUIDs identifying the client.
Name - the name of the client.
ClientNumber - a securable object representing the associated client's number. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents the client's number.
DownloadHandlerUrl -the default URL for making downloaded files available to users.
EnableDataGrid - true, if DataGrid is enabled for the workspace, false otherwise.
Matter - represents a matter securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a matter object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the matter, which is represented as an integer.
Guids - a list of GUIDs identifying the matter.
Name - the name of the matter.
MatterNumber - a securable object representing the associated matter's number. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents the matter's number.
ProductionRestrictions - represents a production restrictions saved search securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a production restrictions saved search object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the production restrictions saved search, which is represented as an integer.
Guids - a list of GUIDs identifying the production restrictions saved search.
Name - the name of the production restrictions saved search.
ResourcePool - represents a resource pool securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a resource pool object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the resource pool, which is represented as an integer.
Guids - a list of GUIDs identifying the resource pool.
Name - the name of the resource pool.
DefaultFileRepository - represents a file repository server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a file repository server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the file repository server, which is represented as an integer.
Guids - a list of GUIDs identifying the file repository server.
Name - the name of the file repository server.
DefaultCacheLocation - represents a cache location server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a cache location server object associated with the workspace. It contains the following fields:
ArtifactIs - a unique identifier of the cache location server, which is represented as an integer.
Guids - a list of GUIDs identifying the cache location server.
Name - the name of the cache location server.
SqlServer - represents a SQL server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a SQL server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the SQL server, which is represented as an integer.
Guids - a list of GUIDs identifying the SQL server.
Name - the name of the SQL server.
SqlFullTextLanguage - represents the SQL full text language object. It contains the following fields:
ID - a unique identifier of the SQL full text language, which is represented as an integer.
Name - the name of the SQL full text language.
Status - represents a workspace status object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the workspace status, which is represented as an integer.
Guids - a list of GUIDs identifying the workspace status.
Name - the name of the workspace status.
Keywords - optional words or phrase used to describe the workspace.
Notes - additional information about the workspace.
CreatedOn - the date and time when the workspace was created.
CreateBy - represents the user who created the workspace. It contains the following fields:
ArtifactID - a unique identifier of the user, which is represented as an integer.
Name - the name of the user.
Guids - a list of GUIDs identifying the user.
LastModifiedBy - represents the user who recently updated the workspace. It contains the following fields:
ArtifactID - a unique identifier of the user, which is represented as an integer.
Name - the name of the user.
Guids - a list of GUIDs identifying the user.
LastModifiedOn - the date and time when the workspace was most recently modified.
JSON request for Create operation
{ "workspaceRequest": { "DownloadHandlerUrl": "Relativity.Distributed", "EnableDataGrid": false, "Matter": { "Secured": false, "Value": { "ArtifactID": 1016816 } }, "Name": "Sample workspace", "ResourcePool": { "Secured": false, "Value": { "ArtifactID": 1015040 } }, "DefaultFileRepository": { "Secured": false, "Value": { "ArtifactID": 1014887 } }, "DataGridFileRepository": null, "DefaultCacheLocation": { "Secured": false, "Value": { "ArtifactID": 1015534 } }, "SqlServer": { "Secured": false, "Value": { "ArtifactID": 1015096 } }, "AzureCredentials": null, "AzureFileSystemCredentials": null, "SqlFullTextLanguage": 1033, "Status": { "ArtifactID": 675 }, "Template": { "Secured": false, "Value": { "ArtifactID": 1014823 } }, "Keywords": "Sample keywords for a workspace", "Notes": "Sample notes for a workspace" } }
JSON response for Create operation
{ "Client": { "Secured": false, "Value": { "Name": "Relativity", "ArtifactID": 1015644, "Guids": [] } }, "ClientNumber": { "Secured": false, "Value": "Relativity" }, "DownloadHandlerUrl": "Relativity.Distributed", "EnableDataGrid": false, "Matter": { "Secured": false, "Value": { "Name": "Salt vs. Pepper", "ArtifactID": 1016816, "Guids": [] } }, "MatterNumber": { "Secured": false, "Value": "1" }, "ProductionRestrictions": { "Secured": false, "Value": { "Name": "Saved Search 1", "ArtifactID": 1117132, "Guids": [] } }, "ResourcePool": { "Secured": false, "Value": { "Name": "Default", "ArtifactID": 1015040, "Guids": [] } }, "DefaultFileRepository": { "Secured": false, "Value": { "Name": "\\\\P-DV-VM-A3NYUIM\\fileshare\\", "ArtifactID": 1014887, "Guids": [] } }, "DefaultCacheLocation": { "Secured": false, "Value": { "Name": "Default Cache Location", "ArtifactID": 1015534, "Guids": [] } }, "SqlServer": { "Secured": false, "Value": { "Name": "P-DV-VM-A3NYUIM\\EDDSINSTANCE001", "ArtifactID": 1015096, "Guids": [] } }, "SqlFullTextLanguage": { "Name": "English", "ID": 1033 }, "Status": { "Name": "Active", "ArtifactID": 675, "Guids": [] }, "Keywords": "Sample keywords for a workspace", "Notes": "Sample notes for a workspace", "CreatedOn": "2018-04-24T15:19:57.677", "CreatedBy": { "Name": "Admin, Relativity", "ArtifactID": 9, "Guids": [] }, "LastModifiedBy": { "Name": "Admin, Relativity", "ArtifactID": 9, "Guids": [] }, "LastModifiedOn": "2020-01-09T15:51:39.13", "Name": "Sample workspace", "ArtifactID": 1017266, "Guids": [] }
To read the workspace, send the GET request to the following URL:
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/{{workspaceID}}
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/{workspaceID}
Note: Set the {{Workspace ID}} variable to the Artifact ID of the workspace.
The response of a Read operation contains the same fields as those for the Create operation.
JSON response of Read operation
{ "ArtifactID": 245678, "Guids": [ "CE780D86-4217-45D7-83A2-0934F2F66B17" ], "Name": "New Workspace", "Matter": { "Secured": false, "Value": { "ArtifactID": 123456 } }, "Template": { "Secured": false, "Value": { "ArtifactID": 234567 } }, "Status": { "ArtifactID": 345678 }, "ResourcePool": { "Secured": false, "Value": { "ArtifactID": 456789 } }, "SqlServer": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultFileRepository": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultCacheLocation": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DownloadHandlerUrl": "Relativity.Distributed", "EnableDataGrid": false, "ProductionRestrictions": { "Secured": false, "Value": { "ArtifactID": 678901 } }, "DataGridFileRepository": { "Secured": false, "Value": { "ArtifactID": 789012 } }, "AzureCredentials": { "Secured": false, "Value": { "ArtifactID": 890123 } }, "AzureFileSystemCredentials": { "Secured": false, "Value": { "ArtifactID": 901234 } }, "SqlFullTextLanguage": "English", "WorkspaceAdminGroup": { "Secured": false, "Value": { "ArtifactID": 134567 } }, "Keywords": "", "Notes": "" }
The following permissions are required to call this endpoint:
Workspace - Other Settings - View Workspace Details
For the special case of the admin workspace (-1), the following permissions are required:
Instance - Admin Operations - View Admin Repository
To update the workspace, send the PUT request to the following URL:
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/{{workspaceID}}
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/{workspaceID}
Note: Set the {{Workspace ID}} variable to the Artifact ID of the workspace.
Note: The Template property should be left blank as it is only used during the create process. Any read-only fields should be have their Secured property set to true and Value null.
The body of request contains the following fields:
workspaceRequest - represents a workspace object. It contains the following fields:
DownloadHandlerUrl - the default URL for making downloaded files available to users.
EnableDataGrid - true, if DataGrid should be enabled for the workspace, false otherwise.
Matter - represents a matter securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a matter object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of matter, which is represented as an integer.
Guids - a listof GUIDs identifying the matter.
Name - the name of a workspace to create.
ProductionRestrictions - represents a production restrictions saved search securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a production restrictions saved search object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the production restrictions saved search which is represented as an integer.
Guids - a listof GUIDs identifying the production restrictions saved search.
ResourcePool - represents a resource pool securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a resource pool object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the resource pool which is represented as an integer.
Guids - a listof GUIDs identifying the resource pool.
DefaultFileRepository - represents a file repository server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a file repository server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the file repository server which is represented as an integer.
Guids - a listof GUIDs identifying the file repository server.
DataGridFileRepository - represents a file repository server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a file repository server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the file repository server which is represented as an integer.
Guids - a listof GUIDs identifying the file repository server.
DefaultCacheLocation - represents a cache location server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a cache location server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the cache location server which is represented as an integer.
Guids - a listof GUIDs identifying the cache location server.
SqlServer - represents a SQL server securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a SQL server object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the SQL server which is represented as an integer.
Guids - a listof GUIDs identifying the SQL server.
AzureCredentials - represents a Azure credentials securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a Azure credentials object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the Azure credentials which is represented as an integer.
Guids - a listof GUIDs identifying the Azure credentials.
AzureFileSystemCredentials - represents a Azure filesystem credentials securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise. .
Value - represents a Azure filesystem credentials object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the Azure filesystem credentials which is represented as an integer.
Guids - a listof GUIDs identifying the Azure filesystem credentials.
SqlFullTextLanguage - a unique identifier of the SQL full text language represented as an integer.
Status - represents a status of the workspace. It contains the following fields:
ArtifactID - a unique identifier of the status, which is represented as an integer.
Guids - a list of GUIDs identifying the status.
WorkspaceAdminGroup - represents a group securable object associated with the workspace. It contains the following fields:
Secured - true, if object is secured, false otherwise.
Value - represents a group object associated with the workspace. It contains the following fields:
ArtifactID - a unique identifier of the group which is represented as an integer.
Guids - a listof GUIDs identifying the group.
Keywords - optional words or phrase used to describe the workspace.
Notes - additional information about the workspace.
JSON request of Update operation
{ "workspaceRequest": { "Name": "New Workspace", "Matter": { "Secured": false, "Value": { "ArtifactID": 123456 } }, "Template": { "Secured": false, "Value": { "ArtifactID": 234567 } }, "Status": { "ArtifactID": 345678 }, "ResourcePool": { "Secured": false, "Value": { "ArtifactID": 456789 } }, "SqlServer": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultFileRepository": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultCacheLocation": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DownloadHandlerUrl": "Relativity.Distributed", "EnableDataGrid": false, "ProductionRestrictions": { "Secured": false, "Value": { "ArtifactID": 678901 } }, "DataGridFileRepository": { "Secured": false, "Value": { "ArtifactID": 789012 } }, "AzureCredentials": { "Secured": false, "Value": { "ArtifactID": 890123 } }, "AzureFileSystemCredentials": { "Secured": false, "Value": { "ArtifactID": 901234 } }, "SqlFullTextLanguage": "English", "WorkspaceAdminGroup": { "Secured": false, "Value": { "ArtifactID": 134567 } }, "Keywords": "", "Notes": "" } }
The response of an Update operation contains the same fields as those for the Create operation.
JSON response of Update operation
{ "ArtifactID": 245678, "Guids": [ "CE780D86-4217-45D7-83A2-0934F2F66B17" ], "Name": "New Workspace", "Matter": { "Secured": false, "Value": { "ArtifactID": 123456 } }, "Template": { "Secured": false, "Value": { "ArtifactID": 234567 } }, "Status": { "ArtifactID": 345678 }, "ResourcePool": { "Secured": false, "Value": { "ArtifactID": 456789 } }, "SqlServer": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultFileRepository": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DefaultCacheLocation": { "Secured": false, "Value": { "ArtifactID": 567890 } }, "DownloadHandlerUrl": "Relativity.Distributed", "EnableDataGrid": false, "ProductionRestrictions": { "Secured": false, "Value": { "ArtifactID": 678901 } }, "DataGridFileRepository": { "Secured": false, "Value": { "ArtifactID": 789012 } }, "AzureCredentials": { "Secured": false, "Value": { "ArtifactID": 890123 } }, "AzureFileSystemCredentials": { "Secured": false, "Value": { "ArtifactID": 901234 } }, "SqlFullTextLanguage": "English", "WorkspaceAdminGroup": { "Secured": false, "Value": { "ArtifactID": 134567 } }, "Keywords": "", "Notes": "" }
The following permissions are required to call this endpoint:
In cases where the either WorkspaceAdminGroup or Matter properties are changed, the user must be a System Administrator or Client Domain Admin. Requests to update the admin workspace (-1) will be refused, regardless of permission.
To delete the workspace, send the DELETE request to the following URL:
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/{{workspaceID}}
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/{workspaceID}
Note: Set the {{Workspace ID}} variable to the Artifact ID of the workspace.
When the workspace is successfully deleted, the response returns the status code of 200.
The following permissions are required to call this endpoint:
To get the Default Download Handler URL send the GET request to the following URL. The body of the request should be empty. The response will be the value of the property.
<host>/Relativity.REST/api/Relativity.Workspaces/workspace/{{workspaceID}}/default-download-handler-url
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/default-download-handler-url
The response will contain a string representation of the Default Download Handler URL. This endpoint does not require any specific permissions.
JSON response of a request
"Relativity.Distributed"
To get the eligible Resource Pools send the GET request to the following URL. The body of the request should be empty.
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "Default", "ArtifactID": 1015040, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository"
To get the eligible File Repository Servers, send the GET request to the following URL. The body of the request should be empty.
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools/{{resourcePoolID}}/eligible-file-repositories
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools/{resourcePoolID}/eligible-file-repositories
Note: Set the {{resourcePoolID}} variable to the Artifact ID of the resource pool associated with the workspace.
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "\\\\P-DV-VM-A3NYUIM\\fileshare\\", "ArtifactID": 1014887, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
To get the eligible Cache Location Servers, send the GET request to the following URL:
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools/{{resourcePoolID}}/eligible-cache-locations
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools/{resourcePoolID}/eligible-cache-locations
Note: Set the {{resourcePoolID}} variable to the Artifact ID of the resource pool associated with the workspace.
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "Default Cache Location", "ArtifactID": 1015534, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
To get the eligible SQL Servers, send the GET request to the following URL. The body of the request should be empty.
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools/{{resourcePoolID}}/eligible-sql-servers
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools/{resourcePoolID}/eligible-sql-servers
Note: Set the {{resourcePoolID}} variable to the Artifact ID of the resource pool associated with the workspace.
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "P-DV-VM-A3NYUIM\\EDDSINSTANCE001", "ArtifactID": 1015096, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
To get the eligible Azure Credentials, send the GET request to the following URL:
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools/{{resourcePoolID}}/eligible-azure-credentials
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools/{resourcePoolID}/eligible-azure-credentials
Note: Set the {{resourcePoolID}} variable to the Artifact ID of the resource pool associated with the workspace.
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "Example", "ArtifactID": 1015096, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
To get the eligible Azure FileSystem Credentials, send the GET request to the following URL:
<host>/api/Relativity.Workspaces/workspace/eligible-resource-pools/{{resourcePoolID}}/eligible-azure-file-system-credentials
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-resource-pools/{resourcePoolID}/eligible-azure-file-system-credentials
Note: Set the {{resourcePoolID}} variable to the Artifact ID of the resource pool associated with the workspace.
The response of the operation contains a list of object with the following fields:
JSON response of the request
[ { "Name": "Example", "ArtifactID": 1015096, "Guids": [] } ]
The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
To query the eligible Matters, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/query-eligible-matters
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/query-eligible-matters
The body of a request contains the following fields:
The response contains the following fields:
JSON request body
{ "request": { "Fields": [ { "Name": "*" } ], "Condition": null }, "start": 1, "length": 1000 }
JSON response body
{ "TotalCount": 3, "Objects": [ { "ArtifactID": 1000002, "Values": [ "Relativity Template", "Edit", "0001", "Relativity Template 2", "Active", "0001", "Admin, Relativity", "Admin, Relativity", "2007-01-01T00:00:00", "2008-08-05T00:36:05.54", "kk", "nn", 1000002, { "OverwriteInheritedSecurity": false, "UserCanEditSecurity": false }, { "ArtifactID": 1006066, "Guids": [], "Name": "Relativity Template 2", "ItemSecured": false }, "Relativity Template" ] }, { "ArtifactID": 1016816, "Values": [ "Salt vs. Pepper", "Edit", "1", "Relativity", "Active", "Relativity", "Admin, Relativity", "Admin, Relativity", "2018-04-24T13:57:34.92", "2019-08-08T13:59:16.733", "keywords", "notes", 1016816, { "OverwriteInheritedSecurity": false, "UserCanEditSecurity": false }, { "ArtifactID": 1015644, "Guids": [], "Name": "Relativity", "ItemSecured": false }, "Salt vs. Pepper" ] }, { "ArtifactID": 1027403, "Values": [ "Sample matter", "Edit", "12345", "Changed name", "Active", "Updated client number", "Admin, Relativity", "Admin, Relativity", "2019-11-20T15:21:51.247", "2019-11-20T15:21:51.247", "", "", 1027403, { "OverwriteInheritedSecurity": false, "UserCanEditSecurity": false }, { "ArtifactID": 1022225, "Guids": [], "Name": "Changed name", "ItemSecured": false }, "Sample matter" ] } ], "IDWindow": [], "CurrentStartIndex": 1, "ResultCount": 3, "ObjectType": { "ArtifactID": 1016187, "Name": "Matter", "Guids": [], "ArtifactTypeID": 6 }, "RankWindow": [], "Fields": [ { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 28, "ArtifactID": 0, "Guids": [], "Name": "Name" }, { "FieldCategory": "Generic", "FieldType": "Empty", "ViewFieldID": 31, "ArtifactID": 0, "Guids": [], "Name": "Edit" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 32, "ArtifactID": 0, "Guids": [], "Name": "Number" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 33, "ArtifactID": 0, "Guids": [], "Name": "Client Name" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 35, "ArtifactID": 0, "Guids": [], "Name": "Status" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 45, "ArtifactID": 0, "Guids": [], "Name": "Client Number" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 136, "ArtifactID": 0, "Guids": [], "Name": "Created By" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 137, "ArtifactID": 0, "Guids": [], "Name": "Last Modified By" }, { "FieldCategory": "Generic", "FieldType": "Date", "ViewFieldID": 138, "ArtifactID": 0, "Guids": [], "Name": "Created On" }, { "FieldCategory": "Generic", "FieldType": "Date", "ViewFieldID": 139, "ArtifactID": 0, "Guids": [], "Name": "Last Modified On" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 140, "ArtifactID": 0, "Guids": [], "Name": "Keywords" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 141, "ArtifactID": 0, "Guids": [], "Name": "Notes" }, { "FieldCategory": "Generic", "FieldType": "WholeNumber", "ViewFieldID": 1000098, "ArtifactID": 0, "Guids": [], "Name": "Artifact ID" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 0, "ArtifactID": 0, "Guids": [], "Name": "Security" }, { "FieldCategory": "Generic", "FieldType": "SingleObject", "ViewFieldID": 1000486, "ArtifactID": 0, "Guids": [], "Name": "Client" }, { "FieldCategory": "Generic", "FieldType": "FixedLengthText", "ViewFieldID": 0, "ArtifactID": 0, "Guids": [], "Name": "Text Identifier" } ] }
The following permissions are required to call this endpoint:
Instance - Object - Matter - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository".
To query the eligible Groups, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/query-eligible-groups
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/query-eligible-groups
The request and response of the request contain the same fields as ones for Query the eligible Matters operation. The following permissions are required to call this endpoint:
Instance - Object - Resource Pool - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository".
To query the eligible Clients, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/query-eligible-clients
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/query-eligible-clients
The request and response of the request contain the same fields as ones for Query the eligible Matters operation. The following permissions are required to call this endpoint:
Instance - Object - Client - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository"
To query the eligible Saved Searches, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/{{workspaceID}}/query-eligible-saved-searches
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/{workspaceID}/query-eligible-saved-searches
Note: Set the {{Workspace ID}} variable to the Artifact ID of the workspace.
The request and response of the request contain the same fields as ones for Query the eligible Matters operation. The following permissions are required to call this endpoint:
Workspace - Object Security - View
To query the eligible template workspaces, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/query-eligible-templates
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/query-eligible-templates
The request and response of the request contain the same fields as ones for Query the eligible Matters operation. The following permissions are required to call this endpoint:
Instance - Object - Workspace - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository".
To get the eligible SQL Full Text Languages, send the GET request to the following URL:
<host>/api/Relativity.Workspaces/workspace/eligible-sql-full-text-languages
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/eligible-sql-full-text-languages
The response of the request contains the following fields:
JSON response body
{ "DefaultLanguageLcid": 1033, "Languages": [ { "Name": "Arabic", "ID": 1025 }, { "Name": "Bengali (India)", "ID": 1093 }, { "Name": "Bokmål", "ID": 1044 }, { "Name": "Brazilian", "ID": 1046 }, { "Name": "British English", "ID": 2057 }, { "Name": "Bulgarian", "ID": 1026 }, { "Name": "Catalan", "ID": 1027 }, { "Name": "Chinese (Hong Kong SAR, PRC)", "ID": 3076 }, { "Name": "Chinese (Macao SAR)", "ID": 5124 }, { "Name": "Chinese (Singapore)", "ID": 4100 }, { "Name": "Croatian", "ID": 1050 }, { "Name": "Czech", "ID": 1029 }, { "Name": "Danish", "ID": 1030 }, { "Name": "Dutch", "ID": 1043 }, { "Name": "English", "ID": 1033 }, { "Name": "French", "ID": 1036 }, { "Name": "German", "ID": 1031 }, { "Name": "Greek", "ID": 1032 }, { "Name": "Gujarati", "ID": 1095 }, { "Name": "Hebrew", "ID": 1037 }, { "Name": "Hindi", "ID": 1081 }, { "Name": "Icelandic", "ID": 1039 }, { "Name": "Indonesian", "ID": 1057 }, { "Name": "Italian", "ID": 1040 }, { "Name": "Japanese", "ID": 1041 }, { "Name": "Kannada", "ID": 1099 }, { "Name": "Korean", "ID": 1042 }, { "Name": "Latvian", "ID": 1062 }, { "Name": "Lithuanian", "ID": 1063 }, { "Name": "Malay - Malaysia", "ID": 1086 }, { "Name": "Malayalam", "ID": 1100 }, { "Name": "Marathi", "ID": 1102 }, { "Name": "Neutral", "ID": 0 }, { "Name": "Polish", "ID": 1045 }, { "Name": "Portuguese", "ID": 2070 }, { "Name": "Punjabi", "ID": 1094 }, { "Name": "Romanian", "ID": 1048 }, { "Name": "Russian", "ID": 1049 }, { "Name": "Serbian (Cyrillic)", "ID": 3098 }, { "Name": "Serbian (Latin)", "ID": 2074 }, { "Name": "Simplified Chinese", "ID": 2052 }, { "Name": "Slovak", "ID": 1051 }, { "Name": "Slovenian", "ID": 1060 }, { "Name": "Spanish", "ID": 3082 }, { "Name": "Swedish", "ID": 1053 }, { "Name": "Tamil", "ID": 1097 }, { "Name": "Telugu", "ID": 1098 }, { "Name": "Thai", "ID": 1054 }, { "Name": "Traditional Chinese", "ID": 1028 }, { "Name": "Turkish", "ID": 1055 }, { "Name": "Ukrainian", "ID": 1058 }, { "Name": "Urdu", "ID": 1056 }, { "Name": "Vietnamese", "ID": 1066 } ] }
{ "DefaultLanguageLcid": 1033, "Languages": [ { "Name": "Arabic", "ID": 1025 }, { "Name": "Bengali (India)", "ID": 1093 }, { "Name": "Bokmål", "ID": 1044 }, { "Name": "Vietnamese", "ID": 1066 } ] }
The following permissions are required to call this endpoint:
Instance - Object - Resource Server - View
Additionally, the user must be a System Administrator or have the permission "View Admin Repository".
To get the workspace summary, send the GET request to the following URL:
<host>/api/Relativity.Workspaces/workspace/{{workspaceID}}/summary
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/{workspaceID}/summary
Note: Set the {{Workspace ID}} variable to the Artifact ID of the workspace.
The response contains the following fields:
JSON response body
{ "DocumentCount": 73973, "FileSize": 0 }
The following permissions are required to call this endpoint:
Workspace - Object Security - View
To query the workspaces that contain a given group, send the POST request to the following URL:
<host>/api/Relativity.Workspaces/workspace/query-by-group/{{groupID}}
https://{host}/Relativity.Rest/API/relativity-environment/v1/workspace/query-by-group/{groupID}
Note: Set the {{groupID}} variable to the Artifact ID of the workspace.
The request and response of the request contain the same fields as ones for Query the eligible Matters operation. The following permissions are required to call this endpoint:
Instance - Object - Group - View
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 |