Gemini Agents API

Agents are systems that leverage Gemini models, a set of tools, and reasoning capabilities to perform complex, multi-step tasks and achieve specific goals. Unlike a single model call, an agent can plan, execute a series of actions, interact with external systems, and synthesize information to fulfill a user's request.

CreateAgent

post https://generativelanguage.googleapis.com/v1beta/agents

Creates a new Agent (Typed version for SDK).

Request body

The request body contains data with the following structure:

base_agent string  (optional)

The base agent to extend.

base_environment object  (optional)

The environment configuration for the agent.

Possible Types

Polymorphic discriminator: type

EnvironmentConfig

Configuration for a custom environment.

network EnvironmentNetworkEgressAllowlist or enum (string)  (optional)

Network configuration for the environment.

sources Source  (optional)

No description provided.

A source to be mounted into the environment.

Fields

content string  (optional)

The inline content if `type` is `INLINE`.

encoding string  (optional)

Optional encoding for inline content (e.g. `base64`).

source string  (optional)

The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.

target string  (optional)

Where the source should appear in the environment.

type enum (string)  (optional)

No description provided.

Possible values:

  • gcs
  • inline
  • repository
type object  (required)

No description provided.

Always set to "remote".

Option

This type has no specific fields.

description string  (optional)

Agent description for developers to quickly read and understand.

id string  (optional)

The unique identifier for the agent.

system_instruction string  (optional)

System instruction for the agent.

tools AgentTool  (optional)

The tools available to the agent.

A tool that the agent can use.

Possible Types

Polymorphic discriminator: type

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

Response

If successful, the response body contains data with the following structure:

base_agent string  (optional)

The base agent to extend.

base_environment object  (optional)

The environment configuration for the agent.

Possible Types

Polymorphic discriminator: type

EnvironmentConfig

Configuration for a custom environment.

network EnvironmentNetworkEgressAllowlist or enum (string)  (optional)

Network configuration for the environment.

sources Source  (optional)

No description provided.

A source to be mounted into the environment.

Fields

content string  (optional)

The inline content if `type` is `INLINE`.

encoding string  (optional)

Optional encoding for inline content (e.g. `base64`).

source string  (optional)

The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.

target string  (optional)

Where the source should appear in the environment.

type enum (string)  (optional)

No description provided.

Possible values:

  • gcs
  • inline
  • repository
type object  (required)

No description provided.

Always set to "remote".

Option

This type has no specific fields.

description string  (optional)

Agent description for developers to quickly read and understand.

id string  (optional)

The unique identifier for the agent.

system_instruction string  (optional)

System instruction for the agent.

tools AgentTool  (optional)

The tools available to the agent.

A tool that the agent can use.

Possible Types

Polymorphic discriminator: type

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

Create Agent

Example Response

{
  "id": "ag_abc123",
  "display_name": "My Research Agent",
  "system_instruction": "You are a helpful research assistant.",
  "tools": [
    {
      "type": "google_search"
    }
  ],
  "object": "agent",
  "created": "2025-11-26T12:25:15Z",
  "updated": "2025-11-26T12:25:15Z"
}

ListAgents

get https://generativelanguage.googleapis.com/v1beta/agents

Lists all Agents.

Path / Query Parameters

parent string  (optional)

No description provided.

pageSize integer  (optional)

No description provided.

pageToken string  (optional)

No description provided.

Response

If successful, the response body contains data with the following structure:

agents array (Agent)  (optional)

No description provided.

nextPageToken string  (optional)

No description provided.

List Agents

Example Response

{
  "object": "list",
  "data": [
    {
      "id": "ag_abc123",
      "display_name": "My Research Agent",
      "system_instruction": "You are a helpful research assistant.",
      "object": "agent",
      "created": "2025-11-26T12:25:15Z",
      "updated": "2025-11-26T12:25:15Z"
    }
  ]
}

GetAgent

get https://generativelanguage.googleapis.com/v1beta/agents/{id}

Gets a specific Agent.

Path / Query Parameters

id string  (required)

No description provided.

Response

If successful, the response body contains data with the following structure:

base_agent string  (optional)

The base agent to extend.

base_environment object  (optional)

The environment configuration for the agent.

Possible Types

Polymorphic discriminator: type

EnvironmentConfig

Configuration for a custom environment.

network EnvironmentNetworkEgressAllowlist or enum (string)  (optional)

Network configuration for the environment.

sources Source  (optional)

No description provided.

A source to be mounted into the environment.

Fields

content string  (optional)

The inline content if `type` is `INLINE`.

encoding string  (optional)

Optional encoding for inline content (e.g. `base64`).

source string  (optional)

The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.

