This site is currently undergoing maintenance, so instances of "RelativityOne" may still be present. You may also experience 404 errors, search disruptions, and temporary style changes.

Last date modified: 2026-Sep-16

Permissions access control API

Relativity is modernizing the feature permission experience and the underlying model as features move to using role-based access control to improve security and flexibility. This model is powered by a public, versioned API, enabling organizations to manage access across Relativity products.

The transition to this new permissions approach will occur gradually, allowing for a smooth and organized migration from the current system.

Within Staging, the new API provides the ability to assign and revoke permissions at both the fileshare and tenant levels. These operations are performed through stable and extensible endpoints.

Guidelines for the permissions access control API

Review the following guidelines for working with this API.

URL address format

The URLs for the REST API endpoints use the tenant URL format, <host>/Relativity.Rest/API, followed by the path segment format — resource first, then node type (and node key for fileshare):

Method Path Description
GET /access-control/public/v1/role-assignments/fileshare/{fileshareLetter} List role assignments on a fileshare node
POST /access-control/public/v1/role-assignments/fileshare/{fileshareLetter} Batch assign and/or revoke roles on a fileshare node
GET /access-control/public/v1/role-assignments/instance List role assignments on the instance node
POST /access-control/public/v1/role-assignments/instance Batch assign and/or revoke roles on the instance node
GET /access-control/public/v1/role-assignments/workspace/{workspaceId}  List role assignments on a workspace
POST /access-control/public/v1/role-assignments/workspace/{workspaceId} Batch assign and/or revoke roles on a workspace

Considerations

  • The groupId must be the instance-level group identifier. Workspace-level group IDs are not accepted.
  • For mass updates across multiple fileshares, clients should:
    • Iterate through fileshare nodes sequentially.
    • Use the batch POST /role-assignments endpoint to assign/revoke multiple roles per node in a single request.
    • Respect rate limits and implement exponential backoff on 429 responses.
  • Client must set API requests timeout to 30 seconds maximum.
  • Clients should set appropriate timeouts and implement retry logic for transient failures (5xx responses).

Authentication requirements

Token requirements

  • The token must be valid (not expired) and issued for the correct tenant.
  • The user represented by the token must belong to groups that can view groups in the tenant (standard R1 group management permission).

Identifier guide

Node Key

The node key identifies a permissionable object (node) in the data hierarchy.

Node Type Node Key Format Example How to Discover
Fileshare Single uppercase letter A, B, C Visible in the Relativity Staging Area UI. Same letter used by ADLS storage.

Nodes are addressed in the URL as path segments:

Copy
/access-control/public/v1/role-assignments/fileshare/B

For fileshare nodes the format is /role-assignments/{nodeType}/{nodeKey}. For tenant nodes the node key is omitted — the tenant is auto-resolved from the request context (tenant-based URL and bearer token).

Group ID (groupId)

The group ID identifies an R1 group id on instance level. It is a numeric string (integer).

The groupId used in this API is always the instance-level group identifier. Group IDs stored in workspace databases are not used in this public API. Use the instance-level group ID as seen in the Relativity instance administration.

Format Example How to Discover
Integer string 1040719 GroupArtifactId

Role Key (roleKey)

The role key identifies a named collection of permissions. All role keys follow the convention r1_{product}_{role_name} — the r1_ prefix is universal across all keys in this API.

