Last date modified: 2026-Jul-10

ARM API (REST) V1 to V3 migration guide

Overview

This guide provides information for migrating from the deprecated ARM V1 API to the current V3 API. All V1 endpoints have been marked as obsolete and will be removed in a future release. This document outlines the migration paths available for public API consumers.

V1 API is deprecated: All V1 endpoints are marked as [Obsolete] and will be removed in a future release.

V3 API is the current standard: All new development should use V3 endpoints.

Breaking changes

Job ID type change

  • V1: Job IDs are integers (int)
  • V3: Job IDs are strings (string)

Impact: You must update your code to handle job IDs as strings instead of integers.

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                var job = await archiveJobManager.ReadAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // Note: string type
                var job = await archiveJobManager.ReadAsync(jobId);

Response model changes

  • V1: Create operations return int (job ID directly)
  • V3: Create operations return response objects with JobID property

Deprecated V1 version:

Copy
// V1
                int jobId = await archiveJobManager.CreateAsync(request);

V3 version:

Copy
// V3
                CreateArchiveJobResponse response = await archiveJobManager.CreateAsync(request);
                string jobId = response.JobID;

MigratorOptions structure

  • V1: Used typed classes for migrator-specific options
  • V3: Uses generic Dictionary<string, object> for flexibility
Copy
// V3 - Generic dictionary approach
                var request = new ArchiveJobRequest
                {
                MigratorOptions = new Dictionary<string, object>
                {
                ["DocumentMigrator"] = new { /* migrator-specific settings */ },
                ["ProcessingMigrator"] = new { /* migrator-specific settings */ }
                }
                };

V1 MigratorOptions boolean flags to V3 ExcludedMigrators mapping

In V1, Archive jobs used MigratorOptions with boolean flags to control which migrators to include.

In V3, this is inverted - you specify which migrators to exclude using the ExcludedMigrators list.

Mapping table

V1 Property V3 ExcludedMigrators Value Notes
IncludeDatabaseBackup = false Add "Database" Exclude database backup migrator
IncludeDtSearch = false Add "dtIndex" Exclude dtSearch index migrator
IncludeConceptualAnalytics = false Add "analytics-core" Exclude Conceptual Analytics migrator
IncludeStructuredAnalytics = false Add "StructuredAnalytics" Exclude Structured Analytics migrator
IncludeExtendedWorkspaceData = false Add "ExtensionData" Exclude Advanced Data Store migrator
IncludeQualityCheck = false - Always set to true in V3

Migration example

Deprecated V1 version:

Copy
// V1 - Boolean flags (Archive Job)
                var requestV1 = new V1.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                MigratorOptions = new V1.MigratorOptions
                {
                IncludeDatabaseBackup = true,   // Include
                IncludeDtSearch = false,        // Exclude
                IncludeConceptualAnalytics = false,  // Exclude
                IncludeStructuredAnalytics = true,   // Include
                IncludeDataGrid = true,         // Include
                IncludeQualityCheck = false     // Exclude
                }
                };

V3 version:

Copy
// V3 - ExcludedMigrators list (inverted logic)
                var requestV3 = new V3.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ExcludedMigrators = new List<string>
                {
                "dtIndex",           // Was IncludeDtSearch = false
                "analytics-core"     // Was IncludeConceptualAnalytics = false
                // Database, StructuredAnalytics, and ADS are NOT in the list, so they will run
                }
                };
  • If ExcludedMigrators is null or empty, all available migrators run with default configuration.
  • The logic is inverted: V1's Include = true means do not add to V3's ExcludedMigrators.
  • The logic is inverted: V1's Include = false means do add to V3's ExcludedMigrators.

Restore job DestinationOptions properties removed

V1's DestinationOptions class (base class of RestoreDestinationOptions) included infrastructure configuration properties that are not available in V3:

  • V1: DestinationOptions included DatabaseServerID, ResourcePoolID, CacheLocationID, FileRepositoryID, and UseDefaultWorkspaceConfiguration
  • V3: RestoreDestinationOptions only includes MatterID