target string  (optional)

Where the source should appear in the environment.

type enum (string)  (optional)

No description provided.

Possible values:

  • gcs
  • inline
  • repository
type object  (required)

No description provided.

Always set to "remote".

Option

This type has no specific fields.

description string  (optional)

Agent description for developers to quickly read and understand.

id string  (optional)

The unique identifier for the agent.

system_instruction string  (optional)

System instruction for the agent.

tools AgentTool  (optional)

The tools available to the agent.

A tool that the agent can use.

Possible Types

Polymorphic discriminator: type

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

Get Agent

Example Response

{
  "id": "ag_abc123",
  "display_name": "My Research Agent",
  "system_instruction": "You are a helpful research assistant.",
  "tools": [
    {
      "type": "google_search"
    }
  ],
  "object": "agent",
  "created": "2025-11-26T12:25:15Z",
  "updated": "2025-11-26T12:25:15Z"
}

DeleteAgent

delete https://generativelanguage.googleapis.com/v1beta/agents/{id}

Deletes an Agent.

Path / Query Parameters

id string  (required)

No description provided.

Response

If successful, the response is empty.

Delete Agent

Resources

Agent

An agent definition for the CreateAgent API. This message is the target for annotation-parser-based JSON parsing.

Fields

base_agent string  (optional)

The base agent to extend.

base_environment object  (optional)

The environment configuration for the agent.

Possible Types

Polymorphic discriminator: type

EnvironmentConfig

Configuration for a custom environment.

network EnvironmentNetworkEgressAllowlist or enum (string)  (optional)

Network configuration for the environment.

sources Source  (optional)

No description provided.

A source to be mounted into the environment.

Fields

content string  (optional)

The inline content if `type` is `INLINE`.

encoding string  (optional)

Optional encoding for inline content (e.g. `base64`).

source string  (optional)

The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.

target string  (optional)

Where the source should appear in the environment.

type enum (string)  (optional)

No description provided.

Possible values:

  • gcs
  • inline
  • repository
type object  (required)

No description provided.

Always set to "remote".

Option

This type has no specific fields.

description string  (optional)

Agent description for developers to quickly read and understand.

id string  (optional)

The unique identifier for the agent.

system_instruction string  (optional)

System instruction for the agent.

tools AgentTool  (optional)

The tools available to the agent.

A tool that the agent can use.

Possible Types

Polymorphic discriminator: type

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

Data Models

InteractionSseEvent

Possible Types

Polymorphic discriminator: event_type

InteractionCreatedEvent

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "interaction.created".

interaction Interaction  (required)

No description provided.

The Interaction resource.

Fields

model ModelOption  (optional)

The name of the `Model` used for generating the interaction.

Possible values:

  • gemini-2.5-computer-use-preview-10-2025

    An agentic capability model designed for direct interface interaction, allowing Gemini to perceive and navigate digital environments.

  • gemini-2.5-flash

    Our first hybrid reasoning model which supports a 1M token context window and has thinking budgets.

  • gemini-2.5-flash-image

    Our 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-lite

    Our smallest and most cost effective model, built for at scale usage.

  • gemini-2.5-flash-lite-preview-09-2025

    The 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-2025

    Our native audio models optimized for higher quality audio outputs with better pacing, voice naturalness, verbosity, and mood.

  • gemini-2.5-flash-preview-09-2025

    The 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-tts

    Our 2.5 Flash text-to-speech model optimized for powerful, low-latency controllable speech generation.

  • gemini-2.5-pro

    Our state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.

  • gemini-2.5-pro-preview-tts

    Our 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-preview

    Our most intelligent model built for speed, combining frontier intelligence with superior search and grounding.

  • gemini-3-pro-image-preview

    State-of-the-art image generation and editing model.

  • gemini-3-pro-preview

    Our most intelligent model with SOTA reasoning and multimodal understanding, and powerful agentic and vibe coding capabilities.

  • gemini-3.1-pro-preview

    Our latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.

  • gemini-3.1-flash-image-preview

    Pro-level visual intelligence with Flash-speed efficiency and reality-grounded generation capabilities.

  • gemini-3.1-flash-lite

    Our most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.

  • gemini-3.1-flash-lite-preview

    Our most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.

  • gemini-3.1-flash-tts-preview

    Gemini 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-preview

    Our low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.

  • lyria-3-pro-preview

    Our advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.

  • gemini-3.5-flash

    Our most intelligent model for sustained frontier performance in agentic and coding tasks.

