InteractionStreamingEvent

Fields
eventId string

The eventId token to be used to resume the interaction stream, from this event.

event_type Union type
The event data. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
interactionCreatedEvent object (InteractionCreatedSseEvent)

The interaction data, used for interaction.created events. Used when steps are enabled.

interactionCompletedEvent object (InteractionCompletedSseEvent)

The interaction data, used for interaction.completed events. Used when steps are enabled.

interactionStatusUpdate object (InteractionStatusUpdate)

The interaction status data, used for interaction.status_update events.

contentStart
(deprecated)
object (ContentStart)

The content block start data, used for content.start events. Legacy content-based streaming event, used when steps are disabled.

contentDelta
(deprecated)
object (ContentDelta)

The content block delta data, used for content.delta events. Legacy content-based streaming event, used when steps are disabled.

contentStop
(deprecated)
object (ContentStop)

The content block stop data, used for content.stop events. Legacy content-based streaming event, used when steps are disabled.

errorEvent object (ErrorEvent)

The error event data, used for error events.

stepStart object (StepStart)

The step start data, used for step.start events. Step-based streaming event, used when steps are enabled.

stepDelta object (StepDelta)

The step delta data, used for step.delta events. Step-based streaming event, used when steps are enabled.

stepStop object (StepStop)

The step stop data, used for step.stop events. Step-based streaming event, used when steps are enabled.

End of mutually exclusive fields.
JSON representation
{
  "eventId": string,

  // event_type
  "interactionCreatedEvent": {
    object (InteractionCreatedSseEvent)
  },
  "interactionCompletedEvent": {
    object (InteractionCompletedSseEvent)
  },
  "interactionStatusUpdate": {
    object (InteractionStatusUpdate)
  },
  "contentStart": {
    object (ContentStart)
  },
  "contentDelta": {
    object (ContentDelta)
  },
  "contentStop": {
    object (ContentStop)
  },
  "errorEvent": {
    object (ErrorEvent)
  },
  "stepStart": {
    object (StepStart)
  },
  "stepDelta": {
    object (StepDelta)
  },
  "stepStop": {
    object (StepStop)
  }
  // Union type
}

InteractionCreatedSseEvent

Server response confirming that a new interaction was created.

Fields
interaction object (Interaction)

Required. Partial interaction resource emitted when the stream is created.

JSON representation
{
  "interaction": {
    object (Interaction)
  }
}

InteractionCompletedSseEvent

Signals that the Interaction completed. Sent when the Interaction receives Complete/Cancel or naturally terminates. No more input can be sent to the Interaction after this.

Fields
interaction object (Interaction)

Required. Partial completed interaction resource emitted at the end of the stream.

JSON representation
{
  "interaction": {
    object (Interaction)
  }
}

InteractionStatusUpdate

Fields
interactionId string
status enum (Status)
JSON representation
{
  "interactionId": string,
  "status": enum (Status)
}

ContentDeltaData

The delta content data for a content block.

Fields
type Union type
The type of the delta content. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
text object (TextDelta)
image object (ImageDelta)
audio object (AudioDelta)
document object (DocumentDelta)
video object (VideoDelta)
thoughtSummary object (ThoughtSummaryDelta)
thoughtSignature object (ThoughtSignatureDelta)
toolCall object (ToolCallDelta)
toolResult object (ToolResultDelta)
textAnnotation object (TextAnnotationDelta)
End of mutually exclusive fields.
JSON representation
{

  // type
  "text": {
    object (TextDelta)
  },
  "image": {
    object (ImageDelta)
  },
  "audio": {
    object (AudioDelta)
  },
  "document": {
    object (DocumentDelta)
  },
  "video": {
    object (VideoDelta)
  },
  "thoughtSummary": {
    object (ThoughtSummaryDelta)
  },
  "thoughtSignature": {
    object (ThoughtSignatureDelta)
  },
  "toolCall": {
    object (ToolCallDelta)
  },
  "toolResult": {
    object (ToolResultDelta)
  },
  "textAnnotation": {
    object (TextAnnotationDelta)
  }
  // Union type
}

TextDelta

Fields
text string
JSON representation
{
  "text": string
}

ImageDelta

Fields
mimeType enum (MimeType)
resolution enum (MediaResolution)

The resolution of the media.

data_or_uri Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
data string (bytes format)

A base64-encoded string.

uri string
End of mutually exclusive fields.
JSON representation
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

