Production Manager (REST)

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 Production and Production sets on the RelativityOne Documentation site.

The Production Manager API exposes endpoints that provide the following functionality for productions:

  • Creating, deleting, staging, running, and performing other tasks with production sets
  • Retrieving default fields on a production
  • Setting and removing production restrictions defined in a workspace
  • Retrieving information about production jobs, such as status, progress, and production results
  • Retrieving information about production errors and document conflicts
  • Retrieving, running, staging, and canceling re-production jobs

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

See these related pages:

Guidelines for productions in REST

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.

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:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/production-data-sources/{DataSourceID}

Set the path parameters as follows:

  • {versionNumber} to the version of the API, such as v1.
  • {WorkspaceID} to the Artifact ID of the workspace that contains the data source.
  • {DataSourceID} to the Artifact ID of a specific data source.

Postman sample file

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:

  1. Obtain access to a Relativity environment. You need a username and password to make calls to your environment.
  2. Install Postman.
  3. Import the Postman sample file for the service. For more information, see Working with data files on the Postman web site.
  4. Select an endpoint. Update the URL with the domain for your Relativity environment and any other variables.
  5. In the Authorization tab, set the Type to Basic Auth, enter your Relativity credentials, and click Update Request.
  6. See the following sections on this page for more information on setting required fields for a request.
  7. Click Send to make a request.

Production sets and jobs

This section contains code samples that illustrate how to create, stage, run, and perform other tasks with productions.

Create a production set

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

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions

When the production set is successfully created, the response contains its Artifact ID.

Copy
1048147

Retrieve a production set

To retrieve a production set, send a GET request with a URL in the following format:

Copy
<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.

Delete a production set

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

Copy
<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.

Stage a production

To stage a production, send a POST request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/stage

The request must contain the following field:

  • automaticallyRun - a Boolean value indicating whether to immediately run the staged production. The default value is false.
Copy
{
    "automaticallyRun": false
}

Run a production job

To run a production job, send a POST request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/run

The request must contain the following fields:

  • suppressWarnings - a Boolean value indicating whether to suppress warning messages.
  • overrideConflicts - a Boolean value indicating whether to override production conflicts.
Copy
{
    "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.

Stage and run multiple production jobs

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:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/stage-and-run

The request must contain the following field:

  • productionIDs - an array of Artifact IDs for the productions that the you want to stage and run.
Copy
{
    "productionIDs": [
        101,
        102
    ]
}

The response contains a ProductionJobResult object for each production in the request. See the field descriptions in Stage a production.

Re-run a production

To re-run a production, send a POST request with a URL in the following format:

Copy
<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.

Default fields and restrictions for productions

This section contains code samples that illustrate how to retrieve default field values, and how to set and remove production restrictions.

Retrieve default field values for a production

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:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/defaults

The request body is empty.

Set production restrictions on a workspace

To add a production restriction to a workspace, send a POST request with a URL in the following format:

Copy
<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.

  • Note: Use 0 as the ID for a saved search if you want to clean up the current production restriction.

Copy
{
    "productionRestrictionSearchID" : 1039456
}

When the production restriction is successfully added, the response returns the status code of 200.

Retrieve the ID of a save search used for production restrictions

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:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/production-restriction

The response contains the Artifact ID of the saved search.

Copy
1041865

Production job status, progress, and other information

This section contains code samples that illustrate how to retrieve information about production jobs, including status, progress, production results, and others.

Retrieve the job status of a production

To retrieve the job status of a production, send a GET request with a URL in the following format:

Copy
Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/job-status?includePercentages={includePercentages}&numberOfBrandingErrors={numberOfBrandingErrors}

The request body is empty.

Retrieve progress details for a production

To retrieve progress details for a production, send a GET request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/progress

The request body is empty.

Retrieve production status details

To retrieve production status details, send a GET request with a URL in the following format:

Copy
<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.

Retrieve results for produced image files

You can retrieve produced image files by using paging or document IDs.

Retrieve all productions in a workspace

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

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceId}/productions?{datasourceMode}

Set the path parameters in the URL as follows:

  • {WorkspaceId} - the Artifact ID of workspace containing productions to retrieve.
  • {datasourceMode} - an optional parameter based on the DataSourceReadMode enumeration. Set with an integer value 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.

Retrieve produced productions for documents

You can retrieve produced productions for documents by using document IDs or a mass operation token.

The response contains a ProductionJobStatusResult object. For field descriptions, see Retrieve the job status of a production.

Retrieve a token for paging through images

To retrieve a unique token associated with this call to page through images, send a GET request with a URL in the following format:

Copy
<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.

Copy
29591b23-f692-4a9e-b10c-0be5b52d6b1a

Production errors and document conflicts

This section contains code samples that illustrate how to retrieve information about production errors and document conflicts.

Retrieve conflicts, errors, and other production information

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:

Copy
<host>/Relativity.Rest/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/prerun-check

The request body is empty.

Retrieve staging errors for a production

To retrieve staging errors for a production, send a GET request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/staging-errors

The request body is empty.

Retrieve branding errors for a production

To retrieve branding errors for a production, send a GET request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/branding-errors

The request body is empty.

Retrieve documents conflicting with production restrictions

To retrieve a list of documents that conflict with production restrictions, send a GET request with a URL in the following format:

Copy
<host>/Relativity.Rest/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/{ProductionID}/document-conflicts

The request body is empty.

Remove documents conflicting with production restrictions

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:

Copy
<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.

Re-production jobs

This section contains code samples that illustrate how to retrieve, run, stage, and cancel re-production jobs.

Retrieve productions eligible for re-production

To retrieve productions eligible for re-production based on the production type, send a GET request with a URL in the following format:

Copy
<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:

  • {workspaceID} - the Artifact ID of workspace containing the productions eligible for re-production.
  • {databaseToken} - a GUID used as database token.
  • {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.

Retrieve re-productions for a specific production

To retrieve all the re-productions performed on a specific production, send a GET request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{workspaceID}/productions/{productionID}/re-productions

The request body is empty.

Note: This endpoint requires production view permission.

Stage and run a re-production job

To stage and run a re-production job, send a POST request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/reproduction-jobs/{ReproductionJobID}/stage-and-run

The request body is empty.

Cancel jobs for a re-production

To cancel all jobs for a re-production, send a POST request with a URL in the following format:

Copy
<host>/Relativity.REST/api/relativity-productions/{versionNumber}/workspaces/{WorkspaceID}/productions/reproduction-jobs/{ReproductionJobID}/cancel

The request body is empty.