The model that will complete your prompt.\n\nSee [models](https://ai.google.dev/gemini-api/docs/models) for additional details.

agent AgentOption  (optional)

The name of the `Agent` used for generating the interaction.

Possible values:

  • deep-research-pro-preview-12-2025

    Gemini Deep Research Agent

  • deep-research-preview-04-2026

    Gemini Deep Research Agent

  • deep-research-max-preview-04-2026

    Gemini Deep Research Max Agent

The agent to interact with.

created string  (optional)

Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).

environment EnvironmentConfig or string  (optional)

The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.

environment_id string  (optional)

Output only. The environment ID for the interaction. Only populated if environment config is set in the request.

id string  (optional)

Required. Output only. A unique identifier for the interaction completion.

input Content or array (Content) or array (Step) or string  (optional)

The input for the interaction.

previous_interaction_id string  (optional)

The ID of the previous interaction, if any.

response_format ResponseFormat or ResponseFormatList  (optional)

Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.

response_mime_type string  (optional)

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

role string  (optional)

Output only. The role of the interaction.

service_tier ServiceTier  (optional)

The service tier for the interaction.

Possible values:

  • flex
  • standard
  • priority

status enum (string)  (optional)

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.

A step in the interaction.

Possible Types

Polymorphic discriminator: type

UserInputStep

Input provided by the user.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "user_input".

ModelOutputStep

Output generated by the model.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "model_output".

ThoughtStep

A thought step.

signature string  (optional)

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.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

type object  (required)

No description provided.

Always set to "thought".

FunctionCallStep

A function tool call step.

arguments object  (required)

Required. The arguments to pass to the function.

id string  (required)

Required. A unique ID for this specific tool call.

name string  (required)

Required. The name of the tool to call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the code execution.

Fields

code string  (optional)

The code to be executed.

language enum (string)  (optional)

Programming language of the `code`.

Possible values:

  • python
id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the URL context.

Fields

urls array (string)  (optional)

The URLs to fetch.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_call".

GoogleSearchCallStep

Google Search call step.

arguments GoogleSearchCallStepArguments  (required)

Required. The arguments to pass to Google Search.

The arguments to pass to Google Search.

Fields

queries array (string)  (optional)

Web search queries for the following-up web search.

id string  (required)

Required. A unique ID for this specific tool call.

search_type enum (string)  (optional)

The type of search grounding enabled.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_call".

FileSearchCallStep

File Search call step.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the Google Maps tool.

Fields

queries array (string)  (optional)

The queries to be executed.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_call".

FunctionResultStep

Result of a function tool call.

call_id string  (required)

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

is_error boolean  (optional)

Whether the tool call resulted in an error.

name string  (optional)

The name of the tool that was called.

result array (FunctionResultSubcontent) or string  (required)

The result of the tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "function_result".

CodeExecutionResultStep

Code execution result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the code execution resulted in an error.

result string  (required)

Required. The output of the code execution.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "code_execution_result".

UrlContextResultStep

URL context result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the URL context resulted in an error.

result UrlContextResultItem  (required)

Required. The results of the URL context.

The result of the URL context.

Fields

status enum (string)  (optional)

The status of the URL retrieval.

Possible values:

  • success
  • error
  • paywall
  • unsafe
url string  (optional)

The URL that was fetched.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_result".

GoogleSearchResultStep

Google Search result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the Google Search resulted in an error.

result GoogleSearchResultItem  (required)

Required. The results of the Google Search.

The result of the Google Search.

Fields

search_suggestions string  (optional)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_result".

FileSearchResultStep

File Search result step.

call_id string  (required)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "file_search_result".

GoogleMapsResultStep

Google Maps result step.

call_id string  (required)

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

result GoogleMapsResultItem  (required)

No description provided.

The result of the Google Maps.

Fields

places GoogleMapsResultPlaces  (optional)

No description provided.

Fields

name string  (optional)

No description provided.

place_id string  (optional)

No description provided.

review_snippets ReviewSnippet  (optional)

No description provided.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

url string  (optional)

No description provided.

widget_context_token string  (optional)

No description provided.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_result".

system_instruction string  (optional)

System instruction for the interaction.

tools Tool  (optional)

A list of tool declarations the model may call during interaction.

A tool that can be used by the model.

Possible Types

Polymorphic discriminator: type

Function

A tool that can be used by the model.

description string  (optional)

A description of the function.

name string  (optional)

The name of the function.

parameters object  (optional)

The JSON Schema for the function's parameters.

type object  (required)

No description provided.

Always set to "function".

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

ComputerUse

A tool that can be used by the model to interact with the computer.

environment enum (string)  (optional)

The environment being operated.

Possible values:

  • browser
excluded_predefined_functions array (string)  (optional)

The list of predefined functions that are excluded from the model call.

type object  (required)

No description provided.