Select feature:
Role Key ↕ Feature ↕ Description ↕ Assignable To ↕
r1_staging_viewer Staging Area View access only File share
r1_staging_downloader Staging Area View and download File share
r1_staging_uploader Staging Area View and upload File share
r1_staging_downloader-and-uploader Staging Area View, upload, and download File share
r1_staging_editor Staging Area View, upload, download, and edit File share
r1_staging_admin Staging Area Admin access File share
r1_staging_data-transfer Data Transfer Data transfer access Instance
r1_security-center_security-center Security Center Security Center access Instance
r1_air-for-review_job-admin aiR Review aiR Review access Instance
r1_arm_archive-restore ARM Archive and Restore (ARM) access Instance
r1_migrate-cloud_migrate Migrate Migrate capability Instance
r1_cost-explorer_viewer Cost Explorer Cost Explorer access Instance
r1_usage-reports_instance-viewer Usage Reports Instance-wide Usage Reports access Instance
r1_usage-reports_client-domain-viewer Usage Reports Client Domain Usage Reports access Instance
r1_staging-reports_instance-viewer Staging Reports Instance-wide Staging Reports access Instance
r1_staging-reports_client-domain-viewer Staging Reports Client Domain Staging Reports access Instance
r1_air-assist_access-control-admin Assist Assist Workspace Feature Permissions management Workspace
r1_air-assist_index-manage-access Assist Create, rebuild, delete indexes and metadata mapping. Workspace
r1_air-assist_qna-edit Assist Ask natural language questions about documents in workspace within created indexes; manage conversations Workspace
r1_instance-configuration_views-manager Instance Configuration / Manage Views Create and manage instance-level views Instance
r1_instance-configuration_fields-manager Instance Configuration / Manage Fields Create and manage instance-level fields Instance
r1_instance-configuration_objects-manager Instance Configuration / Manage Objects Create and manage object types, rules, layouts, and views Instance
r1_instance-configuration_object-types-manager Instance Configuration / Manage Object Types Create and manage object types Instance
r1_instance-configuration_object-dependencies-manager Instance Configuration / Delete Object Dependencies Delete dependencies associated with object types Instance
r1_instance-configuration_client-object-viewer Instance Configuration / View Choice, Tab and Views for Client View choices, tabs, and views for client-level access Instance
r1_instance-configuration_choices-viewer Instance Configuration / View Choices View field choices across the instance Instance
r1_instance-configuration_choices-manager Instance Configuration / Manage Choices Create and manage field choices Instance
r1_instance-configuration_dashboards-viewer Instance Configuration / View Dashboards View instance-level dashboards Instance
r1_instance-configuration_dashboards-manager Instance Configuration / Manage Dashboards Create and manage instance-level dashboards Instance
r1_instance-configuration_nav-bar-manager Instance Configuration / Manage Nav Bar (Tabs) Create and manage navigation bar tabs Instance
r1_instance-configuration_agents-viewer Instance Configuration / View Agents View agents and agent types Instance
r1_instance-configuration_agents-manager Instance Configuration / Manage Agents Create, manage, and operate agents Instance
r1_instance-configuration_instance-settings-viewer Instance Configuration / View Instance Settings View instance settings Instance
r1_instance-configuration_instance-settings-manager Instance Configuration / Manage Instance Settings Edit and manage instance settings Instance
r1_workspace-management_workspace-viewer Workspace Management / View Assigned Workspaces View workspaces assigned to the user Instance
r1_workspace-management_workspace-creator Workspace Management / Add Workspace Create new workspaces Instance
r1_workspace-management_workspace-manager Workspace Management / Manage Assigned Workspaces Edit and manage assigned workspaces  
r1_workspace-management_cold-storage-manager Workspace Management / Manage Cold Storage for Assigned Workspaces Manage cold storage settings for assigned workspaces Instance
r1_workspace-management_client-domain-creator Workspace Management / Add Workspaces to Client Add workspaces to a client Instance
r1_workspace-management_client-viewer Client and Matter Management / View Clients View clients Instance
r1_workspace-management_client-creator Client and Matter Management / Add Clients Create new clients Instance
r1_workspace-management_client-manager Client and Matter Management / Manage Clients Edit and manage clients Instance
r1_workspace-management_matter-viewer Client and Matter Management / View Matters View matters Instance
r1_workspace-management_matter-creator Client and Matter Management / Add Matters Create new matters Instance
r1_workspace-management_matter-manager Client and Matter Management / Manage Matters Edit and manage matters Instance
r1_workspace-management_matter-client-domain-creator Client and Matter Management / Add Matter to Client Add a matter to a client within a client-domain scope

Instance