Impact: Infrastructure settings are now handled internally by the Relativity platform. You cannot specify database server, resource pool, cache location, or file repository for restored workspaces.

Deprecated V1 version:

Copy
// V1 - Explicit infrastructure configuration
                var request = new V1.RestoreJobRequest
                {
                DestinationOptions = new V1.RestoreDestinationOptions
                {
                MatterID = 1001234,
                DatabaseServerID = 1000,
                ResourcePoolID = 2000,
                CacheLocationID = 3000,
                FileRepositoryID = 4000,
                UseDefaultWorkspaceConfiguration = false
                }
                };

V3 version:

Copy
// V3 - Only MatterID is configurable
                var request = new V3.RestoreJobRequest
                {
                DestinationOptions = new V3.RestoreDestinationOptions
                {
                MatterID = 1001234
                // All infrastructure settings assigned automatically by platform
                }
                };

Complete list of V3 migrator names

V3 supports additional migrators beyond those available in V1's MigratorOptions. The complete list of migrator names that can be used in ExcludedMigrators is as follows.

Migrator Name Description V1 Equivalent
"ExtensionData" Advanced Data Store migrator IncludeExtendedWorkspaceData
"Database" Database backup migrator IncludeDatabaseBackup
"dtIndex" dtSearch index migrator IncludeDtSearch
"analytics-core" Conceptual Analytics migrator IncludeConceptualAnalytics
"StructuredAnalytics" Structured Analytics migrator IncludeStructuredAnalytics
"Invariant" Processing migrator (Not available in V1 MigratorOptions)
"NonRepositoryFiles" Non-repository files migrator (Not available in V1 MigratorOptions)
"Audit" Audit migrator (Not available in V1 MigratorOptions)

Example of excluding multiple migrators:

Copy
var request = new V3.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ArchiveDirectory = @"\\fileserver\archives\workspace",
                ExcludedMigrators = new List<string>
                {
                "dtIndex",              // Exclude dtSearch indexes
                "Invariant",           // Exclude Processing migrator
                "NonRepositoryFiles",   // Exclude non-repository files
                "Audit"                 // Exclude Audit migrator
                }
                };

Migrator-specific configuration options

In V1, migrator-specific settings were configured through typed option classes (FileOptions, ProcessingOptions, etc.).

In V3, all migrator-specific configuration uses the generic MigratorOptions dictionary.

V1 Archive job option classes changing to V3 MigratorOptions

V1 Structure (Archive jobs):

  • MigratorOptions - Analytics and database settings
  • FileOptions - Repository and linked file settings
  • ProcessingOptions - Processing migrator settings
  • ExtendedWorkspaceDataOptions - Extended workspace data settings

V3 Structure: All settings go into MigratorOptions dictionary.

Common V3 migrator keys

Available option keys:

V3 MigratorOptions Key Purpose V1 Equivalent Class
"Common" Common/cross-cutting settings (such as Files First Flow) N/A (new in V3)
"UserGroup" User and group mapping configuration Part of RestoreJobRequest in V1
"Invariant" Processing migrator configuration Part of ArchiveJobRequest in V1

Migration example: Archive job options

Deprecated V1 version:

Copy
// V1 - Typed option classes
                var requestV1 = new V1.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ArchiveDirectory = @"\\fileserver\archives\workspace",

                // Migrator include/exclude flags
                MigratorOptions = new V1.MigratorOptions
                {
                IncludeDatabaseBackup = true,
                IncludeDtSearch = false,
                IncludeDataGrid = true
                },

                // File-related settings
                FileOptions = new V1.FileOptions
                {
                IncludeRepositoryFiles = true,
                IncludeLinkedFiles = true,
                MissingFileBehavior = MissingFileBehavior.Skip
                },

                // Processing settings
                ProcessingOptions = new V1.ProcessingOptions
                {
                IncludeProcessing = true,
                IncludeProcessingFiles = true,
                ProcessingMissingFileBehavior = ProcessingMissingFileBehavior.Skip
                },

                // Extended workspace data
                ExtendedWorkspaceDataOptions = new V1.ExtendedWorkspaceDataOptions
                {
                IncludeExtendedWorkspaceData = true,
                ApplicationErrorExportBehavior = ApplicationErrorExportBehavior.Skip
                }
                };

