OneTrust Custom Scan API

APIs to manage and execute custom data discovery scans across specified data sources.

Operations 4

GET /v1/jobs Get List of Scan Jobs #
POST /v1/jobs/{jobId}/catalog-data Submit Data to Catalog #
POST /v1/jobs/{jobId}/classify-data Submit Data to Classify #
PUT /v1/jobs/{jobId}/status Update Scan Job Status #

Documentation

📖
Documentation
https://developer.onetrust.com/onetrust/reference/attribute-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/activity-log
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/banner
📖
Documentation
https://developer.onetrust.com/onetrust/reference/consent-receipts
📖
Documentation
https://developer.onetrust.com/onetrust/reference/applications
📖
Documentation
https://developer.onetrust.com/onetrust/reference/categorizations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/domain-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/preferences
📖
Documentation
https://developer.onetrust.com/onetrust/reference/mobile-app-data
📖
Documentation
https://developer.onetrust.com/onetrust/reference/privacy-notice-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/collection-points
📖
Documentation
https://developer.onetrust.com/onetrust/reference/catalog-search-v1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/classification
📖
Documentation
https://developer.onetrust.com/onetrust/reference/custom-scan
📖
Documentation
https://developer.onetrust.com/onetrust/reference/carbon-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audit-records
📖
Documentation
https://developer.onetrust.com/onetrust/reference/bulk-export
📖
Documentation
https://developer.onetrust.com/onetrust/reference/attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/system-credentials
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-relationships-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/model-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/tasks
📖
Documentation
https://developer.onetrust.com/onetrust/reference/groups-v2
📖
Documentation
https://developer.onetrust.com/onetrust/reference/assessment-actions
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory
📖
Documentation
https://developer.onetrust.com/onetrust/reference/inventory-1
📖
Documentation
https://developer.onetrust.com/onetrust/reference/drop-management
📖
Documentation
https://developer.onetrust.com/onetrust/reference/incidents
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-controller
📖
Documentation
https://developer.onetrust.com/onetrust/reference/audits
📖
Documentation
https://developer.onetrust.com/onetrust/reference/initiatives
📖
Documentation
https://developer.onetrust.com/onetrust/reference/document-attachments
📖
Documentation
https://developer.onetrust.com/onetrust/reference/issues
📖
Documentation
https://developer.onetrust.com/onetrust/reference/control-implementations
📖
Documentation
https://developer.onetrust.com/onetrust/reference/training
📖
Documentation
https://developer.onetrust.com/onetrust/reference/contracts

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/onetrust-custom-scan-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

onetrust-custom-scan-api-openapi.yml Raw ↑
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:
    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
    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
    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
    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
    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
    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
    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
    MetadataRequests:
      type: object
      properties:
        metadataRequestList:
          type: array
          items:
            $ref: '#/components/schemas/MetadataRequest'
    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
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