Always set to "computer_use".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

FileSearch

A tool that can be used by the model to search files.

file_search_store_names array (string)  (optional)

The file search store names to search.

metadata_filter string  (optional)

Metadata filter to apply to the semantic retrieval documents and chunks.

top_k integer  (optional)

The number of semantic retrieval chunks to retrieve.

type object  (required)

No description provided.

Always set to "file_search".

GoogleMaps

A tool that can be used by the model to call Google Maps.

enable_widget boolean  (optional)

Whether to return a widget context token in the tool call result of the response.

latitude number  (optional)

The latitude of the user's location.

longitude number  (optional)

The longitude of the user's location.

type object  (required)

No description provided.

Always set to "google_maps".

Retrieval

A tool that can be used by the model to retrieve files.

retrieval_types array (enum (string))  (optional)

The types of file retrieval to enable.

Possible values:

  • vertex_ai_search
type object  (required)

No description provided.

Always set to "retrieval".

vertex_ai_search_config VertexAISearchConfig  (optional)

Used to specify configuration for VertexAISearch.

Used to specify configuration for VertexAISearch.

Fields

datastores array (string)  (optional)

Optional. Used to specify Vertex AI Search datastores.

engine string  (optional)

Optional. Used to specify Vertex AI Search engine.

updated string  (optional)

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.

Statistics on the interaction request's token usage.

Fields

cached_tokens_by_modality ModalityTokens  (optional)

A breakdown of cached token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

grounding_tool_count GroundingToolCount  (optional)

Grounding tool count.

The number of grounding tool counts.

Fields

count integer  (optional)

The number of grounding tool counts.

type enum (string)  (optional)

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.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

output_tokens_by_modality ModalityTokens  (optional)

A breakdown of output token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

tool_use_tokens_by_modality ModalityTokens  (optional)

A breakdown of tool-use token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

total_cached_tokens integer  (optional)

Number of tokens in the cached part of the prompt (the cached content).

total_input_tokens integer  (optional)

Number of tokens in the prompt (context).

total_output_tokens integer  (optional)

Total number of tokens across all the generated responses.

total_thought_tokens integer  (optional)

Number of tokens of thoughts for thinking models.

total_tokens integer  (optional)

Total token count for the interaction request (prompt + responses + other internal tokens).

total_tool_use_tokens integer  (optional)

Number of tokens present in tool-use prompt(s).

webhook_config WebhookConfig  (optional)

Optional. Webhook configuration for receiving notifications when the interaction completes.

Message for configuring webhook events for a request.

Fields

uris array (string)  (optional)

Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.

user_metadata object  (optional)

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.

type object  (required)

No description provided.

Always set to "dynamic".

DeepResearchAgentConfig

Configuration for the Deep Research agent.

collaborative_planning boolean  (optional)

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

type object  (required)

No description provided.

Always set to "deep-research".

visualization enum (string)  (optional)

Whether to include visualizations in the response.

Possible values:

  • off
  • auto
InteractionCompletedEvent

event_id string  (optional)

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

event_type object  (required)

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.

The Interaction resource.

Fields

model ModelOption  (optional)

The name of the `Model` used for generating the interaction.

Possible values:

  • gemini-2.5-computer-use-preview-10-2025

    An agentic capability model designed for direct interface interaction, allowing Gemini to perceive and navigate digital environments.

  • gemini-2.5-flash

    Our first hybrid reasoning model which supports a 1M token context window and has thinking budgets.

  • gemini-2.5-flash-image

    Our 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-lite

    Our smallest and most cost effective model, built for at scale usage.

  • gemini-2.5-flash-lite-preview-09-2025

    The 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-2025

    Our native audio models optimized for higher quality audio outputs with better pacing, voice naturalness, verbosity, and mood.

  • gemini-2.5-flash-preview-09-2025

    The 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-tts

    Our 2.5 Flash text-to-speech model optimized for powerful, low-latency controllable speech generation.

  • gemini-2.5-pro

    Our state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.

  • gemini-2.5-pro-preview-tts

    Our 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-preview

    Our most intelligent model built for speed, combining frontier intelligence with superior search and grounding.

  • gemini-3-pro-image-preview

    State-of-the-art image generation and editing model.

  • gemini-3-pro-preview

    Our most intelligent model with SOTA reasoning and multimodal understanding, and powerful agentic and vibe coding capabilities.

  • gemini-3.1-pro-preview

    Our latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.

  • gemini-3.1-flash-image-preview

    Pro-level visual intelligence with Flash-speed efficiency and reality-grounded generation capabilities.

  • gemini-3.1-flash-lite

    Our most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.

  • gemini-3.1-flash-lite-preview

    Our most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.

  • gemini-3.1-flash-tts-preview

    Gemini 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-preview

    Our low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.

  • lyria-3-pro-preview

    Our advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.

  • gemini-3.5-flash

    Our most intelligent model for sustained frontier performance in agentic and coding tasks.

