{"openapi":"3.0.1","info":{"title":"Data Use Governance - Data Discovery Worker Node","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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/onetrust/openapi/data-use-governance-data-discovery-worker-node.json"}}],"x-onetrust":{"spec-label":"OpenAPI 3.0.1","links":[{"Data Discovery Knowledge Base":"https://my-onetrust-com.uleth.idm.oclc.org/s/topic/0TO1Q000000bHtnWAE/datadiscovery"},"{'Data Discovery Knowledge Base': 'https://my-onetrust-com.uleth.idm.oclc.org/s/topic/0TO1Q000000bHtnWAE/datadiscovery'}"]},"x-readme":{"explorer-enabled":false,"proxy-enabled":false,"metrics-enabled":false},"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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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.uleth.idm.oclc.org/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":{"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"]},"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"]},"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"]},"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"]},"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"]},"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"]},"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"]},"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"]},"MetadataRequests":{"type":"object","properties":{"metadataRequestList":{"type":"array","items":{"$ref":"#/components/schemas/MetadataRequest"}}}},"SchemaMetadata":{"type":"object","allOf":[{"$ref":"#/components/schemas/BaseMetadata"},{"type":"object","properties":{"Version":{"type":"integer","format":"int32"}}}],"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"]},"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"}}}},"requestBodies":{},"responses":{}}}