AudioDelta

Fields
mimeType enum (MimeType)
sampleRate integer

The sample rate of the audio.

channels integer

The number of audio channels.

data_or_uri Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
data string (bytes format)

A base64-encoded string.

uri string
End of mutually exclusive fields.
JSON representation
{
  "mimeType": enum (MimeType),
  "sampleRate": integer,
  "channels": integer,

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

DocumentDelta

Fields
mimeType enum (MimeType)
data_or_uri Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
data string (bytes format)

A base64-encoded string.

uri string
End of mutually exclusive fields.
JSON representation
{
  "mimeType": enum (MimeType),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

VideoDelta

Fields
mimeType enum (MimeType)
resolution enum (MediaResolution)

The resolution of the media.

data_or_uri Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
data string (bytes format)

A base64-encoded string.

uri string
End of mutually exclusive fields.
JSON representation
{
  "mimeType": enum (MimeType),
  "resolution": enum (MediaResolution),

  // data_or_uri
  "data": string,
  "uri": string
  // Union type
}

ThoughtSummaryDelta

Fields
content object (Content)

A new summary item to be added to the thought.

JSON representation
{
  "content": {
    object (Content)
  }
}

ThoughtSignatureDelta

Fields
signature string (bytes format)

signature to match the backend source to be part of the generation.

A base64-encoded string.

JSON representation
{
  "signature": string
}

ToolCallDelta

Fields
id string

Required. A unique id for this specific tool call.

signature string (bytes format)

A signature hash for backend validation.

A base64-encoded string.

type Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
functionCall object (FunctionCallDelta)
codeExecutionCall object (CodeExecutionCallDelta)
urlContextCall object (UrlContextCallDelta)
googleSearchCall object (GoogleSearchCallDelta)
fileSearchCall object (FileSearchCallDelta)
googleMapsCall object (GoogleMapsCallDelta)
End of mutually exclusive fields.
JSON representation
{
  "id": string,
  "signature": string,

  // type
  "functionCall": {
    object (FunctionCallDelta)
  },
  "codeExecutionCall": {
    object (CodeExecutionCallDelta)
  },
  "urlContextCall": {
    object (UrlContextCallDelta)
  },
  "googleSearchCall": {
    object (GoogleSearchCallDelta)
  },
  "fileSearchCall": {
    object (FileSearchCallDelta)
  },
  "googleMapsCall": {
    object (GoogleMapsCallDelta)
  }
  // Union type
}

FunctionCallDelta

Fields
name string
arguments object (Struct)
JSON representation
{
  "name": string,
  "arguments": {
    object (Struct)
  }
}

CodeExecutionCallDelta

Fields
arguments object (CodeExecutionCallArguments)
JSON representation
{
  "arguments": {
    object (CodeExecutionCallArguments)
  }
}

CodeExecutionCallArguments

The arguments to pass to the code execution.

Fields
language enum (Language)

Programming language of the code.

code string

The code to be executed.

JSON representation
{
  "language": enum (Language),
  "code": string
}

Language

Supported programming languages for the generated code.

Enums
LANGUAGE_UNSPECIFIED Unspecified language. This value should not be used.
PYTHON Python >= 3.10, with numpy and simpy available.

UrlContextCallDelta

Fields
arguments object (UrlContextCallArguments)
JSON representation
{
  "arguments": {
    object (UrlContextCallArguments)
  }
}

UrlContextCallArguments

The arguments to pass to the URL context.

Fields
urls[] string

The URLs to fetch.

JSON representation
{
  "urls": [
    string
  ]
}

GoogleSearchCallDelta

Fields
arguments object (GoogleSearchCallArguments)
JSON representation
{
  "arguments": {
    object (GoogleSearchCallArguments)
  }
}

GoogleSearchCallArguments

The arguments to pass to Google Search.

Fields
queries[] string

Web search queries for the following-up web search.

JSON representation
{
  "queries": [
    string
  ]
}

FileSearchCallDelta

This type has no fields.

GoogleMapsCallDelta

Fields
arguments object (GoogleMapsCallArguments)

The arguments to pass to the Google Maps tool.

JSON representation
{
  "arguments": {
    object (GoogleMapsCallArguments)
  }
}

GoogleMapsCallArguments

The arguments to pass to the Google Maps tool.

Fields
queries[] string

The queries to be executed.

JSON representation
{
  "queries": [
    string
  ]
}

ToolResultDelta

Fields
callId string

Required. id to match the id from the function call block.

signature string (bytes format)

A signature hash for backend validation.

A base64-encoded string.

type Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
functionResult object (FunctionResultDelta)
codeExecutionResult object (CodeExecutionResultDelta)
urlContextResult object (UrlContextResultDelta)
googleSearchResult object (GoogleSearchResultDelta)
fileSearchResult object (FileSearchResultDelta)
googleMapsResult object (GoogleMapsResultDelta)
End of mutually exclusive fields.
JSON representation
{
  "callId": string,
  "signature": string,

  // type
  "functionResult": {
    object (FunctionResultDelta)
  },
  "codeExecutionResult": {
    object (CodeExecutionResultDelta)
  },
  "urlContextResult": {
    object (UrlContextResultDelta)
  },
  "googleSearchResult": {
    object (GoogleSearchResultDelta)
  },
  "fileSearchResult": {
    object (FileSearchResultDelta)
  },
  "googleMapsResult": {
    object (GoogleMapsResultDelta)
  }
  // Union type
}

FunctionResultDelta

Fields
name string
isError boolean
result object (Value)
JSON representation
{
  "name": string,
  "isError": boolean,
  "result": {
    object (Value)
  }
}

CodeExecutionResultDelta

Fields
result string
isError boolean
JSON representation
{
  "result": string,
  "isError": boolean
}

UrlContextResultDelta

Fields
result[] object (UrlContextResult)
isError boolean
JSON representation
{
  "result": [
    {
      object (UrlContextResult)
    }
  ],
  "isError": boolean
}

UrlContextResult

The result of the URL context.

Fields
url string

The URL that was fetched.

status enum (Status)

The status of the URL retrieval.

JSON representation
{
  "url": string,
  "status": enum (Status)
}

Status

The status of the URL retrieval.

Enums
STATUS_UNSPECIFIED Unspecified status. This value should not be used.
SUCCESS url retrieval is successful.
ERROR url retrieval is failed due to error.
PAYWALL url retrieval is failed because the content is behind paywall.
UNSAFE url retrieval is failed because the content is unsafe.

GoogleSearchResultDelta

Fields
result[] object (GoogleSearchResult)
isError boolean
JSON representation
{
  "result": [
    {
      object (GoogleSearchResult)
    }
  ],
  "isError": boolean
}

GoogleSearchResult

The result of the Google Search.

Fields
searchSuggestions string

Web content snippet that can be embedded in a web page or an app webview.

JSON representation
{
  "searchSuggestions": string
}

FileSearchResultDelta

Fields
result[] object (FileSearchResult)
JSON representation
{
  "result": [
    {
      object (FileSearchResult)
    }
  ]
}

FileSearchResult

This type has no fields.

The result of the File Search.

GoogleMapsResultDelta

Fields
result[] object (GoogleMapsResult)

The results of the Google Maps.

JSON representation
{
  "result": [
    {
      object (GoogleMapsResult)
    }
  ]
}

GoogleMapsResult

The result of the Google Maps.

Fields
places[] object (Places)

The places that were found.

widgetContextToken string

Resource name of the Google Maps widget context token.

JSON representation
{
  "places": [
    {
      object (Places)
    }
  ],
  "widgetContextToken": string
}

Places

Fields
placeId string

The id of the place, in places/{placeId} format.

name string

title of the place.

url string

URI reference of the place.

reviewSnippets[] object (ReviewSnippet)

Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.

JSON representation
{
  "placeId": string,
  "name": string,
  "url": string,
  "reviewSnippets": [
    {
      object (ReviewSnippet)
    }
  ]
}

TextAnnotationDelta

Fields
annotations[] object (Annotation)

Citation information for model-generated content.

JSON representation
{
  "annotations": [
    {
      object (Annotation)
    }
  ]
}

ErrorEvent

Fields
error object (Error)
JSON representation
{
  "error": {
    object (Error)
  }
}

StepStart

Fields
index integer
step object (Step)
JSON representation
{
  "index": integer,
  "step": {
    object (Step)
  }
}

StepDelta

Fields
index integer
delta object (StepDeltaData)
JSON representation
{
  "index": integer,
  "delta": {
    object (StepDeltaData)
  }
}

StepDeltaData

Fields
type Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
text object (TextDelta)
image object (ImageDelta)
audio object (AudioDelta)
document object (DocumentDelta)
video object (VideoDelta)
thoughtSummary object (ThoughtSummaryDelta)
thoughtSignature object (ThoughtSignatureDelta)
textAnnotationDelta object (TextAnnotationDelta)
argumentsDelta object (ArgumentsDelta)
serverToolCall object (ServerToolCallDelta)
serverToolResult object (ServerToolResultDelta)
functionResult object (FunctionResultDelta)
End of mutually exclusive fields.
JSON representation
{

  // type
  "text": {
    object (TextDelta)
  },
  "image": {
    object (ImageDelta)
  },
  "audio": {
    object (AudioDelta)
  },
  "document": {
    object (DocumentDelta)
  },
  "video": {
    object (VideoDelta)
  },
  "thoughtSummary": {
    object (ThoughtSummaryDelta)
  },
  "thoughtSignature": {
    object (ThoughtSignatureDelta)
  },
  "textAnnotationDelta": {
    object (TextAnnotationDelta)
  },
  "argumentsDelta": {
    object (ArgumentsDelta)
  },
  "serverToolCall": {
    object (ServerToolCallDelta)
  },
  "serverToolResult": {
    object (ServerToolResultDelta)
  },
  "functionResult": {
    object (FunctionResultDelta)
  }
  // Union type
}

ArgumentsDelta

Fields
arguments string
JSON representation
{
  "arguments": string
}

ServerToolCallDelta

Fields
signature string (bytes format)

A signature hash for backend validation.

A base64-encoded string.

type Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
codeExecutionCall object (CodeExecutionCallDelta)
urlContextCall object (UrlContextCallDelta)
googleSearchCall object (GoogleSearchCallDelta)
fileSearchCall object (FileSearchCallDelta)
googleMapsCall object (GoogleMapsCallDelta)
retrievalCall object (RetrievalCallDelta)
End of mutually exclusive fields.
JSON representation
{
  "signature": string,

  // type
  "codeExecutionCall": {
    object (CodeExecutionCallDelta)
  },
  "urlContextCall": {
    object (UrlContextCallDelta)
  },
  "googleSearchCall": {
    object (GoogleSearchCallDelta)
  },
  "fileSearchCall": {
    object (FileSearchCallDelta)
  },
  "googleMapsCall": {
    object (GoogleMapsCallDelta)
  },
  "retrievalCall": {
    object (RetrievalCallDelta)
  }
  // Union type
}

RetrievalCallDelta

Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Agent Platform Search, etc. RetrievalType decides which tool is used.

Fields
arguments object (RetrievalStepArguments)

Required. The arguments to pass to the Retrieval tool.

retrievalType enum (RetrievalType)

The type of retrieval tools.

JSON representation
{
  "arguments": {
    object (RetrievalStepArguments)
  },
  "retrievalType": enum (RetrievalType)
}

ServerToolResultDelta

Fields
signature string (bytes format)

A signature hash for backend validation.

A base64-encoded string.

type Union type
The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
codeExecutionResult object (CodeExecutionResultDelta)
urlContextResult object (UrlContextResultDelta)
googleSearchResult object (GoogleSearchResultDelta)
fileSearchResult object (FileSearchResultDelta)
googleMapsResult object (GoogleMapsResultDelta)
retrievalResult object (RetrievalResultDelta)
End of mutually exclusive fields.
JSON representation
{
  "signature": string,

  // type
  "codeExecutionResult": {
    object (CodeExecutionResultDelta)
  },
  "urlContextResult": {
    object (UrlContextResultDelta)
  },
  "googleSearchResult": {
    object (GoogleSearchResultDelta)
  },
  "fileSearchResult": {
    object (FileSearchResultDelta)
  },
  "googleMapsResult": {
    object (GoogleMapsResultDelta)
  },
  "retrievalResult": {
    object (RetrievalResultDelta)
  }
  // Union type
}

RetrievalResultDelta

Used by Vertex Retrieval tools such as Parallel AI, Exa AI, Agent Platform Search, etc. ToolResultDelta.type

Fields
isError boolean

Whether the retrieval resulted in an error.

JSON representation
{
  "isError": boolean
}

StepStop

Fields
index integer
usage object (Usage)

Cumulative model usage stats from the start of the session.

stepUsage object (Usage)

Model usage stats for this specific step.

JSON representation
{
  "index": integer,
  "usage": {
    object (Usage)
  },
  "stepUsage": {
    object (Usage)
  }
}