openapi: 3.2.0 info: title: Data Use Governance - Data Discovery Worker Node Custom… description: The Data Discovery Worker Node APIs enables secure communication with an on-premises Data Discovery worker node. It provides operations to retrieve, classify, and catalog data from connected data sources, as well as manage and update custom connector scan jobs. Unlike the main OneTrust application APIs, this API communicates directly with your worker node instance, using its hostname, FQDN, or IP address. 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 servers: - url: https://{hostname}:8080/api/data-discovery-bridge description: This API is for directly communicating with the on-premises worker node. This API does not communicate with the OneTrust application, hence your hostname will be the hostname of your worker node. variables: hostname: default: localhost description: This API is for directly communicating with the on-premises worker node. This API does not communicate with the OneTrust application, hence your hostname will be the hostname, FQDN, or IP address of your worker node. tags: - name: Custom Scan description: APIs to manage and execute custom data discovery scans across specified data sources. externalDocs: description: OpenAPI 3.0.1 - Download Definition url: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery-worker-node.json paths: /v1/jobs: get: operationId: getEligibleJobsUsingGET summary: Get List of Scan Jobs description: Use this API to get details of any pending custom connecter scan jobs for the specified data source. tags: - Custom Scan x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery-worker-node.json parameters: - name: datasourceId in: query description: The data source's identifier. This value can be obtained using the [Get Data Sources](/onetrust/reference/getallusingget_1) API. required: true schema: type: string format: uuid example: 123e4567-e89b-12d3-a456-426655440000 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/JobDetails' '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 /v1/jobs/{jobId}/catalog-data: post: operationId: catalogDataUsingPOST summary: Submit Data to Catalog description: Use this API to submit metadata for cataloging for a given custom connector scan job. tags: - Custom Scan x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery-worker-node.json parameters: - name: jobId in: path description: The custom connector scan job's identifier. This value can be obtained using the [Get List of Scan Jobs](/onetrust/reference/geteligiblejobsusingget) API. required: true schema: type: integer format: int64 minimum: 1 example: 10 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetadataRequests' responses: '200': description: OK '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 /v1/jobs/{jobId}/classify-data: post: operationId: classifyDataUsingPOST summary: Submit Data to Classify description: Use this API to submit content for classification for a given custom connecter scan job. tags: - Custom Scan x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery-worker-node.json parameters: - name: jobId in: path description: The custom connector scan job's identifier. This value can be obtained using the [Get List of Scan Jobs](/onetrust/reference/geteligiblejobsusingget) API. required: true schema: type: integer format: int64 minimum: 1 example: 10 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ClassificationRequest' responses: '200': description: OK '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 /v1/jobs/{jobId}/status: put: operationId: updateJobStatusUsingPUT summary: Update Scan Job Status description: Use this API to update the custom connecter scan job's status. tags: - Custom Scan x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/data-use-governance-data-discovery-worker-node.json parameters: - name: jobId in: path description: The custom connector scan job's identifier. This value can be obtained using the [Get List of Scan Jobs](/onetrust/reference/geteligiblejobsusingget) API. required: true schema: type: integer format: int64 minimum: 1 example: 10 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/JobStatusRequest' responses: '200': description: OK '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 components: schemas: MetadataRequest: type: object properties: jobId: description: The custom connector scan job's identifier. This value can be obtained using the [Get List of Scan Jobs](/onetrust/reference/geteligiblejobsusingget) API. type: integer format: int64 example: 10 minimum: 1 datasourceId: description: ID of the data source. This value can be obtained using the [Get Data Sources](/onetrust/reference/getallusingget_1) API. type: string example: 123e4567-e89b-12d3-a456-426655440000 parentEntityName: description: Parent Entity Name type: string parentType: description: Parent Entity Type type: string example: DATASOURCE enum: - DATASOURCE - DATABASE - SCHEMA - CATALOG - TABLE - FOLDER parentXPath: description: Parent Path type: array items: type: string description: Parent Path metadataList: description: List of Metadata objects to catalog type: array items: oneOf: - $ref: '#/components/schemas/ColumnMetadata' - $ref: '#/components/schemas/DatabaseMetadata' - $ref: '#/components/schemas/FileMetadata' - $ref: '#/components/schemas/SchemaMetadata' - $ref: '#/components/schemas/TableMetadata' maxItems: 20 minItems: 1 required: - datasourceId - jobId - metadataList JobStatusRequest: type: object properties: status: description: Status to which the job should be updated. type: string example: IN_PROGRESS enum: - CREATED - IN_PROGRESS - COMPLETED - FAILED - CANCELLED - PAUSED errorMessage: description: Error message that indicates the reason for using a status of FAILED. type: string example: Connection Error required: - status SchemaMetadata: type: object allOf: - $ref: '#/components/schemas/BaseMetadata' - type: object properties: Version: type: integer format: int32 required: - 'Entity Name ' - entityType BaseMetadata: type: object properties: 'Entity Name ': type: string entityType: description: Entity Type type: string example: DATABASE Content Type: type: string Children Count: type: integer format: int64 example: 2 Description: type: string discriminator: propertyName: entityType mapping: DATABASE: '#/components/schemas/DatabaseMetadata' SCHEMA: '#/components/schemas/SchemaMetadata' CATALOG: '#/components/schemas/SchemaMetadata' TABLE: '#/components/schemas/TableMetadata' COLUMN: '#/components/schemas/ColumnMetadata' FOLDER: '#/components/schemas/FileMetadata' FILE: '#/components/schemas/FileMetadata' required: - 'Entity Name ' - entityType ContentDetails: type: object properties: entityName: description: Entity Name type: string example: first_name entityType: description: Entity Type type: string example: COLUMN enum: - DATABASE - SCHEMA - CATALOG - TABLE - COLUMN - FOLDER - FILE parentEntityName: description: Parent Entity Name type: string example: Employee parentEntityType: description: Parent Entity Type type: string example: TABLE enum: - DATASOURCE - DATABASE - SCHEMA - CATALOG - TABLE - FOLDER parentXpath: type: array items: type: string example: - Company, Employee endOfContent: description: Flag to determine whether this request is the final request for a given column/file. type: boolean example: true data: description: List of content to classify. type: array items: type: string description: List of content to classify. example: - Donald required: - entityName - entityType - parentEntityType - parentXpath MetadataRequests: type: object properties: metadataRequestList: type: array items: $ref: '#/components/schemas/MetadataRequest' DatabaseMetadata: type: object allOf: - $ref: '#/components/schemas/BaseMetadata' - type: object properties: Owner: type: string Product Version: type: string Product Name: type: string Product Family: type: string example: oracle required: - 'Entity Name ' - entityType ColumnMetadata: type: object allOf: - $ref: '#/components/schemas/BaseMetadata' - type: object properties: Column Index: type: integer format: int32 Nullable: type: boolean Encryption: type: string Estimated Size: type: integer format: int64 Calculated Average Size: type: integer format: int32 Timestamp when Size was calculated: type: integer format: int64 Column Description: type: string required: - 'Entity Name ' - entityType FileMetadata: type: object allOf: - $ref: '#/components/schemas/BaseMetadata' - type: object properties: Size on Disk: type: integer format: int64 Data Extraction Size: type: integer format: int64 Last Modified Date: type: integer format: int64 Last Modified by User: type: string Created At Timestamp: type: integer format: int64 Created By Timestamp: type: string Last Accessed Timestamp: type: integer format: int64 File Owner: type: string Encryption: type: string Shared Access: type: string enum: - SHARED_EXTERNAL - SHARED_INTERNAL - SHARED_PRIVATE - OPEN_ACCESS - SHARED_ACCESS Resource URL: type: string etag: type: string required: - 'Entity Name ' - entityType TableMetadata: type: object allOf: - $ref: '#/components/schemas/BaseMetadata' - type: object properties: Rows Estimated: type: integer format: int64 Size Estimate: type: integer format: int64 Estimate Timestamp: type: integer format: int64 Rows Calculated: type: integer format: int64 Size Calculated: type: integer format: int64 Calculated Timestamp: type: integer format: int64 Comments: type: string required: - 'Entity Name ' - entityType ClassificationRequest: type: object properties: jobId: description: The custom connector scan job's identifier. This value can be obtained using the [Get List of Scan Jobs](/onetrust/reference/geteligiblejobsusingget) API. type: integer format: int64 example: 10 minimum: 1 datasourceId: description: The data source's identifier. This value can be obtained using the [Get Data Sources](/onetrust/reference/getallusingget_1) API. type: string example: 123e4567-e89b-12d3-a456-426655440000 structured: description: Flag to determine whether the data source is a structured or unstructured source. type: boolean example: true totalCount: description: Total Count of rows or lines sent for a given column/file. type: integer format: int64 example: 100 minimum: 1 content: description: List of content details from the data source. items: $ref: '#/components/schemas/ContentDetails' type: array required: - content - datasourceId - jobId JobDetails: type: object properties: jobId: description: jobId type: integer format: int64 example: 140 datasourceId: description: datasourceId type: string format: uuid example: 123e4567-e89b-12d3-a456-426655440000 jobClass: description: jobClass type: string example: CUSTOM jobType: description: jobType type: string example: CATALOG_SCAN x-onetrust: spec-label: OpenAPI 3.0.1 links: - Data Discovery Knowledge Base: https://my.onetrust.com/s/topic/0TO1Q000000bHtnWAE/datadiscovery - '{''Data Discovery Knowledge Base'': ''https://my.onetrust.com/s/topic/0TO1Q000000bHtnWAE/datadiscovery''}' x-readme: explorer-enabled: false proxy-enabled: false metrics-enabled: false