V3 version:

Copy
// V3 - Generic dictionary with migrator-specific keys
                var requestV3 = new V3.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ArchiveDirectory = @"\\fileserver\archives\workspace",

                // Include/exclude logic moved to ExcludedMigrators
                ExcludedMigrators = new List<string>
                {
                "dtIndex"  // Was IncludeDtSearch = false
                },

                // All migrator-specific configuration in MigratorOptions dictionary
                MigratorOptions = new Dictionary<string, object>
                {
                ["Invariant"] = new
                {
                IncludeProcessingFiles = false                
                }

                // Additional migrator-specific settings can be added here as needed
                // The exact structure depends on each migrator's requirements
                }
                };

Migration example: Restore job options

Deprecated V1 version:

Copy
// V1 - Restore with typed options
                var requestV1 = new V1.RestoreJobRequest
                {
                ArchivePath = @"\\fileserver\archive.zip",
                DestinationOptions = new V1.RestoreDestinationOptions
                {
                MatterID = 1001234
                },

                // Migrator destination settings
                MigratorsDestinationOptions = new V1.MigratorsDestinationOptions
                {
                StructuredAnalyticsServerID = 1000,
                ConceptualAnalyticsServerID = 2000,
                DtSearchLocationID = 3000
                },

                // User and group mappings
                UserMapping = new V1.UserMapping
                {
                AutoMapUsers = true,
                UserMappings = new List<UserMappingItem>()
                },
                GroupMapping = new V1.GroupMapping
                {
                AutoMapGroups = false,
                GroupMappings = new List<GroupMappingItem>()
                }
                };

V3 version:

Copy
// V3 - Restore with generic dictionary
                var requestV3 = new V3.RestoreJobRequest
                {
                ArchivePath = @"\\fileserver\archive.zip",
                DestinationOptions = new V3.RestoreDestinationOptions
                {
                MatterID = 1001234
                },

                // All configuration moved to MigratorOptions
                MigratorOptions = new Dictionary<string, object>
                {
                ["Common"] = new
                {
                FileFirstFlow = new
                {
                IsFilesFirstFlow = true,
                AdditionalFilesDirectoryPath = @"\\fileserver\processing\additional"
                }                
                },
                ["UserGroup"] = new
                {
                UserMapping = new
                {
                UserMappings = new object[] { }
                },
                GroupMapping = new
                {
                AutoMapGroups = false,
                GroupMappings = new object[] { }
                }
                }
                }
                };

Important notes for MigratorOptions:

  • Generic Structure—V3 uses Dictionary<string, object> allowing any JSON-serializable object as values.
  • Migrator Names—keys are case-sensitive.
  • Property Naming—use camelCase for property names within migrator configuration objects.
  • Flexibility—V3 allows configuring migrators that did not exist in V1 option classes.
  • Priority—If a migrator is both in ExcludedMigrators and has configuration in MigratorOptions, then ExcludedMigrators takes precedence and the migrator will be excluded regardless of options.

For migrator-specific schema details, see the OpenAPI specification at ARM REST API Reference V3.

Feature availability matrix

Feature V1 Status V3 Status Migration Path Estimated Effort
Archive Jobs Available Available Direct migration available 2-4 hours
Restore Jobs Available Available Direct migration available 2-4 hours
Move Jobs Available Not Available No migration path N/A
Database Restore Jobs Available Not Available No migration path N/A
Run Job Available Available Direct migration available 1-2 hours
Cancel Job Available Available Direct migration available 1-2 hours
Pause Job Available Not Available No migration path N/A
Terminate Job Available Not Available No migration path N/A
Job Status Available Available Direct migration available 1-2 hours
Download Logs Available Not Available No migration path N/A
Job Statistics Available Not Available No migration path N/A
Quality Check Results Available Not Available No migration path N/A
Archive Information Available Not Available No migration path N/A
Task Retry Available Not Available No migration path N/A

