> [!NOTE]
> **Beta** : This API is in Beta. Endpoints are under `/v1beta/`.

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.
[View as markdown](https://ai.google.dev/static/api/agents.md.txt) [View the OpenAPI Spec](https://ai.google.dev/static/api/interactions.openapi.json)

## CreateAgent

post https://generativelanguage.googleapis.com/v1beta/agents Creates a new Agent (Typed version for SDK).
- [Request body](https://ai.google.dev/api/agents#CreateAgent.request_body)
- [Response](https://ai.google.dev/api/agents#CreateAgent.response)

### Request body

The request body contains data with the following structure:
id string (optional) The unique identifier for the agent.
base_agent string (optional) The base agent to extend.
system_instruction string (optional) System instruction for the agent.
description string (optional) Agent description for developers to quickly read and understand.
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.
type object (required) No description provided.

Always set to `"google_search"`.
search_types array (enum (string)) (optional) The types of search grounding to enable.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web 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"`.
McpServer A MCPServer is a server that can be called by the model to perform actions.
type object (required) No description provided.

Always set to `"mcp_server"`.
name string (optional) The name of the MCPServer.
url string (optional) The full URL for the MCPServer endpoint.
Example: "https://api.example.com/mcp"
headers object (optional) Optional: Fields for authentication headers, timeouts, etc., if needed.
allowed_tools AllowedTools (optional) The allowed tools.
The configuration for allowed tools.

#### Fields

mode enum (string) (optional) The mode of the tool choice.

Possible
values:

- `auto`

  Auto tool choice.
- `any`

  Any tool choice.
- `none`

  No tool choice.
- `validated`

  Validated tool choice.
tools array (string) (optional) The names of the allowed tools.
base_environment EnvironmentConfig (optional) The environment configuration for the agent.
Configuration for a custom environment.

#### Fields

type object (optional) No description provided.

Always set to `"remote"`.
sources Source (optional) No description provided.
A source to be mounted into the environment.

#### Fields

type enum (string) (optional) No description provided.

Possible
values:

- `gcs`

  A GCS bucket.
- `inline`

  Inline content.
- `repository`

  A generic repository. The protocol prefix in the source URL
  identifies the provider (e.g., github://, gcs://).
- `skill_registry`

  A skill resource from the Skill Registry Service.
  Skill: projects/{project}/locations/{location}/skills/{skill}
  SkillRevision:
  projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}
  Support mounting all skills under a project:
  projects/{project}/locations/{location}/skills.
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.
content string (optional) The inline content if \`type\` is \`INLINE\`.
encoding string (optional) Optional encoding for inline content (e.g. \`base64\`).
network EnvironmentNetworkEgressAllowlist (optional) Network configuration for the environment.
Outbound networking configuration for the sandbox. Accepts an object with an 'allowlist' array to restrict traffic, or the string 'disabled' to turn off all network access. Omit entirely to allow all outbound traffic with no header injection.

#### Possible Types

object Outbound networking configuration for the sandbox. When specified, restricts which external domains the sandbox can reach. Omit entirely to allow all outbound traffic with no header injection.
allowlist AllowlistEntry (optional) List of allowed outbound domains. Only requests to listed domains are permitted. Use \[{'domain': '\*'}\] to allow all domains while still injecting headers on specific ones.
A single domain allowlist rule with optional header injection.

#### Fields

domain string (optional) Domain to allow outbound requests to. Supports wildcards (e.g. '\*.googleapis.com'). Use '\*' to allow all domains.
transform array (object) (optional) Headers to inject on all outbound requests matching this domain. Each entry is a flat {header_name: header_value} object. The egress proxy injects these automatically.
string Turns all network off.

#### Possible values

- `disabled`

  Turns all network off.

### Response

If successful, the response body contains data with the following structure:
id string (optional) The unique identifier for the agent.
base_agent string (optional) The base agent to extend.
system_instruction string (optional) System instruction for the agent.
description string (optional) Agent description for developers to quickly read and understand.
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.
type object (required) No description provided.

Always set to `"google_search"`.
search_types array (enum (string)) (optional) The types of search grounding to enable.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web 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"`.
McpServer A MCPServer is a server that can be called by the model to perform actions.
type object (required) No description provided.

Always set to `"mcp_server"`.
name string (optional) The name of the MCPServer.
url string (optional) The full URL for the MCPServer endpoint.
Example: "https://api.example.com/mcp"
headers object (optional) Optional: Fields for authentication headers, timeouts, etc., if needed.
allowed_tools AllowedTools (optional) The allowed tools.
The configuration for allowed tools.

#### Fields

mode enum (string) (optional) The mode of the tool choice.

Possible
values:

- `auto`

  Auto tool choice.
- `any`

  Any tool choice.
- `none`

  No tool choice.
- `validated`

  Validated tool choice.
tools array (string) (optional) The names of the allowed tools.
base_environment EnvironmentConfig (optional) The environment configuration for the agent.
Configuration for a custom environment.

#### Fields

type object (optional) No description provided.

Always set to `"remote"`.
sources Source (optional) No description provided.
A source to be mounted into the environment.

#### Fields

type enum (string) (optional) No description provided.

Possible
values:

- `gcs`

  A GCS bucket.
- `inline`

  Inline content.
- `repository`

  A generic repository. The protocol prefix in the source URL
  identifies the provider (e.g., github://, gcs://).
- `skill_registry`

  A skill resource from the Skill Registry Service.
  Skill: projects/{project}/locations/{location}/skills/{skill}
  SkillRevision:
  projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}
  Support mounting all skills under a project:
  projects/{project}/locations/{location}/skills.
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.
content string (optional) The inline content if \`type\` is \`INLINE\`.
encoding string (optional) Optional encoding for inline content (e.g. \`base64\`).
network EnvironmentNetworkEgressAllowlist (optional) Network configuration for the environment.
Outbound networking configuration for the sandbox. Accepts an object with an 'allowlist' array to restrict traffic, or the string 'disabled' to turn off all network access. Omit entirely to allow all outbound traffic with no header injection.

#### Possible Types

object Outbound networking configuration for the sandbox. When specified, restricts which external domains the sandbox can reach. Omit entirely to allow all outbound traffic with no header injection.
allowlist AllowlistEntry (optional) List of allowed outbound domains. Only requests to listed domains are permitted. Use \[{'domain': '\*'}\] to allow all domains while still injecting headers on specific ones.
A single domain allowlist rule with optional header injection.

#### Fields

domain string (optional) Domain to allow outbound requests to. Supports wildcards (e.g. '\*.googleapis.com'). Use '\*' to allow all domains.
transform array (object) (optional) Headers to inject on all outbound requests matching this domain. Each entry is a flat {header_name: header_value} object. The egress proxy injects these automatically.
string Turns all network off.

#### Possible values

- `disabled`

  Turns all network off.

### Create Agent

<iframe src="https:///frame/api/agents_825b37fc29eb995ca5aee846861a4c7ec57ea91192d15de6628697094128a63b.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

#### Example Response

```json
{
  "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"
}
```

### Agent with Sources

<iframe src="https:///frame/api/agents_c9e96cdeee28c772839c7b676a6de745862ed824e43e7a1a589f371607fceb29.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

#### Example Response

```json
{
  "id": "data-analyst-abc123",
  "system_instruction": "You are a data analyst. Always include visualizations and export results as PDF.",
  "object": "agent",
  "created": "2025-11-26T12:25:15Z",
  "updated": "2025-11-26T12:25:15Z"
}
```

### Agent Forked from Environment

<iframe src="https:///frame/api/agents_27d7144e3967ab518d58444088eacf35bdef8ea02be26c569f0ce33f29913774.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

#### Example Response

```json
{
  "id": "my-data-analyst",
  "system_instruction": "You are a data analyst. Use the template at /workspace/template.py for all reports.",
  "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](https://ai.google.dev/api/agents#ListAgents.PATH_PARAMETERS)
- [Response](https://ai.google.dev/api/agents#ListAgents.response)

### Path / Query Parameters

page_size integer (optional) No description provided.
page_token string (optional) No description provided.
parent string (optional) No description provided.

### Response

If successful, the response body contains data with the following structure:
agents array ([Agent](https://ai.google.dev/api/agents#Resource:Agent)) (optional) No description provided.
next_page_token string (optional) No description provided.

### List Agents

<iframe src="https:///frame/api/agents_8797fc43611f8855b4ddc560003a6fc5505b011fe6143f4f87d414a0c463bfb0.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

#### Example Response

```json
{
  "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](https://ai.google.dev/api/agents#GetAgent.PATH_PARAMETERS)
- [Response](https://ai.google.dev/api/agents#GetAgent.response)

### Path / Query Parameters

id string (required) No description provided.

### Response

If successful, the response body contains data with the following structure:
id string (optional) The unique identifier for the agent.
base_agent string (optional) The base agent to extend.
system_instruction string (optional) System instruction for the agent.
description string (optional) Agent description for developers to quickly read and understand.
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.
type object (required) No description provided.

Always set to `"google_search"`.
search_types array (enum (string)) (optional) The types of search grounding to enable.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web 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"`.
McpServer A MCPServer is a server that can be called by the model to perform actions.
type object (required) No description provided.

Always set to `"mcp_server"`.
name string (optional) The name of the MCPServer.
url string (optional) The full URL for the MCPServer endpoint.
Example: "https://api.example.com/mcp"
headers object (optional) Optional: Fields for authentication headers, timeouts, etc., if needed.
allowed_tools AllowedTools (optional) The allowed tools.
The configuration for allowed tools.

#### Fields

mode enum (string) (optional) The mode of the tool choice.

Possible
values:

- `auto`

  Auto tool choice.
- `any`

  Any tool choice.
- `none`

  No tool choice.
- `validated`

  Validated tool choice.
tools array (string) (optional) The names of the allowed tools.
base_environment EnvironmentConfig (optional) The environment configuration for the agent.
Configuration for a custom environment.

#### Fields

type object (optional) No description provided.

Always set to `"remote"`.
sources Source (optional) No description provided.
A source to be mounted into the environment.

#### Fields

type enum (string) (optional) No description provided.

Possible
values:

- `gcs`

  A GCS bucket.
- `inline`

  Inline content.
- `repository`

  A generic repository. The protocol prefix in the source URL
  identifies the provider (e.g., github://, gcs://).
- `skill_registry`

  A skill resource from the Skill Registry Service.
  Skill: projects/{project}/locations/{location}/skills/{skill}
  SkillRevision:
  projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}
  Support mounting all skills under a project:
  projects/{project}/locations/{location}/skills.
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.
content string (optional) The inline content if \`type\` is \`INLINE\`.
encoding string (optional) Optional encoding for inline content (e.g. \`base64\`).
network EnvironmentNetworkEgressAllowlist (optional) Network configuration for the environment.
Outbound networking configuration for the sandbox. Accepts an object with an 'allowlist' array to restrict traffic, or the string 'disabled' to turn off all network access. Omit entirely to allow all outbound traffic with no header injection.

#### Possible Types

object Outbound networking configuration for the sandbox. When specified, restricts which external domains the sandbox can reach. Omit entirely to allow all outbound traffic with no header injection.
allowlist AllowlistEntry (optional) List of allowed outbound domains. Only requests to listed domains are permitted. Use \[{'domain': '\*'}\] to allow all domains while still injecting headers on specific ones.
A single domain allowlist rule with optional header injection.

#### Fields

domain string (optional) Domain to allow outbound requests to. Supports wildcards (e.g. '\*.googleapis.com'). Use '\*' to allow all domains.
transform array (object) (optional) Headers to inject on all outbound requests matching this domain. Each entry is a flat {header_name: header_value} object. The egress proxy injects these automatically.
string Turns all network off.

#### Possible values

- `disabled`

  Turns all network off.

### Get Agent

<iframe src="https:///frame/api/agents_34654bfec0129aa87376d258140d6966a8533c3cb033c509263e4339a8cb3618.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

#### Example Response

```json
{
  "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](https://ai.google.dev/api/agents#DeleteAgent.PATH_PARAMETERS)
- [Response](https://ai.google.dev/api/agents#DeleteAgent.response)

### Path / Query Parameters

id string (required) No description provided.

### Response

If successful, the response is empty.

### Delete Agent

<iframe src="https:///frame/api/agents_82ae55adf5836aa85174181c27c6b18e987d9e6ea4b96e5c73e35c4d35f05fae.frame" class="framebox inherit-locale " allow="clipboard-write https://" allowfullscreen is-upgraded></iframe>

## Resources

### Agent

An agent definition for the CreateAgent API.
This message is the target for annotation-parser-based JSON parsing.
New format:
{
"id": "customer-sentinel",
"base_agent": "",
"system_instruction": "...",
"base_environment": { "type": "remote", "sources": \[...\] },
"tools": \[ {"type": "code_execution"} \]
}

#### Fields

id string (optional) The unique identifier for the agent.
base_agent string (optional) The base agent to extend.
system_instruction string (optional) System instruction for the agent.
description string (optional) Agent description for developers to quickly read and understand.
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.
type object (required) No description provided.

Always set to `"google_search"`.
search_types array (enum (string)) (optional) The types of search grounding to enable.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web 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"`.
McpServer A MCPServer is a server that can be called by the model to perform actions.
type object (required) No description provided.

Always set to `"mcp_server"`.
name string (optional) The name of the MCPServer.
url string (optional) The full URL for the MCPServer endpoint.
Example: "https://api.example.com/mcp"
headers object (optional) Optional: Fields for authentication headers, timeouts, etc., if needed.
allowed_tools AllowedTools (optional) The allowed tools.
The configuration for allowed tools.

#### Fields

mode enum (string) (optional) The mode of the tool choice.

Possible
values:

- `auto`

  Auto tool choice.
- `any`

  Any tool choice.
- `none`

  No tool choice.
- `validated`

  Validated tool choice.
tools array (string) (optional) The names of the allowed tools.
base_environment EnvironmentConfig (optional) The environment configuration for the agent.
Configuration for a custom environment.

#### Fields

type object (optional) No description provided.

Always set to `"remote"`.
sources Source (optional) No description provided.
A source to be mounted into the environment.

#### Fields

type enum (string) (optional) No description provided.

Possible
values:

- `gcs`

  A GCS bucket.
- `inline`

  Inline content.
- `repository`

  A generic repository. The protocol prefix in the source URL
  identifies the provider (e.g., github://, gcs://).
- `skill_registry`

  A skill resource from the Skill Registry Service.
  Skill: projects/{project}/locations/{location}/skills/{skill}
  SkillRevision:
  projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}
  Support mounting all skills under a project:
  projects/{project}/locations/{location}/skills.
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.
content string (optional) The inline content if \`type\` is \`INLINE\`.
encoding string (optional) Optional encoding for inline content (e.g. \`base64\`).
network EnvironmentNetworkEgressAllowlist (optional) Network configuration for the environment.
Outbound networking configuration for the sandbox. Accepts an object with an 'allowlist' array to restrict traffic, or the string 'disabled' to turn off all network access. Omit entirely to allow all outbound traffic with no header injection.

#### Possible Types

object Outbound networking configuration for the sandbox. When specified, restricts which external domains the sandbox can reach. Omit entirely to allow all outbound traffic with no header injection.
allowlist AllowlistEntry (optional) List of allowed outbound domains. Only requests to listed domains are permitted. Use \[{'domain': '\*'}\] to allow all domains while still injecting headers on specific ones.
A single domain allowlist rule with optional header injection.

#### Fields

domain string (optional) Domain to allow outbound requests to. Supports wildcards (e.g. '\*.googleapis.com'). Use '\*' to allow all domains.
transform array (object) (optional) Headers to inject on all outbound requests matching this domain. Each entry is a flat {header_name: header_value} object. The egress proxy injects these automatically.
string Turns all network off.

#### Possible values

- `disabled`

  Turns all network off.

## Data Models

### InteractionSseEvent

<br />

### Possible Types

Polymorphic discriminator: `event_type`
InteractionCreatedEvent <br />

event_type object (required) No description provided.

Always set to `"interaction.created"`.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
interaction InteractionSseEventInteraction (required) Partial interaction resource emitted when the stream is created.
Partial interaction resource emitted by interaction lifecycle SSE events.
Streaming lifecycle payloads may omit fields that are only available on
full non-streaming Interaction responses.

#### Fields

id string (optional) Required. Output only. A unique identifier for the interaction completion.
object string (optional) Output only. The resource type.
model string (optional) The model that will complete your prompt.
agent string (optional) The agent to interact with.
status enum (string) (optional) Required. Output only. The status of the interaction.

Possible
values:

- `in_progress`

  The interaction is in progress.
- `requires_action`

  The interaction requires action/input from the user.
- `completed`

  The interaction is completed.
- `failed`

  The interaction failed.
- `cancelled`

  The interaction was cancelled.
- `incomplete`

  The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
created string (optional) Output only. The time at which the response was created in ISO 8601 format.
updated string (optional) Output only. The time at which the response was last updated in ISO 8601 format.
service_tier ServiceTier (optional) The service tier for the interaction.
<br />

#### Possible values

- `flex`

  Flex service tier.
- `standard`

  Standard service tier.
- `priority`

  Priority service tier.
usage Usage (optional) Output only. Statistics on the interaction request's token usage.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
steps Step (optional) Output only. The steps that make up the interaction, if included in this event.
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.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
type object (required) No description provided.

Always set to `"user_input"`.
ModelOutputStep Output generated by the model.
type object (required) No description provided.

Always set to `"model_output"`.
content Content (optional) No description provided.
The content of the response.

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
ThoughtStep A thought step.
type object (required) No description provided.

Always set to `"thought"`.
signature string (optional) A signature hash for backend validation.
summary ThoughtSummaryContent (optional) A summary of the thought.
<br />

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
FunctionCallStep A function tool call step.
type object (required) No description provided.

Always set to `"function_call"`.
name string (required) Required. The name of the tool to call.
arguments object (required) Required. The arguments to pass to the function.
id string (required) Required. A unique ID for this specific tool call.
CodeExecutionCallStep Code execution call step.
type object (required) No description provided.

Always set to `"code_execution_call"`.
arguments CodeExecutionCallStepArguments (required) Required. The arguments to pass to the code execution.
The arguments to pass to the code execution.

#### Fields

language enum (string) (optional) Programming language of the \`code\`.

Possible
values:

- `python`

  Python \>= 3.10, with numpy and simpy available.
code string (optional) The code to be executed.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
UrlContextCallStep URL context call step.
type object (required) No description provided.

Always set to `"url_context_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
arguments UrlContextCallArguments (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.
McpServerToolCallStep MCPServer tool call step.
type object (required) No description provided.

Always set to `"mcp_server_tool_call"`.
name string (required) Required. The name of the tool which was called.
server_name string (required) Required. The name of the used MCP server.
arguments object (required) Required. The JSON object of arguments for the function.
id string (required) Required. A unique ID for this specific tool call.
GoogleSearchCallStep Google Search call step.
type object (required) No description provided.

Always set to `"google_search_call"`.
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.
search_type enum (string) (optional) The type of search grounding enabled.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web search.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
FileSearchCallStep File Search call step.
type object (required) No description provided.

Always set to `"file_search_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
GoogleMapsCallStep Google Maps call step.
type object (required) No description provided.

Always set to `"google_maps_call"`.
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.
FunctionResultStep Result of a function tool call.
type object (required) No description provided.

Always set to `"function_result"`.
name string (optional) The name of the tool that was called.
is_error boolean (optional) Whether the tool call resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The result of the tool call.
CodeExecutionResultStep Code execution result step.
type object (required) No description provided.

Always set to `"code_execution_result"`.
result string (required) Required. The output of the code execution.
is_error boolean (optional) Whether the code execution resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
UrlContextResultStep URL context result step.
type object (required) No description provided.

Always set to `"url_context_result"`.
result UrlContextResult (required) Required. The results of the URL context.
The result of the URL context.

#### Fields

url string (optional) The URL that was fetched.
status enum (string) (optional) The status of the URL retrieval.

Possible
values:

- `success`

  Url retrieval is successful.
- `error`

  Url retrieval is failed due to error.
- `paywall`

  Url retrieval is failed because the content is behind paywall.
- `unsafe`

  Url retrieval is failed because the content is unsafe.
is_error boolean (optional) Whether the URL context resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleSearchResultStep Google Search result step.
type object (required) No description provided.

Always set to `"google_search_result"`.
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.
is_error boolean (optional) Whether the Google Search resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
McpServerToolResultStep MCPServer tool result step.
type object (required) No description provided.

Always set to `"mcp_server_tool_result"`.
name string (optional) Name of the tool which is called for this specific tool call.
server_name string (optional) The name of the used MCP server.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The output from the MCP server call. Can be simple text or rich content.
FileSearchResultStep File Search result step.
type object (required) No description provided.

Always set to `"file_search_result"`.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleMapsResultStep Google Maps result step.
type object (required) No description provided.

Always set to `"google_maps_result"`.
result GoogleMapsResultItem (required) No description provided.
The result of the Google Maps.

#### Fields

places GoogleMapsResultPlaces (optional) No description provided.
<br />

#### Fields

place_id string (optional) No description provided.
name string (optional) No description provided.
url 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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
widget_context_token string (optional) No description provided.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
InteractionCompletedEvent <br />

event_type object (required) No description provided.

Always set to `"interaction.completed"`.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
interaction InteractionSseEventInteraction (required) Partial completed interaction resource emitted at the end of the stream.
Partial interaction resource emitted by interaction lifecycle SSE events.
Streaming lifecycle payloads may omit fields that are only available on
full non-streaming Interaction responses.

#### Fields

id string (optional) Required. Output only. A unique identifier for the interaction completion.
object string (optional) Output only. The resource type.
model string (optional) The model that will complete your prompt.
agent string (optional) The agent to interact with.
status enum (string) (optional) Required. Output only. The status of the interaction.

Possible
values:

- `in_progress`

  The interaction is in progress.
- `requires_action`

  The interaction requires action/input from the user.
- `completed`

  The interaction is completed.
- `failed`

  The interaction failed.
- `cancelled`

  The interaction was cancelled.
- `incomplete`

  The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
created string (optional) Output only. The time at which the response was created in ISO 8601 format.
updated string (optional) Output only. The time at which the response was last updated in ISO 8601 format.
service_tier ServiceTier (optional) The service tier for the interaction.
<br />

#### Possible values

- `flex`

  Flex service tier.
- `standard`

  Standard service tier.
- `priority`

  Priority service tier.
usage Usage (optional) Output only. Statistics on the interaction request's token usage.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
steps Step (optional) Output only. The steps that make up the interaction, if included in this event.
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.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
type object (required) No description provided.

Always set to `"user_input"`.
ModelOutputStep Output generated by the model.
type object (required) No description provided.

Always set to `"model_output"`.
content Content (optional) No description provided.
The content of the response.

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
ThoughtStep A thought step.
type object (required) No description provided.

Always set to `"thought"`.
signature string (optional) A signature hash for backend validation.
summary ThoughtSummaryContent (optional) A summary of the thought.
<br />

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
FunctionCallStep A function tool call step.
type object (required) No description provided.

Always set to `"function_call"`.
name string (required) Required. The name of the tool to call.
arguments object (required) Required. The arguments to pass to the function.
id string (required) Required. A unique ID for this specific tool call.
CodeExecutionCallStep Code execution call step.
type object (required) No description provided.

Always set to `"code_execution_call"`.
arguments CodeExecutionCallStepArguments (required) Required. The arguments to pass to the code execution.
The arguments to pass to the code execution.

#### Fields

language enum (string) (optional) Programming language of the \`code\`.

Possible
values:

- `python`

  Python \>= 3.10, with numpy and simpy available.
code string (optional) The code to be executed.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
UrlContextCallStep URL context call step.
type object (required) No description provided.

Always set to `"url_context_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
arguments UrlContextCallArguments (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.
McpServerToolCallStep MCPServer tool call step.
type object (required) No description provided.

Always set to `"mcp_server_tool_call"`.
name string (required) Required. The name of the tool which was called.
server_name string (required) Required. The name of the used MCP server.
arguments object (required) Required. The JSON object of arguments for the function.
id string (required) Required. A unique ID for this specific tool call.
GoogleSearchCallStep Google Search call step.
type object (required) No description provided.

Always set to `"google_search_call"`.
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.
search_type enum (string) (optional) The type of search grounding enabled.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web search.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
FileSearchCallStep File Search call step.
type object (required) No description provided.

Always set to `"file_search_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
GoogleMapsCallStep Google Maps call step.
type object (required) No description provided.

Always set to `"google_maps_call"`.
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.
FunctionResultStep Result of a function tool call.
type object (required) No description provided.

Always set to `"function_result"`.
name string (optional) The name of the tool that was called.
is_error boolean (optional) Whether the tool call resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The result of the tool call.
CodeExecutionResultStep Code execution result step.
type object (required) No description provided.

Always set to `"code_execution_result"`.
result string (required) Required. The output of the code execution.
is_error boolean (optional) Whether the code execution resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
UrlContextResultStep URL context result step.
type object (required) No description provided.

Always set to `"url_context_result"`.
result UrlContextResult (required) Required. The results of the URL context.
The result of the URL context.

#### Fields

url string (optional) The URL that was fetched.
status enum (string) (optional) The status of the URL retrieval.

Possible
values:

- `success`

  Url retrieval is successful.
- `error`

  Url retrieval is failed due to error.
- `paywall`

  Url retrieval is failed because the content is behind paywall.
- `unsafe`

  Url retrieval is failed because the content is unsafe.
is_error boolean (optional) Whether the URL context resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleSearchResultStep Google Search result step.
type object (required) No description provided.

Always set to `"google_search_result"`.
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.
is_error boolean (optional) Whether the Google Search resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
McpServerToolResultStep MCPServer tool result step.
type object (required) No description provided.

Always set to `"mcp_server_tool_result"`.
name string (optional) Name of the tool which is called for this specific tool call.
server_name string (optional) The name of the used MCP server.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The output from the MCP server call. Can be simple text or rich content.
FileSearchResultStep File Search result step.
type object (required) No description provided.

Always set to `"file_search_result"`.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleMapsResultStep Google Maps result step.
type object (required) No description provided.

Always set to `"google_maps_result"`.
result GoogleMapsResultItem (required) No description provided.
The result of the Google Maps.

#### Fields

places GoogleMapsResultPlaces (optional) No description provided.
<br />

#### Fields

place_id string (optional) No description provided.
name string (optional) No description provided.
url 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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
widget_context_token string (optional) No description provided.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
InteractionStatusUpdate <br />

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`

  The interaction is in progress.
- `requires_action`

  The interaction requires action/input from the user.
- `completed`

  The interaction is completed.
- `failed`

  The interaction failed.
- `cancelled`

  The interaction was cancelled.
- `incomplete`

  The interaction is completed, but contains incomplete results (e.g.
  hitting max_tokens).
- `budget_exceeded`

  The interaction was halted because the token budget was exceeded.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
ErrorEvent <br />

event_type object (required) No description provided.

Always set to `"error"`.
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.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
StepStart <br />

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.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
type object (required) No description provided.

Always set to `"user_input"`.
ModelOutputStep Output generated by the model.
type object (required) No description provided.

Always set to `"model_output"`.
content Content (optional) No description provided.
The content of the response.

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
ThoughtStep A thought step.
type object (required) No description provided.

Always set to `"thought"`.
signature string (optional) A signature hash for backend validation.
summary ThoughtSummaryContent (optional) A summary of the thought.
<br />

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
FunctionCallStep A function tool call step.
type object (required) No description provided.

Always set to `"function_call"`.
name string (required) Required. The name of the tool to call.
arguments object (required) Required. The arguments to pass to the function.
id string (required) Required. A unique ID for this specific tool call.
CodeExecutionCallStep Code execution call step.
type object (required) No description provided.

Always set to `"code_execution_call"`.
arguments CodeExecutionCallStepArguments (required) Required. The arguments to pass to the code execution.
The arguments to pass to the code execution.

#### Fields

language enum (string) (optional) Programming language of the \`code\`.

Possible
values:

- `python`

  Python \>= 3.10, with numpy and simpy available.
code string (optional) The code to be executed.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
UrlContextCallStep URL context call step.
type object (required) No description provided.

Always set to `"url_context_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
arguments UrlContextCallArguments (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.
McpServerToolCallStep MCPServer tool call step.
type object (required) No description provided.

Always set to `"mcp_server_tool_call"`.
name string (required) Required. The name of the tool which was called.
server_name string (required) Required. The name of the used MCP server.
arguments object (required) Required. The JSON object of arguments for the function.
id string (required) Required. A unique ID for this specific tool call.
GoogleSearchCallStep Google Search call step.
type object (required) No description provided.

Always set to `"google_search_call"`.
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.
search_type enum (string) (optional) The type of search grounding enabled.

Possible
values:

- `web_search`

  Setting this field enables web search. Only text results are returned.
- `image_search`

  Setting this field enables image search. Image bytes are returned.
- `enterprise_web_search`

  Setting this field enables enterprise web search.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
FileSearchCallStep File Search call step.
type object (required) No description provided.

Always set to `"file_search_call"`.
id string (required) Required. A unique ID for this specific tool call.
signature string (optional) A signature hash for backend validation.
GoogleMapsCallStep Google Maps call step.
type object (required) No description provided.

Always set to `"google_maps_call"`.
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.
FunctionResultStep Result of a function tool call.
type object (required) No description provided.

Always set to `"function_result"`.
name string (optional) The name of the tool that was called.
is_error boolean (optional) Whether the tool call resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The result of the tool call.
CodeExecutionResultStep Code execution result step.
type object (required) No description provided.

Always set to `"code_execution_result"`.
result string (required) Required. The output of the code execution.
is_error boolean (optional) Whether the code execution resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
UrlContextResultStep URL context result step.
type object (required) No description provided.

Always set to `"url_context_result"`.
result UrlContextResult (required) Required. The results of the URL context.
The result of the URL context.

#### Fields

url string (optional) The URL that was fetched.
status enum (string) (optional) The status of the URL retrieval.

Possible
values:

- `success`

  Url retrieval is successful.
- `error`

  Url retrieval is failed due to error.
- `paywall`

  Url retrieval is failed because the content is behind paywall.
- `unsafe`

  Url retrieval is failed because the content is unsafe.
is_error boolean (optional) Whether the URL context resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleSearchResultStep Google Search result step.
type object (required) No description provided.

Always set to `"google_search_result"`.
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.
is_error boolean (optional) Whether the Google Search resulted in an error.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
McpServerToolResultStep MCPServer tool result step.
type object (required) No description provided.

Always set to `"mcp_server_tool_result"`.
name string (optional) Name of the tool which is called for this specific tool call.
server_name string (optional) The name of the used MCP server.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) The output from the MCP server call. Can be simple text or rich content.
FileSearchResultStep File Search result step.
type object (required) No description provided.

Always set to `"file_search_result"`.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
GoogleMapsResultStep Google Maps result step.
type object (required) No description provided.

Always set to `"google_maps_result"`.
result GoogleMapsResultItem (required) No description provided.
The result of the Google Maps.

#### Fields

places GoogleMapsResultPlaces (optional) No description provided.
<br />

#### Fields

place_id string (optional) No description provided.
name string (optional) No description provided.
url 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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
widget_context_token string (optional) No description provided.
call_id string (required) Required. ID to match the ID from the function call block.
signature string (optional) A signature hash for backend validation.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
StepDelta <br />

event_type object (required) No description provided.

Always set to `"step.delta"`.
index integer (required) No description provided.
delta StepDeltaData (required) No description provided.
<br />

#### Possible Types

Polymorphic discriminator: `type`
TextDelta <br />

type object (required) No description provided.

Always set to `"text"`.
text string (required) No description provided.
ImageDelta <br />

type object (required) No description provided.

Always set to `"image"`.
data string (optional) No description provided.
uri string (optional) No description provided.
mime_type enum (string) (optional) No description provided.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioDelta <br />

type object (required) No description provided.

Always set to `"audio"`.
data string (optional) No description provided.
uri string (optional) No description provided.
mime_type enum (string) (optional) No description provided.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
sample_rate integer (optional) The sample rate of the audio.
channels integer (optional) The number of audio channels.
DocumentDelta <br />

type object (required) No description provided.

Always set to `"document"`.
data string (optional) No description provided.
uri string (optional) No description provided.
mime_type enum (string) (optional) No description provided.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoDelta <br />

type object (required) No description provided.

Always set to `"video"`.
data string (optional) No description provided.
uri string (optional) No description provided.
mime_type enum (string) (optional) No description provided.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
ThoughtSummaryDelta <br />

type object (required) No description provided.

Always set to `"thought_summary"`.
content Content (optional) A new summary item to be added to the thought.
The content of the response.

#### Possible Types

Polymorphic discriminator: `type`
TextContent A text content block.
type object (required) No description provided.

Always set to `"text"`.
text string (required) Required. The text content.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ImageContent An image content block.
type object (required) No description provided.

Always set to `"image"`.
data string (optional) The image content.
uri string (optional) The URI of the image.
mime_type enum (string) (optional) The mime type of the image.

Possible
values:

- `image/png`

  PNG image format
- `image/jpeg`

  JPEG image format
- `image/webp`

  WebP image format
- `image/heic`

  HEIC image format
- `image/heif`

  HEIF image format
- `image/gif`

  GIF image format
- `image/bmp`

  BMP image format
- `image/tiff`

  TIFF image format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
AudioContent An audio content block.
type object (required) No description provided.

Always set to `"audio"`.
data string (optional) The audio content.
uri string (optional) The URI of the audio.
mime_type enum (string) (optional) The mime type of the audio.

Possible
values:

- `audio/wav`

  WAV audio format
- `audio/mp3`

  MP3 audio format
- `audio/aiff`

  AIFF audio format
- `audio/aac`

  AAC audio format
- `audio/ogg`

  OGG audio format
- `audio/flac`

  FLAC audio format
- `audio/mpeg`

  MPEG audio format
- `audio/m4a`

  M4A audio format
- `audio/l16`

  L16 audio format
- `audio/opus`

  OPUS audio format
- `audio/alaw`

  ALAW audio format
- `audio/mulaw`

  MULAW audio format
channels integer (optional) The number of audio channels.
sample_rate integer (optional) The sample rate of the audio.
DocumentContent A document content block.
type object (required) No description provided.

Always set to `"document"`.
data string (optional) The document content.
uri string (optional) The URI of the document.
mime_type enum (string) (optional) The mime type of the document.

Possible
values:

- `application/pdf`

  PDF document format
- `text/csv`

  CSV document format
VideoContent A video content block.
type object (required) No description provided.

Always set to `"video"`.
data string (optional) The video content.
uri string (optional) The URI of the video.
mime_type enum (string) (optional) The mime type of the video.

Possible
values:

- `video/mp4`

  MP4 video format
- `video/mpeg`

  MPEG video format
- `video/mpg`

  MPG video format
- `video/mov`

  MOV video format
- `video/avi`

  AVI video format
- `video/x-flv`

  FLV video format
- `video/webm`

  WebM video format
- `video/wmv`

  WMV video format
- `video/3gpp`

  3GPP video format
resolution MediaResolution (optional) The resolution of the media.
<br />

#### Possible values

- `low`

  Low resolution.
- `medium`

  Medium resolution.
- `high`

  High resolution.
- `ultra_high`

  Ultra high resolution.
ThoughtSignatureDelta <br />

type object (required) No description provided.

Always set to `"thought_signature"`.
signature string (optional) Signature to match the backend source to be part of the generation.
TextAnnotationDelta <br />

type object (required) No description provided.

Always set to `"text_annotation_delta"`.
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.
type object (required) No description provided.

Always set to `"url_citation"`.
url string (optional) The URL.
title string (optional) The title of the URL.
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.
end_index integer (optional) End of the attributed segment, exclusive.
FileCitation A file citation annotation.
type object (required) No description provided.

Always set to `"file_citation"`.
document_uri string (optional) The URI of the file.
file_name string (optional) The name of the file.
source string (optional) Source attributed for a portion of the text.
custom_metadata object (optional) User provided metadata about the retrieved context.
page_number integer (optional) Page number of the cited document, if applicable.
media_id string (optional) Media ID in-case of image citations, if applicable.
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.
end_index integer (optional) End of the attributed segment, exclusive.
PlaceCitation A place citation annotation.
type object (required) No description provided.

Always set to `"place_citation"`.
place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
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.
end_index integer (optional) End of the attributed segment, exclusive.
ArgumentsDelta <br />

type object (required) No description provided.

Always set to `"arguments_delta"`.
arguments string (optional) No description provided.
CodeExecutionCallDelta <br />

type object (required) No description provided.

Always set to `"code_execution_call"`.
arguments CodeExecutionCallArguments (required) No description provided.
The arguments to pass to the code execution.

#### Fields

language enum (string) (optional) Programming language of the \`code\`.

Possible
values:

- `python`

  Python \>= 3.10, with numpy and simpy available.
code string (optional) The code to be executed.
signature string (optional) A signature hash for backend validation.
UrlContextCallDelta <br />

type object (required) No description provided.

Always set to `"url_context_call"`.
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.
GoogleSearchCallDelta <br />

type object (required) No description provided.

Always set to `"google_search_call"`.
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.
McpServerToolCallDelta <br />

type object (required) No description provided.

Always set to `"mcp_server_tool_call"`.
name string (required) No description provided.
server_name string (required) No description provided.
arguments object (required) No description provided.
FileSearchCallDelta <br />

type object (required) No description provided.

Always set to `"file_search_call"`.
signature string (optional) A signature hash for backend validation.
GoogleMapsCallDelta <br />

type object (required) No description provided.

Always set to `"google_maps_call"`.
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.
CodeExecutionResultDelta <br />

type object (required) No description provided.

Always set to `"code_execution_result"`.
result string (required) No description provided.
is_error boolean (optional) No description provided.
signature string (optional) A signature hash for backend validation.
UrlContextResultDelta <br />

type object (required) No description provided.

Always set to `"url_context_result"`.
result UrlContextResult (required) No description provided.
The result of the URL context.

#### Fields

url string (optional) The URL that was fetched.
status enum (string) (optional) The status of the URL retrieval.

Possible
values:

- `success`

  Url retrieval is successful.
- `error`

  Url retrieval is failed due to error.
- `paywall`

  Url retrieval is failed because the content is behind paywall.
- `unsafe`

  Url retrieval is failed because the content is unsafe.
is_error boolean (optional) No description provided.
signature string (optional) A signature hash for backend validation.
GoogleSearchResultDelta <br />

type object (required) No description provided.

Always set to `"google_search_result"`.
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.
is_error boolean (optional) No description provided.
signature string (optional) A signature hash for backend validation.
McpServerToolResultDelta <br />

type object (required) No description provided.

Always set to `"mcp_server_tool_result"`.
name string (optional) No description provided.
server_name string (optional) No description provided.
result array (ImageContent or TextContent) or object or string (required) No description provided.
FileSearchResultDelta <br />

type object (required) No description provided.

Always set to `"file_search_result"`.
result FileSearchResult (required) No description provided.
The result of the File Search.
signature string (optional) A signature hash for backend validation.
GoogleMapsResultDelta <br />

type object (required) No description provided.

Always set to `"google_maps_result"`.
result GoogleMapsResult (optional) The results of the Google Maps.
The result of the Google Maps.

#### Fields

places Places (optional) The places that were found.
<br />

#### Fields

place_id string (optional) The ID of the place, in \`places/{place_id}\` format.
name string (optional) Title of the place.
url string (optional) URI reference of the place.
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

title string (optional) Title of the review.
url string (optional) A link that corresponds to the user review on Google Maps.
review_id string (optional) The ID of the review snippet.
widget_context_token string (optional) Resource name of the Google Maps widget context token.
signature string (optional) A signature hash for backend validation.
FunctionResultDelta <br />

type object (required) No description provided.

Always set to `"function_result"`.
name string (optional) No description provided.
is_error boolean (optional) No description provided.
call_id string (required) Required. ID to match the ID from the function call block.
result array (ImageContent or TextContent) or object or string (required) No description provided.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StepDeltaMetadata (optional) Optional metadata accompanying ANY streamed event.
Optional metadata accompanying ANY streamed event.

#### Fields

total_usage Usage (optional) Statistics on the interaction request's token usage.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.
StepStop <br />

event_type object (required) No description provided.

Always set to `"step.stop"`.
index integer (required) No description provided.
event_id string (optional) The event_id token to be used to resume the interaction stream, from
this event.
metadata StreamMetadata (optional) Optional metadata accompanying ANY streamed event.
<br />

#### Fields

total_usage Usage (optional) No description provided.
Statistics on the interaction request's token usage.

#### Fields

total_input_tokens integer (optional) Number of tokens in the prompt (context).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
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).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_output_tokens integer (optional) Total number of tokens across all the generated responses.
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
total_tool_use_tokens integer (optional) Number of tokens present in tool-use prompt(s).
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.
<br />

#### Possible values

- `text`

  Indicates the model should return text.
- `image`

  Indicates the model should return images.
- `audio`

  Indicates the model should return audio.
- `video`

  Indicates the model should return video.
- `document`

  Indicates the model should return documents.
tokens integer (optional) Number of tokens for the modality.
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).
grounding_tool_count GroundingToolCount (optional) Grounding tool count.
The number of grounding tool counts.

#### Fields

type enum (string) (optional) The grounding tool type associated with the count.

Possible
values:

- `google_search`

  Grounding with Google Web Search and Image Search, \& Web Grounding
  for Enterprise.
- `google_maps`

  Grounding with Google Maps.
- `retrieval`

  Grounding with customer's data, for example, VertexAISearch.
count integer (optional) The number of grounding tool counts.

### Examples

### Interaction Created

```json
{
  "event_type": "interaction.created",
  "interaction": {
    "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
    "model": "gemini-3.5-flash",
    "status": "in_progress",
    "created": "2025-12-04T15:01:45Z",
    "updated": "2025-12-04T15:01:45Z"
  },
  "event_id": "evt_123"
}
```

### Interaction Created

```json
{
  "event_type": "interaction.created",
  "interaction": {
    "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
    "model": "gemini-3-flash-preview",
    "object": "interaction",
    "status": "in_progress"
  },
  "event_id": "evt_123"
}
```

### Interaction Completed

```json
{
  "event_type": "interaction.completed",
  "interaction": {
    "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
    "model": "gemini-3.5-flash",
    "status": "completed",
    "created": "2025-12-04T15:01:45Z",
    "updated": "2025-12-04T15:01:45Z"
  },
  "event_id": "evt_123"
}
```

### Interaction Completed

```json
{
  "event_type": "interaction.completed",
  "interaction": {
    "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",
    "model": "gemini-3-flash-preview",
    "object": "interaction",
    "status": "completed",
    "created": "2025-12-04T15:01:45Z",
    "updated": "2025-12-04T15:01:45Z"
  },
  "event_id": "evt_123"
}
```

### Interaction Status Update

```json
{
  "event_type": "interaction.status_update",
  "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM",
  "status": "in_progress"
}
```

### Error Event

```json
{
  "event_type": "error",
  "error": {
    "message": "Failed to get completed interaction: Result not found.",
    "code": "not_found"
  }
}
```

### Step Start

```json
{
  "event_type": "step.start",
  "index": 0,
  "step": {
    "type": "model_output"
  }
}
```

### Step Delta

```json
{
  "event_type": "step.delta",
  "index": 0,
  "delta": {
    "type": "text",
    "text": "Hello"
  }
}
```

### Step Stop

```json
{
  "event_type": "step.stop",
  "index": 0
}
```