Webhooks allow the Gemini API to push real-time notifications to your server when asynchronous or Long-Running Operations (LROs) complete. This replaces the need to poll the API for status updates, reducing latency and overhead.
CreateWebhook
Creates a new Webhook.
Request body
The request body contains data with the following structure:
Optional. The user-provided name of the webhook.
Required. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Required. The URI to which webhook events will be sent.
Response
If successful, the response body contains data with the following structure:
Output only. The timestamp when the webhook was created.
Output only. The ID of the webhook.
Optional. The user-provided name of the webhook.
Output only. The new signing secret for the webhook. Only populated on create.
signing_secrets SigningSecret (optional)
Output only. The signing secrets associated with this webhook.
Fields
Output only. The expiration date of the signing secret.
Output only. The truncated version of the signing secret.
Output only. The state of the webhook.
Possible values:
-
enabled -
disabled -
disabled_due_to_failed_deliveries
Required. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Output only. The timestamp when the webhook was last updated.
Required. The URI to which webhook events will be sent.
Example
Example Response
{ "create_time": "string", "id": "string", "name": "string", "new_signing_secret": "string", "signing_secrets": [ { "expire_time": "string", "truncated_secret": "string" } ], "state": "enabled", "subscribed_events": [ "string" ], "update_time": "string", "uri": "string" }
ListWebhooks
Lists all Webhooks.
Path / Query Parameters
Optional. The maximum number of webhooks to return. The service may return fewer than this value. If unspecified, at most 50 webhooks will be returned. The maximum value is 1000.
Optional. A page token, received from a previous `ListWebhooks` call. Provide this to retrieve the subsequent page.
Response
If successful, the response body contains data with the following structure:
A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
The webhooks.
Example
Example Response
{ "next_page_token": "string", "webhooks": [ { "create_time": "string", "id": "string", "name": "string", "new_signing_secret": "string", "signing_secrets": [ { "expire_time": "string", "truncated_secret": "string" } ], "state": "enabled", "subscribed_events": [ "string" ], "update_time": "string", "uri": "string" } ] }
GetWebhook
Gets a specific Webhook.
Path / Query Parameters
Required. The ID of the webhook to retrieve.
Response
If successful, the response body contains data with the following structure:
Output only. The timestamp when the webhook was created.
Output only. The ID of the webhook.
Optional. The user-provided name of the webhook.
Output only. The new signing secret for the webhook. Only populated on create.
signing_secrets SigningSecret (optional)
Output only. The signing secrets associated with this webhook.
Fields
Output only. The expiration date of the signing secret.
Output only. The truncated version of the signing secret.
Output only. The state of the webhook.
Possible values:
-
enabled -
disabled -
disabled_due_to_failed_deliveries
Required. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Output only. The timestamp when the webhook was last updated.
Required. The URI to which webhook events will be sent.
Example
Example Response
{ "create_time": "string", "id": "string", "name": "string", "new_signing_secret": "string", "signing_secrets": [ { "expire_time": "string", "truncated_secret": "string" } ], "state": "enabled", "subscribed_events": [ "string" ], "update_time": "string", "uri": "string" }
UpdateWebhook
Updates an existing Webhook.
Path / Query Parameters
Required. The ID of the webhook to update.
Optional. The list of fields to update.
Request body
The request body contains data with the following structure:
Optional. The user-provided name of the webhook.
Optional. The state of the webhook.
Possible values:
-
enabled -
disabled -
disabled_due_to_failed_deliveries
Optional. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Optional. The URI to which webhook events will be sent.
Response
If successful, the response body contains data with the following structure:
Output only. The timestamp when the webhook was created.
Output only. The ID of the webhook.
Optional. The user-provided name of the webhook.
Output only. The new signing secret for the webhook. Only populated on create.
signing_secrets SigningSecret (optional)
Output only. The signing secrets associated with this webhook.
Fields
Output only. The expiration date of the signing secret.
Output only. The truncated version of the signing secret.
Output only. The state of the webhook.
Possible values:
-
enabled -
disabled -
disabled_due_to_failed_deliveries
Required. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Output only. The timestamp when the webhook was last updated.
Required. The URI to which webhook events will be sent.
Example
Example Response
{ "create_time": "string", "id": "string", "name": "string", "new_signing_secret": "string", "signing_secrets": [ { "expire_time": "string", "truncated_secret": "string" } ], "state": "enabled", "subscribed_events": [ "string" ], "update_time": "string", "uri": "string" }
DeleteWebhook
Deletes a Webhook.
Path / Query Parameters
Required. The ID of the webhook to delete. Format: `{webhook_id}`
Response
If successful, the response is empty.
Example
RotateSigningSecret
Generates a new signing secret for a Webhook.
Path / Query Parameters
Required. The ID of the webhook for which to generate a signing secret. Format: `{webhook_id}`
Request body
The request body contains data with the following structure:
Optional. The revocation behavior for previous signing secrets.
Possible values:
-
revoke_previous_secrets_after_h24 -
revoke_previous_secrets_immediately
Response
If successful, the response body contains data with the following structure:
Output only. The newly generated signing secret.
Example
Example Response
{ "secret": "string" }
PingWebhook
Sends a ping event to a Webhook.
Path / Query Parameters
Required. The ID of the webhook to ping. Format: `{webhook_id}`
Request body
The request body contains data with the following structure:
Response
If successful, the response is empty.
Example
Resources
Webhook
A Webhook resource.
Fields
Output only. The timestamp when the webhook was created.
Output only. The ID of the webhook.
Optional. The user-provided name of the webhook.
Output only. The new signing secret for the webhook. Only populated on create.
signing_secrets SigningSecret (optional)
Output only. The signing secrets associated with this webhook.
Fields
Output only. The expiration date of the signing secret.
Output only. The truncated version of the signing secret.
Output only. The state of the webhook.
Possible values:
-
enabled -
disabled -
disabled_due_to_failed_deliveries
Required. The events that the webhook is subscribed to. Available events: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Output only. The timestamp when the webhook was last updated.
Required. The URI to which webhook events will be sent.
Data Models
InteractionSseEvent
Possible Types
Polymorphic discriminator: event_type
InteractionCreatedEvent
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "interaction.created".
interaction Interaction (required)
No description provided.
Fields
model ModelOption (optional)
The name of the `Model` used for generating the interaction.
Possible values:
-
gemini-2.5-computer-use-preview-10-2025An agentic capability model designed for direct interface interaction, allowing Gemini to perceive and navigate digital environments.
-
gemini-2.5-flashOur first hybrid reasoning model which supports a 1M token context window and has thinking budgets.
-
gemini-2.5-flash-imageOur native image generation model, optimized for speed, flexibility, and contextual understanding. Text input and output is priced the same as 2.5 Flash.
-
gemini-2.5-flash-liteOur smallest and most cost effective model, built for at scale usage.
-
gemini-2.5-flash-lite-preview-09-2025The latest model based on Gemini 2.5 Flash lite optimized for cost-efficiency, high throughput and high quality.
-
gemini-2.5-flash-native-audio-preview-12-2025Our native audio models optimized for higher quality audio outputs with better pacing, voice naturalness, verbosity, and mood.
-
gemini-2.5-flash-preview-09-2025The latest model based on the 2.5 Flash model. 2.5 Flash Preview is best for large scale processing, low-latency, high volume tasks that require thinking, and agentic use cases.
-
gemini-2.5-flash-preview-ttsOur 2.5 Flash text-to-speech model optimized for powerful, low-latency controllable speech generation.
-
gemini-2.5-proOur state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.
-
gemini-2.5-pro-preview-ttsOur 2.5 Pro text-to-speech audio model optimized for powerful, low-latency speech generation for more natural outputs and easier to steer prompts.
-
gemini-3-flash-previewOur most intelligent model built for speed, combining frontier intelligence with superior search and grounding.
-
gemini-3-pro-image-previewState-of-the-art image generation and editing model.
-
gemini-3-pro-previewOur most intelligent model with SOTA reasoning and multimodal understanding, and powerful agentic and vibe coding capabilities.
-
gemini-3.1-pro-previewOur latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.
-
gemini-3.1-flash-image-previewPro-level visual intelligence with Flash-speed efficiency and reality-grounded generation capabilities.
-
gemini-3.1-flash-liteOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-lite-previewOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-tts-previewGemini 3.1 Flash TTS: Powerful, low-latency speech generation. Enjoy natural outputs, steerable prompts, and new expressive audio tags for precise narration control.
-
lyria-3-clip-previewOur low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.
-
lyria-3-pro-previewOur advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.
-
gemini-3.5-flashOur most intelligent model for sustained frontier performance in agentic and coding tasks.
agent AgentOption (optional)
The name of the `Agent` used for generating the interaction.
Possible values:
-
deep-research-pro-preview-12-2025Gemini Deep Research Agent
-
deep-research-preview-04-2026Gemini Deep Research Agent
-
deep-research-max-preview-04-2026Gemini Deep Research Max Agent
Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.
Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
Required. Output only. A unique identifier for the interaction completion.
The input for the interaction.
The ID of the previous interaction, if any.
Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
The mime type of the response. This is required if response_format is set.
response_modalities ResponseModality (optional)
The requested modalities of the response (TEXT, IMAGE, AUDIO).
Possible values:
-
text -
image -
audio -
video -
document
Output only. The role of the interaction.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values:
-
flex -
standard -
priority
Required. Output only. The status of the interaction.
Possible values:
-
in_progress -
requires_action -
completed -
failed -
cancelled -
incomplete -
budget_exceeded
steps Step (optional)
Required. Output only. The steps that make up the interaction.
Possible Types
Polymorphic discriminator: type
UserInputStep
Input provided by the user.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "user_input".
ModelOutputStep
Output generated by the model.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "model_output".
ThoughtStep
A thought step.
A signature hash for backend validation.
summary ThoughtSummaryContent (optional)
A summary of the thought.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
No description provided.
Always set to "thought".
FunctionCallStep
A function tool call step.
Required. The arguments to pass to the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool to call.
A signature hash for backend validation.
No description provided.
Always set to "function_call".
CodeExecutionCallStep
Code execution call step.
arguments CodeExecutionCallStepArguments (required)
Required. The arguments to pass to the code execution.
Fields
The code to be executed.
Programming language of the `code`.
Possible values:
-
python
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_call".
UrlContextCallStep
URL context call step.
arguments UrlContextCallStepArguments (required)
Required. The arguments to pass to the URL context.
Fields
The URLs to fetch.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "url_context_call".
McpServerToolCallStep
MCPServer tool call step.
Required. The JSON object of arguments for the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool which was called.
Required. The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_call".
GoogleSearchCallStep
Google Search call step.
arguments GoogleSearchCallStepArguments (required)
Required. The arguments to pass to Google Search.
Fields
Web search queries for the following-up web search.
Required. A unique ID for this specific tool call.
The type of search grounding enabled.
Possible values:
-
web_search -
image_search -
enterprise_web_search
A signature hash for backend validation.
No description provided.
Always set to "google_search_call".
FileSearchCallStep
File Search call step.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "file_search_call".
GoogleMapsCallStep
Google Maps call step.
arguments GoogleMapsCallStepArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_call".
FunctionResultStep
Result of a function tool call.
Required. ID to match the ID from the function call block.
Whether the tool call resulted in an error.
The name of the tool that was called.
The result of the tool call.
A signature hash for backend validation.
No description provided.
Always set to "function_result".
CodeExecutionResultStep
Code execution result step.
Required. ID to match the ID from the function call block.
Whether the code execution resulted in an error.
Required. The output of the code execution.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_result".
UrlContextResultStep
URL context result step.
Required. ID to match the ID from the function call block.
Whether the URL context resulted in an error.
result UrlContextResultItem (required)
Required. The results of the URL context.
Fields
The status of the URL retrieval.
Possible values:
-
success -
error -
paywall -
unsafe
The URL that was fetched.
A signature hash for backend validation.
No description provided.
Always set to "url_context_result".
GoogleSearchResultStep
Google Search result step.
Required. ID to match the ID from the function call block.
Whether the Google Search resulted in an error.
result GoogleSearchResultItem (required)
Required. The results of the Google Search.
Fields
Web content snippet that can be embedded in a web page or an app webview.
A signature hash for backend validation.
No description provided.
Always set to "google_search_result".
McpServerToolResultStep
MCPServer tool result step.
Required. ID to match the ID from the function call block.
Name of the tool which is called for this specific tool call.
The output from the MCP server call. Can be simple text or rich content.
The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_result".
FileSearchResultStep
File Search result step.
Required. ID to match the ID from the function call block.
A signature hash for backend validation.
No description provided.
Always set to "file_search_result".
GoogleMapsResultStep
Google Maps result step.
Required. ID to match the ID from the function call block.
result GoogleMapsResultItem (required)
No description provided.
Fields
places GoogleMapsResultPlaces (optional)
No description provided.
Fields
No description provided.
No description provided.
review_snippets ReviewSnippet (optional)
No description provided.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_result".
System instruction for the interaction.
tools Tool (optional)
A list of tool declarations the model may call during interaction.
Possible Types
Polymorphic discriminator: type
Function
A tool that can be used by the model.
A description of the function.
The name of the function.
The JSON Schema for the function's parameters.
No description provided.
Always set to "function".
CodeExecution
A tool that can be used by the model to execute code.
No description provided.
Always set to "code_execution".
UrlContext
A tool that can be used by the model to fetch URL context.
No description provided.
Always set to "url_context".
ComputerUse
A tool that can be used by the model to interact with the computer.
The environment being operated.
Possible values:
-
browser
The list of predefined functions that are excluded from the model call.
No description provided.
Always set to "computer_use".
McpServer
A MCPServer is a server that can be called by the model to perform actions.
allowed_tools AllowedTools (optional)
The allowed tools.
Fields
mode ToolChoiceType (optional)
The mode of the tool choice.
Possible values:
-
auto -
any -
none -
validated
The names of the allowed tools.
Optional: Fields for authentication headers, timeouts, etc., if needed.
The name of the MCPServer.
No description provided.
Always set to "mcp_server".
The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
GoogleSearch
A tool that can be used by the model to search Google.
The types of search grounding to enable.
Possible values:
-
web_search -
image_search -
enterprise_web_search
No description provided.
Always set to "google_search".
FileSearch
A tool that can be used by the model to search files.
The file search store names to search.
Metadata filter to apply to the semantic retrieval documents and chunks.
The number of semantic retrieval chunks to retrieve.
No description provided.
Always set to "file_search".
GoogleMaps
A tool that can be used by the model to call Google Maps.
Whether to return a widget context token in the tool call result of the response.
The latitude of the user's location.
The longitude of the user's location.
No description provided.
Always set to "google_maps".
Retrieval
A tool that can be used by the model to retrieve files.
The types of file retrieval to enable.
Possible values:
-
vertex_ai_search
No description provided.
Always set to "retrieval".
vertex_ai_search_config VertexAISearchConfig (optional)
Used to specify configuration for VertexAISearch.
Fields
Optional. Used to specify Vertex AI Search datastores.
Optional. Used to specify Vertex AI Search engine.
Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
usage Usage (optional)
Output only. Statistics on the interaction request's token usage.
Fields
cached_tokens_by_modality ModalityTokens (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
grounding_tool_count GroundingToolCount (optional)
Grounding tool count.
Fields
The number of grounding tool counts.
The grounding tool type associated with the count.
Possible values:
-
google_search -
google_maps -
retrieval
input_tokens_by_modality ModalityTokens (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
output_tokens_by_modality ModalityTokens (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
tool_use_tokens_by_modality ModalityTokens (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
Number of tokens in the prompt (context).
Total number of tokens across all the generated responses.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
Number of tokens present in tool-use prompt(s).
webhook_config WebhookConfig (optional)
Optional. Webhook configuration for receiving notifications when the interaction completes.
Fields
Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.
Optional. The user metadata that will be returned on each event emission to the webhooks.
agent_config object (optional)
Configuration parameters for the agent interaction.
Possible Types
Polymorphic discriminator: type
DynamicAgentConfig
Configuration for dynamic agents.
No description provided.
Always set to "dynamic".
DeepResearchAgentConfig
Configuration for the Deep Research agent.
Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
thinking_summaries ThinkingSummaries (optional)
Whether to include thought summaries in the response.
Possible values:
-
auto -
none
No description provided.
Always set to "deep-research".
Whether to include visualizations in the response.
Possible values:
-
off -
auto
InteractionCompletedEvent
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "interaction.completed".
interaction Interaction (required)
Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
Fields
model ModelOption (optional)
The name of the `Model` used for generating the interaction.
Possible values:
-
gemini-2.5-computer-use-preview-10-2025An agentic capability model designed for direct interface interaction, allowing Gemini to perceive and navigate digital environments.
-
gemini-2.5-flashOur first hybrid reasoning model which supports a 1M token context window and has thinking budgets.
-
gemini-2.5-flash-imageOur native image generation model, optimized for speed, flexibility, and contextual understanding. Text input and output is priced the same as 2.5 Flash.
-
gemini-2.5-flash-liteOur smallest and most cost effective model, built for at scale usage.
-
gemini-2.5-flash-lite-preview-09-2025The latest model based on Gemini 2.5 Flash lite optimized for cost-efficiency, high throughput and high quality.
-
gemini-2.5-flash-native-audio-preview-12-2025Our native audio models optimized for higher quality audio outputs with better pacing, voice naturalness, verbosity, and mood.
-
gemini-2.5-flash-preview-09-2025The latest model based on the 2.5 Flash model. 2.5 Flash Preview is best for large scale processing, low-latency, high volume tasks that require thinking, and agentic use cases.
-
gemini-2.5-flash-preview-ttsOur 2.5 Flash text-to-speech model optimized for powerful, low-latency controllable speech generation.
-
gemini-2.5-proOur state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.
-
gemini-2.5-pro-preview-ttsOur 2.5 Pro text-to-speech audio model optimized for powerful, low-latency speech generation for more natural outputs and easier to steer prompts.
-
gemini-3-flash-previewOur most intelligent model built for speed, combining frontier intelligence with superior search and grounding.
-
gemini-3-pro-image-previewState-of-the-art image generation and editing model.
-
gemini-3-pro-previewOur most intelligent model with SOTA reasoning and multimodal understanding, and powerful agentic and vibe coding capabilities.
-
gemini-3.1-pro-previewOur latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.
-
gemini-3.1-flash-image-previewPro-level visual intelligence with Flash-speed efficiency and reality-grounded generation capabilities.
-
gemini-3.1-flash-liteOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-lite-previewOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-tts-previewGemini 3.1 Flash TTS: Powerful, low-latency speech generation. Enjoy natural outputs, steerable prompts, and new expressive audio tags for precise narration control.
-
lyria-3-clip-previewOur low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.
-
lyria-3-pro-previewOur advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.
-
gemini-3.5-flashOur most intelligent model for sustained frontier performance in agentic and coding tasks.
agent AgentOption (optional)
The name of the `Agent` used for generating the interaction.
Possible values:
-
deep-research-pro-preview-12-2025Gemini Deep Research Agent
-
deep-research-preview-04-2026Gemini Deep Research Agent
-
deep-research-max-preview-04-2026Gemini Deep Research Max Agent
Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.
Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
Required. Output only. A unique identifier for the interaction completion.
The input for the interaction.
The ID of the previous interaction, if any.
Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
The mime type of the response. This is required if response_format is set.
response_modalities ResponseModality (optional)
The requested modalities of the response (TEXT, IMAGE, AUDIO).
Possible values:
-
text -
image -
audio -
video -
document
Output only. The role of the interaction.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values:
-
flex -
standard -
priority
Required. Output only. The status of the interaction.
Possible values:
-
in_progress -
requires_action -
completed -
failed -
cancelled -
incomplete -
budget_exceeded
steps Step (optional)
Required. Output only. The steps that make up the interaction.
Possible Types
Polymorphic discriminator: type
UserInputStep
Input provided by the user.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "user_input".
ModelOutputStep
Output generated by the model.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "model_output".
ThoughtStep
A thought step.
A signature hash for backend validation.
summary ThoughtSummaryContent (optional)
A summary of the thought.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
No description provided.
Always set to "thought".
FunctionCallStep
A function tool call step.
Required. The arguments to pass to the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool to call.
A signature hash for backend validation.
No description provided.
Always set to "function_call".
CodeExecutionCallStep
Code execution call step.
arguments CodeExecutionCallStepArguments (required)
Required. The arguments to pass to the code execution.
Fields
The code to be executed.
Programming language of the `code`.
Possible values:
-
python
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_call".
UrlContextCallStep
URL context call step.
arguments UrlContextCallStepArguments (required)
Required. The arguments to pass to the URL context.
Fields
The URLs to fetch.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "url_context_call".
McpServerToolCallStep
MCPServer tool call step.
Required. The JSON object of arguments for the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool which was called.
Required. The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_call".
GoogleSearchCallStep
Google Search call step.
arguments GoogleSearchCallStepArguments (required)
Required. The arguments to pass to Google Search.
Fields
Web search queries for the following-up web search.
Required. A unique ID for this specific tool call.
The type of search grounding enabled.
Possible values:
-
web_search -
image_search -
enterprise_web_search
A signature hash for backend validation.
No description provided.
Always set to "google_search_call".
FileSearchCallStep
File Search call step.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "file_search_call".
GoogleMapsCallStep
Google Maps call step.
arguments GoogleMapsCallStepArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_call".
FunctionResultStep
Result of a function tool call.
Required. ID to match the ID from the function call block.
Whether the tool call resulted in an error.
The name of the tool that was called.
The result of the tool call.
A signature hash for backend validation.
No description provided.
Always set to "function_result".
CodeExecutionResultStep
Code execution result step.
Required. ID to match the ID from the function call block.
Whether the code execution resulted in an error.
Required. The output of the code execution.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_result".
UrlContextResultStep
URL context result step.
Required. ID to match the ID from the function call block.
Whether the URL context resulted in an error.
result UrlContextResultItem (required)
Required. The results of the URL context.
Fields
The status of the URL retrieval.
Possible values:
-
success -
error -
paywall -
unsafe
The URL that was fetched.
A signature hash for backend validation.
No description provided.
Always set to "url_context_result".
GoogleSearchResultStep
Google Search result step.
Required. ID to match the ID from the function call block.
Whether the Google Search resulted in an error.
result GoogleSearchResultItem (required)
Required. The results of the Google Search.
Fields
Web content snippet that can be embedded in a web page or an app webview.
A signature hash for backend validation.
No description provided.
Always set to "google_search_result".
McpServerToolResultStep
MCPServer tool result step.
Required. ID to match the ID from the function call block.
Name of the tool which is called for this specific tool call.
The output from the MCP server call. Can be simple text or rich content.
The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_result".
FileSearchResultStep
File Search result step.
Required. ID to match the ID from the function call block.
A signature hash for backend validation.
No description provided.
Always set to "file_search_result".
GoogleMapsResultStep
Google Maps result step.
Required. ID to match the ID from the function call block.
result GoogleMapsResultItem (required)
No description provided.
Fields
places GoogleMapsResultPlaces (optional)
No description provided.
Fields
No description provided.
No description provided.
review_snippets ReviewSnippet (optional)
No description provided.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_result".
System instruction for the interaction.
tools Tool (optional)
A list of tool declarations the model may call during interaction.
Possible Types
Polymorphic discriminator: type
Function
A tool that can be used by the model.
A description of the function.
The name of the function.
The JSON Schema for the function's parameters.
No description provided.
Always set to "function".
CodeExecution
A tool that can be used by the model to execute code.
No description provided.
Always set to "code_execution".
UrlContext
A tool that can be used by the model to fetch URL context.
No description provided.
Always set to "url_context".
ComputerUse
A tool that can be used by the model to interact with the computer.
The environment being operated.
Possible values:
-
browser
The list of predefined functions that are excluded from the model call.
No description provided.
Always set to "computer_use".
McpServer
A MCPServer is a server that can be called by the model to perform actions.
allowed_tools AllowedTools (optional)
The allowed tools.
Fields
mode ToolChoiceType (optional)
The mode of the tool choice.
Possible values:
-
auto -
any -
none -
validated
The names of the allowed tools.
Optional: Fields for authentication headers, timeouts, etc., if needed.
The name of the MCPServer.
No description provided.
Always set to "mcp_server".
The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
GoogleSearch
A tool that can be used by the model to search Google.
The types of search grounding to enable.
Possible values:
-
web_search -
image_search -
enterprise_web_search
No description provided.
Always set to "google_search".
FileSearch
A tool that can be used by the model to search files.
The file search store names to search.
Metadata filter to apply to the semantic retrieval documents and chunks.
The number of semantic retrieval chunks to retrieve.
No description provided.
Always set to "file_search".
GoogleMaps
A tool that can be used by the model to call Google Maps.
Whether to return a widget context token in the tool call result of the response.
The latitude of the user's location.
The longitude of the user's location.
No description provided.
Always set to "google_maps".
Retrieval
A tool that can be used by the model to retrieve files.
The types of file retrieval to enable.
Possible values:
-
vertex_ai_search
No description provided.
Always set to "retrieval".
vertex_ai_search_config VertexAISearchConfig (optional)
Used to specify configuration for VertexAISearch.
Fields
Optional. Used to specify Vertex AI Search datastores.
Optional. Used to specify Vertex AI Search engine.
Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
usage Usage (optional)
Output only. Statistics on the interaction request's token usage.
Fields
cached_tokens_by_modality ModalityTokens (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
grounding_tool_count GroundingToolCount (optional)
Grounding tool count.
Fields
The number of grounding tool counts.
The grounding tool type associated with the count.
Possible values:
-
google_search -
google_maps -
retrieval
input_tokens_by_modality ModalityTokens (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
output_tokens_by_modality ModalityTokens (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
tool_use_tokens_by_modality ModalityTokens (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values:
-
text -
image -
audio -
video -
document
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
Number of tokens in the prompt (context).
Total number of tokens across all the generated responses.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
Number of tokens present in tool-use prompt(s).
webhook_config WebhookConfig (optional)
Optional. Webhook configuration for receiving notifications when the interaction completes.
Fields
Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.
Optional. The user metadata that will be returned on each event emission to the webhooks.
agent_config object (optional)
Configuration parameters for the agent interaction.
Possible Types
Polymorphic discriminator: type
DynamicAgentConfig
Configuration for dynamic agents.
No description provided.
Always set to "dynamic".
DeepResearchAgentConfig
Configuration for the Deep Research agent.
Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
thinking_summaries ThinkingSummaries (optional)
Whether to include thought summaries in the response.
Possible values:
-
auto -
none
No description provided.
Always set to "deep-research".
Whether to include visualizations in the response.
Possible values:
-
off -
auto
InteractionStatusUpdate
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "interaction.status_update".
No description provided.
No description provided.
Possible values:
-
in_progress -
requires_action -
completed -
failed -
cancelled -
incomplete -
budget_exceeded
ErrorEvent
error Error (optional)
No description provided.
Fields
A URI that identifies the error type.
A human-readable error message.
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "error".
StepStart
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "step.start".
No description provided.
step Step (required)
No description provided.
Possible Types
Polymorphic discriminator: type
UserInputStep
Input provided by the user.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "user_input".
ModelOutputStep
Output generated by the model.
content Content (optional)
No description provided.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
AudioContent
An audio content block.
The number of audio channels.
The audio content.
The mime type of the audio.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
The sample rate of the audio.
No description provided.
Always set to "audio".
The URI of the audio.
DocumentContent
A document content block.
The document content.
The mime type of the document.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
The URI of the document.
VideoContent
A video content block.
The video content.
The mime type of the video.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
The URI of the video.
No description provided.
Always set to "model_output".
ThoughtStep
A thought step.
A signature hash for backend validation.
summary ThoughtSummaryContent (optional)
A summary of the thought.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
No description provided.
Always set to "thought".
FunctionCallStep
A function tool call step.
Required. The arguments to pass to the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool to call.
A signature hash for backend validation.
No description provided.
Always set to "function_call".
CodeExecutionCallStep
Code execution call step.
arguments CodeExecutionCallStepArguments (required)
Required. The arguments to pass to the code execution.
Fields
The code to be executed.
Programming language of the `code`.
Possible values:
-
python
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_call".
UrlContextCallStep
URL context call step.
arguments UrlContextCallStepArguments (required)
Required. The arguments to pass to the URL context.
Fields
The URLs to fetch.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "url_context_call".
McpServerToolCallStep
MCPServer tool call step.
Required. The JSON object of arguments for the function.
Required. A unique ID for this specific tool call.
Required. The name of the tool which was called.
Required. The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_call".
GoogleSearchCallStep
Google Search call step.
arguments GoogleSearchCallStepArguments (required)
Required. The arguments to pass to Google Search.
Fields
Web search queries for the following-up web search.
Required. A unique ID for this specific tool call.
The type of search grounding enabled.
Possible values:
-
web_search -
image_search -
enterprise_web_search
A signature hash for backend validation.
No description provided.
Always set to "google_search_call".
FileSearchCallStep
File Search call step.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "file_search_call".
GoogleMapsCallStep
Google Maps call step.
arguments GoogleMapsCallStepArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
Required. A unique ID for this specific tool call.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_call".
FunctionResultStep
Result of a function tool call.
Required. ID to match the ID from the function call block.
Whether the tool call resulted in an error.
The name of the tool that was called.
The result of the tool call.
A signature hash for backend validation.
No description provided.
Always set to "function_result".
CodeExecutionResultStep
Code execution result step.
Required. ID to match the ID from the function call block.
Whether the code execution resulted in an error.
Required. The output of the code execution.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_result".
UrlContextResultStep
URL context result step.
Required. ID to match the ID from the function call block.
Whether the URL context resulted in an error.
result UrlContextResultItem (required)
Required. The results of the URL context.
Fields
The status of the URL retrieval.
Possible values:
-
success -
error -
paywall -
unsafe
The URL that was fetched.
A signature hash for backend validation.
No description provided.
Always set to "url_context_result".
GoogleSearchResultStep
Google Search result step.
Required. ID to match the ID from the function call block.
Whether the Google Search resulted in an error.
result GoogleSearchResultItem (required)
Required. The results of the Google Search.
Fields
Web content snippet that can be embedded in a web page or an app webview.
A signature hash for backend validation.
No description provided.
Always set to "google_search_result".
McpServerToolResultStep
MCPServer tool result step.
Required. ID to match the ID from the function call block.
Name of the tool which is called for this specific tool call.
The output from the MCP server call. Can be simple text or rich content.
The name of the used MCP server.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_result".
FileSearchResultStep
File Search result step.
Required. ID to match the ID from the function call block.
A signature hash for backend validation.
No description provided.
Always set to "file_search_result".
GoogleMapsResultStep
Google Maps result step.
Required. ID to match the ID from the function call block.
result GoogleMapsResultItem (required)
No description provided.
Fields
places GoogleMapsResultPlaces (optional)
No description provided.
Fields
No description provided.
No description provided.
review_snippets ReviewSnippet (optional)
No description provided.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_result".
StepDelta
delta StepDeltaData (required)
No description provided.
Possible Types
Polymorphic discriminator: type
TextDelta
No description provided.
No description provided.
Always set to "text".
ImageDelta
No description provided.
No description provided.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
No description provided.
AudioDelta
The number of audio channels.
No description provided.
No description provided.
Possible values:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac -
audio/mpeg -
audio/m4a -
audio/l16 -
audio/opus -
audio/alaw -
audio/mulaw
Deprecated. Use sample_rate instead. The value is ignored.
The sample rate of the audio.
No description provided.
Always set to "audio".
No description provided.
DocumentDelta
No description provided.
No description provided.
Possible values:
-
application/pdf
No description provided.
Always set to "document".
No description provided.
VideoDelta
No description provided.
No description provided.
Possible values:
-
video/mp4 -
video/mpeg -
video/mpg -
video/mov -
video/avi -
video/x-flv -
video/webm -
video/wmv -
video/3gpp
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "video".
No description provided.
ThoughtSummaryDelta
content ThoughtSummaryContent (optional)
A new summary item to be added to the thought.
Possible Types
Polymorphic discriminator: type
TextContent
A text content block.
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
Required. The text content.
No description provided.
Always set to "text".
ImageContent
An image content block.
The image content.
The mime type of the image.
Possible values:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif -
image/gif -
image/bmp -
image/tiff
resolution MediaResolution (optional)
The resolution of the media.
Possible values:
-
low -
medium -
high -
ultra_high
No description provided.
Always set to "image".
The URI of the image.
No description provided.
Always set to "thought_summary".
ThoughtSignatureDelta
Signature to match the backend source to be part of the generation.
No description provided.
Always set to "thought_signature".
TextAnnotationDelta
annotations Annotation (optional)
Citation information for model-generated content.
Possible Types
Polymorphic discriminator: type
UrlCitation
A URL citation annotation.
End of the attributed segment, exclusive.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
The title of the URL.
No description provided.
Always set to "url_citation".
The URL.
FileCitation
A file citation annotation.
User provided metadata about the retrieved context.
The URI of the file.
End of the attributed segment, exclusive.
The name of the file.
Media ID in-case of image citations, if applicable.
Page number of the cited document, if applicable.
Source attributed for a portion of the text.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "file_citation".
PlaceCitation
A place citation annotation.
End of the attributed segment, exclusive.
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
No description provided.
Always set to "place_citation".
URI reference of the place.
No description provided.
Always set to "text_annotation_delta".
ArgumentsDelta
No description provided.
No description provided.
Always set to "arguments_delta".
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (required)
No description provided.
Fields
The code to be executed.
Programming language of the `code`.
Possible values:
-
python
A signature hash for backend validation.
No description provided.
Always set to "code_execution_call".
UrlContextCallDelta
arguments UrlContextCallArguments (required)
No description provided.
Fields
The URLs to fetch.
A signature hash for backend validation.
No description provided.
Always set to "url_context_call".
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (required)
No description provided.
Fields
Web search queries for the following-up web search.
A signature hash for backend validation.
No description provided.
Always set to "google_search_call".
McpServerToolCallDelta
No description provided.
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_call".
FileSearchCallDelta
A signature hash for backend validation.
No description provided.
Always set to "file_search_call".
GoogleMapsCallDelta
arguments GoogleMapsCallArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_call".
CodeExecutionResultDelta
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "code_execution_result".
UrlContextResultDelta
No description provided.
result UrlContextResult (required)
No description provided.
Fields
The status of the URL retrieval.
Possible values:
-
success -
error -
paywall -
unsafe
The URL that was fetched.
A signature hash for backend validation.
No description provided.
Always set to "url_context_result".
GoogleSearchResultDelta
No description provided.
result GoogleSearchResult (required)
No description provided.
Fields
Web content snippet that can be embedded in a web page or an app webview.
A signature hash for backend validation.
No description provided.
Always set to "google_search_result".
McpServerToolResultDelta
No description provided.
No description provided.
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "mcp_server_tool_result".
FileSearchResultDelta
result FileSearchResult (required)
No description provided.
A signature hash for backend validation.
No description provided.
Always set to "file_search_result".
GoogleMapsResultDelta
result GoogleMapsResult (optional)
The results of the Google Maps.
Fields
places Places (optional)
The places that were found.
Fields
Title of the place.
The ID of the place, in `places/{place_id}` format.
review_snippets ReviewSnippet (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
The ID of the review snippet.
Title of the review.
A link that corresponds to the user review on Google Maps.
URI reference of the place.
Resource name of the Google Maps widget context token.
A signature hash for backend validation.
No description provided.
Always set to "google_maps_result".
FunctionResultDelta
Required. ID to match the ID from the function call block.
No description provided.
No description provided.
No description provided.
No description provided.
Always set to "function_result".
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "step.delta".
No description provided.
StepStop
The event_id token to be used to resume the interaction stream, from this event.
No description provided.
Always set to "step.stop".
No description provided.
Examples
Interaction Created
{ "event_type": "interaction.created", "interaction": { "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3-flash-preview", "status": "in_progress", "created": "2025-12-04T15:01:45Z", "updated": "2025-12-04T15:01:45Z" }, "event_id": "evt_123" }
Interaction Completed
{ "event_type": "interaction.completed", "interaction": { "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3-flash-preview", "status": "completed", "created": "2025-12-04T15:01:45Z", "updated": "2025-12-04T15:01:45Z" }, "event_id": "evt_123" }
Interaction Status Update
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Error Event
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }
Step Start
{ "event_type": "step.start", "index": 0, "step": { "type": "model_output" } }
Step Delta
{ "event_type": "step.delta", "index": 0, "delta": { "type": "text", "text": "Hello" } }
Step Stop
{ "event_type": "step.stop", "index": 0 }