The model that will complete your prompt.\n\nSee [models](https://ai.google.dev/gemini-api/docs/models) for additional details.

agent AgentOption  (optional)

The name of the `Agent` used for generating the interaction.

Possible values:

  • deep-research-pro-preview-12-2025

    Gemini Deep Research Agent

  • deep-research-preview-04-2026

    Gemini Deep Research Agent

  • deep-research-max-preview-04-2026

    Gemini Deep Research Max Agent

The agent to interact with.

created string  (optional)

Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).

environment EnvironmentConfig or string  (optional)

The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.

environment_id string  (optional)

Output only. The environment ID for the interaction. Only populated if environment config is set in the request.

id string  (optional)

Required. Output only. A unique identifier for the interaction completion.

input Content or array (Content) or array (Step) or string  (optional)

The input for the interaction.

previous_interaction_id string  (optional)

The ID of the previous interaction, if any.

response_format ResponseFormat or ResponseFormatList  (optional)

Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.

response_mime_type string  (optional)

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

role string  (optional)

Output only. The role of the interaction.

service_tier ServiceTier  (optional)

The service tier for the interaction.

Possible values:

  • flex
  • standard
  • priority

status enum (string)  (optional)

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.

A step in the interaction.

Possible Types

Polymorphic discriminator: type

UserInputStep

Input provided by the user.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "user_input".

ModelOutputStep

Output generated by the model.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "model_output".

ThoughtStep

A thought step.

signature string  (optional)

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.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

type object  (required)

No description provided.

Always set to "thought".

FunctionCallStep

A function tool call step.

arguments object  (required)

Required. The arguments to pass to the function.

id string  (required)

Required. A unique ID for this specific tool call.

name string  (required)

Required. The name of the tool to call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the code execution.

Fields

code string  (optional)

The code to be executed.

language enum (string)  (optional)

Programming language of the `code`.

Possible values:

  • python
id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the URL context.

Fields

urls array (string)  (optional)

The URLs to fetch.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_call".

GoogleSearchCallStep

Google Search call step.

arguments GoogleSearchCallStepArguments  (required)

Required. The arguments to pass to Google Search.

The arguments to pass to Google Search.

Fields

queries array (string)  (optional)

Web search queries for the following-up web search.

id string  (required)

Required. A unique ID for this specific tool call.

search_type enum (string)  (optional)

The type of search grounding enabled.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_call".

FileSearchCallStep

File Search call step.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the Google Maps tool.

Fields

queries array (string)  (optional)

The queries to be executed.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_call".

FunctionResultStep

Result of a function tool call.

call_id string  (required)

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

is_error boolean  (optional)

Whether the tool call resulted in an error.

name string  (optional)

The name of the tool that was called.

result array (FunctionResultSubcontent) or string  (required)

The result of the tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "function_result".

CodeExecutionResultStep

Code execution result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the code execution resulted in an error.

result string  (required)

Required. The output of the code execution.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "code_execution_result".

UrlContextResultStep

URL context result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the URL context resulted in an error.

result UrlContextResultItem  (required)

Required. The results of the URL context.

The result of the URL context.

Fields

status enum (string)  (optional)

The status of the URL retrieval.

Possible values:

  • success
  • error
  • paywall
  • unsafe
url string  (optional)

The URL that was fetched.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_result".

GoogleSearchResultStep

Google Search result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the Google Search resulted in an error.

result GoogleSearchResultItem  (required)

Required. The results of the Google Search.

The result of the Google Search.

Fields

search_suggestions string  (optional)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_result".

FileSearchResultStep

File Search result step.

call_id string  (required)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "file_search_result".

GoogleMapsResultStep

Google Maps result step.

call_id string  (required)

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

result GoogleMapsResultItem  (required)

No description provided.

The result of the Google Maps.

Fields

places GoogleMapsResultPlaces  (optional)

No description provided.

Fields

name string  (optional)

No description provided.

place_id string  (optional)

No description provided.

review_snippets ReviewSnippet  (optional)

No description provided.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

url string  (optional)

No description provided.

widget_context_token string  (optional)

No description provided.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_result".

system_instruction string  (optional)

System instruction for the interaction.

tools Tool  (optional)

A list of tool declarations the model may call during interaction.

A tool that can be used by the model.

Possible Types

Polymorphic discriminator: type

Function

A tool that can be used by the model.

description string  (optional)

A description of the function.

