openapi: 3.2.0 info: title: Data Use Governance - Data Discovery Data Sources API version: '1.0' contact: name: OneTrust Support url: https://my.onetrust.com/s/contactsupport license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 description: The Data Discovery API provides comprehensive REST endpoints for managing data discovery operations including data sources, scan profiles, credentials, and scan jobs with OAuth2 security and extensive filtering capabilities. servers: - url: https://{hostname} variables: hostname: default: hostname description: The OneTrust hostname such as app.onetrust.com, app-eu.onetrust.com, app-de.onetrust.com, app-uk.onetrust.com, app-apac.onetrust.com, trial.onetrust.com, or uat.onetrust.com. tags: - name: Data Sources description: APIs to manage data sources including creation, retrieval, updates, deletion, and comprehensive filtering with support for multiple system types and asset integration. externalDocs: description: OpenAPI 3.1.0 - Download Definition url: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery.json x-displayName: Data Sources paths: /api/discovery-scan-config/v3/system: get: operationId: getAllUsingGET_1 summary: Get List of Data Sources description: Use this API to retrieve a list of data sources in JSON format. The response will include details for each data source along with the corresponding data source ID, system name, and associated settings. tags: - Data Sources x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery.json parameters: - name: page in: query description: Results page to be retrieved (0..N). schema: description: Results page to be retrieved (0..N). type: integer format: int32 default: 0 minimum: 0 example: 1 - name: size in: query description: Number of records per page (1..50). Maximum page size allowed is 50 schema: description: Number of records per page (1..50). Maximum page size allowed is 50 type: integer format: int32 default: 20 maximum: 50 minimum: 1 example: 20 - name: sort in: query description: 'Sorting criteria in the format: property(,asc|desc). Default is ascending.' schema: description: 'Sorting criteria in the format: property(,asc|desc). Default is ascending.' type: string default: createdDate,desc enum: - name,asc - name,desc - systemType,asc - systemType,desc - createdDate,asc - createdDate,desc - status,desc - status,asc example: name,desc - name: name in: query description: Name of the data source required: false schema: type: string example: AmazonS3 Datasource - name: systemType in: query description: Type of the system (e.g., AmazonS3) required: false schema: type: string example: AmazonS3 enum: - AzureCosmos - Box - Cassandra - AzureDatabricks - IBMDB2 - Exchange - GCP - GoogleWorkspaceGmail - GoogleBigQuery - GoogleBigTable - MongoDB - MySQL - OneDrive - OracleRDBMS - PostgreSQL - AmazonS3 - SalesForce - SAPHana - ServiceNow - SharePoint - SMB - Snowflake - MicrosoftSQL - Teradata - Workday - Zendesk - AmazonRDSforSQLServer - AzureSQLServer - Redshift - GoogleDrive - AmazonDynamoDB - AmazonAthena - SharePoint2019OnPrem - SFTP - NFS - GCS - Redis - ElasticSearch - MicrosoftTeams - Slack - AlibabaCloudOSS - AzureFiles - Iceberg - Kafka - name: createdFrom in: query description: The date (yyyy-mm-dd) to filter the data sources created on or after the specified date. For example, including the parameter createdFrom=2021-08-17 will filter results to data sources on or after August 17th, 2021. required: false schema: type: string format: date-time example: '2021-09-11T01:41:50.143+00:00' - name: createdTo in: query description: The date (yyyy-mm-dd) to filter the results to data sources created on or before the specified date. For example, including the parameter createdFrom=2021-08-17 will filter results to data sources on or after August 17th, 2021. required: false schema: type: string format: date-time example: '2021-09-11T02:41:50.143+00:00' - name: oneTrustAssetId in: query description: ID of the OneTrust asset. required: false schema: type: string format: uuid example: d841a8dc-bd67-47cd-b5e3-418f7d243de7 - name: status in: query description: Status of the data source (e.g., ACTIVE, INACTIVE, DELETED) required: false schema: type: string enum: - ACTIVE - INACTIVE - DELETED example: ACTIVE - name: workerNodeId in: query description: ID of the worker node. required: false schema: type: string format: uuid example: 5bb955f1-846f-4db9-a507-a534f1f3f07a responses: '200': description: Paginated list of data sources content: application/json: schema: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_PageWrapperDataSourceDto' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - DataUseGovernance-DataDiscovery_OAUTH2: - INTEGRATIONS - DATA_DISCOVERY put: operationId: upsertSourceSystemV3UsingPUT summary: Create or Update Data Source description: Use this API to create a new data source or update an existing data source. The data source will be created or updated with the details provided in the request body. tags: - Data Sources x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery.json requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceV2Dto' responses: '200': description: Data source upserted successfully content: application/json: schema: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceV2Dto' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - DataUseGovernance-DataDiscovery_OAUTH2: - INTEGRATIONS - DATA_DISCOVERY /api/discovery-scan-config/v3/system/{id}: get: operationId: getDataSourceByIdUsingGET_1 summary: Get Data Source description: Use this API to retrieve a single data source in JSON format by its unique identifier. tags: - Data Sources x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery.json parameters: - name: id in: path description: UUID of the data source required: true schema: type: string format: uuid example: ad390cb4-9ce9-4976-8895-66d724493c7b responses: '200': description: Data source details returned content: application/json: schema: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_OneTrustResponseDataSourceDtoWrapper' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - DataUseGovernance-DataDiscovery_OAUTH2: - INTEGRATIONS - DATA_DISCOVERY delete: operationId: deleteSystemUsingDELETE_1 summary: Delete Data Source description: Use this API to delete an existing data source and its associated scan results. tags: - Data Sources x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery.json parameters: - name: id in: path description: UUID of the data source to be deleted required: true schema: type: string format: uuid example: ad390cb4-9ce9-4976-8895-66d724493c7b responses: '204': description: Data source deleted '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - DataUseGovernance-DataDiscovery_OAUTH2: - INTEGRATIONS - DATA_DISCOVERY components: schemas: DataUseGovernance-DataDiscovery_OneTrustPage: type: object properties: first: type: boolean last: type: boolean number: type: integer format: int64 size: type: integer format: int64 totalElements: type: integer format: int64 totalPages: type: integer format: int64 sort: type: array items: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_OneTrustSort' DataUseGovernance-DataDiscovery_DataSourceV2Dto: type: object properties: dataSourceName: description: Name of Data Source type: string example: S3-DS-24thMarch systemType: description: System Type of Data Source type: string example: AmazonS3 enum: - AWS - Azure - AzureCosmos - AzureStorage - Box - Cassandra - Databricks - IBMDB2 - Exchange - GCP - GoogleWorkspaceGmail - GoogleBigQuery - GoogleBigTable - MongoDB - MySQL - Netezza - Office365 - OneDrive - OracleRDBMS - PostgreSQL - AmazonS3 - AmazonSageMaker - AmazonBedrock - GCPVertex - AzureFoundry - SalesForce - SAPHana - ServiceNow - SharePoint - SMB - Snowflake - MicrosoftSQL - Teradata - Workday - Zendesk - AmazonRDSforSQLServer - AzureSQLServer - Redshift - GoogleDrive - CustomConnector - AmazonDynamoDB - AmazonAthena - Hive - SharePoint2019OnPrem - GenericJDBC - SFTP - NFS - GCS - Redis - ElasticSearch - MicrosoftTeams - Slack - AlibabaCloudOSS - AzureFiles - Iceberg - NGFSFILES - Github - Unknown - RELATIONAL_DATABASE - NON_RELATIONAL_DATABASE - FILE - API - Kafka - WorkdayApp systemName: description: System Name of Data Source type: string example: Amazon S3 status: description: Data Source current status type: string example: ACTIVE enum: - INACTIVE - ACTIVE - DELETED oneTrustAssetId: description: Asset ID for Data Source type: string format: uuid example: 860abcce-fbf3-4f32-a38b-df19f8c08eae orgGroupId: description: Org Group ID for Data Source type: string format: uuid example: ec33136e-dd31-492b-8cd7-cb1a0109fe93 createdBy: description: UserID who created Data Source type: string format: uuid example: e897fe47-a504-4dd4-8eda-52add1a397f0 modifiedBy: description: UserID who modified Data Source type: string format: uuid example: e897fe47-a504-4dd4-8eda-52add1a397f0 createdDate: description: Data Source Created date type: string format: date-time example: '2022-04-04T11:33:16.538+00:00' modifiedDate: description: Data Source modified date type: string format: date-time example: '2022-04-04T11:53:16.538+00:00' dataSourceSettings: description: Data Source Dto Settings example: workerNodeName: WN-24thAugust scannerId: e897fe47-a504-4dd4-8eda-52add1a397f0 scanProfileName: ScanProfile-Mysql scanProfileId: e897fe47-a504-4dd4-8eda-52add1a397f0 credentialName: Credential-Mysql credentialId: e897fe47-a504-4dd4-8eda-52add1a397f0 classificationProfileId: c2845b2e-75bf-4a9b-a463-96a15fef85dc detectorProfileId: d2845b2e-75bf-4a9b-a463-96a15fef85dc oneTrustAssetId: 860abcce-fbf3-4f32-a38b-df19f8c08eae $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceSettingsV2Dto' dataSourceTriggerList: description: Data Source Trigger List type: array items: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceTriggerDto' example: - cronExpression: 0 0 buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils ? buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils * dateTime: seconds: '0' minutes: '0' hours: label: OneHour value: '1' cronExp: null dayOfMonth: null month: null dayOfWeek: label: M value: '2' cronExp: MON year: null frequency: label: Hourly value: '8' cronExp: '?' frequencyIntervalTracker: '?' isRunManual: false id: 17717 systemId: description: SystemTile ID for Data Source type: string format: uuid example: 760abcce-fbf3-4f32-a28b-df19f8c08eae id: type: string format: uuid DataUseGovernance-DataDiscovery_OneTrustResponseDataSourceDtoWrapper: type: object properties: data: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceV2Dto' errors: type: array items: type: object meta: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_OneTrustMetadata' DataUseGovernance-DataDiscovery_OneTrustSort: type: object properties: direction: type: string enum: - ASC - DESC property: type: string DataUseGovernance-DataDiscovery_PageWrapperDataSourceDto: type: object properties: content: description: The content of this page. example: - id: 1 name: Item items: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_DataSourceV2Dto' type: array number: description: Current page number. type: integer format: int32 example: 0 size: description: The size of the page (number of elements per page). type: integer format: int32 example: 20 numberOfElements: description: The number of elements on the current page. type: integer format: int32 example: 15 totalElements: description: The total number of elements across all pages. type: integer format: int32 example: 150 totalPages: description: The total number of pages. type: integer format: int32 example: 8 first: description: Indicates if this is the first page. type: boolean example: true last: description: Indicates if this is the last page. type: boolean example: false empty: description: Indicates if the page is empty. type: boolean example: false sort: description: Sorting information for the page. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_Sort' pageable: description: Pagination information for the page. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_Pageable' DataUseGovernance-DataDiscovery_Sort: type: object properties: sort: type: array items: type: string DataUseGovernance-DataDiscovery_ScheduleDateTimeField: type: object properties: label: description: Label for the field, typically used for display purposes. type: string example: Every Hour value: description: Value representing the selected option for this field. type: string example: H cronExp: description: The cron expression fragment for this field. type: string example: 0 0/5 buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils ? DataUseGovernance-DataDiscovery_ScheduleDateTime: type: object properties: seconds: description: Seconds field for the cron expression. type: string example: '1' minutes: description: Minutes field for the cron expression. type: string example: '1' hours: description: Hours field for the cron expression. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_ScheduleDateTimeField' dayOfMonth: description: Day of month field for the cron expression. type: string example: '*' month: description: Month field for the cron expression. type: string example: '*' dayOfWeek: description: Day of week field for the cron expression. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_ScheduleDateTimeField' year: description: Year field for the cron expression. type: string example: '*' frequency: description: Frequency configuration. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_ScheduleDateTimeField' frequencyIntervalTracker: description: Frequency interval tracker information. type: string example: '5' DataUseGovernance-DataDiscovery_DataSourceTriggerDto: type: object properties: cronExpression: description: Cron expression to define the schedule in standard cron format. type: string example: 0 0/5 buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils buildMR_Jenkinsfile getApiSpec.sh specVariationChecker_Jenkinsfile tryCatch.sh utils ? dateTime: description: Specific date and time configuration for scheduling. $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_ScheduleDateTime' isRunManual: description: Flag to indicate whether the trigger should run manually. type: boolean example: false id: type: integer format: int64 runManual: type: boolean DataUseGovernance-DataDiscovery_OneTrustMetadata: type: object properties: page: $ref: '#/components/schemas/DataUseGovernance-DataDiscovery_OneTrustPage' DataUseGovernance-DataDiscovery_DataSourceSettingsV2Dto: type: object properties: scannerId: description: Scanner Id for Data Source type: string format: uuid example: 4f162d7c-a563-4bf1-a7c4-b7899f6dcdef workerNodeName: description: Worker Node Name type: string example: WN-24thAugust scanProfileId: description: ScanProfile ID for Data Source type: string format: uuid example: 3f162d7c-a463-4bf1-a7c4-b7899f6dcdef scanProfileName: description: ScanProfile Name for Data Source type: string example: ScanProfile-Mysql credentialId: description: Credential ID for Data Source type: string format: uuid example: 8f162d7c-a563-4bf1-a0c4-b7899f6dcdef credentialName: description: Credential Name for Data Source type: string example: Credential-Mysql oneTrustAssetId: description: Asset ID for Data Source type: string format: uuid example: 860abcce-fbf3-4f32-a38b-df19f8c08eae classificationProfileId: description: ClassifiactionProfile ID for Data Source type: string format: uuid example: 3f162d7c-a863-4bf1-a9c4-b7899f6dcdef detectorProfileId: description: DetectorProfile ID for Data Source type: string format: uuid example: 3f162d7c-a863-4bf1-a9c4-b7899f6dcdef metadataClassificationEnabled: description: Metadata Classification Enabled/Disabled type: boolean example: false id: type: integer format: int64 DataUseGovernance-DataDiscovery_Pageable: type: object properties: page: type: integer format: int32 minimum: 0 size: type: integer format: int32 minimum: 1 sort: type: array items: type: string securitySchemes: DataUseGovernance-DataDiscovery_OAUTH2: type: oauth2 flows: clientCredentials: tokenUrl: https://{hostname}/api/access/v1/oauth/token scopes: DATA_DISCOVERY: DATA_DISCOVERY scope for external systems DataUseGovernance-DataDiscoveryCustomClassiferMana_OAUTH2: type: oauth2 flows: clientCredentials: tokenUrl: https://{hostname}/api/access/v1/oauth/token scopes: DATA_DISCOVERY: DATA_DISCOVERY scope for external systems x-readme: explorer-enabled: false proxy-enabled: false metrics-enabled: false x-onetrust: spec-label: OpenAPI 3.1.0