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:
interactionStartEvent
(deprecated)
object (InteractionStartEvent)

The interaction data, used for interaction.start events. Legacy event, used when steps are disabled.

interactionCompleteEvent
(deprecated)
object (InteractionCompleteEvent)

The interaction data, used for interaction.complete events. Legacy event, used when steps are disabled.

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
  "interactionStartEvent": {
    object (InteractionStartEvent)
  },
  "interactionCompleteEvent": {
    object (InteractionCompleteEvent)
  },
  "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
}

InteractionStartEvent

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

InteractionCompleteEvent

Fields
interaction object (Interaction)

Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.

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

InteractionCreatedSseEvent

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

InteractionCompletedSseEvent

Fields
interaction object (Interaction)

Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.

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

InteractionStatusUpdate

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

ContentStart

Fields
index integer
content object (Content)
JSON representation
{
  "index": integer,
  "content": {
    object (Content)
  }
}

ContentDelta

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

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)
rate
(deprecated)
integer

Deprecated. Use sampleRate instead. The value is ignored.

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),
  "rate": integer,
  "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)
mcpServerToolCall object (McpServerToolCallDelta)
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)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallDelta)
  },
  "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)
  }
}

UrlContextCallDelta

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

GoogleSearchCallDelta

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

McpServerToolCallDelta

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

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)
  }
}

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)
mcpServerToolResult object (McpServerToolResultDelta)
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)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultDelta)
  },
  "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
}

GoogleSearchResultDelta

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

McpServerToolResultDelta

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

FileSearchResultDelta

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

GoogleMapsResultDelta

Fields
result[] object (GoogleMapsResult)

The results of the Google Maps.

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

TextAnnotationDelta

Fields
annotations[] object (Annotation)

Citation information for model-generated content.

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

ContentStop

Fields
index integer
JSON representation
{
  "index": integer
}

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)
mcpServerToolCall object (McpServerToolCallDelta)
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)
  },
  "mcpServerToolCall": {
    object (McpServerToolCallDelta)
  },
  "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)
mcpServerToolResult object (McpServerToolResultDelta)
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)
  },
  "mcpServerToolResult": {
    object (McpServerToolResultDelta)
  },
  "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)
  }
}