{ "openapi": "3.1.0", "info": { "title": "ADK REST API Reference", "version": "2.6.0" }, "paths": { "/health": { "get": { "summary": "Health", "operationId": "health_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Health Health Get" } } } } } } }, "/version": { "get": { "summary": "Version", "operationId": "version_version_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Version Version Get" } } } } } } }, "/agent-identity/finalize": { "post": { "summary": "Finalize Agent Identity Credentials", "operationId": "finalize_agent_identity_credentials_agent_identity_finalize_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FinalizeAgentIdentityCredentialsRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Finalize Agent Identity Credentials Agent Identity Finalize Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/list-apps": { "get": { "summary": "List Apps", "operationId": "list_apps_list_apps_get", "parameters": [ { "name": "detailed", "in": "query", "required": false, "schema": { "type": "boolean", "description": "Return detailed app information", "default": false, "title": "Detailed" }, "description": "Return detailed app information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "$ref": "#/components/schemas/ListAppsResponse" } ], "title": "Response List Apps List Apps Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/app-info": { "get": { "summary": "Get Adk App Info", "description": "Returns the detailed info for a given ADK app.", "operationId": "get_adk_app_info_apps__app_name__app_info_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppInfo" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}": { "get": { "summary": "Get Session", "operationId": "get_session_apps__app_name__users__user_id__sessions__session_id__get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "summary": "Create Session With Id", "operationId": "create_session_with_id_apps__app_name__users__user_id__sessions__session_id__post", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "title": "State" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "summary": "Delete Session", "operationId": "delete_session_apps__app_name__users__user_id__sessions__session_id__delete", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "summary": "Update Session", "description": "Updates session state without running the agent.\n\nArgs:\n app_name: The name of the application.\n user_id: The ID of the user.\n session_id: The ID of the session to update.\n req: The patch request containing state changes.\n\nReturns:\n The updated session.\n\nRaises:\n HTTPException: If the session is not found.", "operationId": "update_session_apps__app_name__users__user_id__sessions__session_id__patch", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSessionRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions": { "get": { "summary": "List Sessions", "operationId": "list_sessions_apps__app_name__users__user_id__sessions_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Session" }, "title": "Response List Sessions Apps App Name Users User Id Sessions Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "summary": "Create Session", "operationId": "create_session_apps__app_name__users__user_id__sessions_post", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/CreateSessionRequest" }, { "type": "null" } ], "title": "Req" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/{version_id}/metadata": { "get": { "summary": "Get Artifact Version Metadata", "operationId": "get_artifact_version_metadata_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions__version_id__metadata_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } }, { "name": "version_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Version Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ArtifactVersion" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/metadata": { "get": { "summary": "List Artifact Versions Metadata", "operationId": "list_artifact_versions_metadata_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions_metadata_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ArtifactVersion" }, "title": "Response List Artifact Versions Metadata Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Metadata Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts": { "post": { "summary": "Save Artifact", "description": "Request payload for saving a new artifact.", "operationId": "save_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts_post", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveArtifactRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ArtifactVersion" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "summary": "List Artifact Names", "operationId": "list_artifact_names_apps__app_name__users__user_id__sessions__session_id__artifacts_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" }, "title": "Response List Artifact Names Apps App Name Users User Id Sessions Session Id Artifacts Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions/{version_id}": { "get": { "summary": "Load Artifact Version", "operationId": "load_artifact_version_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions__version_id__get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } }, { "name": "version_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Version Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/Part" }, { "type": "null" } ], "title": "Response Load Artifact Version Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Version Id Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}/versions": { "get": { "summary": "List Artifact Versions", "operationId": "list_artifact_versions_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__versions_get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "integer" }, "title": "Response List Artifact Versions Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Versions Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/sessions/{session_id}/artifacts/{artifact_name}": { "get": { "summary": "Load Artifact", "operationId": "load_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__get", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/Part" }, { "type": "null" } ], "title": "Response Load Artifact Apps App Name Users User Id Sessions Session Id Artifacts Artifact Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "summary": "Delete Artifact", "operationId": "delete_artifact_apps__app_name__users__user_id__sessions__session_id__artifacts__artifact_name__delete", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "session_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Session Id" } }, { "name": "artifact_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/apps/{app_name}/users/{user_id}/memory": { "patch": { "summary": "Patch Memory", "description": "Adds all events from a given session to the memory service.\n\nArgs:\n app_name: The name of the application.\n user_id: The ID of the user.\n update_memory_request: The memory request for the update\n\nRaises:\n HTTPException: If the memory service is not configured or the request\n is invalid.", "operationId": "patch_memory_apps__app_name__users__user_id__memory_patch", "parameters": [ { "name": "app_name", "in": "path", "required": true, "schema": { "type": "string", "title": "App Name" } }, { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMemoryRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/run": { "post": { "summary": "Run Agent", "operationId": "run_agent_run_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunAgentRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Event-Output" }, "type": "array", "title": "Response Run Agent Run Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/run_sse": { "post": { "summary": "Run Agent Sse", "operationId": "run_agent_sse_run_sse_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunAgentRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AgentInfo": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "instruction": { "type": "string", "title": "Instruction" }, "tools": { "items": { "$ref": "#/components/schemas/Tool" }, "type": "array", "title": "Tools" }, "sub_agents": { "items": { "type": "string" }, "type": "array", "title": "Sub Agents" } }, "type": "object", "required": [ "name", "description", "instruction", "tools", "sub_agents" ], "title": "AgentInfo" }, "ApiAuth": { "properties": { "apiKeyConfig": { "anyOf": [ { "$ref": "#/components/schemas/ApiAuthApiKeyConfig" }, { "type": "null" } ], "description": "The API secret." } }, "additionalProperties": false, "type": "object", "title": "ApiAuth", "description": "The generic reusable api auth config.\n\nDeprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto)\ninstead. This data type is not supported in Gemini API." }, "ApiAuthApiKeyConfig": { "properties": { "apiKeySecretVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikeysecretversion", "description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}" }, "apiKeyString": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikeystring", "description": "The API key string. Either this or `api_key_secret_version` must be set." } }, "additionalProperties": false, "type": "object", "title": "ApiAuthApiKeyConfig", "description": "The API secret. This data type is not supported in Gemini API." }, "ApiKeyConfig": { "properties": { "apiKeySecret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikeysecret", "description": "Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource." }, "apiKeyString": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikeystring", "description": "Optional. The API key to be used in the request directly." }, "httpElementLocation": { "anyOf": [ { "$ref": "#/components/schemas/HttpElementLocation" }, { "type": "null" } ], "description": "Optional. The location of the API key." }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Optional. The parameter name of the API key. E.g. If the API request is \"https://example.com/act?api_key=\", \"api_key\" would be the parameter name." } }, "additionalProperties": false, "type": "object", "title": "ApiKeyConfig", "description": "Config for authentication with API key.\n\nThis data type is not supported in Gemini API." }, "ApiSpec": { "type": "string", "enum": [ "API_SPEC_UNSPECIFIED", "SIMPLE_SEARCH", "ELASTIC_SEARCH" ], "title": "ApiSpec", "description": "The API spec that the external API implements.\n\nThis enum is not supported in Gemini API." }, "AppInfo": { "properties": { "name": { "type": "string", "title": "Name" }, "rootAgentName": { "type": "string", "title": "Rootagentname" }, "description": { "type": "string", "title": "Description" }, "language": { "type": "string", "enum": [ "yaml", "python" ], "title": "Language" }, "isComputerUse": { "type": "boolean", "title": "Iscomputeruse", "default": false }, "agents": { "anyOf": [ { "additionalProperties": { "$ref": "#/components/schemas/AgentInfo" }, "type": "object" }, { "type": "null" } ], "title": "Agents" } }, "type": "object", "required": [ "name", "rootAgentName", "description", "language" ], "title": "AppInfo" }, "ArtifactVersion": { "properties": { "version": { "type": "integer", "title": "Version", "description": "Monotonically increasing identifier for the artifact version." }, "canonicalUri": { "type": "string", "title": "Canonicaluri", "description": "Canonical URI referencing the persisted artifact payload." }, "customMetadata": { "additionalProperties": true, "type": "object", "title": "Custommetadata", "description": "Optional user-supplied metadata stored with the artifact." }, "createTime": { "type": "number", "title": "Createtime", "description": "Unix timestamp (seconds) when the version record was created." }, "mimeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mimetype", "description": "MIME type when the artifact payload is stored as binary data." } }, "type": "object", "required": [ "version", "canonicalUri" ], "title": "ArtifactVersion", "description": "Metadata describing a specific version of an artifact." }, "AuthConfig": { "properties": { "apiKey": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikey", "description": "The authentication config to access the API. Only API key is supported. This field is not supported in Gemini API." }, "apiKeyConfig": { "anyOf": [ { "$ref": "#/components/schemas/ApiKeyConfig" }, { "type": "null" } ], "description": "Config for API key auth." }, "authType": { "anyOf": [ { "$ref": "#/components/schemas/AuthType" }, { "type": "null" } ], "description": "Type of auth scheme." }, "googleServiceAccountConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfigGoogleServiceAccountConfig" }, { "type": "null" } ], "description": "Config for Google Service Account auth." }, "httpBasicAuthConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfigHttpBasicAuthConfig" }, { "type": "null" } ], "description": "Config for HTTP Basic auth." }, "oauthConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfigOauthConfig" }, { "type": "null" } ], "description": "Config for user oauth." }, "oidcConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfigOidcConfig" }, { "type": "null" } ], "description": "Config for user OIDC auth." } }, "additionalProperties": false, "type": "object", "title": "AuthConfig", "description": "The authentication config to access the API." }, "AuthConfigGoogleServiceAccountConfig": { "properties": { "serviceAccount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serviceaccount", "description": "Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension." } }, "additionalProperties": false, "type": "object", "title": "AuthConfigGoogleServiceAccountConfig", "description": "Config for Google Service Account Authentication.\n\nThis data type is not supported in Gemini API." }, "AuthConfigHttpBasicAuthConfig": { "properties": { "credentialSecret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Credentialsecret", "description": "Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource." } }, "additionalProperties": false, "type": "object", "title": "AuthConfigHttpBasicAuthConfig", "description": "Config for HTTP Basic Authentication.\n\nThis data type is not supported in Gemini API." }, "AuthConfigOauthConfig": { "properties": { "accessToken": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Accesstoken", "description": "Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time." }, "serviceAccount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serviceaccount", "description": "The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account." } }, "additionalProperties": false, "type": "object", "title": "AuthConfigOauthConfig", "description": "Config for user oauth. This data type is not supported in Gemini API." }, "AuthConfigOidcConfig": { "properties": { "idToken": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Idtoken", "description": "OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtime_auth_config]] at request time." }, "serviceAccount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Serviceaccount", "description": "The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)." } }, "additionalProperties": false, "type": "object", "title": "AuthConfigOidcConfig", "description": "Config for user OIDC auth.\n\nThis data type is not supported in Gemini API." }, "AuthType": { "type": "string", "enum": [ "AUTH_TYPE_UNSPECIFIED", "NO_AUTH", "API_KEY_AUTH", "HTTP_BASIC_AUTH", "GOOGLE_SERVICE_ACCOUNT_AUTH", "OAUTH", "OIDC_AUTH" ], "title": "AuthType", "description": "Type of auth scheme. This enum is not supported in Gemini API." }, "Behavior": { "type": "string", "enum": [ "UNSPECIFIED", "BLOCKING", "NON_BLOCKING" ], "title": "Behavior", "description": "Specifies the function Behavior.\n\nIf not specified, the system keeps the current function call behavior. This\nfield is currently only supported by the BidiGenerateContent method." }, "Blob": { "properties": { "data": { "anyOf": [ { "type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream" }, { "type": "null" } ], "title": "Data", "description": "Required. The raw bytes of the data." }, "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname", "description": "Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. This field is not supported in Gemini API." }, "mimeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mimetype", "description": "Required. The IANA standard MIME type of the source data." } }, "additionalProperties": false, "type": "object", "title": "Blob", "description": "A content blob.\n\nA Blob contains data of a specific media type. It is used to represent images,\naudio, and video." }, "CacheMetadata": { "properties": { "cache_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cache Name", "description": "Full resource name of the cached content (None if no active cache)" }, "expire_time": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Expire Time", "description": "Unix timestamp when cache expires (None if no active cache)" }, "fingerprint": { "type": "string", "title": "Fingerprint", "description": "Hash of cacheable contents used to detect changes" }, "invocations_used": { "anyOf": [ { "type": "integer", "minimum": 0.0 }, { "type": "null" } ], "title": "Invocations Used", "description": "Number of invocations this cache has been used for (None if no active cache)" }, "contents_count": { "type": "integer", "minimum": 0.0, "title": "Contents Count", "description": "Number of contents (cached contents when active cache exists, cacheable content prefix when no active cache)" }, "created_at": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Created At", "description": "Unix timestamp when cache was created (None if no active cache)" } }, "additionalProperties": false, "type": "object", "required": [ "fingerprint", "contents_count" ], "title": "CacheMetadata", "description": "Metadata for context cache associated with LLM responses.\n\nThis class stores cache identification, usage tracking, and lifecycle\ninformation for a particular cache instance. It can be in two states:\n\n1. Active cache state: cache_name is set, all fields populated\n2. Fingerprint-only state: cache_name is None, only fingerprint and\n contents_count are set for prefix matching\n\nToken counts (cached and total) are available in the LlmResponse.usage_metadata\nand should be accessed from there to avoid duplication.\n\nAttributes:\n cache_name: The full resource name of the cached content (e.g.,\n 'projects/123/locations/us-central1/cachedContents/456').\n None when no active cache exists (fingerprint-only state).\n expire_time: Unix timestamp when the cache expires. None when no\n active cache exists.\n fingerprint: Hash of cacheable contents (instruction + tools + contents).\n Always present for prefix matching.\n invocations_used: Number of invocations this cache has been used for.\n None when no active cache exists.\n contents_count: Number of contents. When active cache exists, this is\n the count of cached contents. When no active cache exists, this is\n the count of the cacheable content prefix used for fingerprinting.\n created_at: Unix timestamp when the cache was created. None when\n no active cache exists." }, "Citation": { "properties": { "endIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Endindex", "description": "Output only. The end index of the citation in the content." }, "license": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "License", "description": "Output only. The license of the source of the citation." }, "publicationDate": { "anyOf": [ { "$ref": "#/components/schemas/GoogleTypeDate" }, { "type": "null" } ], "description": "Output only. The publication date of the source of the citation." }, "startIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Startindex", "description": "Output only. The start index of the citation in the content." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "Output only. The title of the source of the citation." }, "uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uri", "description": "Output only. The URI of the source of the citation." } }, "additionalProperties": false, "type": "object", "title": "Citation", "description": "A citation for a piece of generatedcontent.\n\nThis data type is not supported in Gemini API." }, "CitationMetadata": { "properties": { "citations": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Citation" }, "type": "array" }, { "type": "null" } ], "title": "Citations", "description": "Contains citation information when the model directly quotes, at\n length, from another source. Can include traditional websites and code\n repositories.\n " } }, "additionalProperties": false, "type": "object", "title": "CitationMetadata", "description": "Citation information when the model quotes another source." }, "CodeExecutionResult": { "properties": { "outcome": { "anyOf": [ { "$ref": "#/components/schemas/Outcome" }, { "type": "null" } ], "description": "Required. Outcome of the code execution." }, "output": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Output", "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise." }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id. This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "CodeExecutionResult", "description": "Result of executing the ExecutableCode.\n\nGenerated only when the `CodeExecution` tool is used." }, "ComputerUse": { "properties": { "environment": { "anyOf": [ { "$ref": "#/components/schemas/Environment" }, { "type": "null" } ], "description": "Required. The environment being operated." }, "excludedPredefinedFunctions": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Excludedpredefinedfunctions", "description": "Optional. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions." }, "enablePromptInjectionDetection": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enablepromptinjectiondetection", "description": "Optional. Enables the prompt injection detection check on computer-use request." }, "disabledSafetyPolicies": { "anyOf": [ { "items": { "$ref": "#/components/schemas/SafetyPolicy" }, "type": "array" }, { "type": "null" } ], "title": "Disabledsafetypolicies", "description": "Optional. Disabled safety policies for computer use. This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "ComputerUse", "description": "Tool to support computer use." }, "Content": { "properties": { "parts": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Part" }, "type": "array" }, { "type": "null" } ], "title": "Parts", "description": "List of parts that constitute a single message. Each part may have\n a different IANA MIME type." }, "role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Role", "description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'." } }, "additionalProperties": false, "type": "object", "title": "Content", "description": "Contains the multi-part content of a message." }, "CreateSessionRequest": { "properties": { "sessionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sessionid", "description": "The ID of the session to create. If not provided, a random session ID will be generated." }, "state": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "State", "description": "The initial state of the session." }, "events": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Event-Input" }, "type": "array" }, { "type": "null" } ], "title": "Events", "description": "A list of events to initialize the session with." } }, "type": "object", "title": "CreateSessionRequest" }, "DynamicRetrievalConfig": { "properties": { "dynamicThreshold": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Dynamicthreshold", "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used." }, "mode": { "anyOf": [ { "$ref": "#/components/schemas/DynamicRetrievalConfigMode" }, { "type": "null" } ], "description": "The mode of the predictor to be used in dynamic retrieval." } }, "additionalProperties": false, "type": "object", "title": "DynamicRetrievalConfig", "description": "Describes the options to customize dynamic retrieval." }, "DynamicRetrievalConfigMode": { "type": "string", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ], "title": "DynamicRetrievalConfigMode", "description": "The mode of the predictor to be used in dynamic retrieval." }, "EnterpriseWebSearch": { "properties": { "blockingConfidence": { "anyOf": [ { "$ref": "#/components/schemas/PhishBlockThreshold" }, { "type": "null" } ], "description": "Optional. Sites with confidence level chosen & above this value will be blocked from the search results." }, "excludeDomains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Excludedomains", "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains." } }, "additionalProperties": false, "type": "object", "title": "EnterpriseWebSearch", "description": "Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.\n\nThis data type is not supported in Gemini API." }, "Environment": { "type": "string", "enum": [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_BROWSER", "ENVIRONMENT_MOBILE", "ENVIRONMENT_DESKTOP" ], "title": "Environment", "description": "The environment being operated." }, "Event-Input": { "properties": { "modelVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modelversion" }, "content": { "anyOf": [ { "$ref": "#/components/schemas/Content" }, { "type": "null" } ] }, "groundingMetadata": { "anyOf": [ { "$ref": "#/components/schemas/GroundingMetadata" }, { "type": "null" } ] }, "partial": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Partial" }, "turnComplete": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Turncomplete" }, "turnCompleteReason": { "anyOf": [ { "$ref": "#/components/schemas/TurnCompleteReason" }, { "type": "null" } ] }, "finishReason": { "anyOf": [ { "$ref": "#/components/schemas/FinishReason" }, { "type": "null" } ] }, "errorCode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Errorcode" }, "errorMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Errormessage" }, "interrupted": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Interrupted" }, "customMetadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Custommetadata" }, "usageMetadata": { "anyOf": [ { "$ref": "#/components/schemas/GenerateContentResponseUsageMetadata" }, { "type": "null" } ] }, "liveSessionResumptionUpdate": { "anyOf": [ { "$ref": "#/components/schemas/LiveServerSessionResumptionUpdate" }, { "type": "null" } ] }, "liveSessionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Livesessionid" }, "goAway": { "anyOf": [ { "$ref": "#/components/schemas/LiveServerGoAway" }, { "type": "null" } ] }, "voiceActivity": { "anyOf": [ { "$ref": "#/components/schemas/VoiceActivity" }, { "type": "null" } ] }, "inputTranscription": { "anyOf": [ { "$ref": "#/components/schemas/Transcription" }, { "type": "null" } ] }, "outputTranscription": { "anyOf": [ { "$ref": "#/components/schemas/Transcription" }, { "type": "null" } ] }, "avgLogprobs": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Avglogprobs" }, "logprobsResult": { "anyOf": [ { "$ref": "#/components/schemas/LogprobsResult" }, { "type": "null" } ] }, "cacheMetadata": { "anyOf": [ { "$ref": "#/components/schemas/CacheMetadata" }, { "type": "null" } ] }, "citationMetadata": { "anyOf": [ { "$ref": "#/components/schemas/CitationMetadata" }, { "type": "null" } ] }, "interactionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Interactionid" }, "environmentId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Environmentid" }, "invocationId": { "type": "string", "title": "Invocationid", "default": "" }, "author": { "type": "string", "title": "Author", "default": "" }, "actions": { "$ref": "#/components/schemas/EventActions-Input" }, "output": { "anyOf": [ {}, { "type": "null" } ], "title": "Output" }, "nodeInfo": { "$ref": "#/components/schemas/NodeInfo" }, "longRunningToolIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "title": "Longrunningtoolids" }, "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Branch" }, "isolationScope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Isolationscope" }, "id": { "type": "string", "title": "Id", "default": "" }, "timestamp": { "type": "number", "title": "Timestamp" } }, "type": "object", "title": "Event", "description": "Represents an event in a conversation between agents and users.\n\nIt is used to store the content of the conversation, as well as the actions\ntaken by the agents like function calls, etc." }, "Event-Output": { "properties": { "modelVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modelversion" }, "content": { "anyOf": [ { "$ref": "#/components/schemas/Content" }, { "type": "null" } ] }, "groundingMetadata": { "anyOf": [ { "$ref": "#/components/schemas/GroundingMetadata" }, { "type": "null" } ] }, "partial": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Partial" }, "turnComplete": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Turncomplete" }, "turnCompleteReason": { "anyOf": [ { "$ref": "#/components/schemas/TurnCompleteReason" }, { "type": "null" } ] }, "finishReason": { "anyOf": [ { "$ref": "#/components/schemas/FinishReason" }, { "type": "null" } ] }, "errorCode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Errorcode" }, "errorMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Errormessage" }, "interrupted": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Interrupted" }, "customMetadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Custommetadata" }, "usageMetadata": { "anyOf": [ { "$ref": "#/components/schemas/GenerateContentResponseUsageMetadata" }, { "type": "null" } ] }, "liveSessionResumptionUpdate": { "anyOf": [ { "$ref": "#/components/schemas/LiveServerSessionResumptionUpdate" }, { "type": "null" } ] }, "liveSessionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Livesessionid" }, "goAway": { "anyOf": [ { "$ref": "#/components/schemas/LiveServerGoAway" }, { "type": "null" } ] }, "voiceActivity": { "anyOf": [ { "$ref": "#/components/schemas/VoiceActivity" }, { "type": "null" } ] }, "inputTranscription": { "anyOf": [ { "$ref": "#/components/schemas/Transcription" }, { "type": "null" } ] }, "outputTranscription": { "anyOf": [ { "$ref": "#/components/schemas/Transcription" }, { "type": "null" } ] }, "avgLogprobs": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Avglogprobs" }, "logprobsResult": { "anyOf": [ { "$ref": "#/components/schemas/LogprobsResult" }, { "type": "null" } ] }, "cacheMetadata": { "anyOf": [ { "$ref": "#/components/schemas/CacheMetadata" }, { "type": "null" } ] }, "citationMetadata": { "anyOf": [ { "$ref": "#/components/schemas/CitationMetadata" }, { "type": "null" } ] }, "interactionId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Interactionid" }, "environmentId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Environmentid" }, "invocationId": { "type": "string", "title": "Invocationid", "default": "" }, "author": { "type": "string", "title": "Author", "default": "" }, "actions": { "$ref": "#/components/schemas/EventActions-Output" }, "output": { "anyOf": [ {}, { "type": "null" } ], "title": "Output" }, "nodeInfo": { "$ref": "#/components/schemas/NodeInfo" }, "longRunningToolIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "title": "Longrunningtoolids" }, "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Branch" }, "isolationScope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Isolationscope" }, "id": { "type": "string", "title": "Id", "default": "" }, "timestamp": { "type": "number", "title": "Timestamp" } }, "type": "object", "title": "Event", "description": "Represents an event in a conversation between agents and users.\n\nIt is used to store the content of the conversation, as well as the actions\ntaken by the agents like function calls, etc." }, "EventActions-Input": { "properties": { "skipSummarization": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Skipsummarization" }, "stateDelta": { "additionalProperties": true, "type": "object", "title": "Statedelta" }, "artifactDelta": { "additionalProperties": { "type": "integer" }, "type": "object", "title": "Artifactdelta" }, "transferToAgent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Transfertoagent" }, "escalate": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Escalate" }, "requestedAuthConfigs": { "additionalProperties": true, "type": "object", "title": "Requestedauthconfigs" }, "requestedToolConfirmations": { "additionalProperties": { "$ref": "#/components/schemas/ToolConfirmation" }, "type": "object", "title": "Requestedtoolconfirmations" }, "compaction": { "anyOf": [ { "$ref": "#/components/schemas/EventCompaction" }, { "type": "null" } ] }, "endOfAgent": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Endofagent" }, "agentState": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Agentstate" }, "rewindBeforeInvocationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rewindbeforeinvocationid" }, "route": { "anyOf": [ { "type": "boolean" }, { "type": "integer" }, { "type": "string" }, { "items": { "anyOf": [ { "type": "boolean" }, { "type": "integer" }, { "type": "string" } ] }, "type": "array" }, { "type": "null" } ], "title": "Route" }, "renderUiWidgets": { "anyOf": [ { "items": { "$ref": "#/components/schemas/UiWidget" }, "type": "array" }, { "type": "null" } ], "title": "Renderuiwidgets" }, "setModelResponse": { "anyOf": [ {}, { "type": "null" } ], "title": "Setmodelresponse" } }, "additionalProperties": false, "type": "object", "title": "EventActions", "description": "Represents the actions attached to an event." }, "EventActions-Output": { "properties": { "skipSummarization": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Skipsummarization" }, "stateDelta": { "additionalProperties": true, "type": "object", "title": "Statedelta" }, "artifactDelta": { "additionalProperties": { "type": "integer" }, "type": "object", "title": "Artifactdelta" }, "transferToAgent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Transfertoagent" }, "escalate": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Escalate" }, "requestedAuthConfigs": { "additionalProperties": true, "type": "object", "title": "Requestedauthconfigs" }, "requestedToolConfirmations": { "additionalProperties": { "$ref": "#/components/schemas/ToolConfirmation" }, "type": "object", "title": "Requestedtoolconfirmations" }, "compaction": { "anyOf": [ { "$ref": "#/components/schemas/EventCompaction" }, { "type": "null" } ] }, "endOfAgent": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Endofagent" }, "agentState": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Agentstate" }, "rewindBeforeInvocationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rewindbeforeinvocationid" }, "route": { "anyOf": [ { "type": "boolean" }, { "type": "integer" }, { "type": "string" }, { "items": { "anyOf": [ { "type": "boolean" }, { "type": "integer" }, { "type": "string" } ] }, "type": "array" }, { "type": "null" } ], "title": "Route" }, "renderUiWidgets": { "anyOf": [ { "items": { "$ref": "#/components/schemas/UiWidget" }, "type": "array" }, { "type": "null" } ], "title": "Renderuiwidgets" }, "setModelResponse": { "anyOf": [ {}, { "type": "null" } ], "title": "Setmodelresponse" } }, "additionalProperties": false, "type": "object", "title": "EventActions", "description": "Represents the actions attached to an event." }, "EventCompaction": { "properties": { "startTimestamp": { "type": "number", "title": "Starttimestamp" }, "endTimestamp": { "type": "number", "title": "Endtimestamp" }, "compactedContent": { "$ref": "#/components/schemas/Content" } }, "additionalProperties": false, "type": "object", "required": [ "startTimestamp", "endTimestamp", "compactedContent" ], "title": "EventCompaction", "description": "The compaction of the events." }, "ExecutableCode": { "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Code", "description": "Required. The code to be executed." }, "language": { "anyOf": [ { "$ref": "#/components/schemas/Language" }, { "type": "null" } ], "description": "Required. Programming language of the `code`." }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`. This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "ExecutableCode", "description": "Code generated by the model that is meant to be executed, and the result returned to the model.\n\nGenerated when using the `CodeExecution` tool, in which the code will be\nautomatically executed, and a corresponding CodeExecutionResult will also be\ngenerated." }, "ExternalApi": { "properties": { "apiAuth": { "anyOf": [ { "$ref": "#/components/schemas/ApiAuth" }, { "type": "null" } ], "description": "The authentication config to access the API. Deprecated. Please use auth_config instead." }, "apiSpec": { "anyOf": [ { "$ref": "#/components/schemas/ApiSpec" }, { "type": "null" } ], "description": "The API spec that the external API implements." }, "authConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfig" }, { "type": "null" } ], "description": "The authentication config to access the API." }, "elasticSearchParams": { "anyOf": [ { "$ref": "#/components/schemas/ExternalApiElasticSearchParams" }, { "type": "null" } ], "description": "Parameters for the elastic search API." }, "endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endpoint", "description": "The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search" }, "simpleSearchParams": { "anyOf": [ { "$ref": "#/components/schemas/ExternalApiSimpleSearchParams" }, { "type": "null" } ], "description": "Parameters for the simple search API." } }, "additionalProperties": false, "type": "object", "title": "ExternalApi", "description": "Retrieve from data source powered by external API for grounding.\n\nThe external API is not owned by Google, but need to follow the pre-defined\nAPI spec. This data type is not supported in Gemini API." }, "ExternalApiElasticSearchParams": { "properties": { "index": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Index", "description": "The ElasticSearch index to use." }, "numHits": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Numhits", "description": "Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param." }, "searchTemplate": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Searchtemplate", "description": "The ElasticSearch search template to use." } }, "additionalProperties": false, "type": "object", "title": "ExternalApiElasticSearchParams", "description": "The search parameters to use for the ELASTIC_SEARCH spec.\n\nThis data type is not supported in Gemini API." }, "ExternalApiSimpleSearchParams": { "properties": {}, "additionalProperties": false, "type": "object", "title": "ExternalApiSimpleSearchParams", "description": "The search parameters to use for SIMPLE_SEARCH spec.\n\nThis data type is not supported in Gemini API." }, "FileData": { "properties": { "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname", "description": "Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. This field is not supported in Gemini API." }, "fileUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fileuri", "description": "Required. The URI of the file in Google Cloud Storage." }, "mimeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mimetype", "description": "Required. The IANA standard MIME type of the source data." } }, "additionalProperties": false, "type": "object", "title": "FileData", "description": "URI-based data.\n\nA FileData message contains a URI pointing to data of a specific media type.\nIt is used to represent images, audio, and video stored in Google Cloud\nStorage." }, "FileSearch": { "properties": { "fileSearchStoreNames": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Filesearchstorenames", "description": "Required. The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`" }, "topK": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Topk", "description": "Optional. The number of semantic retrieval chunks to retrieve." }, "metadataFilter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Metadatafilter", "description": "Optional. Metadata filter to apply to the semantic retrieval documents and chunks." } }, "additionalProperties": false, "type": "object", "title": "FileSearch", "description": "The FileSearch tool that retrieves knowledge from Semantic Retrieval corpora.\n\nFiles are imported to Semantic Retrieval corpora using the ImportFile API.\nThis data type is not supported in Vertex AI." }, "FinalizeAgentIdentityCredentialsRequest": { "properties": { "connectorName": { "type": "string", "title": "Connectorname" }, "userId": { "type": "string", "title": "Userid" }, "userIdValidationState": { "type": "string", "title": "Useridvalidationstate" }, "consentNonce": { "type": "string", "title": "Consentnonce" } }, "type": "object", "required": [ "connectorName", "userId", "userIdValidationState", "consentNonce" ], "title": "FinalizeAgentIdentityCredentialsRequest", "description": "Request to finalize a 3LO consent for an Agent Identity connector." }, "FinishReason": { "type": "string", "enum": [ "FINISH_REASON_UNSPECIFIED", "STOP", "MAX_TOKENS", "SAFETY", "RECITATION", "LANGUAGE", "OTHER", "BLOCKLIST", "PROHIBITED_CONTENT", "SPII", "MALFORMED_FUNCTION_CALL", "IMAGE_SAFETY", "UNEXPECTED_TOOL_CALL", "IMAGE_PROHIBITED_CONTENT", "NO_IMAGE", "IMAGE_RECITATION", "IMAGE_OTHER" ], "title": "FinishReason", "description": "Output only. The reason why the model stopped generating tokens.\n\nIf empty, the model has not stopped generating the tokens." }, "FunctionCall": { "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`." }, "args": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Args", "description": "Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details." }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Optional. The name of the function to call. Matches FunctionDeclaration.name." }, "partialArgs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/PartialArg" }, "type": "array" }, { "type": "null" } ], "title": "Partialargs", "description": "Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. This field is not supported in Gemini API." }, "willContinue": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Willcontinue", "description": "Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "FunctionCall", "description": "A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values." }, "FunctionDeclaration": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function." }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128." }, "parameters": { "anyOf": [ { "$ref": "#/components/schemas/Schema" }, { "type": "null" } ], "description": "Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1" }, "parametersJsonSchema": { "anyOf": [ {}, { "type": "null" } ], "title": "Parametersjsonschema", "description": "Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: ``` { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"age\": { \"type\": \"integer\" } }, \"additionalProperties\": false, \"required\": [\"name\", \"age\"], \"propertyOrdering\": [\"name\", \"age\"] } ``` This field is mutually exclusive with `parameters`." }, "response": { "anyOf": [ { "$ref": "#/components/schemas/Schema" }, { "type": "null" } ], "description": "Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function." }, "responseJsonSchema": { "anyOf": [ {}, { "type": "null" } ], "title": "Responsejsonschema", "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`." }, "behavior": { "anyOf": [ { "$ref": "#/components/schemas/Behavior" }, { "type": "null" } ], "description": "Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method." } }, "additionalProperties": false, "type": "object", "title": "FunctionDeclaration", "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client." }, "FunctionResponse": { "properties": { "willContinue": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Willcontinue", "description": "Optional. Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NON_BLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty `response` with `will_continue=False` to signal that the function call is finished. This may still trigger the model generation. To avoid triggering the generation and finish the function call, additionally set `scheduling` to `SILENT`. This field is not supported in Vertex AI." }, "scheduling": { "anyOf": [ { "$ref": "#/components/schemas/FunctionResponseScheduling" }, { "type": "null" } ], "description": "Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE." }, "parts": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FunctionResponsePart" }, "type": "array" }, { "type": "null" } ], "title": "Parts", "description": "Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types." }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`." }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name." }, "response": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Response", "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output." } }, "additionalProperties": false, "type": "object", "title": "FunctionResponse", "description": "The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model.\n\nThis should contain the result of a `FunctionCall` made based on model\nprediction." }, "FunctionResponseBlob": { "properties": { "mimeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mimetype", "description": "Required. The IANA standard MIME type of the source data." }, "data": { "anyOf": [ { "type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream" }, { "type": "null" } ], "title": "Data", "description": "Required. Raw bytes." }, "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname", "description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "FunctionResponseBlob", "description": "Raw media bytes for function response.\n\nText should not be sent as raw bytes, use the 'text' field." }, "FunctionResponseFileData": { "properties": { "fileUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fileuri", "description": "Required. URI." }, "mimeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mimetype", "description": "Required. The IANA standard MIME type of the source data." }, "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname", "description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled." } }, "additionalProperties": false, "type": "object", "title": "FunctionResponseFileData", "description": "URI based data for function response.\n\nThis data type is not supported in Gemini API." }, "FunctionResponsePart": { "properties": { "inlineData": { "anyOf": [ { "$ref": "#/components/schemas/FunctionResponseBlob" }, { "type": "null" } ], "description": "Inline media bytes." }, "fileData": { "anyOf": [ { "$ref": "#/components/schemas/FunctionResponseFileData" }, { "type": "null" } ], "description": "URI based data. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "FunctionResponsePart", "description": "A datatype containing media that is part of a `FunctionResponse` message.\n\nA `FunctionResponsePart` consists of data which has an associated datatype. A\n`FunctionResponsePart` can only contain one of the accepted types in\n`FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA\nMIME type identifying the type and subtype of the media if the `inline_data`\nfield is filled with raw bytes." }, "FunctionResponseScheduling": { "type": "string", "enum": [ "SCHEDULING_UNSPECIFIED", "SILENT", "WHEN_IDLE", "INTERRUPT" ], "title": "FunctionResponseScheduling", "description": "Specifies how the response should be scheduled in the conversation.\n\nOnly applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults\nto WHEN_IDLE." }, "GenerateContentResponseUsageMetadata": { "properties": { "cacheTokensDetails": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ModalityTokenCount" }, "type": "array" }, { "type": "null" } ], "title": "Cachetokensdetails", "description": "Output only. A detailed breakdown of the token count for each modality in the cached content." }, "cachedContentTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Cachedcontenttokencount", "description": "Output only. The number of tokens in the cached content that was used for this request." }, "candidatesTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Candidatestokencount", "description": "The total number of tokens in the generated candidates." }, "candidatesTokensDetails": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ModalityTokenCount" }, "type": "array" }, { "type": "null" } ], "title": "Candidatestokensdetails", "description": "Output only. A detailed breakdown of the token count for each modality in the generated candidates." }, "promptTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Prompttokencount", "description": "The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When `cached_content` is set, this also includes the number of tokens in the cached content." }, "promptTokensDetails": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ModalityTokenCount" }, "type": "array" }, { "type": "null" } ], "title": "Prompttokensdetails", "description": "Output only. A detailed breakdown of the token count for each modality in the prompt." }, "thoughtsTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Thoughtstokencount", "description": "Output only. The number of tokens that were part of the model's generated \"thoughts\" output, if applicable." }, "toolUsePromptTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Tooluseprompttokencount", "description": "Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable." }, "toolUsePromptTokensDetails": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ModalityTokenCount" }, "type": "array" }, { "type": "null" } ], "title": "Tooluseprompttokensdetails", "description": "Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input." }, "totalTokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Totaltokencount", "description": "The total number of tokens for the entire request. This is the sum of `prompt_token_count`, `candidates_token_count`, `tool_use_prompt_token_count`, and `thoughts_token_count`." }, "trafficType": { "anyOf": [ { "$ref": "#/components/schemas/TrafficType" }, { "type": "null" } ], "description": "Output only. The traffic type for this request." } }, "additionalProperties": false, "type": "object", "title": "GenerateContentResponseUsageMetadata", "description": "Usage metadata about the content generation request and response.\n\nThis message provides a detailed breakdown of token usage and other relevant\nmetrics. This data type is not supported in Gemini API." }, "GoogleMaps": { "properties": { "authConfig": { "anyOf": [ { "$ref": "#/components/schemas/AuthConfig" }, { "type": "null" } ], "description": "The authentication config to access the API. Only API key is supported. This field is not supported in Gemini API." }, "enableWidget": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enablewidget", "description": "Deprecated. The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and no longer has any effect once removed. Optional. Whether to return a widget context token in the GroundingMetadata of the response." }, "groundingTypes": { "anyOf": [ { "$ref": "#/components/schemas/GoogleMapsGroundingTypes" }, { "type": "null" } ], "description": "Optional. Specifies the types of Google Maps grounding to enable. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "GoogleMaps", "description": "Tool to retrieve knowledge from Google Maps." }, "GoogleMapsGroundingTypes": { "properties": { "places": { "anyOf": [ { "$ref": "#/components/schemas/GoogleMapsPlaces" }, { "type": "null" } ], "description": "Optional. Enables grounding with Google Maps Places. This is the default grounding type when no `GroundingTypes` are specified." }, "routing": { "anyOf": [ { "$ref": "#/components/schemas/GoogleMapsRouting" }, { "type": "null" } ], "description": "Optional. Enables grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute)." } }, "additionalProperties": false, "type": "object", "title": "GoogleMapsGroundingTypes", "description": "Defines the types of Google Maps grounding that can be enabled and their configurations.\n\nThis data type is not supported in Gemini API." }, "GoogleMapsPlaces": { "properties": {}, "additionalProperties": false, "type": "object", "title": "GoogleMapsPlaces", "description": "Grounding with Google Maps Places data (e.g.\n\nQueryPlaces). This is the default Google Maps grounding type when no other\ntype is specified. This data type is not supported in Gemini API." }, "GoogleMapsRouting": { "properties": {}, "additionalProperties": false, "type": "object", "title": "GoogleMapsRouting", "description": "Grounding with Google Maps Routing APIs (ComputeRoutes and SearchAlongRoute).\n\nThis data type is not supported in Gemini API." }, "GoogleSearch": { "properties": { "searchTypes": { "anyOf": [ { "$ref": "#/components/schemas/SearchTypes" }, { "type": "null" } ], "description": "Optional. The set of search types to enable. If not set, web search is enabled by default." }, "blockingConfidence": { "anyOf": [ { "$ref": "#/components/schemas/PhishBlockThreshold" }, { "type": "null" } ], "description": "Optional. Sites with confidence level chosen & above this value will be blocked from the search results. This field is not supported in Gemini API." }, "excludeDomains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Excludedomains", "description": "Optional. List of domains to be excluded from the search results. The default limit is 2000 domains. Example: [\"amazon.com\", \"facebook.com\"]. This field is not supported in Gemini API." }, "timeRangeFilter": { "anyOf": [ { "$ref": "#/components/schemas/Interval" }, { "type": "null" } ], "description": "Optional. Filter search results to a specific time range. If customers set a start time, they must set an end time (and vice versa). This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "GoogleSearch", "description": "GoogleSearch tool type.\n\nTool to support Google Search in Model. Powered by Google." }, "GoogleSearchRetrieval": { "properties": { "dynamicRetrievalConfig": { "anyOf": [ { "$ref": "#/components/schemas/DynamicRetrievalConfig" }, { "type": "null" } ], "description": "Specifies the dynamic retrieval configuration for the given source." } }, "additionalProperties": false, "type": "object", "title": "GoogleSearchRetrieval", "description": "Tool to retrieve public web data for grounding, powered by Google." }, "GoogleTypeDate": { "properties": { "day": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Day", "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant." }, "month": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Month", "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day." }, "year": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Year", "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year." } }, "additionalProperties": false, "type": "object", "title": "GoogleTypeDate", "description": "Represents a whole or partial calendar date, such as a birthday.\n\nThe time of day and time zone are either specified elsewhere or are\ninsignificant. The date is relative to the Gregorian Calendar. This can\nrepresent one of the following: * A full date, with non-zero year, month, and\nday values. * A month and day, with a zero year (for example, an anniversary).\n* A year on its own, with a zero month and a zero day. * A year and month,\nwith a zero day (for example, a credit card expiration date). Related types: *\ngoogle.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp. This\ndata type is not supported in Gemini API." }, "GroundingChunk": { "properties": { "image": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkImage" }, { "type": "null" } ], "description": "A grounding chunk from an image search result. See the `Image` message for details." }, "maps": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkMaps" }, { "type": "null" } ], "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\n It contains information about a place, such as its name, address, and\n reviews. This is used to provide the user with rich, location-based\n information." }, "retrievedContext": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkRetrievedContext" }, { "type": "null" } ], "description": "A grounding chunk from a data source retrieved by a retrieval tool, such as Vertex AI Search. See the `RetrievedContext` message for details" }, "web": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkWeb" }, { "type": "null" } ], "description": "A grounding chunk from a web page, typically from Google Search. See the `Web` message for details." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunk", "description": "A piece of evidence that supports a claim made by the model.\n\nThis is used to show a citation for a claim made by the model. When grounding\nis enabled, the model returns a `GroundingChunk` that contains a reference to\nthe source of the information." }, "GroundingChunkCustomMetadata": { "properties": { "key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Key", "description": "The key of the metadata." }, "numericValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Numericvalue", "description": "Optional. The numeric value of the metadata. The expected range for this value depends on the specific `key` used." }, "stringListValue": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkStringList" }, { "type": "null" } ], "description": "Optional. A list of string values for the metadata." }, "stringValue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stringvalue", "description": "Optional. The string value of the metadata." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkCustomMetadata", "description": "User provided metadata about the GroundingFact.\n\nThis data type is not supported in Vertex AI." }, "GroundingChunkImage": { "properties": { "sourceUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sourceuri", "description": "The URI of the image search result page." }, "imageUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Imageuri", "description": "The URI of the image." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "The title of the image search result page." }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Domain", "description": "The domain of the image search result page." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkImage", "description": "An `Image` chunk is a piece of evidence that comes from an image search result.\n\nIt contains the URI of the image search result and the URI of the image. This\nis used to provide the user with a link to the source of the information." }, "GroundingChunkMaps": { "properties": { "placeAnswerSources": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSources" }, { "type": "null" } ], "description": "The sources that were used to generate the place answer.\n\n This includes review snippets and photos that were used to generate the\n answer, as well as URIs to flag content." }, "placeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Placeid", "description": "This Place's resource name, in `places/{place_id}` format.\n\n This can be used to look up the place in the Google Maps API." }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "The text of the place answer." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "The title of the place." }, "uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uri", "description": "The URI of the place." }, "route": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkMapsRoute" }, { "type": "null" } ], "description": "Output only. Route information." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkMaps", "description": "A `Maps` chunk is a piece of evidence that comes from Google Maps.\n\nIt contains information about a place, such as its name, address, and reviews.\nThis is used to provide the user with rich, location-based information." }, "GroundingChunkMapsPlaceAnswerSources": { "properties": { "reviewSnippet": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" }, "type": "array" }, { "type": "null" } ], "title": "Reviewsnippet", "description": "Snippets of reviews that were used to generate the answer." }, "flagContentUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Flagcontenturi", "description": "A link where users can flag a problem with the generated answer." }, "reviewSnippets": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesReviewSnippet" }, "type": "array" }, { "type": "null" } ], "title": "Reviewsnippets", "description": "Snippets of reviews that were used to generate the answer." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkMapsPlaceAnswerSources", "description": "The sources that were used to generate the place answer.\n\nThis includes review snippets and photos that were used to generate the\nanswer, as well as URIs to flag content." }, "GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution": { "properties": { "displayName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Displayname", "description": "Name of the author of the Photo or Review." }, "photoUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Photouri", "description": "Profile photo URI of the author of the Photo or Review." }, "uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uri", "description": "URI of the author of the Photo or Review." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution", "description": "Author attribution for a photo or review." }, "GroundingChunkMapsPlaceAnswerSourcesReviewSnippet": { "properties": { "authorAttribution": { "anyOf": [ { "$ref": "#/components/schemas/GroundingChunkMapsPlaceAnswerSourcesAuthorAttribution" }, { "type": "null" } ], "description": "This review's author." }, "flagContentUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Flagcontenturi", "description": "A link where users can flag a problem with the review." }, "googleMapsUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Googlemapsuri", "description": "A link to show the review on Google Maps." }, "relativePublishTimeDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Relativepublishtimedescription", "description": "A string of formatted recent time, expressing the review time relative to the current time in a form appropriate for the language and country." }, "review": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Review", "description": "A reference representing this place review which may be used to look up this place review again." }, "reviewId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Reviewid", "description": "Id of the review referencing the place." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "Title of the review." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkMapsPlaceAnswerSourcesReviewSnippet", "description": "Encapsulates a review snippet." }, "GroundingChunkMapsRoute": { "properties": { "distanceMeters": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Distancemeters", "description": "The total distance of the route, in meters." }, "duration": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Duration", "description": "The total duration of the route." }, "encodedPolyline": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Encodedpolyline", "description": "An encoded polyline of the route. See https://developers.google.com/maps/documentation/utilities/polylinealgorithm" } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkMapsRoute", "description": "Route information from Google Maps.\n\nThis data type is not supported in Gemini API." }, "GroundingChunkRetrievedContext": { "properties": { "documentName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Documentname", "description": "Output only. The full resource name of the referenced Vertex AI Search document. This is used to identify the specific document that was retrieved. The format is `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. This field is not supported in Gemini API." }, "ragChunk": { "anyOf": [ { "$ref": "#/components/schemas/RagChunk" }, { "type": "null" } ], "description": "Additional context for a Retrieval-Augmented Generation (RAG) retrieval result. This is populated only when the RAG retrieval tool is used. This field is not supported in Gemini API." }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "The content of the retrieved data source." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "The title of the retrieved data source." }, "uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uri", "description": "The URI of the retrieved data source." }, "customMetadata": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingChunkCustomMetadata" }, "type": "array" }, { "type": "null" } ], "title": "Custommetadata", "description": "Optional. User-provided metadata about the retrieved context. This field is not supported in Vertex AI." }, "fileSearchStore": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Filesearchstore", "description": "Optional. Name of the `FileSearchStore` containing the document. Example: `fileSearchStores/123`. This field is not supported in Vertex AI." }, "pageNumber": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Pagenumber", "description": "Optional. Page number of the retrieved context, if applicable. This field is not supported in Vertex AI." }, "mediaId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Mediaid", "description": "Optional. The media blob resource name for multimodal file search results. Format: fileSearchStores/{file_search_store_id}/media/{blob_id}. This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkRetrievedContext", "description": "Context retrieved from a data source to ground the model's response.\n\nThis is used when a retrieval tool fetches information from a user-provided\ncorpus or a public dataset." }, "GroundingChunkStringList": { "properties": { "values": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Values", "description": "The string values of the list." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkStringList", "description": "A list of string values. This data type is not supported in Vertex AI." }, "GroundingChunkWeb": { "properties": { "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Domain", "description": "The domain of the web page that contains the evidence. This can be used to filter out low-quality sources. This field is not supported in Gemini API." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "The title of the web page that contains the evidence." }, "uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uri", "description": "The URI of the web page that contains the evidence." } }, "additionalProperties": false, "type": "object", "title": "GroundingChunkWeb", "description": "A `Web` chunk is a piece of evidence that comes from a web page.\n\nIt contains the URI of the web page, the title of the page, and the domain of\nthe page. This is used to provide the user with a link to the source of the\ninformation." }, "GroundingMetadata": { "properties": { "imageSearchQueries": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Imagesearchqueries", "description": "Optional. The image search queries that were used to generate the content. This field is populated only when the grounding source is Google Search with the Image Search search_type enabled." }, "groundingChunks": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingChunk" }, "type": "array" }, { "type": "null" } ], "title": "Groundingchunks", "description": "A list of supporting references retrieved from the grounding\n source. This field is populated when the grounding source is Google\n Search, Vertex AI Search, or Google Maps.\n " }, "groundingSupports": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingSupport" }, "type": "array" }, { "type": "null" } ], "title": "Groundingsupports", "description": "List of grounding support." }, "retrievalMetadata": { "anyOf": [ { "$ref": "#/components/schemas/RetrievalMetadata" }, { "type": "null" } ], "description": "Metadata related to retrieval in the grounding flow." }, "searchEntryPoint": { "anyOf": [ { "$ref": "#/components/schemas/SearchEntryPoint" }, { "type": "null" } ], "description": "Optional. Google search entry for the following-up web\n searches." }, "webSearchQueries": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Websearchqueries", "description": "Web search queries for the following-up web search." }, "googleMapsWidgetContextToken": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Googlemapswidgetcontexttoken", "description": "Optional. Output only. Deprecated: The Google Maps contextual widget behavior in Grounding with Google Maps is being deprecated; this field is planned for removal and will no longer be populated once removed. A token that can be used to render a Google Maps widget with the contextual data. This field is populated only when the grounding source is Google Maps." }, "retrievalQueries": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Retrievalqueries", "description": "Optional. The queries that were executed by the retrieval tools. This field is populated only when the grounding source is a retrieval tool, such as Vertex AI Search. This field is not supported in Gemini API." }, "sourceFlaggingUris": { "anyOf": [ { "items": { "$ref": "#/components/schemas/GroundingMetadataSourceFlaggingUri" }, "type": "array" }, { "type": "null" } ], "title": "Sourceflagginguris", "description": "Optional. Output only. A list of URIs that can be used to flag a place or review for inappropriate content. This field is populated only when the grounding source is Google Maps. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "GroundingMetadata", "description": "Information for various kinds of grounding." }, "GroundingMetadataSourceFlaggingUri": { "properties": { "flagContentUri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Flagcontenturi", "description": "The URI that can be used to flag the content." }, "sourceId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Sourceid", "description": "The ID of the place or review." } }, "additionalProperties": false, "type": "object", "title": "GroundingMetadataSourceFlaggingUri", "description": "A URI that can be used to flag a place or review for inappropriate content.\n\nThis is populated only when the grounding source is Google Maps. This data\ntype is not supported in Gemini API." }, "GroundingSupport": { "properties": { "confidenceScores": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "title": "Confidencescores", "description": "Confidence score of the support references.\n\n Ranges from 0 to 1. 1 is the most confident. This list must have the\n same size as the grounding_chunk_indices." }, "groundingChunkIndices": { "anyOf": [ { "items": { "type": "integer" }, "type": "array" }, { "type": "null" } ], "title": "Groundingchunkindices", "description": "A list of indices (into 'grounding_chunk') specifying the\n citations associated with the claim. For instance [1,3,4] means that\n grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the\n retrieved content attributed to the claim." }, "segment": { "anyOf": [ { "$ref": "#/components/schemas/Segment" }, { "type": "null" } ], "description": "Segment of the content this support belongs to." }, "renderedParts": { "anyOf": [ { "items": { "type": "integer" }, "type": "array" }, { "type": "null" } ], "title": "Renderedparts", "description": "Indices into the `rendered_parts` field of the `GroundingMetadata` message. These indices specify which rendered parts are associated with this support message." } }, "additionalProperties": false, "type": "object", "title": "GroundingSupport", "description": "Grounding support." }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "HttpElementLocation": { "type": "string", "enum": [ "HTTP_IN_UNSPECIFIED", "HTTP_IN_QUERY", "HTTP_IN_HEADER", "HTTP_IN_PATH", "HTTP_IN_BODY", "HTTP_IN_COOKIE" ], "title": "HttpElementLocation", "description": "The location of the API key. This enum is not supported in Gemini API." }, "ImageSearch": { "properties": {}, "additionalProperties": false, "type": "object", "title": "ImageSearch", "description": "Image search for grounding and related configurations." }, "Interval": { "properties": { "endTime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Endtime", "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end." }, "startTime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Starttime", "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start." } }, "additionalProperties": false, "type": "object", "title": "Interval", "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive).\n\nThe start must be less than or equal to the end. When the start equals the\nend, the interval is empty (matches no time). When both start and end are\nunspecified, the interval matches any time." }, "Language": { "type": "string", "enum": [ "LANGUAGE_UNSPECIFIED", "PYTHON" ], "title": "Language", "description": "Programming language of the `code`." }, "ListAppsResponse": { "properties": { "apps": { "items": { "$ref": "#/components/schemas/AppInfo" }, "type": "array", "title": "Apps" } }, "type": "object", "required": [ "apps" ], "title": "ListAppsResponse" }, "LiveServerGoAway": { "properties": { "timeLeft": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Timeleft", "description": "The remaining time before the connection will be terminated as ABORTED. The minimal time returned here is specified differently together with the rate limits for a given model." } }, "additionalProperties": false, "type": "object", "title": "LiveServerGoAway", "description": "Server will not be able to service client soon." }, "LiveServerSessionResumptionUpdate": { "properties": { "newHandle": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Newhandle", "description": "New handle that represents state that can be resumed. Empty if `resumable`=false." }, "resumable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Resumable", "description": "True if session can be resumed at this point. It might be not possible to resume session at some points. In that case we send update empty new_handle and resumable=false. Example of such case could be model executing function calls or just generating. Resuming session (using previous session token) in such state will result in some data loss." }, "lastConsumedClientMessageIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Lastconsumedclientmessageindex", "description": "Index of last message sent by client that is included in state represented by this SessionResumptionToken. Only sent when `SessionResumptionConfig.transparent` is set.\n\nPresence of this index allows users to transparently reconnect and avoid issue of losing some part of realtime audio input/video. If client wishes to temporarily disconnect (for example as result of receiving GoAway) they can do it without losing state by buffering messages sent since last `SessionResumptionTokenUpdate`. This field will enable them to limit buffering (avoid keeping all requests in RAM).\n\nNote: This should not be used for when resuming a session at some time later -- in those cases partial audio and video frames are likely not needed." } }, "additionalProperties": false, "type": "object", "title": "LiveServerSessionResumptionUpdate", "description": "Update of the session resumption state.\n\nOnly sent if `session_resumption` was set in the connection config." }, "LogprobsResult": { "properties": { "chosenCandidates": { "anyOf": [ { "items": { "$ref": "#/components/schemas/LogprobsResultCandidate" }, "type": "array" }, { "type": "null" } ], "title": "Chosencandidates", "description": "A list of the chosen candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps. Note that the chosen candidate might not be in `top_candidates`." }, "topCandidates": { "anyOf": [ { "items": { "$ref": "#/components/schemas/LogprobsResultTopCandidates" }, "type": "array" }, { "type": "null" } ], "title": "Topcandidates", "description": "A list of the top candidate tokens at each decoding step. The length of this list is equal to the total number of decoding steps." }, "logProbabilitySum": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Logprobabilitysum", "description": "Sum of log probabilities for all tokens. This field is not supported in Vertex AI." } }, "additionalProperties": false, "type": "object", "title": "LogprobsResult", "description": "The log probabilities of the tokens generated by the model.\n\nThis is useful for understanding the model's confidence in its predictions and\nfor debugging. For example, you can use log probabilities to identify when the\nmodel is making a less confident prediction or to explore alternative\nresponses that the model considered. A low log probability can also indicate\nthat the model is \"hallucinating\" or generating factually incorrect\ninformation." }, "LogprobsResultCandidate": { "properties": { "logProbability": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Logprobability", "description": "The log probability of this token. A higher value indicates that the model was more confident in this token. The log probability can be used to assess the relative likelihood of different tokens and to identify when the model is uncertain." }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token", "description": "The token's string representation." }, "tokenId": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Tokenid", "description": "The token's numerical ID. While the `token` field provides the string representation of the token, the `token_id` is the numerical representation that the model uses internally. This can be useful for developers who want to build custom logic based on the model's vocabulary." } }, "additionalProperties": false, "type": "object", "title": "LogprobsResultCandidate", "description": "A single token and its associated log probability." }, "LogprobsResultTopCandidates": { "properties": { "candidates": { "anyOf": [ { "items": { "$ref": "#/components/schemas/LogprobsResultCandidate" }, "type": "array" }, { "type": "null" } ], "title": "Candidates", "description": "The list of candidate tokens, sorted by log probability in descending order." } }, "additionalProperties": false, "type": "object", "title": "LogprobsResultTopCandidates", "description": "A list of the top candidate tokens and their log probabilities at each decoding step.\n\nThis can be used to see what other tokens the model considered." }, "McpServer": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "The name of the MCPServer." }, "streamableHttpTransport": { "anyOf": [ { "$ref": "#/components/schemas/StreamableHttpTransport" }, { "type": "null" } ], "description": "A transport that can stream HTTP requests and responses." } }, "additionalProperties": false, "type": "object", "title": "McpServer", "description": "A MCPServer is a server that can be called by the model to perform actions.\n\nIt is a server that implements the MCP protocol. Next ID: 6. This data type is\nnot supported in Vertex AI." }, "MediaModality": { "type": "string", "enum": [ "MODALITY_UNSPECIFIED", "TEXT", "IMAGE", "VIDEO", "AUDIO", "DOCUMENT" ], "title": "MediaModality", "description": "The modality that this token count applies to." }, "ModalityTokenCount": { "properties": { "modality": { "anyOf": [ { "$ref": "#/components/schemas/MediaModality" }, { "type": "null" } ], "description": "The modality that this token count applies to." }, "tokenCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Tokencount", "description": "The number of tokens counted for this modality." } }, "additionalProperties": false, "type": "object", "title": "ModalityTokenCount", "description": "Represents a breakdown of token usage by modality.\n\nThis message is used in CountTokensResponse and\nGenerateContentResponse.UsageMetadata to provide a detailed view of how many\ntokens are used by each modality (e.g., text, image, video) in a request. This\nis particularly useful for multimodal models, allowing you to track and manage\ntoken consumption for billing and quota purposes." }, "NodeInfo": { "properties": { "path": { "type": "string", "title": "Path", "default": "" }, "outputFor": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Outputfor" }, "messageAsOutput": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Messageasoutput" } }, "type": "object", "title": "NodeInfo", "description": "Workflow node metadata attached to an Event." }, "Outcome": { "type": "string", "enum": [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ], "title": "Outcome", "description": "Outcome of the code execution." }, "Part": { "properties": { "mediaResolution": { "anyOf": [ { "$ref": "#/components/schemas/PartMediaResolution" }, { "type": "null" } ], "description": "Media resolution for the input media.\n " }, "codeExecutionResult": { "anyOf": [ { "$ref": "#/components/schemas/CodeExecutionResult" }, { "type": "null" } ], "description": "Optional. The result of executing the ExecutableCode." }, "executableCode": { "anyOf": [ { "$ref": "#/components/schemas/ExecutableCode" }, { "type": "null" } ], "description": "Optional. Code generated by the model that is intended to be executed." }, "fileData": { "anyOf": [ { "$ref": "#/components/schemas/FileData" }, { "type": "null" } ], "description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage." }, "functionCall": { "anyOf": [ { "$ref": "#/components/schemas/FunctionCall" }, { "type": "null" } ], "description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function." }, "functionResponse": { "anyOf": [ { "$ref": "#/components/schemas/FunctionResponse" }, { "type": "null" } ], "description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted." }, "inlineData": { "anyOf": [ { "$ref": "#/components/schemas/Blob" }, { "type": "null" } ], "description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request." }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent." }, "thought": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Thought", "description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning." }, "thoughtSignature": { "anyOf": [ { "type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream" }, { "type": "null" } ], "title": "Thoughtsignature", "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests." }, "videoMetadata": { "anyOf": [ { "$ref": "#/components/schemas/VideoMetadata" }, { "type": "null" } ], "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." }, "toolCall": { "anyOf": [ { "$ref": "#/components/schemas/ToolCall" }, { "type": "null" } ], "description": "Server-side tool call. This field is populated when the model predicts a tool invocation that should be executed on the server. The client is expected to echo this message back to the API." }, "toolResponse": { "anyOf": [ { "$ref": "#/components/schemas/ToolResponse" }, { "type": "null" } ], "description": "The output from a server-side ToolCall execution. This field is populated by the client with the results of executing the corresponding ToolCall." }, "partMetadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Partmetadata", "description": "Custom metadata associated with the Part. Agents using genai.Part as content representation may need to keep track of the additional information. For example it can be name of a file/source from which the Part originates or a way to multiplex multiple Part streams. This field is not supported in Vertex AI." }, "audioTranscription": { "anyOf": [ { "$ref": "#/components/schemas/Transcription" }, { "type": "null" } ], "description": "Output only. The transcription of the audio part." } }, "additionalProperties": false, "type": "object", "title": "Part", "description": "A datatype containing media content.\n\nExactly one field within a Part should be set, representing the specific type\nof content being conveyed. Using multiple fields within the same `Part`\ninstance is considered invalid." }, "PartMediaResolution": { "properties": { "level": { "anyOf": [ { "$ref": "#/components/schemas/PartMediaResolutionLevel" }, { "type": "null" } ], "description": "The tokenization quality used for given media.\n " }, "numTokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Numtokens", "description": "Specifies the required sequence length for media tokenization.\n " } }, "additionalProperties": false, "type": "object", "title": "PartMediaResolution", "description": "Media resolution for the input media." }, "PartMediaResolutionLevel": { "type": "string", "enum": [ "MEDIA_RESOLUTION_UNSPECIFIED", "MEDIA_RESOLUTION_LOW", "MEDIA_RESOLUTION_MEDIUM", "MEDIA_RESOLUTION_HIGH", "MEDIA_RESOLUTION_ULTRA_HIGH" ], "title": "PartMediaResolutionLevel", "description": "The tokenization quality used for given media." }, "PartialArg": { "properties": { "boolValue": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Boolvalue", "description": "Optional. Represents a boolean value." }, "jsonPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Jsonpath", "description": "Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. \"$.foo.bar[0].data\"." }, "nullValue": { "anyOf": [ { "type": "string", "const": "NULL_VALUE" }, { "type": "null" } ], "title": "Nullvalue", "description": "Optional. Represents a null value." }, "numberValue": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Numbervalue", "description": "Optional. Represents a double value." }, "stringValue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stringvalue", "description": "Optional. Represents a string value." }, "willContinue": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Willcontinue", "description": "Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow." } }, "additionalProperties": false, "type": "object", "title": "PartialArg", "description": "Partial argument value of the function call.\n\nThis data type is not supported in Gemini API." }, "PhishBlockThreshold": { "type": "string", "enum": [ "PHISH_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_HIGH_AND_ABOVE", "BLOCK_HIGHER_AND_ABOVE", "BLOCK_VERY_HIGH_AND_ABOVE", "BLOCK_ONLY_EXTREMELY_HIGH" ], "title": "PhishBlockThreshold", "description": "Sites with confidence level chosen & above this value will be blocked from the search results.\n\nThis enum is not supported in Gemini API." }, "RagChunk": { "properties": { "pageSpan": { "anyOf": [ { "$ref": "#/components/schemas/RagChunkPageSpan" }, { "type": "null" } ], "description": "If populated, represents where the chunk starts and ends in the document." }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "The content of the chunk." }, "chunkId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Chunkid", "description": "The ID of the chunk." }, "fileId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fileid", "description": "The ID of the file that the chunk belongs to." } }, "additionalProperties": false, "type": "object", "title": "RagChunk", "description": "A RagChunk includes the content of a chunk of a RagFile, and associated metadata.\n\nThis data type is not supported in Gemini API." }, "RagChunkPageSpan": { "properties": { "firstPage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Firstpage", "description": "Page where chunk starts in the document. Inclusive. 1-indexed." }, "lastPage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Lastpage", "description": "Page where chunk ends in the document. Inclusive. 1-indexed." } }, "additionalProperties": false, "type": "object", "title": "RagChunkPageSpan", "description": "Represents where the chunk starts and ends in the document.\n\nThis data type is not supported in Gemini API." }, "RagRetrievalConfig": { "properties": { "filter": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfigFilter" }, { "type": "null" } ], "description": "Optional. Config for filters." }, "hybridSearch": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfigHybridSearch" }, { "type": "null" } ], "description": "Optional. Config for Hybrid Search." }, "ranking": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfigRanking" }, { "type": "null" } ], "description": "Optional. Config for ranking and reranking." }, "topK": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Topk", "description": "Optional. The number of contexts to retrieve." } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfig", "description": "Specifies the context retrieval config.\n\nThis data type is not supported in Gemini API." }, "RagRetrievalConfigFilter": { "properties": { "metadataFilter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Metadatafilter", "description": "Optional. String for metadata filtering." }, "vectorDistanceThreshold": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Vectordistancethreshold", "description": "Optional. Only returns contexts with vector distance smaller than the threshold." }, "vectorSimilarityThreshold": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Vectorsimilaritythreshold", "description": "Optional. Only returns contexts with vector similarity larger than the threshold." } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfigFilter", "description": "Config for filters. This data type is not supported in Gemini API." }, "RagRetrievalConfigHybridSearch": { "properties": { "alpha": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Alpha", "description": "Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally." } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfigHybridSearch", "description": "Config for Hybrid Search. This data type is not supported in Gemini API." }, "RagRetrievalConfigRanking": { "properties": { "llmRanker": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfigRankingLlmRanker" }, { "type": "null" } ], "description": "Optional. Config for LlmRanker." }, "rankService": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfigRankingRankService" }, { "type": "null" } ], "description": "Optional. Config for Rank Service." } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfigRanking", "description": "Config for ranking and reranking.\n\nThis data type is not supported in Gemini API." }, "RagRetrievalConfigRankingLlmRanker": { "properties": { "modelName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modelname", "description": "Optional. The model name used for ranking. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported-models)." } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfigRankingLlmRanker", "description": "Config for LlmRanker. This data type is not supported in Gemini API." }, "RagRetrievalConfigRankingRankService": { "properties": { "modelName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modelname", "description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`" } }, "additionalProperties": false, "type": "object", "title": "RagRetrievalConfigRankingRankService", "description": "Config for Rank Service. This data type is not supported in Gemini API." }, "Retrieval": { "properties": { "disableAttribution": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Disableattribution", "description": "Optional. Deprecated. This option is no longer supported." }, "externalApi": { "anyOf": [ { "$ref": "#/components/schemas/ExternalApi" }, { "type": "null" } ], "description": "Use data source powered by external API for grounding." }, "vertexAiSearch": { "anyOf": [ { "$ref": "#/components/schemas/VertexAISearch" }, { "type": "null" } ], "description": "Set to use data source powered by Vertex AI Search." }, "vertexRagStore": { "anyOf": [ { "$ref": "#/components/schemas/VertexRagStore" }, { "type": "null" } ], "description": "Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService." } }, "additionalProperties": false, "type": "object", "title": "Retrieval", "description": "Defines a retrieval tool that model can call to access external knowledge.\n\nThis data type is not supported in Gemini API." }, "RetrievalMetadata": { "properties": { "googleSearchDynamicRetrievalScore": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Googlesearchdynamicretrievalscore", "description": "Optional. Score indicating how likely information from google\n search could help answer the prompt. The score is in the range [0, 1],\n where 0 is the least likely and 1 is the most likely. This score is only\n populated when google search grounding and dynamic retrieval is enabled.\n It will be compared to the threshold to determine whether to trigger\n Google search." } }, "additionalProperties": false, "type": "object", "title": "RetrievalMetadata", "description": "Metadata returned to client when grounding is enabled." }, "RunAgentRequest": { "properties": { "appName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Appname" }, "userId": { "type": "string", "title": "Userid" }, "sessionId": { "type": "string", "title": "Sessionid" }, "newMessage": { "anyOf": [ { "$ref": "#/components/schemas/Content" }, { "type": "null" } ] }, "streaming": { "type": "boolean", "title": "Streaming", "default": false }, "stateDelta": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Statedelta" }, "functionCallEventId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Functioncalleventid" }, "invocationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Invocationid" }, "customMetadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Custommetadata" } }, "type": "object", "required": [ "userId", "sessionId" ], "title": "RunAgentRequest" }, "SafetyPolicy": { "type": "string", "enum": [ "SAFETY_POLICY_UNSPECIFIED", "FINANCIAL_TRANSACTIONS", "SENSITIVE_DATA_MODIFICATION", "COMMUNICATION_TOOL", "ACCOUNT_CREATION", "DATA_MODIFICATION", "USER_CONSENT_MANAGEMENT", "LEGAL_TERMS_AND_AGREEMENTS" ], "title": "SafetyPolicy", "description": "SafetyPolicy" }, "SaveArtifactRequest": { "properties": { "filename": { "type": "string", "title": "Filename", "description": "Artifact filename." }, "artifact": { "$ref": "#/components/schemas/Part", "description": "Artifact payload encoded as google.genai.types.Part." }, "customMetadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Custommetadata", "description": "Optional metadata to associate with the artifact version." } }, "type": "object", "required": [ "filename", "artifact" ], "title": "SaveArtifactRequest", "description": "Request payload for saving a new artifact." }, "Schema": { "properties": { "additionalProperties": { "anyOf": [ {}, { "type": "null" } ], "title": "Additionalproperties", "description": "Optional. Can either be a boolean or an object; controls the presence of additional properties." }, "defs": { "anyOf": [ { "additionalProperties": { "$ref": "#/components/schemas/Schema" }, "type": "object" }, { "type": "null" } ], "title": "Defs", "description": "Optional. A map of definitions for use by `ref` Only allowed at the root of the schema." }, "ref": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Ref", "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring" }, "anyOf": { "anyOf": [ { "items": { "$ref": "#/components/schemas/Schema" }, "type": "array" }, { "type": "null" } ], "title": "Anyof", "description": "Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`." }, "default": { "anyOf": [ {}, { "type": "null" } ], "title": "Default", "description": "Optional. Default value to use if the field is not specified." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt." }, "enum": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Enum", "description": "Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:[\"EAST\", \"NORTH\", \"SOUTH\", \"WEST\"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}`" }, "example": { "anyOf": [ {}, { "type": "null" } ], "title": "Example", "description": "Optional. Example of an instance of this schema." }, "format": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Format", "description": "Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type." }, "items": { "anyOf": [ { "$ref": "#/components/schemas/Schema" }, { "type": "null" } ], "description": "Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array." }, "maxItems": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maxitems", "description": "Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array." }, "maxLength": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maxlength", "description": "Optional. If type is `STRING`, `max_length` specifies the maximum length of the string." }, "maxProperties": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maxproperties", "description": "Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided." }, "maximum": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Maximum", "description": "Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value." }, "minItems": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Minitems", "description": "Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array." }, "minLength": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Minlength", "description": "Optional. If type is `STRING`, `min_length` specifies the minimum length of the string." }, "minProperties": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Minproperties", "description": "Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided." }, "minimum": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Minimum", "description": "Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value." }, "nullable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Nullable", "description": "Optional. Indicates if the value of this field can be null." }, "pattern": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pattern", "description": "Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match." }, "properties": { "anyOf": [ { "additionalProperties": { "$ref": "#/components/schemas/Schema" }, "type": "object" }, { "type": "null" } ], "title": "Properties", "description": "Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object." }, "propertyOrdering": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Propertyordering", "description": "Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties." }, "required": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Required", "description": "Optional. If type is `OBJECT`, `required` lists the names of properties that must be present." }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title", "description": "Optional. Title for the schema." }, "type": { "anyOf": [ { "$ref": "#/components/schemas/Type" }, { "type": "null" } ], "description": "Optional. Data type of the schema field." } }, "additionalProperties": false, "type": "object", "title": "Schema", "description": "Schema is used to define the format of input/output data.\n\nRepresents a select subset of an [OpenAPI 3.0 schema\nobject](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may\nbe added in the future as needed." }, "SearchEntryPoint": { "properties": { "renderedContent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Renderedcontent", "description": "Optional. Web content snippet that can be embedded in a web page\n or an app webview." }, "sdkBlob": { "anyOf": [ { "type": "string", "contentEncoding": "base64", "contentMediaType": "application/octet-stream" }, { "type": "null" } ], "title": "Sdkblob", "description": "Optional. JSON representing array of tuples." } }, "additionalProperties": false, "type": "object", "title": "SearchEntryPoint", "description": "The entry point used to search for grounding sources." }, "SearchTypes": { "properties": { "webSearch": { "anyOf": [ { "$ref": "#/components/schemas/WebSearch" }, { "type": "null" } ], "description": "Optional. Setting this field enables web search. Only text results are returned." }, "imageSearch": { "anyOf": [ { "$ref": "#/components/schemas/ImageSearch" }, { "type": "null" } ], "description": "Optional. Setting this field enables image search. Image bytes are returned." } }, "additionalProperties": false, "type": "object", "title": "SearchTypes", "description": "Different types of search that can be enabled on the GoogleSearch tool." }, "Segment": { "properties": { "startIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Startindex", "description": "Output only. Start index in the given Part, measured in bytes.\n\n Offset from the start of the Part, inclusive, starting at zero." }, "endIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Endindex", "description": "Output only. End index in the given Part, measured in bytes.\n\n Offset from the start of the Part, exclusive, starting at zero." }, "partIndex": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Partindex", "description": "Output only. The index of a Part object within its parent\n Content object." }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "Output only. The text corresponding to the segment from the\n response." } }, "additionalProperties": false, "type": "object", "title": "Segment", "description": "Segment of the content this support belongs to." }, "Session": { "properties": { "id": { "type": "string", "title": "Id", "description": "Unique identifier of the session.", "examples": [ "session-abc123" ] }, "appName": { "type": "string", "title": "Appname", "description": "Application name that owns the session.", "examples": [ "hello_world" ] }, "userId": { "type": "string", "title": "Userid", "description": "User ID that owns the session.", "examples": [ "user-123" ] }, "state": { "additionalProperties": true, "type": "object", "title": "State", "description": "Current persisted session state.", "examples": [ { "locale": "en-US" } ] }, "events": { "items": { "$ref": "#/components/schemas/Event-Output" }, "type": "array", "title": "Events", "description": "Ordered event history for the session, including user, model, and tool events (e.g. user input, model response, function call/response)." }, "lastUpdateTime": { "type": "number", "title": "Lastupdatetime", "description": "Unix timestamp in seconds for the most recent session update.", "default": 0.0, "examples": [ 1742000000.0 ] } }, "additionalProperties": false, "type": "object", "required": [ "id", "appName", "userId" ], "title": "Session", "description": "Represents a series of interactions between a user and agents." }, "StreamableHttpTransport": { "properties": { "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers", "description": "Optional: Fields for authentication headers, timeouts, etc., if needed." }, "sseReadTimeout": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Ssereadtimeout", "description": "Timeout for SSE read operations." }, "terminateOnClose": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Terminateonclose", "description": "Whether to close the client session when the transport closes." }, "timeout": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Timeout", "description": "HTTP timeout for regular operations." }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Url", "description": "The full URL for the MCPServer endpoint. Example: \"https://api.example.com/mcp\"." } }, "additionalProperties": false, "type": "object", "title": "StreamableHttpTransport", "description": "A transport that can stream HTTP requests and responses.\n\nNext ID: 6. This data type is not supported in Vertex AI." }, "Tool": { "properties": { "retrieval": { "anyOf": [ { "$ref": "#/components/schemas/Retrieval" }, { "type": "null" } ], "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, "computerUse": { "anyOf": [ { "$ref": "#/components/schemas/ComputerUse" }, { "type": "null" } ], "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations." }, "fileSearch": { "anyOf": [ { "$ref": "#/components/schemas/FileSearch" }, { "type": "null" } ], "description": "Optional. FileSearch tool type. Tool to retrieve knowledge from Semantic Retrieval corpora. This field is not supported in Vertex AI." }, "googleSearch": { "anyOf": [ { "$ref": "#/components/schemas/GoogleSearch" }, { "type": "null" } ], "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, "googleMaps": { "anyOf": [ { "$ref": "#/components/schemas/GoogleMaps" }, { "type": "null" } ], "description": "Optional. Tool that allows grounding the model's response with\n geospatial context related to the user's query." }, "codeExecution": { "anyOf": [ { "$ref": "#/components/schemas/ToolCodeExecution" }, { "type": "null" } ], "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation." }, "enterpriseWebSearch": { "anyOf": [ { "$ref": "#/components/schemas/EnterpriseWebSearch" }, { "type": "null" } ], "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, "functionDeclarations": { "anyOf": [ { "items": { "$ref": "#/components/schemas/FunctionDeclaration" }, "type": "array" }, { "type": "null" } ], "title": "Functiondeclarations", "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided." }, "googleSearchRetrieval": { "anyOf": [ { "$ref": "#/components/schemas/GoogleSearchRetrieval" }, { "type": "null" } ], "description": "Optional. Specialized retrieval tool that is powered by Google Search." }, "parallelAiSearch": { "anyOf": [ { "$ref": "#/components/schemas/ToolParallelAiSearch" }, { "type": "null" } ], "description": "Optional. If specified, Vertex AI will use Parallel.ai to search for information to answer user queries. The search results will be grounded on Parallel.ai and presented to the model for response generation. This field is not supported in Gemini API." }, "urlContext": { "anyOf": [ { "$ref": "#/components/schemas/UrlContext" }, { "type": "null" } ], "description": "Optional. Tool to support URL context retrieval." }, "mcpServers": { "anyOf": [ { "items": { "$ref": "#/components/schemas/McpServer" }, "type": "array" }, { "type": "null" } ], "title": "Mcpservers", "description": "Optional. MCP Servers to connect to. This field is not supported in Vertex AI." }, "exaAiSearch": { "anyOf": [ { "$ref": "#/components/schemas/ToolExaAiSearch" }, { "type": "null" } ], "description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation. This field is not supported in Gemini API." } }, "additionalProperties": false, "type": "object", "title": "Tool", "description": "Tool details of a tool that the model may use to generate a response." }, "ToolCall": { "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "Unique identifier of the tool call. The server returns the tool response with the matching `id`." }, "toolType": { "anyOf": [ { "$ref": "#/components/schemas/ToolType" }, { "type": "null" } ], "description": "The type of tool that was called." }, "args": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Args", "description": "The tool call arguments. Example: {\"arg1\": \"value1\", \"arg2\": \"value2\"}." } }, "additionalProperties": false, "type": "object", "title": "ToolCall", "description": "A predicted server-side `ToolCall` returned from the model.\n\nThis message contains information about a tool that the model wants to invoke.\nThe client is NOT expected to execute this `ToolCall`. Instead, the\nclient should pass this `ToolCall` back to the API in a subsequent turn\nwithin a `Content` message, along with the corresponding `ToolResponse`." }, "ToolCodeExecution": { "properties": {}, "additionalProperties": false, "type": "object", "title": "ToolCodeExecution", "description": "Tool that executes code generated by the model, and automatically returns the result to the model.\n\nSee also ExecutableCode and CodeExecutionResult, which are input and output to\nthis tool. This data type is not supported in Gemini API." }, "ToolConfirmation": { "properties": { "hint": { "type": "string", "title": "Hint", "default": "" }, "confirmed": { "type": "boolean", "title": "Confirmed", "default": false }, "payload": { "anyOf": [ {}, { "type": "null" } ], "title": "Payload" } }, "additionalProperties": false, "type": "object", "title": "ToolConfirmation", "description": "Represents a tool confirmation configuration." }, "ToolExaAiSearch": { "properties": { "apiKey": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikey", "description": "Required. The API key for ExaAiSearch." }, "customConfigs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Customconfigs", "description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API." } }, "additionalProperties": false, "type": "object", "title": "ToolExaAiSearch", "description": "ExaAiSearch tool type.\n\nA tool that uses the Exa.ai search engine for grounding. This data type is not\nsupported in Gemini API." }, "ToolParallelAiSearch": { "properties": { "apiKey": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Apikey", "description": "Optional. The API key for ParallelAiSearch. If an API key is not provided, the system will attempt to verify access by checking for an active Parallel.ai subscription through the Google Cloud Marketplace. See https://docs.parallel.ai/search/search-quickstart for more details." }, "customConfigs": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Customconfigs", "description": "Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { \"source_policy\": { \"include_domains\": [\"google.com\", \"wikipedia.org\"], \"exclude_domains\": [\"example.com\"] }, \"fetch_policy\": { \"max_age_seconds\": 3600 } }" } }, "additionalProperties": false, "type": "object", "title": "ToolParallelAiSearch", "description": "ParallelAiSearch tool type.\n\nA tool that uses the Parallel.ai search engine for grounding. This data type\nis not supported in Gemini API." }, "ToolResponse": { "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id", "description": "The identifier of the tool call this response is for." }, "toolType": { "anyOf": [ { "$ref": "#/components/schemas/ToolType" }, { "type": "null" } ], "description": "The type of tool that was called, matching the tool_type in the corresponding ToolCall." }, "response": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Response", "description": "The tool response." } }, "additionalProperties": false, "type": "object", "title": "ToolResponse", "description": "The output from a server-side `ToolCall` execution.\n\nThis message contains the results of a tool invocation that was initiated by a\n`ToolCall` from the model. The client should pass this `ToolResponse` back to\nthe API in a subsequent turn within a `Content` message, along with the\ncorresponding `ToolCall`." }, "ToolType": { "type": "string", "enum": [ "TOOL_TYPE_UNSPECIFIED", "GOOGLE_SEARCH_WEB", "GOOGLE_SEARCH_IMAGE", "URL_CONTEXT", "GOOGLE_MAPS", "FILE_SEARCH" ], "title": "ToolType", "description": "The type of tool in the function call." }, "TrafficType": { "type": "string", "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", "ON_DEMAND_PRIORITY", "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "title": "TrafficType", "description": "Output only.\n\nThe traffic type for this request. This enum is not supported in Gemini API." }, "Transcription": { "properties": { "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text", "description": "Optional. Transcription text." }, "finished": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Finished", "description": "Optional. The bool indicates the end of the transcription." }, "languageCode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Languagecode", "description": "The BCP-47 language code of the transcription." }, "speakerLabel": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Speakerlabel", "description": "A label identifying the speaker of this audio segment (e.g. \"spk_1\", \"spk_2\").\n " }, "words": { "anyOf": [ { "items": { "$ref": "#/components/schemas/WordInfo" }, "type": "array" }, { "type": "null" } ], "title": "Words", "description": "Detailed word-level transcriptions and timing details.\n " } }, "additionalProperties": false, "type": "object", "title": "Transcription", "description": "Audio transcription in Server Content." }, "TurnCompleteReason": { "type": "string", "enum": [ "TURN_COMPLETE_REASON_UNSPECIFIED", "MALFORMED_FUNCTION_CALL", "RESPONSE_REJECTED", "NEED_MORE_INPUT", "PROHIBITED_INPUT_CONTENT", "IMAGE_PROHIBITED_INPUT_CONTENT", "INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED", "INPUT_IMAGE_CELEBRITY", "INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED", "INPUT_TEXT_NCII_PROHIBITED", "INPUT_OTHER", "INPUT_IP_PROHIBITED", "BLOCKLIST", "UNSAFE_PROMPT_FOR_IMAGE_GENERATION", "GENERATED_IMAGE_SAFETY", "GENERATED_CONTENT_SAFETY", "GENERATED_AUDIO_SAFETY", "GENERATED_VIDEO_SAFETY", "GENERATED_CONTENT_PROHIBITED", "GENERATED_CONTENT_BLOCKLIST", "GENERATED_IMAGE_PROHIBITED", "GENERATED_IMAGE_CELEBRITY", "GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER", "GENERATED_IMAGE_IDENTIFIABLE_PEOPLE", "GENERATED_IMAGE_MINORS", "OUTPUT_IMAGE_IP_PROHIBITED", "GENERATED_OTHER", "MAX_REGENERATION_REACHED" ], "title": "TurnCompleteReason", "description": "The reason why the turn is complete." }, "Type": { "type": "string", "enum": [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT", "NULL" ], "title": "Type", "description": "Data type of the schema field." }, "UiWidget": { "properties": { "id": { "type": "string", "title": "Id" }, "provider": { "type": "string", "title": "Provider" }, "payload": { "additionalProperties": true, "type": "object", "title": "Payload" } }, "additionalProperties": false, "type": "object", "required": [ "id", "provider" ], "title": "UiWidget", "description": "Rendering metadata for a UI widget associated with an event.\n\nWhen present on an Event.actions, the UI renders the widget using the\nspecified provider's renderer component." }, "UpdateMemoryRequest": { "properties": { "sessionId": { "type": "string", "title": "Sessionid" } }, "type": "object", "required": [ "sessionId" ], "title": "UpdateMemoryRequest", "description": "Request to add a session to the memory service." }, "UpdateSessionRequest": { "properties": { "stateDelta": { "additionalProperties": true, "type": "object", "title": "Statedelta" } }, "type": "object", "required": [ "stateDelta" ], "title": "UpdateSessionRequest", "description": "Request to update session state without running the agent." }, "UrlContext": { "properties": {}, "additionalProperties": false, "type": "object", "title": "UrlContext", "description": "Tool to support URL context." }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "VertexAISearch": { "properties": { "dataStoreSpecs": { "anyOf": [ { "items": { "$ref": "#/components/schemas/VertexAISearchDataStoreSpec" }, "type": "array" }, { "type": "null" } ], "title": "Datastorespecs", "description": "Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used." }, "datastore": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datastore", "description": "Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`" }, "engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Engine", "description": "Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`" }, "filter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Filter", "description": "Optional. Filter strings to be passed to the search API." }, "maxResults": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Maxresults", "description": "Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10." } }, "additionalProperties": false, "type": "object", "title": "VertexAISearch", "description": "Retrieve from Vertex AI Search datastore or engine for grounding.\n\ndatastore and engine are mutually exclusive. See\nhttps://cloud.google.com/products/agent-builder. This data type is not\nsupported in Gemini API." }, "VertexAISearchDataStoreSpec": { "properties": { "dataStore": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datastore", "description": "Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`" }, "filter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Filter", "description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)" } }, "additionalProperties": false, "type": "object", "title": "VertexAISearchDataStoreSpec", "description": "Define data stores within engine to filter on in a search call and configurations for those data stores.\n\nFor more information, see\nhttps://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec.\nThis data type is not supported in Gemini API." }, "VertexRagStore": { "properties": { "ragCorpora": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Ragcorpora", "description": "Optional. Deprecated. Please use rag_resources instead." }, "ragResources": { "anyOf": [ { "items": { "$ref": "#/components/schemas/VertexRagStoreRagResource" }, "type": "array" }, { "type": "null" } ], "title": "Ragresources", "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support." }, "ragRetrievalConfig": { "anyOf": [ { "$ref": "#/components/schemas/RagRetrievalConfig" }, { "type": "null" } ], "description": "Optional. The retrieval config for the Rag query." }, "similarityTopK": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Similaritytopk", "description": "Optional. Number of top k results to return from the selected corpora." }, "storeContext": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Storecontext", "description": "Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions." }, "vectorDistanceThreshold": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Vectordistancethreshold", "description": "Optional. Only return results with vector distance smaller than the threshold." } }, "additionalProperties": false, "type": "object", "title": "VertexRagStore", "description": "Retrieve from Vertex RAG Store for grounding.\n\nThis data type is not supported in Gemini API." }, "VertexRagStoreRagResource": { "properties": { "ragCorpus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Ragcorpus", "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`" }, "ragFileIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Ragfileids", "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field." } }, "additionalProperties": false, "type": "object", "title": "VertexRagStoreRagResource", "description": "The definition of the Rag resource.\n\nThis data type is not supported in Gemini API." }, "VideoMetadata": { "properties": { "endOffset": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endoffset", "description": "Optional. The end offset of the video." }, "fps": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Fps", "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]." }, "startOffset": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Startoffset", "description": "Optional. The start offset of the video." } }, "additionalProperties": false, "type": "object", "title": "VideoMetadata", "description": "Provides metadata for a video, including the start and end offsets for clipping and the frame rate." }, "VoiceActivity": { "properties": { "voiceActivityType": { "anyOf": [ { "$ref": "#/components/schemas/VoiceActivityType" }, { "type": "null" } ], "description": "The type of the voice activity signal." }, "audioOffset": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Audiooffset", "description": "The time voice activity detected in audio time, relative to the start of the audio stream." } }, "additionalProperties": false, "type": "object", "title": "VoiceActivity", "description": "Voice activity signal." }, "VoiceActivityType": { "type": "string", "enum": [ "TYPE_UNSPECIFIED", "ACTIVITY_START", "ACTIVITY_END" ], "title": "VoiceActivityType", "description": "The type of the voice activity signal." }, "WebSearch": { "properties": {}, "additionalProperties": false, "type": "object", "title": "WebSearch", "description": "Standard web search for grounding and related configurations.\n\nOnly text results are returned." }, "WordInfo": { "properties": { "word": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Word", "description": "Transcript of the word.\n " }, "startOffset": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Startoffset", "description": "Start offset in time of the word relative to the start of the audio.\n " }, "endOffset": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Endoffset", "description": "End offset in time of the word relative to the start of the audio.\n " } }, "additionalProperties": false, "type": "object", "title": "WordInfo", "description": "Information about a single recognized word." } } } }