Migration paths

Archive jobs

Archive jobs have full migration support. All CRUD operations are available in V3.

Create Archive Job

V1 Endpoint: POST /relativity-arm/v1/archive-jobs

V3 Endpoint: POST /relativity-arm/v3/archive-jobs

Deprecated V1 version:

Copy
// V1
                var request = new V1.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ArchiveDirectory = @"\\fileserver\archives\workspace",
                ScheduledStartTime = DateTime.Now.AddHours(1),
                // ... other properties
                };
                int jobId = await archiveJobManager.CreateAsync(request);

V3 version:

Copy
// V3
                var request = new V3.ArchiveJobRequest
                {
                WorkspaceID = 1234567,
                ArchiveDirectory = @"\\fileserver\archives\workspace",
                ScheduledStartTime = DateTime.Now.AddHours(1),
                MigratorOptions = new Dictionary<string, object>(),  // Generic instead of typed
                // ... other properties
                };
                CreateArchiveJobResponse response = await archiveJobManager.CreateAsync(request);
                string jobId = response.JobID;  // String instead of int

Read Archive Job

V1 Endpoint: GET /relativity-arm/v1/archive-jobs/{jobID}

V3 Endpoint: GET /relativity-arm/v3/archive-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                ArchiveJobResponse job = await archiveJobManager.ReadAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                ArchiveJobResponse job = await archiveJobManager.ReadAsync(jobId);

Update Archive Job

V1 Endpoint: PUT /relativity-arm/v1/archive-jobs/{jobID}

V3 Endpoint: PUT /relativity-arm/v3/archive-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                var request = new V1.ArchiveJobRequest { /* updated properties */ };
                await archiveJobManager.UpdateAsync(jobId, request);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                var request = new V3.ArchiveJobRequest { /* updated properties */ };
                UpdateArchiveJobResponse response = await archiveJobManager.UpdateAsync(jobId, request);

Delete Archive Job

V1 Endpoint: DELETE /relativity-arm/v1/archive-jobs/{jobID}

V3 Endpoint: DELETE /relativity-arm/v3/archive-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                await archiveJobManager.DeleteAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                await archiveJobManager.DeleteAsync(jobId);

Restore jobs

Restore jobs have full migration support, apart from most DestinationOptions properties being removed. All CRUD operations are available in V3.

DestinationOptions properties removed

This is a breaking change to restore requests.

The following properties from V1's DestinationOptions (base class of RestoreDestinationOptions) are not available in V3:

  • DatabaseServerID - Database server for restored workspace
  • ResourcePoolID - Resource pool for restored workspace
  • CacheLocationID - Cache location for restored workspace
  • FileRepositoryID - File repository for restored workspace
  • UseDefaultWorkspaceConfiguration - Use default workspace configuration override

Impact: These infrastructure settings are now handled internally by the Relativity platform. V3's RestoreDestinationOptions only includes MatterID.

Migration: Remove these properties from your restore requests. The platform will automatically assign appropriate infrastructure resources based on system configuration.

Create Restore Job

V1 Endpoint: POST /relativity-arm/v1/restore-jobs

V3 Endpoint: POST /relativity-arm/v3/restore-jobs

Deprecated V1 version:

Copy
// V1
                var request = new V1.RestoreJobRequest
                {
                ArchivePath = @"\\fileserver\archives\workspace\archive.zip",
                ScheduledStartTime = DateTime.Now.AddHours(1),
                DestinationOptions = new V1.RestoreDestinationOptions
                {
                MatterID = 1001234,
                DatabaseServerID = 1000,      // Not available in V3
                ResourcePoolID = 2000,        // Not available in V3
                CacheLocationID = 3000,       // Not available in V3
                FileRepositoryID = 4000       // Not available in V3
                },
                // ... other properties
                };
                int jobId = await restoreJobManager.CreateAsync(request);

V3 version:

Copy
// V3
                var request = new V3.RestoreJobRequest
                {
                ArchivePath = @"\\fileserver\archives\workspace\archive.zip",
                ScheduledStartTime = DateTime.Now.AddHours(1),
                DestinationOptions = new V3.RestoreDestinationOptions
                {
                MatterID = 1001234
                // Infrastructure settings (DatabaseServerID, ResourcePoolID, etc.)
                // are now handled internally by the platform
                },
                MigratorOptions = new Dictionary<string, object>(),  // Generic instead of typed
                // ... other properties
                };
                CreateRestoreJobResponse response = await restoreJobManager.CreateAsync(request);
                string jobId = response.JobID;  // String instead of int

Read Restore Job

V1 Endpoint: GET /relativity-arm/v1/restore-jobs/{jobID}

V3 Endpoint: GET /relativity-arm/v3/restore-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                RestoreJobResponse job = await restoreJobManager.ReadAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                RestoreJobResponse job = await restoreJobManager.ReadAsync(jobId);

Update Restore Job

V1 Endpoint: PUT /relativity-arm/v1/restore-jobs/{jobID}

V3 Endpoint: PUT /relativity-arm/v3/restore-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                var request = new V1.RestoreJobRequest { /* updated properties */ };
                await restoreJobManager.UpdateAsync(jobId, request);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                var request = new V3.RestoreJobRequest { /* updated properties */ };
                UpdateRestoreJobResponse response = await restoreJobManager.UpdateAsync(jobId, request);

Delete Restore Job

V1 Endpoint: DELETE /relativity-arm/v1/restore-jobs/{jobID}

V3 Endpoint: DELETE /relativity-arm/v3/restore-jobs/{jobID}

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                await restoreJobManager.DeleteAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                await restoreJobManager.DeleteAsync(jobId);

Job actions

Run Job

V1 Endpoint: POST /relativity-arm/v1/jobs/{jobID}/run

V3 Endpoint: POST /relativity-arm/v3/jobs/{jobID}/run

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                await jobActionManager.RunAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                RunJobResponse response = await jobActionManager.RunAsync(jobId, new RunJobRequest());

V3 requires a RunJobRequest parameter (currently an empty object, but required for the method signature).

Cancel Job

V1 Endpoint: POST /relativity-arm/v1/jobs/{jobID}/cancel

V3 Endpoint: POST /relativity-arm/v3/jobs/{jobID}/cancel

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                await jobActionManager.CancelAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                CancelJobResponse response = await jobActionManager.CancelAsync(jobId, new CancelJobRequest());

V3 requires a CancelJobRequest parameter (currently an empty object, but required for the method signature).

Pause Job - not available in V3

V1 Endpoint: POST /relativity-arm/v1/jobs/{jobID}/pause

V3 Endpoint: None

Migration: There is no pause functionality in V3. The only job control actions available are Run and Cancel.

Terminate Job - not available in V3

V1 Endpoint: DELETE /relativity-arm/v1/jobs/{jobID}/terminate

V3 Endpoint: None

Migration: Use the Cancel action instead. Note that Cancel provides graceful shutdown while Terminate was immediate.

Deprecated V1 version:

Copy
// V1 - Terminate (immediate)
                await jobActionManager.TerminateJobAsync(jobId);

V3 version:

Copy
// V3 - Use Cancel instead (graceful)
                CancelJobResponse response = await jobActionManager.CancelAsync(jobId);

Job status and progress

Get Job Status

V1 Endpoint: GET /relativity-arm/v1/jobs/{jobID}/status

V3 Endpoint: GET /relativity-arm/v3/jobs/{jobID}/status

Deprecated V1 version:

Copy
// V1
                int jobId = 12345;
                ArmJobStatusResponse status = await jobStatusManager.ReadAsync(jobId);

V3 version:

Copy
// V3
                string jobId = "12345";  // String type
                JobProgressResponse progress = await jobInformationManager.GetJobStatusAsync(jobId);

The V3 response model (JobProgressResponse) has been simplified compared to V1's ArmJobStatusResponse.

