OAuth 2.0 Scopes

OAuth 2.0 scopes control the level of access an external system is granted when accessing information tied to the OneTrust platform. The necessary scopes for external systems will need to be defined when creating client credentials in the application. Once a client credential is created, an access token can be generated for the credential and used to authorize access to the respective APIs based on the requested scopes.

The Trust Intelligence Platform

Available Areas & Scopes

The following table details the scopes available within each area of the Trust Intelligence Platform, along with the corresponding descriptions.

AreaOAuth ScopeDescription
Access ManagementORGANIZATIONGrants full access to manage organizations. This includes Create, Read, Update and Delete operations.
USERGrants full access to manage Users, User Groups, and User Group membership. This includes Create, Read, Update and Delete operations.
DocumentsATTACHMENTGrants access to view and manage attachments.
ATTACHMENT_READGrants access to view attachments.
IntegrationsINTEGRATION_JWKSIntegrations Scope for external systems to invoke to retrieve their public key information on the JWE Decryption Credential.
INTEGRATIONSIntegrations Scope for an external system to invoke Integration service API.
InventoryINVENTORYInventory scope grants read, write, and delete operations to the Inventory module.
INVENTORY_READInventory Read scope grants read operations to the Inventory module.
INVENTORY_WRITEInventory Write scope grants write operations to the Inventory module.
SCIM User ProvisioningSCIMGrants full access to the SCIM APIs for User Provisioning. This includes all the endpoints under Users, Groups, Resources, Schemas, and Service Provider.

Scope to API Assignments

The following table details the APIs an external system will access when the corresponding scope is defined for the respective client credential.

OAuth ScopeAPI
ATTACHMENTPOST /attachments/v2
GET /attachment/v3/{fileId}/content
ATTACHMENT_READGET /attachment/v3/{fileId}/content
ORGANIZATIONPUT /external/organizations/{externalId}
POST /external/organizations
GET /external/organizations
DELETE /external/organizations/{externalId}
SCIMPUT /Users/{id}
PUT /Groups/{groupId}
POST /Users
PATCH /Users/{id}
PATCH /Groups/{groupId}
GET /Users/{id}
GET /Users
GET /ServiceProviderConfig
GET /Schemas/{schemaName}
GET /ResourceTypes/{resourceName}
GET /ResourceTypes
GET /Groups/{groupId}
GET /Groups
DELETE /Users/{id}
USERPUT /user-groups/{userGroupId}
POST /user-groups/{userGroupId}/members
POST /user-groups
GET /user-groups/{userGroupId}/members
GET /user-groups
GET /login-history
GET /api/audit/v1/users/{userId}/activities
DELETE /user-groups/{userGroupId}/members
DELETE /user-group/{userGroupId}

Privacy & Data Governance Cloud

Available Modules & Scopes

The following table details the scopes available within each module of the Privacy & Data Governance Cloud, along with the corresponding descriptions.

ModuleOAuth ScopeDescription
Consent & Preference ManagementCONSENTConsent gives users access to read/write/delete operations inside the Consent & Preference Management module.
CONSENT_READConsent Read allows users to read operations inside the Consent & Preference Management module.
Cookie ConsentCOOKIECookie Scope allows the user to read/write operations inside the Cookie Consent module.
COOKIE_READCookie Read gives the user read-only access to the Cookie Consent module.
Data CatalogDATA_CATALOG_READGrants Read access to Data Catalog operations for external systems.
DATA_CATALOG_WRITEGrants Write access to Data Catalog operations for external systems.
Data DiscoveryDATA_DISCOVERYThis scope can be used to access Data Discovery actions for external systems which operate using on-premises accounts.
Incident ManagementINCIDENTIncident scope gives the user access to view and manages the incident details.
INCIDENT_CREATECreate scope gives the user access to create an incident.
INCIDENT_READRead scope gives the user access to view an incident and its details.
PIA & DPIA AutomationASSESSMENTRead, write and delete templates and assessments.
ASSESSMENT_READRead the template and assessment information.
Policy & Notice ManagementPOLICYPolicy scope for external systems.
Privacy Rights AutomationDSAR_READGrants read-only access to the Data Subject Access Requests module. This scope is only necessary to provide access to see request details without granting access to edit the request or its child objects.
DSAR_WRITEGrants object creation and edit access to the Data Subject Access Requests module. This scope is only necessary to provide access to create or edit a request or related child objects such as subtasks, results, resolution codes, and verification methods.

Scope to API Assignments

