

Last date modified: June 17 2025
In Relativity, a client is a company or organization, which is associated with users, matters, groups, and workspaces. For general information, see
The Client Manager service exposes endpoints that provide the following functionality:
As a sample use case, you can programmatically create multiple clients by using the Client Manager service eliminating the need to manually add them through the Relativity UI.
You can also use the Client Manager service through .NET. For more information, see Client Manager (.NET).
Review the following guidelines for working with this service.
The URLs for REST endpoints contain path parameters that you need to set before making a call:
For example, you can use the following URL to retrieve a client:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}
Set the path parameters as follows:
You can use the Postman sample file to become familiar with making calls to endpoints on the Client Manager service. To download the sample file, click Client Manager Postman file.
To get started with Postman, complete these steps:
To use the Client Manager service, send requests by making calls with the required HTTP methods. The following code sample illustrates how to make calls to the Client Manager service from a .NET client.
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
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;
}
public async Task<List<int>> GetEligibleStatuses()
{
string url = "/Relativity.rest/api/relativity-identity/v1/workspaces/-1/clients/eligible-statuses";
HttpClient httpClient = GetHttpClient();
HttpResponseMessage response = await httpClient.GetAsync(url);
string resultString = await response.Content.ReadAsStringAsync();
var statusIDs = new List<int>();
dynamic result = JObject.Parse(resultString) as JObject;
foreach (var obj in result.Objects)
{
int statusID = obj.ArtifactID;
statusIDs.Add(statusID);
}
return statusIDs;
}
public async Task<int> Create(int statusID)
{
string url = "/Relativity.rest/api/relativity-identity/v1/workspaces/-1/clients/";
var payload = new
{
clientRequest = new
{
Name = "Sample client name",
Number = "Sample client number",
Status = new
{
ArtifactID = statusID
},
Keywords = "Sample keywords",
Notes = "Sample notes"
}
};
string payloadString = JsonConvert.SerializeObject(payload);
var content = new StringContent(payloadString, Encoding.UTF8, "application/json");
HttpClient httpClient = GetHttpClient();
HttpResponseMessage message = await httpClient.PostAsync(url, content);
string resultString = await response.Content.ReadAsStringAsync();
dynamic result = JObject.Parse(resultString) as JObject;
int artifactID = result.ArtifactID;
return artifactID;
}
To add a new client to Relativity, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/
To use this endpoint, the caller must have the following:
The body of the request must contain the following fields unless specifically identified as optional:
1
2
3
4
5
6
7
8
9
10
11
12
{
"ClientRequest" : {
"Name": "Example Name",
"Number": "50",
"Status": {
"ArtifactID": "662",
"Guids": []
},
"Keywords": "",
"Notes": ""
}
}
The response contains a ClientResponse object with the following fields:
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
{
"Name": "Example Name",
"Number": "50",
"Status": {
"Name": "Active",
"ArtifactID": 662,
"Guids": []
},
"IsClientDomain": false,
"Keywords": "",
"Notes": "",
"CreatedOnDate": "2020-10-22T00:00:00",
"CreatedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedOnDate": "2020-10-22T00:00:00",
"Meta": {
"Unsupported": [],
"ReadOnly": [
"IsClientDomain"
]
},
"Actions": [
{
"Name": "Delete",
"IsAvailable": true,
"Reason": []
},
{
"Name": "Update",
"IsAvailable": true,
"Reason": []
}
],
"ArtifactID": 1040161,
"Guids": []
}
You can retrieve basic information about a client or extended information, which also includes operations that you have permissions to perform on the client.
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}?includeMetadata=true&includeActions=true
To use this endpoint, the caller must have the following:
The request body is empty.
The response for a read operation contains the same fields as a response for a create operation. See the field descriptions in View field descriptions for a create response.
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
{
"Name": "Example Name",
"Number": "50",
"Status": {
"Name": "Active",
"ArtifactID": 662,
"Guids": []
},
"IsClientDomain": false,
"Keywords": "",
"Notes": "",
"CreatedOnDate": "2020-10-22T00:00:00",
"CreatedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedOnDate": "2020-10-22T00:00:00",
"ArtifactID": 1040161,
"Guids": []
}
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
{
"Name": "Example Name",
"Number": "50",
"Status": {
"Name": "Active",
"ArtifactID": 662,
"Guids": []
},
"IsClientDomain": false,
"Keywords": "",
"Notes": "",
"CreatedOnDate": "2020-10-22T00:00:00",
"CreatedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedBy": {
"Name": "Admin, Relativity",
"ArtifactID": 9,
"Guids": []
},
"LastModifiedOnDate": "2020-10-22T00:00:00",
"Meta": {
"Unsupported": [],
"ReadOnly": [
"IsClientDomain"
]
},
"Actions": [
{
"Name": "Delete",
"IsAvailable": true,
"Reason": []
},
{
"Name": "Update",
"IsAvailable": true,
"Reason": []
}
],
"ArtifactID": 1040161,
"Guids": []
}
You can modify the properties of a client. Additionally, you can also restrict the update of a client to the date that it was last modified by adding the LastModifiedOn field to the request body.
Send a PUT request to with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}
To use this endpoint, the caller must have the following:
The request must contain the following fields unless specifically identified as optional:
1
2
3
4
5
6
7
8
9
10
11
12
{
"ClientRequest" : {
"Name": "New example name",
"Number": 100,
"Status": {
"ArtifactID": 662,
"Guids": []
},
"Keywords": "",
"Notes": ""
}
}
When the client is successfully updated, the response returns the status code of 200.
To remove a client from Relativity, send a DELETE request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}
Before deleting a client, consider checking for dependent clients using Object Manager service. See Object Manager (REST).
To use this endpoint, the caller must have the following:
When the client is successfully deleted, the response returns the status code of 200.
The following helper endpoints retrieve lists of available groups, matters, users, and statuses, which may be helpful when creating or updating clients. For general information, see
To retrieve information about groups associated with a client, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/query-groups
To use this endpoint, the caller must have the following:
The body of a request contains the following fields:
1
2
3
4
5
6
7
8
9
{
"Request":{
"Condition": "",
"Sorts": "",
"Fields":[ ]
},
"start": 1,
"length": 10
}
The response contains the following fields:
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
{
"TotalCount": 9,
"Objects": [
{
"ArtifactID": 20,
"Values": []
},
{
"ArtifactID": 762,
"Values": []
},
{
"ArtifactID": 1015005,
"Values": []
},
{
"ArtifactID": 1015025,
"Values": []
},
{
"ArtifactID": 1015026,
"Values": []
},
{
"ArtifactID": 1015027,
"Values": []
},
{
"ArtifactID": 1015028,
"Values": []
},
{
"ArtifactID": 1015029,
"Values": []
},
{
"ArtifactID": 1015030,
"Values": []
}
],
"IDWindow": [],
"CurrentStartIndex": 1,
"ResultCount": 9,
"ObjectType": {
"ArtifactID": 1016185,
"Name": "Group",
"Guids": [],
"ArtifactTypeID": 3
},
"RankWindow": [],
"Fields": []
}
To retrieve information about the matters associated with a client, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/query-matters
To use this endpoint, the caller must have the following:
This endpoint uses the same format for requests and responses as the query for groups. For field descriptions and sample JSON, see Retrieve associated groups.
To retrieve information about the users associated with a client, send a POST request to the following URL:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/query-users
To use this endpoint, the caller must have the following:
This endpoint uses the same format for requests and responses as the query for groups. For field descriptions and sample JSON, see Retrieve associated groups.
To retrieve a list of available statuses for a client, send a GET request to the following URL:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/eligible-statuses
To use this endpoint, the caller must have the following:
The request body is empty.
The body of response contains the list of objects with the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
[
{
"Name": "Active",
"ArtifactID": 662,
"Guids": []
},
{
"Name": "Inactive",
"ArtifactID": 669,
"Guids": []
}
]
The following endpoints support creating, submitting, and retrying client domain activation keys. For general information, see Client domains on the Relativity
To create and return the client domain activation key required to initiate the activation process, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/client-domain/request-key
The request body is empty.
The response is a string containing the client domain activation key.
To submit a client domain activation key and initiate the activation process, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/client-domain/activation-key
The body of a request contains the following field:
1
2
3
{
"activationKey": "ABCD1234"
}
When the client domain is successfully activated, the response returns the status code of 200.
To rerun a previously failed activation process, send a POST request with a URL in the following format:
1
<host>/Relativity.rest/api/relativity-identity/{versionNumber}/workspaces/-1/clients/{clientID}/client-domain/activate
The request body is empty.
When the client domain is successfully activated, the response returns the status code of 200.
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 |