name string  (optional)

The name of the function.

parameters object  (optional)

The JSON Schema for the function's parameters.

type object  (required)

No description provided.

Always set to "function".

CodeExecution

A tool that can be used by the model to execute code.

type object  (required)

No description provided.

Always set to "code_execution".

UrlContext

A tool that can be used by the model to fetch URL context.

type object  (required)

No description provided.

Always set to "url_context".

ComputerUse

A tool that can be used by the model to interact with the computer.

environment enum (string)  (optional)

The environment being operated.

Possible values:

  • browser
excluded_predefined_functions array (string)  (optional)

The list of predefined functions that are excluded from the model call.

type object  (required)

No description provided.

Always set to "computer_use".

GoogleSearch

A tool that can be used by the model to search Google.

search_types array (enum (string))  (optional)

The types of search grounding to enable.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
type object  (required)

No description provided.

Always set to "google_search".

FileSearch

A tool that can be used by the model to search files.

file_search_store_names array (string)  (optional)

The file search store names to search.

metadata_filter string  (optional)

Metadata filter to apply to the semantic retrieval documents and chunks.

top_k integer  (optional)

The number of semantic retrieval chunks to retrieve.

type object  (required)

No description provided.

Always set to "file_search".

GoogleMaps

A tool that can be used by the model to call Google Maps.

enable_widget boolean  (optional)

Whether to return a widget context token in the tool call result of the response.

latitude number  (optional)

The latitude of the user's location.

longitude number  (optional)

The longitude of the user's location.

type object  (required)

No description provided.

Always set to "google_maps".

Retrieval

A tool that can be used by the model to retrieve files.

retrieval_types array (enum (string))  (optional)

The types of file retrieval to enable.

Possible values:

  • vertex_ai_search
type object  (required)

No description provided.

Always set to "retrieval".

vertex_ai_search_config VertexAISearchConfig  (optional)

Used to specify configuration for VertexAISearch.

Used to specify configuration for VertexAISearch.

Fields

datastores array (string)  (optional)

Optional. Used to specify Vertex AI Search datastores.

engine string  (optional)

Optional. Used to specify Vertex AI Search engine.

updated string  (optional)

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.

Statistics on the interaction request's token usage.

Fields

cached_tokens_by_modality ModalityTokens  (optional)

A breakdown of cached token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

grounding_tool_count GroundingToolCount  (optional)

Grounding tool count.

The number of grounding tool counts.

Fields

count integer  (optional)

The number of grounding tool counts.

type enum (string)  (optional)

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.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

output_tokens_by_modality ModalityTokens  (optional)

A breakdown of output token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

tool_use_tokens_by_modality ModalityTokens  (optional)

A breakdown of tool-use token usage by modality.

The token count for a single response modality.

Fields

modality ResponseModality  (optional)

The modality associated with the token count.

Possible values:

  • text
  • image
  • audio
  • video
  • document

tokens integer  (optional)

Number of tokens for the modality.

total_cached_tokens integer  (optional)

Number of tokens in the cached part of the prompt (the cached content).

total_input_tokens integer  (optional)

Number of tokens in the prompt (context).

total_output_tokens integer  (optional)

Total number of tokens across all the generated responses.

total_thought_tokens integer  (optional)

Number of tokens of thoughts for thinking models.

total_tokens integer  (optional)

Total token count for the interaction request (prompt + responses + other internal tokens).

total_tool_use_tokens integer  (optional)

Number of tokens present in tool-use prompt(s).

webhook_config WebhookConfig  (optional)

Optional. Webhook configuration for receiving notifications when the interaction completes.

Message for configuring webhook events for a request.

Fields

uris array (string)  (optional)

Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.

user_metadata object  (optional)

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.

type object  (required)

No description provided.

Always set to "dynamic".

DeepResearchAgentConfig

Configuration for the Deep Research agent.

collaborative_planning boolean  (optional)

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

type object  (required)

No description provided.

Always set to "deep-research".

visualization enum (string)  (optional)

Whether to include visualizations in the response.

Possible values:

  • off
  • auto
InteractionStatusUpdate

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "interaction.status_update".

interaction_id string  (required)

No description provided.

status enum (string)  (required)

No description provided.

Possible values:

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
  • incomplete
  • budget_exceeded
ErrorEvent

error Error  (optional)

No description provided.

Error message from an interaction.

Fields

code string  (optional)

A URI that identifies the error type.

message string  (optional)

A human-readable error message.

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "error".

StepStart

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "step.start".

index integer  (required)

No description provided.

step Step  (required)

No description provided.

A step in the interaction.

Possible Types

Polymorphic discriminator: type

UserInputStep