The following table details the APIs an external system will access when the corresponding scope is defined for the respective client credential.

OAuth ScopeAPI
ASSESSMENTPUT /v2/assessments/{assessmentId}/soft-delete
POST /v3/assessments/{assessmentId}/approve
POST /v2/assessments/bulk
POST /v2/assessments/{assessmentId}/submit
POST /v2/assessments/{assessmentId}/responses
POST /v2/assessments
ASSESSMENT_READGET /v2/assessments/activities/types/assessmentdelete
GET /v2/assessments/{assessmentId}/export
GET /v2/assessments
GET /published-template-metadata
CONSENTPUT /v2/linkedidentitygroups/{linkedIdentityGroupId}
PUT /v1/transactions/withdraw/fordatasubject
PUT /v1/purposes/{purposeId}/publish
PUT /v1/purposes/{purposeId}
PUT /v1/preferencecenters/{prefcenterId}/datasubjects/preferences
PUT /v1/custompreferences/{customPreferenceId}
PUT /v1/collectionpoints/{collectionpointId}
POST /v2/linkedidentitygroups
POST /v2/collectionpoints/{collectionPointGuid}/version
POST /v1/purposes/{purposeGuid}
POST /v1/purposes
POST /v1/datasubjects/dataelements
POST /v1/custompreferences
POST /v1/collectionpoints
DELETE /v2/linkedidentitygroups/{linkedIdentityGroupId}
DELETE /v1/preferencecenters/{prefcenterId}/datasubjects/preferences
CONSENT_READPOST /v2/datasubjects/search
GET /v2/purposes/{purposeId}
GET /v2/purposes
GET /v2/preferencecenters
GET /v2/linkedidentitygroups/{linkedIdentityGroupId}
GET /v2/linkedidentitygroups
GET /v2/datasubjects
GET /v1/transactions/withdraw/purpose/{purposeId}
GET /v1/receipts/{id}
GET /v1/receipts
GET /v1/receipt-list
GET /v1/purposes/{purposeId}/datasubjects
GET /v1/preferencecenters/{prefcenterId}/preferences
GET /v1/preferencecenters/{prefcenterId}/datasubjects/preferences
GET /v1/linktokens
GET /v1/datasubjects/profiles
GET /v1/custompreferences/{custompreferenceId}
GET /v1/custompreferences
GET /v1/collectionpoints/{collectionpointId}/token
GET /v1/collectionpoints/{collectionpointGuid}/token
GET /v1/collectionpoints
COOKIEPOST /v1/request
GET /v1/script-integration/{domainId}/downloadscriptv2
GET /v1/report/cookie
COOKIE_READGET /v1/script-integration/{domainId}/downloadscriptv2
GET /v1/report/cookie
DATA_CATALOG_READGET /v1/terms/names
GET /v1/terms/name/{termName}
GET /v1/terms/attribute-names
GET /v1/terms/attribute-details/{name}
GET /v1/tags/names
GET /v1/tags/details/{name}
GET /v1/metadata/attribute-names
GET /v1/metadata/attribute-details/{name}
GET /v1/glossaries/name/{glossaryName}
GET /v1/glossaries/all/names
DATA_CATALOG_WRITENo API Assignments
DATA_DISCOVERYPUT /v3/system
PUT /v2/scan-profiles
POST /v2/scan-profiles
POST /v2/scan-job
GET /v3/system/{id}
GET /v3/system
GET /v3/docker-repository-tags
GET /v2/scanners/{scannerId}/jobs/{jobId}
GET /v2/scan-profiles/{scanProfileId}
GET /v2/scan-profiles
GET /v2/scan-job/datasource/{dataSourceId}
DELETE /v3/system/{id}
DELETE /v2/scan-profiles/{scanProfileId}
DSAR_READPOST /requestqueues/search/{language}
GET /requestqueues/status/{requestTraceId}
GET /requestqueues/{requestQueueRefId}/language/{language}
GET /requestqueues/{language}
DSAR_WRITEPUT /requestqueues/{requestQueueRefId}/movestages/{language}
PUT /requestqueues/{requestQueueRefId}/customfields/{language}
PUT /requestqueues/{requestQueueRefId}/comments
POST /requestqueues/search/{language}
POST /requestqueues/{templateId}
GET /requestqueues/status/{requestTraceId}
GET /requestqueues/{requestQueueRefId}/language/{language}
GET /requestqueues/{language}
INCIDENTPUT /incidents/{incidentId}
POST/assignments/entities/{entityId}/stage
POST /incidents/search
POST /incidents
GET /incidents/{incidentId}
INCIDENT_CREATEPOST /incidents
INCIDENT_READPOST /incidents/search
GET /incidents/{incidentId}
POLICYGET /v2/privacynotices/{privacyNoticeId}/versions
GET /v2/privacynotices/{id}
GET /v2/privacynotices