r1_application-management_application-library-viewer Application Management / View Application Library View the instance application library Instance
r1_application-management_oauth2-clients-viewer Application Management / View OAuth2 Clients View OAuth2 client configurations Instance
r1_application-management_oauth2-clients-manager Application Management / Manage OAuth2 Clients Create and manage OAuth2 clients Instance
r1_application-management_resource-files-viewer Application Management / View Resource Files View resource files Instance
r1_application-management_resource-files-manager Application Management / Manage Resource Files Upload and manage resource files Instance
r1_application-management_custom-pages-viewer Application Management / View Custom Pages View custom pages Instance
r1_application-management_custom-pages-manager Application Management / Manage Custom Pages Create and manage custom pages Instance
r1_application-management_sanitizer-viewer Application Management / View Sanitizer View sanitizer configuration Instance
r1_application-management_sanitizer-manager Application Management / Manage Sanitizer Configure and manage the sanitizer Instance
r1_application-management_relativity-scripts-viewer Application Management / View Relativity Scripts View Relativity scripts in the application library Instance
r1_audit_audit-viewer Audit / View Audit View audit log entries Instance
r1_audit_audits-datagrid-viewer Audit / View Audits and DataGrid Audits View audit log entries and DataGrid audit data Instance
r1_audit_audit-migration-reports-viewer Audit / View Audit Migration Reports View audit data migration reports Instance
r1_job-queues_ocr-queue-viewer Job Queues / View OCR Queue View OCR queue jobs Instance
r1_job-queues_pdf-queue-viewer Job Queues / View PDF Queue View PDF queue jobs Instance
r1_job-queues_processing-imaging-queue-viewer Job Queues / View Processing and Imaging Queue View processing and imaging queue jobs Instance
r1_job-queues_dtsearch-queue-viewer Job Queues / View DtSearch Queue Admin View DtSearch queue jobs Instance
r1_job-queues_import-export-queue-viewer Job Queues / View Import/Export Queue View import and export queue jobs Instance
r1_job-queues_branding-queue-viewer Job Queues / View Branding Queue View branding queue jobs Instance
r1_job-queues_production-queue-viewer Job Queues / View Production Queue View production queue jobs Instance
r1_job-queues_processing-history-viewer Job Queues / View Processing History View processing job history Instance
r1_job-queues_translate-jobs-viewer Job Queues / View Translate Jobs View translation queue jobs Instance
r1_job-queues_workspace-upgrade-queue-viewer Job Queues / View Workspace Upgrade Queue View workspace upgrade queue jobs Instance
r1_job-queues_text-migration-jobs Job Queues / Manage Text Migration Jobs View and manage text migration jobs and reports Instance
r1_job-queues_transcription-queue-viewer Job Queues / View Transcription Queue View transcription queue jobs Instance
r1_job-queues_ocr-queue-priority-manager Job Queues / Manage OCR Queue Priority Manage job priority in the OCR queue Instance
r1_job-queues_processing-imaging-priority-manager Job Queues / Manage Processing and Imaging Queue Priority Manage job priority in the processing and imaging queue Instance
r1_job-queues_branding-queue-manager Job Queues / Manage Branding Queue Manage jobs and priority in the branding queue Instance
r1_job-queues_production-queue-manager Job Queues / Manage Production Queue Manage jobs and priority in the production queue Instance
r1_job-queues_workspace-upgrade-priority-manager Job Queues / Manage Workspace Upgrade Queue Priority Manage job priority in the workspace upgrade queue Instance
r1_case-metrics_run-reports-on-instance Case Metrics / Run Reports on Instance Run case metrics reports at the instance level Instance
r1_case-metrics_scheduler-viewer Case Metrics / View Scheduler View scheduled case metrics reports Instance
r1_case-metrics_scheduler-manager Case Metrics / Manage Scheduler Create and manage scheduled case metrics reports Instance
r1_authentication_user-authentication-config-manager Authentication / Manage User Authentication Configurations Create and manage authentication providers and login methods Instance
r1_authentication_federated-instances-config-viewer Authentication / View User Authentication Configurations View federated instance configurations Instance
r1_authentication_federated-instances-menu-viewer Authentication / View Federated Instances in User Menu View federated instances in the user menu Instance
r1_authentication_user-authentication-config-viewer Authentication / View User Authentication Configurations View authentication providers and login methods Instance
r1_authentication_federated-instances-config-manager Authentication / Manage Federated Instances Configurations Create and manage federated instance configurations Instance
r1_users-and-groups-management_view-users-and-groups User and Group Management / View Users and Groups View users, groups, and associated authentication details Instance
r1_users-and-groups-management_manage-users User and Group Management / Manage Users Create and manage users and their authentication settings Instance
r1_users-and-groups-management_manage-groups User and Group Management / Manage Groups Create and manage groups and group membership Instance
r1_users-and-groups-management_client-domain-adder User and Group Management / Add Users and Groups to Client Add users and groups to a client Instance
r1_users-and-groups-management_view-user-status User and Group Management / View Logged In Users View currently active user sessions Instance
r1_users-and-groups-management_manage-user-status User and Group Management / Manage Logged In Users Send messages to and force-logout active user sessions Instance