Input provided by the user.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "user_input".

ModelOutputStep

Output generated by the model.

content Content  (optional)

No description provided.

The content of the response.

Possible Types

Polymorphic discriminator: type

TextContent

A text content block.

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

AudioContent

An audio content block.

channels integer  (optional)

The number of audio channels.

data string  (optional)

The audio content.

mime_type enum (string)  (optional)

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
sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

The URI of the audio.

DocumentContent

A document content block.

data string  (optional)

The document content.

mime_type enum (string)  (optional)

The mime type of the document.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

The URI of the document.

VideoContent

A video content block.

data string  (optional)

The video content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

The URI of the video.

type object  (required)

No description provided.

Always set to "model_output".

ThoughtStep

A thought step.

signature string  (optional)

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.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

type object  (required)

No description provided.

Always set to "thought".

FunctionCallStep

A function tool call step.

arguments object  (required)

Required. The arguments to pass to the function.

id string  (required)

Required. A unique ID for this specific tool call.

name string  (required)

Required. The name of the tool to call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the code execution.

Fields

code string  (optional)

The code to be executed.

language enum (string)  (optional)

Programming language of the `code`.

Possible values:

  • python
id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the URL context.

Fields

urls array (string)  (optional)

The URLs to fetch.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_call".

GoogleSearchCallStep

Google Search call step.

arguments GoogleSearchCallStepArguments  (required)

Required. The arguments to pass to Google Search.

The arguments to pass to Google Search.

Fields

queries array (string)  (optional)

Web search queries for the following-up web search.

id string  (required)

Required. A unique ID for this specific tool call.

search_type enum (string)  (optional)

The type of search grounding enabled.

Possible values:

  • web_search
  • image_search
  • enterprise_web_search
signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_call".

FileSearchCallStep

File Search call step.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

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.

The arguments to pass to the Google Maps tool.

Fields

queries array (string)  (optional)

The queries to be executed.

id string  (required)

Required. A unique ID for this specific tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_call".

FunctionResultStep

Result of a function tool call.

call_id string  (required)

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

is_error boolean  (optional)

Whether the tool call resulted in an error.

name string  (optional)

The name of the tool that was called.

result array (FunctionResultSubcontent) or string  (required)

The result of the tool call.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "function_result".

CodeExecutionResultStep

Code execution result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the code execution resulted in an error.

result string  (required)

Required. The output of the code execution.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "code_execution_result".

UrlContextResultStep

URL context result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the URL context resulted in an error.

result UrlContextResultItem  (required)

Required. The results of the URL context.

The result of the URL context.

Fields

status enum (string)  (optional)

The status of the URL retrieval.

Possible values:

  • success
  • error
  • paywall
  • unsafe
url string  (optional)

The URL that was fetched.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_result".

GoogleSearchResultStep

Google Search result step.

call_id string  (required)

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

is_error boolean  (optional)

Whether the Google Search resulted in an error.

result GoogleSearchResultItem  (required)

Required. The results of the Google Search.

The result of the Google Search.

Fields

search_suggestions string  (optional)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_result".

FileSearchResultStep

File Search result step.

call_id string  (required)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "file_search_result".

GoogleMapsResultStep

Google Maps result step.

call_id string  (required)

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

result GoogleMapsResultItem  (required)

No description provided.

The result of the Google Maps.

Fields

places GoogleMapsResultPlaces  (optional)

No description provided.

Fields

name string  (optional)

No description provided.

place_id string  (optional)

No description provided.

review_snippets ReviewSnippet  (optional)

No description provided.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

url string  (optional)

No description provided.

widget_context_token string  (optional)

No description provided.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_result".

StepDelta

delta StepDeltaData  (required)

No description provided.

Possible Types

Polymorphic discriminator: type

TextDelta

text string  (required)

No description provided.

type object  (required)

No description provided.

Always set to "text".

ImageDelta

data string  (optional)

No description provided.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

No description provided.

AudioDelta

channels integer  (optional)

The number of audio channels.

data string  (optional)

No description provided.

mime_type enum (string)  (optional)

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

Deprecated. Use sample_rate instead. The value is ignored.

sample_rate integer  (optional)

The sample rate of the audio.

type object  (required)

No description provided.

Always set to "audio".

uri string  (optional)

No description provided.

DocumentDelta

data string  (optional)

No description provided.

mime_type enum (string)  (optional)

No description provided.

Possible values:

  • application/pdf
type object  (required)

No description provided.

Always set to "document".

uri string  (optional)

No description provided.

VideoDelta

data string  (optional)

No description provided.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "video".

uri string  (optional)

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.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

text string  (required)

Required. The text content.

type object  (required)

