User Manager (REST)

Users are individuals who have access to the Relativity environment. For general information, see Users on the Relativity Documentation site. The User Manager API exposes multiple operations that you can use to programmatically manage users in your Relativity environment. It includes the following features:

  • Supports create, read, update, and delete operations on users.
  • Supports read and update operations on the settings of the current users.
  • Provides helper methods used to retrieve the available user types.
  • Retrieval of all users from a workspace or admin-level context.

Sample use cases

  • Developing a custom tool to import users in Relativity.
  • Updating properties like the name or the email of the logged user or any other user in Relativity.
  • Retrieve user information for display in a view for a custom application.

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

This page contains the following information:

Fundamentals for managing users

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 or v2
  • 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.

Refer to Fundamentals for managing users for more information.

Client code sample

To use the User Manager service, send requests by making calls with the required HTTP methods. You can use the following .NET code as a sample client for creating a user.

public async Task<UserResponse> CreateUserAsync()
{
    using (HttpClient client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("X-CSRF-Header", "-");
        client.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("test@test.com:SomePassword")));
        client.DefaultRequestHeaders.Add("X-Kepler-Version", "2.0");
        client.BaseAddress = new Uri("http://localhost/");
 
        string inputJSON = "{\"UserRequest\":{\"AllowSettingsChange\": true,\"Client\": {\"Secured\": false,\"Value\": {\"ArtifactID\": 1015644}},\"DefaultFilterVisibility\": true,\"DocumentViewerProperties\": {\"AllowDocumentSkipPreferenceChange\": true,\"AllowDocumentViewerChange\": true,\"AllowKeyboardShortcuts\": true,\"DefaultSelectedFileType\": \"Default\",\"DocumentViewer\": \"Default\",\"SkipDefaultPreference\": true},\"DisableOnDate\": null,\"EmailAddress\": \"test222@relativity.com\",\"EmailPreference\": \"Default\",\"FirstName\": \"First Name\",\"ItemListPageLength\": 50,\"LastName\": \"Last Name\",\"RelativityAccess\": true,\"SavedSearchDefaultsToPublic\": true,\"TrustedIPs\": \"\",\"Type\": {\"ArtifactID\": 663},\"Keywords\": \"\",\"Notes\": \"\"}}";
        string url = "/Relativity.REST/api/Relativity-Identity/{versionNumber}/users";
        HttpResponseMessage response = await client.PostAsync(url, new StringContent(inputJSON, Encoding.UTF8, "application/json"));
        response.EnsureSuccessStatusCode();
        string content = await response.Content.ReadAsStringAsync();
        return JsonConvert.DeserializeObject<UserResponse>(content);
    }
}

Create a user

Retrieve metadata for a user

Retrieve settings of the current user

Update the properties of a user

Update the settings of the current user

Delete a user

 

Retrieve a list of active users in a workspace

Retrieve a list of all users in a workspace

Retrieve a list of users that have Relativity access

Retrieve current user information in a workspace

Query a list of users

Retrieve all the available types for the user

Query eligible groups to add users to