Role key stability: Role keys follow the r1_{product}_{role_name} convention and are considered stable for the external API. If roles are added, existing role keys will not change. Deprecated roles will be communicated well in advance.

Typical use cases

The following are some typical use cases of programmatic interaction with the API by a Relativity application developer or administrator.

List current role assignments on a fileshare

Scenario: The operator wants to see which groups currently have roles assigned on a fileshare, for compliance or before making bulk changes.

Copy
Request example:
GET /access-control/public/v1/role-assignments/fileshare/A
Authorization: Bearer {end-user-token}
Copy
Response 200 OK:
[
  { "groupId": "1040719", "roleKey": "r1_staging_uploader" },
  { "groupId": "20", "roleKey": "r1_staging_viewer" }
]

The response returns only what the authenticated user is permitted to see:

  • Roles: The user must hold the <domain>_secure permission for each domain role.
  • Groups: Results are filtered to groups visible to the authenticated user based on the standard R1 view group permission.

Batch assign and revoke roles on a fileshare

Scenario: Onboard a new client domain. They need to assign the correct roles to several groups on fileshare "A" and revoke access for a group — all in a single request.

Both assign and revoke lists are optional , you may send only assigns, only revokes, or both in a single request. The operation is atomic: if any revoke targets a role that cannot be removed, the entire request fails and no changes are applied.

Copy
Request example:
POST /access-control/public/v1/role-assignments/fileshare/A
Authorization: Bearer {end-user-token}
Content-Type: application/json

{
  "assign": [
    { "roleKey": "r1_staging_viewer", "groupId": "1050100" },
    { "roleKey": "r1_staging_uploader", "groupId": "1050101" }
  ],
  "revoke": [
    { "roleKey": "r1_staging_viewer", "groupId": "1040723" }
  ]
}

Response: 200 OK

Copy
Response 403 Forbidden — is returned with information what permissions are lacking:
{
  "message": "The requested resource does not exist or you do not have access to it."
}

All authorization failures return the same generic response regardless of whether the resource does not exist or the user lacks access. This prevents callers from inferring the existence of resources they cannot access.

List current role assignments on the tenant

Scenario: The operator wants to see which groups currently have tenant-level roles assigned (e.g., data_transfer), for compliance or before making changes. The tenant is automatically resolved from the authenticated user's token, no tenant identifier is needed in the URL.

Copy
Request example:
GET /access-control/public/v1/role-assignments/instance
Authorization: Bearer {end-user-token}
Copy
Response 200 OK:
[
  { "groupId": "1040719", "roleKey": "r1_staging_data-transfer" }
]

The same visibility rules apply as for fileshare nodes: the user must hold <domain>_secure on the tenant node, and group results are filtered by the user's view group permission.

Batch assign and revoke roles on the tenant

Scenario: User needs to grant the data_transfer capability to a group at the tenant level.

Copy
Example — assign data_transfer at the tenant level:
POST /access-control/public/v1/role-assignments/instance
Authorization: Bearer {end-user-token}
Content-Type: application/json

{
  "assign": [
    { "roleKey": "r1_staging_data-transfer", "groupId": "1050100" }
  ]
}

Response: 200 OK

Copy
Example — revoke data_transfer at the tenant level:
POST /access-control/public/v1/role-assignments/instance
Authorization: Bearer {end-user-token}
Content-Type: application/json

{
  "revoke": [
    { "roleKey": "r1_staging_data-transfer", "groupId": "1050100" }
  ]
}

Response: 200 OK

The same atomicity and error handling rules apply as for fileshare operations.

Feedback