

Last date modified: June 17 2025
A production is a group of non-privileged documents delivered to opposing counsel as part of a legal proceeding. Relativity uses a production set to define the markup set for redactions, numbering, and other settings applied to the documents during a production job. For general information, see
The Production Manager API exposes endpoints that provide the following functionality for productions:
You can also use the Production Manager service through .NET. For more information, see Production Manager (.NET).
See these related pages:
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:
The following example illustrates how to set the path parameters when deleting a data source, but the same convention applies to all URLs in the Production APIs:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/production-data-sources/{DataSourceID}
Set the path parameters as follows:
You can use the Postman sample file to become familiar with making calls to endpoints on the Document Conflicts service. To download the sample file, click Production Manager Postman file.
To get started with Postman, complete these steps:
This section contains code samples that illustrate how to create, stage, run, and perform other tasks with productions.
To add a new production set to a Relativity workspace, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions
The request may contain 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{
"production": {
"dataSource": [
{
"ArtifactTypeID": 1000034,
"ProductionType": "ImagesOnly",
"SavedSearch": {
"ArtifactID": 1045335,
"Name": "Beck's Search"
},
"UseImagePlaceholder": "WhenNoImageExists",
"Placeholder": {
"ArtifactID": 1045523,
"Name": "Custom 1"
},
"MarkupSet": {
"ArtifactID": 1034197,
"Name": "Primary"
},
"BurnRedactions": true,
"PlaceholderFilename": "",
"PlaceholderFileSize": 0,
"Name": "Data Test"
}
],
"Details": {
"EmailRecipients": "",
"BrandingFont": "Arial",
"BrandingFontSize": 10,
"ScaleBrandingFont": false,
"WrapBrandingText": false,
"PlaceholderImageFormat": "Tiff",
"FirstBatesValue": "PRE0000001",
"LastBatesValue": "PRE0000007",
"DateProduced": "2020-10-23T19:23:40.233"
},
"Numbering": {
"BatesPrefix": "PRE",
"BatesSuffix": "",
"BatesStartNumber": 1,
"NumberOfDigitsForDocumentNumbering": 7,
"NumberingType": "PageLevel",
"AttachmentRelationalField": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
}
},
"SortOrder": [],
"Headers": {
"Left": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Left Header"
},
"Right": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Right Header"
},
"Center": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Center Header"
}
},
"Footers": {
"Left": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Left Footer"
},
"Right": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Right Footer"
},
"Center": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Center Footer"
}
},
"Keywords": "",
"Notes": "",
"RelativityApplications": [],
"ShouldCopyInstanceOnWorkspaceCreate": false,
"Name": "Production 1 (1) (1) (1)"
}
}
When the production set is successfully created, the response contains its Artifact ID.
1
1048147
To retrieve a production set, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}?dataSourceReadMode={dataSourceReadMode}
The request body is empty.
The response for a read operation contains the many of the same fields as a request for a create operation. See the field descriptions in Create a production set.
The read operation also returns several additional fields.
The response also contains these 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{
"DataSources": [
{
"ArtifactTypeID": 1000034,
"ProductionType": "ImagesOnly",
"SavedSearch": {
"ArtifactID": 1045335,
"Name": "Beck's Search"
},
"UseImagePlaceholder": "AlwaysUseImagePlaceholder",
"Placeholder": {
"ArtifactID": 1045546,
"Name": "New Custom"
},
"MarkupSet": {
"ArtifactID": 0,
"Name": ""
},
"BurnRedactions": false,
"PlaceholderFilename": "",
"PlaceholderFileSize": 0,
"ArtifactID": 1048148,
"Name": "Data (1) (1) (1)"
}
],
"Details": {
"EmailRecipients": "",
"BrandingFont": "Arial",
"BrandingFontSize": 10,
"ScaleBrandingFont": false,
"WrapBrandingText": false,
"PlaceholderImageFormat": "Tiff",
"FirstBatesValue": "PRE0000001",
"LastBatesValue": "PRE0000007",
"DateProduced": "2020-10-23T19:23:40.233"
},
"Numbering": {
"BatesPrefix": "PRE",
"BatesSuffix": "",
"BatesStartNumber": 1,
"NumberOfDigitsForDocumentNumbering": 7,
"NumberingType": "PageLevel",
"AttachmentRelationalField": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
}
},
"SortOrder": [],
"Headers": {
"Left": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Left Header"
},
"Right": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Right Header"
},
"Center": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Center Header"
}
},
"Footers": {
"Left": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Left Footer"
},
"Right": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Right Footer"
},
"Center": {
"Type": "None",
"Field": {
"ArtifactID": 0,
"ViewFieldID": 0,
"Guids": [],
"Name": ""
},
"FreeText": "",
"AdvancedFormatting": "",
"FriendlyName": "Center Footer"
}
},
"Keywords": "",
"Notes": "",
"RelativityApplications": [],
"ShouldCopyInstanceOnWorkspaceCreate": false,
"ProductionMetadata": {
"RestrictionOverrideBy": {
"ArtifactID": 0,
"Name": ""
},
"RestrictionOverrideOn": "0001-01-01T00:00:00",
"Status": "Produced",
"Imported": false,
"LegacyProductionSet": false,
"DocumentsHaveRedactions": false,
"SystemCreatedBy": {
"Secured": false,
"Value": {
"ArtifactID": 9,
"Name": "Admin, Relativity"
}
},
"SystemCreatedOn": {
"Secured": false,
"Value": "2020-10-23T19:23:27.607"
},
"SystemLastModifiedBy": {
"Secured": false,
"Value": {
"ArtifactID": 9,
"Name": "Admin, Relativity"
}
},
"SystemLastModifiedOn": {
"Secured": false,
"Value": "2020-10-23T19:23:53.107"
},
"LastRunError": "",
"LastRunStatus": "",
"BrandingPercentageComplete": 100.0,
"ImagingPercentageComplete": 100.0,
"TotalDocumentCount": 7,
"TotalImagesCount": 7,
"DocumentsWithImages": 0,
"DocumentsWithNatives": 0,
"DocumentsWithPlaceholders": 7,
"DocumentsWithRedactions": 0,
"TotalProducedImageSize": 12,
"ProductionSavedSearch": {
"ArtifactID": 1048156,
"Name": ""
}
},
"ProductionID": 1048147,
"Name": "Production 1 (1) (1) (1)"
}
To remove a production set from Relativity, send a DELETE request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}
The request body is empty.
When the production is successfully deleted, the response returns the status code of 200.
To stage a production, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/stage
The request must contain the following field:
1
2
3
{
"automaticallyRun": false
}
The response contains a ProductionJobResult object with the following fields:
1
2
3
4
5
6
7
8
9
{
"JobID": 121,
"Errors": [],
"Messages": [],
"Warnings": [],
"WasJobCreated": true,
"ProductionID": 1053233,
"WorkspaceID": 1017955
}
To run a production job, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/run
The request must contain the following fields:
1
2
3
4
{
"suppressWarnings": true,
"overrideConflicts": false
}
The response contains the same fields as a response for a staging operation. See the field descriptions in Stage a production.
1
2
3
4
5
6
7
8
9
10
11
{
"JobID": 122,
"Errors": [],
"Messages": [
"There is no specified Production Restriction for this workspace."
],
"Warnings": [],
"WasJobCreated": true,
"ProductionID": 1053233,
"WorkspaceID": 1017955
}
You can stage and run multiple productions in a workspace. If the production is already staged, this method only runs it.
Send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/stage-and-run
The request must contain the following field:
1
2
3
4
5
6
{
"productionIDs": [
101,
102
]
}
The response contains a ProductionJobResult object for each production in the request. See the field descriptions in Stage a production.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[
{
"JobID": 1,
"Errors": [],
"Messages": [],
"Warnings": [],
"WasJobCreated": true,
"ProductionID": 101,
"WorkspaceID": 200
},
{
"JobID": 2,
"Errors": [
"One or more productions in this request could not be run, so this production will not run either. Please check all errors.",
"Production specified is invalid."
],
"Messages": [],
"Warnings": [],
"WasJobCreated": false,
"ProductionID": 102,
"WorkspaceID": 200
}
]
To re-run a production, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/re-run
The request body is empty.
When the production is successfully marked for re-running, the response returns the status code of 200.
This section contains code samples that illustrate how to retrieve default field values, and how to set and remove production restrictions.
You can retrieve default field values for a production. This method doesn't return empty or null fields.
Send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/defaults
The request body is empty.
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
"ScaleBrandingFont": {
"Guid": "058e1081-2d70-46b5-8cf7-a08d0ee624a0",
"ID": 1038763,
"DefaultValue": false
},
"BrandingFont": {
"Guid": "59404f41-98ef-42b7-b0b1-9573331ad25a",
"ID": 1039439,
"DefaultValue": {
"ID": 1039448,
"Name": "Verdana"
}
},
"BrandingFontSize": {
"Guid": "96554098-79f2-4cfb-b851-366e88923a74",
"ID": 1038762,
"DefaultValue": 12
},
"PlaceholderImageFormat": {
"Guid": "4be69bed-fed5-426d-bfbc-57596926ac26",
"ID": 1039174,
"DefaultValue": {
"ID": 1039176,
"Name": "JPEG"
}
},
"CopyProductionOnWorkspaceCreate": {
"Guid": "71bc6045-e2fe-4f12-80f6-aee298b124f7",
"ID": 1038899,
"DefaultValue": false
},
"WrapBrandingText": {
"Guid": "229b331d-c560-4805-90c9-875214be23c8",
"ID": 1039449,
"DefaultValue": true
},
"NumberingType": {
"Guid": "3eb821b5-01b4-48d4-a3ab-26b2cfa5d236",
"ID": 1038764,
"DefaultValue": {
"ID": 1038765,
"Name": "Page level numbering"
}
},
"StartNumber": {
"Guid": "859851d2-efc6-4510-8bcb-5e4df1db53bd",
"ID": 1038771,
"DefaultValue": 1
},
"NumberOfDigitsForDocumentNumbering": {
"Guid": "4d29f986-0399-4534-922a-e4c19719415b",
"ID": 1038772,
"DefaultValue": {
"ID": 1038779,
"Name": "7"
}
},
"IncludePageNumbers": {
"Guid": "67ba287e-f468-4c55-ae65-3dea3f6a804d",
"ID": 1038827,
"DefaultValue": false
},
"DocumentPageSeparator": {
"Guid": "c180f1cb-a500-4e67-9016-1323649e9713",
"ID": 1038828,
"DefaultValue": {
"ID": 1038829,
"Name": "_ (underscore)"
}
},
"NumberOfDigitsForPageNumbering": {
"Guid": "d435d806-963d-45f2-b629-45b675776ace",
"ID": 1038832,
"DefaultValue": {
"ID": 1038836,
"Name": "4"
}
},
"StartNumberOnSecondPage": {
"Guid": "a517d142-3569-46a5-8c58-ccd145be3b75",
"ID": 1039172,
"DefaultValue": false
},
"MergeExistingSet": {
"Guid": "12092f60-6c0a-4df0-8326-1ff41aab26b2",
"ID": 1038840,
"DefaultValue": false
},
"SortOrderAscDesc1": {
"Guid": "06100bff-a79c-459b-a151-9780034bb018",
"ID": 1038851,
"DefaultValue": {
"ID": 1038852,
"Name": "Ascending"
}
},
"SortOrderAscDesc2": {
"Guid": "efa4082d-3fab-4245-b597-baa59c00679a",
"ID": 1038854,
"DefaultValue": {
"ID": 1038855,
"Name": "Ascending"
}
},
"SortOrderAscDesc3": {
"Guid": "0e4eab9e-a42a-4531-b958-b0657d5a76f6",
"ID": 1038857,
"DefaultValue": {
"ID": 1038858,
"Name": "Ascending"
}
},
"SortOrderAscDesc4": {
"Guid": "899e7fa0-5725-4b66-b753-a83b66ebd07f",
"ID": 1038860,
"DefaultValue": {
"ID": 1038861,
"Name": "Ascending"
}
},
"SortOrderAscDesc5": {
"Guid": "eeb4ce8e-871e-4eec-9efd-a42d06d23140",
"ID": 1038863,
"DefaultValue": {
"ID": 1038864,
"Name": "Ascending"
}
}
}
To add a production restriction to a workspace, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/production-restriction
The request must contain the following field:
productionRestrictionSearchID - the Artifact ID of a saved search in the workspace if this value isn't already set. If the value is set, this endpoint replaces the current production restriction with a new one.
Use 0 as the ID for a saved search if you want to clean up the current production restriction.
1
2
3
{
"productionRestrictionSearchID" : 1039456
}
When the production restriction is successfully added, the response returns the status code of 200.
You can retrieve the ID of a save search used for production restrictions in a workspace. This endpoint returns 0 if a production restriction hasn't been set.
Send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/production-restriction
The response contains the Artifact ID of the saved search.
1
1041865
This section contains code samples that illustrate how to retrieve information about production jobs, including status, progress, production results, and others.
To retrieve the job status of a production, send a GET request with a URL in the following format:
1
Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/job-status?includePercentages={includePercentages}&numberOfBrandingErrors={numberOfBrandingErrors}
The request body is empty.
The response contains a ProductionJobStatusResult object with the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"BrandingErrors": [
"Redaction ID 1 is outside the bounds of the image. Please move the redaction and rerun the production.",
"Redaction ID 2 is outside the bounds of the image. Please move the redaction and rerun the production."
],
"NumberOfBrandingErrors": 2,
"JobStatus": "Errored",
"Status": "Error",
"PercentageImaging": 0.0,
"PercentageProducing": 0.0,
"LastRunStatus": "There was an error producing/branding the production.",
"LastRunError": "There were errors during Branding for Production 1050464, please check the branding errors tab."
}
To retrieve progress details for a production, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/progress
The request body is empty.
The response contains a ProductionProgress object with the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"Status": "Staged",
"StartTime": "0001-01-01T00:00:00",
"CurrentBrandingQueueLength": 0,
"TotalBrandingQueueLength": 0,
"TotalImages": 1,
"ImagesToBeBranded": 0,
"ImagesBranded": 0,
"ImagesWithErrors": 0,
"TotalDocuments": 1,
"DocumentsWithImages": 0,
"DocumentsWithPlaceHolders": 1,
"DocumentsWithRedactions": 0,
"DocumentsWithNatives": 0,
"ImageSizeInGb": 0.0,
"ProductionRunDate": "0001-01-01T00:00:00"
}
To retrieve production status details, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/status-details
The request body is empty.
The response contains a ProductionJobStatusResult object. For field descriptions, see Retrieve the job status of a production.
You can retrieve produced image files by using paging or document IDs.
To retrieve images by using paging, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/production-images/token?top={top}&skip={skip}
Set the path parameters in the URL as follows:
The request body is empty.
The response contains PagedImageFilesResult 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
45
46
47
48
49
50
51
52
53
54
55
56
{
"TotalResultSet": 7,
"ResultCount": 7,
"ImageFiles": [
{
"DocumentID": 1045081,
"FileID": 13704,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "40b546c1-ad51-4857-a695-84e72fb70e24"
},
{
"DocumentID": 1045082,
"FileID": 13705,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "0ce86285-4865-45af-b77d-1dedda3fb114"
},
{
"DocumentID": 1045083,
"FileID": 13706,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "676fcdbd-2ef7-4270-b75c-173bd6fd052c"
},
{
"DocumentID": 1045084,
"FileID": 13707,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "dd718d91-833f-4166-a77d-fda4630af226"
},
{
"DocumentID": 1045085,
"FileID": 13708,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "b164bd13-0824-497f-98ac-3904a3bf3e33"
},
{
"DocumentID": 1045086,
"FileID": 13709,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "c5c9721d-64d4-4ac1-a62e-974146c9afe7"
},
{
"DocumentID": 1045087,
"FileID": 13710,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "c7a15e16-7d80-4b78-877c-67e1a037e1a8"
}
],
"Errors": []
}
To retrieve images by using document IDs, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/production-images
The request must contain the following field:
1
2
3
4
5
6
{
"documentIDs":[
1045081,
1045082
]
}
The response contains an ImageFilesResult 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
{
"Count": 2,
"ImageFiles": [
{
"DocumentID": 1045081,
"FileID": 13704,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "40b546c1-ad51-4857-a695-84e72fb70e24"
},
{
"DocumentID": 1045082,
"FileID": 13705,
"PageNumber": 0,
"HasRedactions": false,
"FileGuid": "0ce86285-4865-45af-b77d-1dedda3fb114"
}
],
"Errors": []
}
To retrieve all productions in a workspace, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceId}/productions?{datasourceMode}
Set the path parameters in the URL as follows:
Name | Value | Description |
---|---|---|
None | 0 | Don't return data sources or placeholders. |
OnlyDataSources | 1 | Return only data sources. |
DataSourcesAndPlaceholders | 2 | Return both data sources and placeholders. |
The request body is empty.
The response contains a ProductionJobStatusResult object. For field descriptions, see Retrieve the job status of a production.
You can retrieve produced productions for documents by using document IDs or a mass operation token.
To retrieve produced productions by using document IDs, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/produced-production
The body of the request must include the following fields:
1
2
3
4
5
6
"documentIDs":[
{{documentID}},
{{documentID}}
],
"excludeNonReproducible": {{excludeNonReproducible}}
}
To retrieve produced productions for a collection of documents by using a mass operation token, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/tokens/{token}/produced-production?{excludeNonReproducible}
Set the path parameters in the URL as follows:
The request body is empty.
The response contains a ProductionJobStatusResult object. For field descriptions, see Retrieve the job status of a production.
To retrieve a unique token associated with this call to page through images, send a GET request with a URL in the following format:
1
<host>//Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/production-images/token
The request body is empty.
The response contains the GUID for the token as a string.
1
29591b23-f692-4a9e-b10c-0be5b52d6b1a
This section contains code samples that illustrate how to retrieve information about production errors and document conflicts.
To retrieve document conflicts, production errors, and information about whether the production can be run, send a GET request with a URL in the following format:
1
<host>/Relativity.Rest/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/prerun-check
The request body is empty.
1
2
3
4
5
6
7
8
{
"ConflictMessage": "There are 2 conflicts between the documents in this Production and the Production Restriction.",
"ProductionErrors": [
"Trying to produce documents as Images, but there are documents in the data source that do not have Images."
],
"CanContinue": false,
"ContinueMessage": "CannotContinue"
}
To retrieve staging errors for a production, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/staging-errors
The request body is empty.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[
{
"ErroredDocumentCount": 0,
"DuplicateDocuments": [
{
"Name": "string",
"DataSourceNames": [
"string"
]
}
],
"ErrorMessage": "string"
}
]
To retrieve branding errors for a production, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/branding-errors
The request body is empty.
The response contains a specified number of branding errors for a production. The MaxListItems instance setting controls the number of branding errors returned.
This method returns an empty list if the production isn't in an errored state or if the user doesn't have permission to view the errored documents.
The response contains an array of BrandingError objects that contain the following fields:
To retrieve a list of documents that conflict with production restrictions, send a GET request with a URL in the following format:
1
<host>/Relativity.Rest/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/document-conflicts
The request body is empty.
The response is a status code of 200 for productions with a Staged or Starting status. Other production statuses return a code of 400 with validation errors.
1
2
3
4
5
6
7
8
9
10
{
"ProductionRestrictions": {
"SavedSearchID": 1038052,
"SavedSearchName": "All Documents"
},
"DocumentIDs": [
1040682
],
"HasOverridePermission": true
}
You can remove documents from a production that conflict with the restrictions set on a workspace. This endpoint deletes documents from a production with a status of Staged or ErrorStartingProduction. The user must have edit permission to the production set.
Send a DELETE request with a URL in the following format:
1
<host>/Relativity.Rest/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/document-conflicts
The request body is empty.
When the document conflicts are successfully deleted, the response returns the status code of 200.
This section contains code samples that illustrate how to retrieve, run, stage, and cancel re-production jobs.
To retrieve productions eligible for re-production based on the production type, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspace/{workspaceID}/database-tokens/{databaseToken}/reproduction-types/{reproductionType}/eligible-re-productions
Set the path parameters in the URL as follows:
{reproductionType} - set an integer value for one of the following re-production types:
Reproduction Type | Input |
---|---|
Reproduce document | 0 |
Replace document with placeholder | 1 |
Replace placeholder with document | 2 |
The request body is empty.
1
2
3
4
5
6
7
8
9
[
{
"BeginBates": "0000001",
"EndBates": "0000003",
"DateProduced": "1/1/2020 12:00:00 AM",
"ProductionID": 1040044,
"Name": "Eligible Production"
}
]
To retrieve all the re-productions performed on a specific production, send a GET request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/re-productions
The request body is empty.
This endpoint requires production view permission.
1
2
3
4
5
6
7
8
9
10
11
12
[
{
Name: "Re-production One",
ProductionID: 1017598,
IsDeleted: false
},
{
Name: "Deleted Re-production",
ProductionID: -1,
IsDeleted: true
}
]
To stage and run a re-production job, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/reproduction-jobs/{ReproductionJobID}/stage-and-run
The request body is empty.
The response contains a result object for each production in the re-production job. Each object contains the following fields:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[
{
"JobID": 318,
"Errors": [],
"Messages": [],
"Warnings": [],
"WasJobCreated": true,
"ProductionID": 1039838,
"WorkspaceID": 1024649
},
{
"JobID": 319,
"Errors": [],
"Messages": [],
"Warnings": [],
"WasJobCreated": true,
"ProductionID": 1039840,
"WorkspaceID": 1024649
}
]
To cancel all jobs for a re-production, send a POST request with a URL in the following format:
1
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/reproduction-jobs/{ReproductionJobID}/cancel
The request body is empty.
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
{
"NumberOfJobsRequestedForCancel": 2,
"NumberOfJobsCancelWasRequestedSuccessfully": 1,
"CancelJobResults": [
{
"WorkspaceID": 100,
"ProductionID": 200,
"JobID": 1,
"CancelSuccessfullySent": true,
"Errors": []
},
{
"WorkspaceID": 100,
"ProductionID": 201,
"JobID": 2,
"CancelSuccessfullySent": false,
"Errors": [
"This production cannot be canceled."
]
}
],
"Errors": []
}
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 |