---
title: "POST /v2/{+name}:hybridInspect"
method: POST
path: "/v2/{+name}:hybridInspect"
tags: ["projects"]
---

# POST /v2/{+name}:hybridInspect

`POST /v2/{+name}:hybridInspect`

Inspect hybrid content and store findings to a job. To review the findings, inspect the job. Inspection will occur asynchronously.

## Path parameters

- `name` string, required

## Request body

- GooglePrivacyDlpV2HybridInspectDlpJobRequest — Request to search for potentially sensitive info in a custom location.
  - `hybridItem` GooglePrivacyDlpV2HybridContentItem — An individual hybrid item to inspect. Will be stored temporarily during processing.
    - `item` GooglePrivacyDlpV2ContentItem — Type of content to inspect.
      - `batchContentItem` GooglePrivacyDlpV2BatchContentItem — Represents a batch of content to inspect or redact.
        - `stringValueBatch` GooglePrivacyDlpV2StringValueBatch — Represents a batch of string values to inspect or redact.
          - `values` string[] — Optional. Represents string data to inspect or redact.
      - `value` string — String data to inspect or redact.
      - `conversation` GooglePrivacyDlpV2Conversation — Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order.
        - `messages` GooglePrivacyDlpV2ConversationMessage[] — Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response.
          - `content` string — The contents of this message.
          - `messageType` 'MESSAGE_TYPE_UNSPECIFIED' | 'CONTENT' | 'CONTEXT' — The type of message.
          - `participantId` string — Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters.
      - `byteItem` GooglePrivacyDlpV2ByteContentItem — Container for bytes to inspect or redact.
        - `type` 'BYTES_TYPE_UNSPECIFIED' | 'IMAGE' | 'IMAGE_JPEG' | 'IMAGE_BMP' | 'IMAGE_PNG' | 'IMAGE_SVG' | 'TEXT_UTF8' | 'WORD_DOCUMENT' | 'PDF' | 'POWERPOINT_DOCUMENT' | 'EXCEL_DOCUMENT' | 'AVRO' | 'CSV' | 'TSV' | 'AUDIO' | 'VIDEO' | 'EXECUTABLE' | 'AI_MODEL' — The type of data stored in the bytes string. Default will be TEXT_UTF8.
        - `data` string, byte — Content data to inspect or redact.
      - `table` GooglePrivacyDlpV2Table — Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more.
        - `headers` GooglePrivacyDlpV2FieldId[] — Headers of the table.
          - `name` string — Name describing the field.
        - `rows` GooglePrivacyDlpV2Row[] — Rows of the table.
          - `values` GooglePrivacyDlpV2Value[] — Individual cells.
            - `dayOfWeekValue` 'DAY_OF_WEEK_UNSPECIFIED' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' — day of week
            - `integerValue` string, int64 — integer
            - `floatValue` number, double — float
            - `timestampValue` string, google-datetime — timestamp
            - `dateValue` GoogleTypeDate — Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
              - …
            - `stringValue` string — string
            - `booleanValue` boolean — boolean
            - `timeValue` GoogleTypeTimeOfDay — Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
              - …
      - `contentMetadata` GooglePrivacyDlpV2ContentMetadata — Metadata on content to be scanned.
        - `properties` GooglePrivacyDlpV2KeyValueMetadataProperty[] — User provided key-value pairs of content metadata.
          - `value` string — The value of the property.
          - `key` string — The key of the property.
        - `fileLabels` GooglePrivacyDlpV2FileLabel[] — Optional. The file labels associated with the content.
          - `sensitivityLabel` GooglePrivacyDlpV2SensitivityLabelMetadata — Sensitivity labels published by Microsoft.
            - `guid` string — Required. The GUID of the sensitivity label.
          - `googleDriveLabel` GooglePrivacyDlpV2GoogleDriveLabelMetadata — Google Drive labels published by Google.
            - `labelId` string — The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
            - `labelFields` GooglePrivacyDlpV2LabelFieldMetadata[] — The field values of the Google Drive label
              - …
    - `findingDetails` GooglePrivacyDlpV2HybridFindingDetails — Populate to associate additional data with each finding.
      - `tableOptions` GooglePrivacyDlpV2TableOptions — Instructions regarding the table content being inspected.
        - `identifyingFields` GooglePrivacyDlpV2FieldId[] — The columns that are the primary keys for table objects included in ContentItem. A copy of this cell's value will stored alongside alongside each finding so that the finding can be traced to the specific row it came from. No more than 3 may be provided.
          - `name` string — Name describing the field.
      - `rowOffset` string, int64 — Offset of the row for tables. Populate if the row(s) being scanned are part of a bigger dataset and you want to keep track of their absolute position.
      - `containerDetails` GooglePrivacyDlpV2Container — Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record.
        - `updateTime` string, google-datetime — Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated.
        - `version` string — Findings container version, if available ("generation" for Cloud Storage).
        - `relativePath` string — The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt`
        - `projectId` string — Project where the finding was found. Can be different from the project that owns the finding.
        - `rootPath` string — The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket`
        - `type` string — Container type, for example BigQuery or Cloud Storage.
        - `fullPath` string — A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt'
      - `fileOffset` string, int64 — Offset in bytes of the line, from the beginning of the file, where the finding is located. Populate if the item being scanned is only part of a bigger item, such as a shard of a file and you want to track the absolute position of the finding.
      - `labels` object — Labels to represent user provided metadata about the data being inspected. If configured by the job, some key values may be required. The labels associated with `Finding`'s produced by hybrid inspection. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. No more than 10 labels can be associated with a given finding. Examples: * `"environment" : "production"` * `"pipeline" : "etl"`

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/dlp.md) · [All operations](https://skmtc.net/google/apis/dlp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/dlp/versions/98ced13f7159/schema)