No description provided.

Always set to "text".

ImageContent

An image content block.

data string  (optional)

The image content.

mime_type enum (string)  (optional)

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

type object  (required)

No description provided.

Always set to "image".

uri string  (optional)

The URI of the image.

type object  (required)

No description provided.

Always set to "thought_summary".

ThoughtSignatureDelta

signature string  (optional)

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

type object  (required)

No description provided.

Always set to "thought_signature".

TextAnnotationDelta

annotations Annotation  (optional)

Citation information for model-generated content.

Citation information for model-generated content.

Possible Types

Polymorphic discriminator: type

UrlCitation

A URL citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

title string  (optional)

The title of the URL.

type object  (required)

No description provided.

Always set to "url_citation".

url string  (optional)

The URL.

FileCitation

A file citation annotation.

custom_metadata object  (optional)

User provided metadata about the retrieved context.

document_uri string  (optional)

The URI of the file.

end_index integer  (optional)

End of the attributed segment, exclusive.

file_name string  (optional)

The name of the file.

media_id string  (optional)

Media ID in-case of image citations, if applicable.

page_number integer  (optional)

Page number of the cited document, if applicable.

source string  (optional)

Source attributed for a portion of the text.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "file_citation".

PlaceCitation

A place citation annotation.

end_index integer  (optional)

End of the attributed segment, exclusive.

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

start_index integer  (optional)

Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.

type object  (required)

No description provided.

Always set to "place_citation".

url string  (optional)

URI reference of the place.

type object  (required)

No description provided.

Always set to "text_annotation_delta".

ArgumentsDelta

arguments string  (optional)

No description provided.

type object  (required)

No description provided.

Always set to "arguments_delta".

CodeExecutionCallDelta

arguments CodeExecutionCallArguments  (required)

No description provided.

The arguments to pass to the code execution.

Fields

code string  (optional)

The code to be executed.

language enum (string)  (optional)

Programming language of the `code`.

Possible values:

  • python
signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "code_execution_call".

UrlContextCallDelta

arguments UrlContextCallArguments  (required)

No description provided.

The arguments to pass to the URL context.

Fields

urls array (string)  (optional)

The URLs to fetch.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_call".

GoogleSearchCallDelta

arguments GoogleSearchCallArguments  (required)

No description provided.

The arguments to pass to Google Search.

Fields

queries array (string)  (optional)

Web search queries for the following-up web search.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_call".

FileSearchCallDelta

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "file_search_call".

GoogleMapsCallDelta

arguments GoogleMapsCallArguments  (optional)

The arguments to pass to the Google Maps tool.

The arguments to pass to the Google Maps tool.

Fields

queries array (string)  (optional)

The queries to be executed.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_call".

CodeExecutionResultDelta

is_error boolean  (optional)

No description provided.

result string  (required)

No description provided.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "code_execution_result".

UrlContextResultDelta

is_error boolean  (optional)

No description provided.

result UrlContextResult  (required)

No description provided.

The result of the URL context.

Fields

status enum (string)  (optional)

The status of the URL retrieval.

Possible values:

  • success
  • error
  • paywall
  • unsafe
url string  (optional)

The URL that was fetched.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "url_context_result".

GoogleSearchResultDelta

is_error boolean  (optional)

No description provided.

result GoogleSearchResult  (required)

No description provided.

The result of the Google Search.

Fields

search_suggestions string  (optional)

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

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_search_result".

FileSearchResultDelta

result FileSearchResult  (required)

No description provided.

The result of the File Search.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "file_search_result".

GoogleMapsResultDelta

result GoogleMapsResult  (optional)

The results of the Google Maps.

The result of the Google Maps.

Fields

places Places  (optional)

The places that were found.

Fields

name string  (optional)

Title of the place.

place_id string  (optional)

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.

Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.

Fields

review_id string  (optional)

The ID of the review snippet.

title string  (optional)

Title of the review.

url string  (optional)

A link that corresponds to the user review on Google Maps.

url string  (optional)

URI reference of the place.

widget_context_token string  (optional)

Resource name of the Google Maps widget context token.

signature string  (optional)

A signature hash for backend validation.

type object  (required)

No description provided.

Always set to "google_maps_result".

FunctionResultDelta

call_id string  (required)

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

is_error boolean  (optional)

No description provided.

name string  (optional)

No description provided.

result array (FunctionResultSubcontent) or string  (required)

No description provided.

type object  (required)

No description provided.

Always set to "function_result".

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "step.delta".

index integer  (required)

No description provided.

StepStop

event_id string  (optional)

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

event_type object  (required)

No description provided.

Always set to "step.stop".

index integer  (required)

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
}