V3 returns only:

  • JobId (string)—the job identifier.
  • JobState (enum)—one of: NotStarted, InProgress, Paused, Cancelling, Cancelled, Errored, Completed.

Unlike V1, which included detailed stage information and timing data, V3 focuses on the current state only. Clients should poll this endpoint to track job progress rather than relying on comprehensive progress details in a single response.

Features without a migration path

The following V1 features are not available in V3. There is no public API migration path for these features:

Move Jobs - not available in V3

  • POST /relativity-arm/v1/move-jobs
  • GET /relativity-arm/v1/move-jobs/{jobID}
  • PUT /relativity-arm/v1/move-jobs/{jobID}
  • DELETE /relativity-arm/v1/move-jobs/{jobID}

Impact: If your integration relies on Move jobs, you will need to find an alternative solution as this functionality is not exposed in the V3 public API.

Database Restore Jobs - not available in V3

  • POST /relativity-arm/v1/database-restore-jobs
  • GET /relativity-arm/v1/database-restore-jobs/{jobID}
  • PUT /relativity-arm/v1/database-restore-jobs/{jobID}
  • DELETE /relativity-arm/v1/database-restore-jobs/{jobID}

Impact: Database-only restore operations are not available through the V3 public API.

Download Logs - not available in V3

  • GET /relativity-arm/v1/jobs/{jobID}/logs

Impact: Job execution logs cannot be downloaded through the V3 public API.

Job Statistics - not available in V3

  • GET /relativity-arm/v1/jobs/{jobExecutionId}/statistics

Impact: Detailed job statistics are not available through the V3 public API.

Quality Check Results - not available in V3

  • GET /relativity-arm/v1/jobs/{jobExecutionID}/qualityCheckResult

Impact: Quality check results are not available through the V3 public API.

Archive Information - not available in V3

  • POST /relativity-arm/v1/archive-information
  • GET /relativity-arm/v1/archive-information/additional-files-directories/{workspaceId}

Impact: Archive metadata inspection is not available through the V3 public API.

Task Retry - not available in V3

  • POST /relativity-arm/v1/tasks/{taskId}/retry

Impact: Individual task retry is not available through the V3 public API.

Migration checklist

Use this checklist to ensure a complete migration:

  1. Update job ID handling
    • Change job ID variables from int to string.
    • Update database schemas storing job IDs.
    • Update any job ID parsing/conversion logic.
  2. Update API calls
    • Replace V1 endpoint URLs with V3 equivalents.
    • Update service interface references (V1 to V3 namespaces).
    • Handle new response models from Create operations.
  3. Update request models
    • Convert typed MigratorOptions to Dictionary<string, object>.
    • Review and update all request property mappings.
  4. Handle removed features
    • Identify dependencies on Move Jobs.
    • Identify dependencies on Database Restore Jobs.
    • Identify dependencies on Pause/Terminate actions.
    • Identify dependencies on Logs, Statistics, or Quality Check endpoints.
    • Plan alternative approaches for unavailable features.
  5. Testing
    • Test all Archive Job operations (Create, Read, Update, Delete).
    • Test all Restore Job operations (Create, Read, Update, Delete).
    • Test Run and Cancel job actions.
    • Test job status retrieval.
    • Verify error handling for all operations.

Additional resources

  • OpenAPI Specification: See ARM REST API Reference V3 for complete API documentation.
  • V3 Interface Definitions: Located in Relativity.ARM.Services.Interfaces.V3 namespace.
  • Model Definitions: Located in Relativity.ARM.Services.Interfaces.V3.Models namespace.

Known issues

The NotifyJobRunner and AdditionalRecipients fields in NotificationOptions are currently not functional. Notification recipients cannot be configured.

Getting help

If you encounter issues during migration or require functionality that is not available in V3:

  1. Review this migration guide.
  2. Check ARM REST API Reference V3 for detailed endpoint and model documentation.
  3. Contact Relativity Support for assistance. Select "Developer Services" as the topic of the ticket.
Return to top of the page
Feedback