Workspace Manager (REST)

In Relativity, a workspace acts as a secure data repository for documents. It supports customized views, layouts, fields, choices, and security settings. For more information, see Workspaces on the RelativityOne Documentation site.

The Workspace Manager service supports the following functionality:

  • CRUD operations on workspaces.
  • Helper endpoints for retrieving lists of available resources, such as matters, clients, and others.
  • Helper endpoints for retrieving information about advanced settings, such as workspace statuses, full text languages for the SQL Server, and others.
  • Helper endpoints for retrieving Azure credentials.

As a sample use case, you can simplify setting up reviews by using the Workspace Manager service to programmatically create multiple workspaces rather than manually adding them through the Relativity UI.

You can also use the Workspace Manager service through the .NET. For more information, see Workspace Manager (.NET).

Guidelines for the Workspace Manager service

Review the following guidelines for working with this service.

URLs

The URLs for REST endpoints contain path parameters that you need to set before making a call:

  • Set the {versionNumber} placeholder to the version of the REST API that you want to use, using the format lowercase v and the version number, for example v1.
  • Set other path parameters in the URLs to the Artifact ID of a given entity, for example setting {workspaceID} to the Artifact ID of a workspace.
  • Note: To indicate the admin-level context, set the {workspaceID} path parameter to -1.

For example, you can use the following URL to retrieve a workspace:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}

Set the path parameters as follows:

  • {versionNumber} to the version of the API, such as v1.
  • {workspaceID} to the Artifact ID of a specific workspace.

Client code sample

To use the Workspace Manager service, send requests by making calls with the required HTTP methods. Use the following base URL for this service:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/

The following sample code is simple .NET client that illustrates how to use the Workspace Manager service to make REST calls.

Create a workspace

To add a new workspace to Relativity, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace

Note: All fields related to the infrastructure details; DownloadHandlerUrl, Resource Pool, DefaultFileRepository, DataGridFileRepository, DefaultCacheLocation, and SqlServer are optional. If the infrastructure details are not explicitly specified in the request, they are automatically selected by the algorithm.

Create operation helper methods

The following helper endpoints provide functionality to support the create operation.

Retrieve unsupported fields for a create operation

To retrieve unsupported fields on a WorkspaceRequest object for a create operation, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/meta

The request body is empty.

The response contains the following fields

Copy
{
    "Unsupported": [
        "AzureCredentials",
        "AzureFileSystemCredentials"
    ],
    "ReadOnly": []
}

Retry failed create event handlers

To retry failed create event handlers, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}/retry-failed-create-event-handlers

When the failed create event handlers are successfully retried, the response returns the status code of 200.

Retrieve a workspace

To retrieve a workspace, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}

The response for a read operation contains many of the same fields as those for a body of a create request. See View field descriptions for a create request.

Update a workspace

To modify the properties of a workspace, send a PUT request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}

The response for an update operation contains the same fields as those for a request. See the field descriptions for View field descriptions for an update request.

Delete a workspace

To remove a workspace from Relativity, send a DELETE request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}

The request body is empty.

When the workspace is successfully deleted, the response returns the status code of 200.

Retrieve workspace statistics

To retrieve a summary of workspace statistics, send a GET request to a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}/summary

The request body is empty.

The response contains the following fields:

  • DocumentCount - a long representing the number of documents in a workspace.
  • FileSize - a long representing the total size of the workspace files in bytes.
Copy
{
  "DocumentCount": 73973,
  "FileSize": 0
}

Retrieve workspaces associated with a group

To retrieve workspaces associated with a group, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/query-by-group/{groupID}

Resource information helper methods

The following helper methods correspond to the fields that you can set in the Resource Information section of the Workspace form in the Relativity UI. For more information, see Workspaces on the RelativityOne Documentation site.

Retrieve matters

To retrieve a list of matters, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/query-eligible-matters

Retrieve clients

To retrieve a list of clients available for this workspace, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/query-eligible-clients

This endpoint uses the same format for requests and responses as the query for matters. For field descriptions and sample JSON, see Retrieve matters.

Retrieve workspaces for use as templates

To retrieve a list of workspaces for use as templates when creating a new workspace, send a POST request with URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/query-eligible-templates

This endpoint uses the same format for requests and responses as the query for matters. For field descriptions and sample JSON, see Retrieve matters.

Retrieve resource pools

To retrieve a list of resource pools, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools

The request body is empty.

Retrieve SQL Servers

To retrieve a list of available SQL Servers, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools/{resourcePoolID}/eligible-sql-servers

The request body is empty.

Retrieve file repository servers

To retrieve a list of available file repository servers, send a GET with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools/{resourcePoolID}/eligible-file-repositories

The request body is empty.

Retrieve cache location servers

To retrieve a list of available cache location servers, send a GET with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools/{resourcePoolID}/eligible-cache-locations

Retrieve the URL for the default download handler

To retrieve the URL for the default download handler, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/default-download-handler-url

This endpoint doesn't require any specific permissions.

The request body is empty.

The response contains a string representation of the default download handler URL.

Copy
"Relativity.Distributed"

Advanced settings helper methods

The following helper methods correspond to the fields that you can set in the Advanced settings section of the Workspace form in the Relativity UI. For more information, see Workspaces on the RelativityOne Documentation site.

Retrieve available statuses for a workspace

To retrieve available statuses for a workspace, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-statuses

The request body is empty.

Retrieve full text languages for SQL Server

To retrieve a list of available full text languages for the SQL Server assigned to a workspace, send a GET request to a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-sql-full-text-languages

Retrieve groups for workspace membership

To retrieve a list of groups available for workspace membership, send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/query-eligible-groups

This endpoint uses the same format for requests and responses as the query for matters. For field descriptions and sample JSON, see Retrieve matters.

Retrieve saved searches for production restrictions

You can retrieve saved searches for use with production restrictions. For more information, see Adding and editing production restrictions on the RelativityOne Documentation site.

Send a POST request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/{workspaceID}/query-eligible-saved-searches

This endpoint uses the same format for requests and responses as the query for matters. For field descriptions and sample JSON, see Retrieve matters.

Azure credentials helper methods

Use the following methods to retrieve Azure credentials associated with a resource pool or file system. For more information, see Workspaces on the RelativityOne Documentation site.

Retrieve Azure credentials

To retrieve a list of available Azure credentials associated with a resource pool, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools/{resourcePoolID}/eligible-azure-credentials

Retrieve Azure file system credentials

To retrieve a list of available Azure file system credentials, send a GET request with a URL in the following general format:

Copy
<host>/Relativity.Rest/API/relativity-environment/{versionNumber}/workspace/eligible-resource-pools/{resourcePoolID}/eligible-azure-file-system-credentials