Query

Defines a user inputed query.

JSON representation
{
  "queryId": string,
  "createTime": string,
  "parts": [
    {
      object (QueryPart)
    }
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": string
  // End of mutually exclusive fields.
}
Fields
queryId

string

Output only. Unique ID for the query.

createTime

string (Timestamp format)

Output only. The time at which the server accepted this query.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

parts[]

object (QueryPart)

Query content parts.

Query content. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
text

string

Plain text.

End of mutually exclusive fields.

QueryPart

Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts.

JSON representation
{
  "mimeType": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": string,
  "uiJsonPayload": string,
  "personReference": {
    object (PersonReference)
  },
  "driveDocumentReference": {
    object (DriveDocumentReference)
  },
  "documentReference": {
    object (DocumentReference)
  },
  "userSuppliedSobiArtifactReference": {
    object (UserSuppliedSobiArtifactReference)
  }
  // End of mutually exclusive fields.
}
Fields
mimeType

string

Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field.

The payload of the query part. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
text

string

Text content.

uiJsonPayload

string

This field is expected to be a ui message in JSON format. As of Q1 2026, uiJsonPayload is only supported for A2UI messages.

personReference

object (PersonReference)

Reference to a person.

driveDocumentReference

object (DriveDocumentReference)

Reference to a Google Drive document.

documentReference

object (DocumentReference)

Other VAIS Document references.

userSuppliedSobiArtifactReference

object (UserSuppliedSobiArtifactReference)

Reference to a user-supplied file attached to a long-running-agent (Sobi) task. See UserSuppliedSobiArtifactReference above.

End of mutually exclusive fields.

PersonReference

Represents a person reference.

JSON representation
{
  "documentName": string,
  "personId": string,
  "email": string,
  "displayName": string,
  "displayPhotoUri": string,
  "destinationUri": string,
  "fileId": string
}
Fields
documentName

string

The full resource name of the person. Format: projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*.

personId

string

The person ID of the person.

email

string

The email of the person.

displayName

string

The display name of the person.

displayPhotoUri

string

The display photo url of the person.

destinationUri

string

The destination uri of the person.

fileId

string

Output only. The file ID of the person data stored in the session context files.

DriveDocumentReference

Represents a Google Drive document reference.

JSON representation
{
  "driveId": string,
  "documentName": string,
  "displayTitle": string,
  "destinationUri": string,
  "iconUri": string,
  "fileId": string
}
Fields
driveId

string

The Drive ID of the document.

documentName

string

The full resource name of the document. Format: projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*.

displayTitle

string

The display title of the reference.

destinationUri

string

The destination uri of the reference.

iconUri

string

The icon uri of the Drive document reference.

fileId

string

Output only. The file ID of the Drive document data stored in the session context files.

DocumentReference

Represents a document reference.

JSON representation
{
  "documentName": string,
  "displayTitle": string,
  "destinationUri": string,
  "iconUri": string,
  "fileId": string,
  "urlForConnector": string
}
Fields
documentName

string

The full resource name of the document. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

displayTitle

string

The display title of the reference.

destinationUri

string

The destination uri of the reference.

iconUri

string

The icon uri of the reference.

fileId

string

Output only. The file ID of the document data stored in the session context files.

urlForConnector

string

Input only. The urlForConnector of the document returned by Federated Search.

UserSuppliedSobiArtifactReference

Reference to a user-supplied file attached to a long-running-agent (Sobi) task. Rendered by the client as an attachment chip on the user turn's bubble. The file itself is stored on the task's AgentArtifact list; the client resolves full metadata (source URI, size, ...) for download or preview by calling tasks.get on the Sobi Task API and matching AgentArtifact.name against fileName.

Only fileName and mimeType appear on this wire deliberately: the backing gs:// or Drive URI is not exposed to conversation-history readers. Same variant is used for both byte-uploaded and Drive-picked files -- "user attached a file" is one concept regardless of source.

JSON representation
{
  "fileName": string,
  "mimeType": string
}
Fields
fileName

string

Required. client-supplied filename. Unique per task within the user-supplied artifact set (UI dedupes before upload). Doubles as the artifact identifier used to look up the artifact on Task.artifacts.

The _name suffix is deliberate and the AIP-122 lint is suppressed: this field is not a resource name (which is what AIP-122 reserves the bare name for). It is the literal filename, and it serves as the join key against AgentArtifact.name on the backing Sobi task -- a structural role that title or displayName would not communicate to a client picking what to send. The internal mirror (cloud/ml/discoveryengine/schema/assistant.proto) uses the same field name so the round-trip converter stays name-for-name.

mimeType

string

Optional. IANA MIME type. Used for icon/preview rendering.