GRC & Security Assurance Cloud

Available Modules & Scopes

The following table details the scopes available within each module of the GRC & Security Assurance Cloud, along with the corresponding descriptions.

ModuleOAuth ScopeDescription
Audit ManagementAUDIT_MANAGEMENTScope gives users access to READ, WRITE, and DELETE operations used for Audit Management.
IT & Security Risk ManagementCONTROLAccess to Control Implementation operations for external systems.
RISKAccess to RISK operations for external systems.
ITRMAccess to ITRM operations for external systems.
Third-Party Risk ManagementVRMVRM scope for read/write operations on VRM components.
VRM_READVRM read scope to view details of VRM components.

Scope to API Assignments

The following table details the APIs an external system will access when the corresponding scope is defined for the respective client credential.

OAuth ScopeAPI
AUDIT_MANAGEMENTPUT /v1/audits/{auditId}/reassign-scopes
PUT /v1/audits/{auditId}
PUT /v1/audit-workpapers/{workpaperId}
POST /v1/audits/pages
POST /v1/audits
POST /v1/audit-workpapers/pages
GET /v1/audits/{auditId}
GET /v1/audit-workpapers/{workpaperId}/control-details
GET /v1/audit-workpapers/{workpaperId}/attribute-details
DELETE /v1/audits/{auditId}
DELETE /v1/audit-scopes/{scopeId}
CONTROLPUT /controls/{controlId}
POST /vulnerabilities/pages
POST /vulnerabilities
POST /threats/pages
POST /threats
POST /links/bulk
POST /entities/{entityId}/control-implementations/pages
POST /controls/pages
POST /controls
POST /control-implementations/pages
GET /control-implementations/{guid}
DELETE /controls/{controlId}
RISKPUT /risks/{riskId}/submit
PUT /risks/{riskId}/send-back
PUT /risks/{riskId}/request-exception
PUT /risks/{riskId}/reopen
PUT /risks/{riskId}/grant-exception
PUT /risks/{riskId}/approve
POST /risks
GET /risk-settings/standard
GET /risk-settings/matrix
GET /risk-categories
DELETE /risks/{riskId}
VRMPUT /api/vendor/v1/contracts/{contractId}/vendors/{vendorId}/contracts
POST /api/vendor/v1/contracts/vendors/{vendorId}/contracts
POST /api/vendor/v1/contracts/add
GET /api/vendor/v1/contracts/types
GET /api/vendor/v1/contracts/schemas
GET /api/vendor/v1/contracts/{contractId}/contracts
VRM_READPOST /api/vendor/v1/contracts/vendors/{vendorId}/contracts
GET /api/vendor/v1/contracts/types
GET /api/vendor/v1/contracts/schemas
GET /api/vendor/v1/contracts/{contractId}/contracts
INTEGRATION_JWKSPOST /integrationmanager/api/v1/credentials/key/{credentialId}
INTEGRATIONSPUT /credentials/{type}
POST /workflows/import
POST /integrationmanager/api/v1/webhook/{webhookId}
POST /credentials/{type}
GET /workflows/export
INVENTORYPUT /inventories/{type}/{id}
POST /inventories/{type}
GET/inventories/{type}/{id}
DELETE /inventories/{type}/{id}
INVENTORY_READGET /inventories/{type}/{id}
INVENTORY_WRITEPUT /inventories/{type}/{id}
ITRMPOST /vulnerabilities
POST /threats

OAuth Errors

OAuth scopes control the level of access an external system is granted when accessing information tied to the OneTrust platform. If you receive a 403 Forbidden response like the one below, then verify that you have requested the correct scope that maps to the requested API endpoint. The least privileged permissions that we recommend are provided above in the Scope to API Assignments sections.

{
    "errors": [
        {
            "title": "You are not authorized to access this resource.",
            "detail": "You are not authorized to access this resource.",
            "code": "ERROR_ACCESS-MANAGEMENT-ASSERTIONS_ACCESS_VIOLATION"
        }
    ],
    "traceId": "cbb08e92-b95d-4d99-a46d-1ce4bf26e4ab"
}