Files
2026-05-20 15:50:03 +00:00

8481 lines
257 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "ADK REST API Reference",
"version": "2.0.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"
}
}
}
}
}
}
},
"/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}": {
"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}/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/{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": "integer",
"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": {
"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}/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": "integer",
"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": {
"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}/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": {
"APIKey": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "apiKey"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"in": {
"$ref": "#/components/schemas/APIKeyIn"
},
"name": {
"type": "string",
"title": "Name"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"in",
"name"
],
"title": "APIKey"
},
"APIKeyIn": {
"type": "string",
"enum": [
"query",
"header",
"cookie"
],
"title": "APIKeyIn"
},
"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-Input": {
"properties": {
"authScheme": {
"anyOf": [
{
"$ref": "#/components/schemas/APIKey"
},
{
"$ref": "#/components/schemas/HTTPBase"
},
{
"$ref": "#/components/schemas/OAuth2"
},
{
"$ref": "#/components/schemas/OpenIdConnect"
},
{
"$ref": "#/components/schemas/HTTPBearer"
},
{
"$ref": "#/components/schemas/OpenIdConnectWithConfig"
},
{
"$ref": "#/components/schemas/CustomAuthScheme"
}
],
"title": "Authscheme"
},
"rawAuthCredential": {
"anyOf": [
{
"$ref": "#/components/schemas/AuthCredential"
},
{
"type": "null"
}
]
},
"exchangedAuthCredential": {
"anyOf": [
{
"$ref": "#/components/schemas/AuthCredential"
},
{
"type": "null"
}
]
},
"credentialKey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Credentialkey"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authScheme"
],
"title": "AuthConfig",
"description": "The auth config sent by tool asking client to collect auth credentials and\n\nadk and client will help to fill in the response"
},
"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."
},
"AuthCredential": {
"properties": {
"authType": {
"$ref": "#/components/schemas/AuthCredentialTypes"
},
"resourceRef": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resourceref"
},
"apiKey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Apikey"
},
"http": {
"anyOf": [
{
"$ref": "#/components/schemas/HttpAuth"
},
{
"type": "null"
}
]
},
"serviceAccount": {
"anyOf": [
{
"$ref": "#/components/schemas/ServiceAccount"
},
{
"type": "null"
}
]
},
"oauth2": {
"anyOf": [
{
"$ref": "#/components/schemas/OAuth2Auth"
},
{
"type": "null"
}
]
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authType"
],
"title": "AuthCredential",
"description": "Data class representing an authentication credential.\n\nTo exchange for the actual credential, please use\nCredentialExchanger.exchange_credential().\n\nExamples: API Key Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n api_key=\"1234\",\n)\n\nExample: HTTP Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"basic\",\n credentials=HttpCredentials(username=\"user\", password=\"password\"),\n ),\n)\n\nExample: OAuth2 Bearer Token in HTTP Header\nAuthCredential(\n auth_type=AuthCredentialTypes.HTTP,\n http=HttpAuth(\n scheme=\"bearer\",\n credentials=HttpCredentials(token=\"eyAkaknabna....\"),\n ),\n)\n\nExample: OAuth2 Auth with Authorization Code Flow\nAuthCredential(\n auth_type=AuthCredentialTypes.OAUTH2,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n ),\n)\n\nExample: OpenID Connect Auth\nAuthCredential(\n auth_type=AuthCredentialTypes.OPEN_ID_CONNECT,\n oauth2=OAuth2Auth(\n client_id=\"1234\",\n client_secret=\"secret\",\n redirect_uri=\"https://example.com\",\n scopes=[\"scope1\", \"scope2\"],\n ),\n)\n\nExample: Auth with resource reference\nAuthCredential(\n auth_type=AuthCredentialTypes.API_KEY,\n resource_ref=\"projects/1234/locations/us-central1/resources/resource1\",\n)"
},
"AuthCredentialTypes": {
"type": "string",
"enum": [
"apiKey",
"http",
"oauth2",
"openIdConnect",
"serviceAccount"
],
"title": "AuthCredentialTypes",
"description": "Represents the type of authentication credential."
},
"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\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI."
},
"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, total contents in request 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 total count of contents in the request.\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": "The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id."
}
},
"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": "By default, predefined functions are included in the final model call.\n Some of them can be explicitly excluded from being automatically included.\n This can serve two purposes:\n 1. Using a more restricted / different action space.\n 2. Improving the definitions / instructions of predefined functions."
}
},
"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"
},
"CustomAuthScheme": {
"properties": {
"type": {
"type": "string",
"title": "Type"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"type"
],
"title": "CustomAuthScheme",
"description": "A flexible model for custom authentication schemes.\n\nThe subclasses must define a `default` for the `type_` field, if using OAuth2\nuser consent flow, to ensure correct rehydration."
},
"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"
],
"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"
},
"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"
}
]
},
"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"
},
"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"
},
"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"
}
]
},
"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"
},
"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": {
"$ref": "#/components/schemas/AuthConfig-Input"
},
"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": {
"$ref": "#/components/schemas/google__adk__auth__auth_tool__AuthConfig"
},
"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": "Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`."
}
},
"additionalProperties": false,
"type": "object",
"title": "ExecutableCode",
"description": "Model-generated code executed server-side, results returned to the model.\n\nOnly generated when using the `CodeExecution` tool, in which the code will\nbe automatically executed, and a corresponding `CodeExecutionResult` will\nalso be generated."
},
"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/google__genai__types__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."
},
"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": "The unique id of the function call. If populated, the client to execute the\n `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 function call."
},
"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 64."
},
"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. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI."
}
},
"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": "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 (see FunctionDeclaration.behavior for details), ignored otherwise. If false, the default, future responses will not be considered. 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."
},
"scheduling": {
"anyOf": [
{
"$ref": "#/components/schemas/FunctionResponseScheduling"
},
{
"type": "null"
}
],
"description": "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": "List of parts that constitute a function response. Each part may\n have a different IANA MIME type."
},
"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": "A function response."
},
"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. Inline media bytes."
},
"displayName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Displayname",
"description": "Optional. Display name of the blob.\n Used to provide a label or filename to distinguish blobs."
}
},
"additionalProperties": false,
"type": "object",
"title": "FunctionResponseBlob",
"description": "Raw media bytes for function response.\n\nText should not be sent as raw bytes, use the FunctionResponse.response\nfield."
},
"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.\n Used to provide a label or filename to distinguish files."
}
},
"additionalProperties": false,
"type": "object",
"title": "FunctionResponseFileData",
"description": "URI based data for function response."
},
"FunctionResponsePart": {
"properties": {
"inlineData": {
"anyOf": [
{
"$ref": "#/components/schemas/FunctionResponseBlob"
},
{
"type": "null"
}
],
"description": "Optional. Inline media bytes."
},
"fileData": {
"anyOf": [
{
"$ref": "#/components/schemas/FunctionResponseFileData"
},
{
"type": "null"
}
],
"description": "Optional. URI based data."
}
},
"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`.\n\nA `FunctionResponsePart` must have a fixed IANA MIME type identifying the\ntype and subtype of the media if the `inline_data` field is filled with raw\nbytes."
},
"FunctionResponseScheduling": {
"type": "string",
"enum": [
"SCHEDULING_UNSPECIFIED",
"SILENT",
"WHEN_IDLE",
"INTERRUPT"
],
"title": "FunctionResponseScheduling",
"description": "Specifies how the response should be scheduled in the conversation."
},
"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/google__genai__types__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": "Optional. Whether to return a widget context token in the GroundingMetadata of the response. Developers can use the widget context token to render a Google Maps widget with geospatial context related to the places that the model references in the response."
}
},
"additionalProperties": false,
"type": "object",
"title": "GoogleMaps",
"description": "Tool to retrieve knowledge from Google Maps."
},
"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. This field is not supported in Vertex AI."
},
"mediaId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mediaid",
"description": "Optional. Media 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. 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."
},
"HTTPBase": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "http"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"scheme": {
"type": "string",
"title": "Scheme"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"scheme"
],
"title": "HTTPBase"
},
"HTTPBearer": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "http"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"scheme": {
"type": "string",
"const": "bearer",
"title": "Scheme",
"default": "bearer"
},
"bearerFormat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Bearerformat"
}
},
"additionalProperties": true,
"type": "object",
"title": "HTTPBearer"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HttpAuth": {
"properties": {
"scheme": {
"type": "string",
"title": "Scheme"
},
"credentials": {
"$ref": "#/components/schemas/HttpCredentials"
},
"additionalHeaders": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Additionalheaders"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"scheme",
"credentials"
],
"title": "HttpAuth",
"description": "The credentials and metadata for HTTP authentication."
},
"HttpCredentials": {
"properties": {
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Username"
},
"password": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Password"
},
"token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Token"
}
},
"additionalProperties": true,
"type": "object",
"title": "HttpCredentials",
"description": "Represents the secret token value for HTTP authentication, like user name, password, oauth token, etc."
},
"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 `SessionResmumptionTokenUpdate`. 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 arelikely 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: 5. This data type is\nnot supported in Vertex AI."
},
"MediaModality": {
"type": "string",
"enum": [
"MODALITY_UNSPECIFIED",
"TEXT",
"IMAGE",
"VIDEO",
"AUDIO",
"DOCUMENT"
],
"title": "MediaModality",
"description": "Server content modalities."
},
"ModalityTokenCount": {
"properties": {
"modality": {
"anyOf": [
{
"$ref": "#/components/schemas/MediaModality"
},
{
"type": "null"
}
],
"description": "The modality associated with this token count."
},
"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 token counting info for a single modality."
},
"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."
},
"OAuth2": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "oauth2"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"flows": {
"$ref": "#/components/schemas/OAuthFlows"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"flows"
],
"title": "OAuth2"
},
"OAuth2Auth": {
"properties": {
"clientId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clientid"
},
"clientSecret": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Clientsecret"
},
"authUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authuri"
},
"nonce": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Nonce"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State"
},
"redirectUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Redirecturi"
},
"authResponseUri": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authresponseuri"
},
"authCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authcode"
},
"accessToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Accesstoken"
},
"refreshToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Refreshtoken"
},
"idToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Idtoken"
},
"expiresAt": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Expiresat"
},
"expiresIn": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Expiresin"
},
"audience": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audience"
},
"codeVerifier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codeverifier"
},
"codeChallengeMethod": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Codechallengemethod"
},
"tokenEndpointAuthMethod": {
"anyOf": [
{
"type": "string",
"enum": [
"client_secret_basic",
"client_secret_post",
"client_secret_jwt",
"private_key_jwt"
]
},
{
"type": "null"
}
],
"title": "Tokenendpointauthmethod",
"default": "client_secret_basic"
}
},
"additionalProperties": true,
"type": "object",
"title": "OAuth2Auth",
"description": "Represents credential value and its metadata for a OAuth2 credential."
},
"OAuthFlowAuthorizationCode": {
"properties": {
"refreshUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Refreshurl"
},
"scopes": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Scopes",
"default": {}
},
"authorizationUrl": {
"type": "string",
"title": "Authorizationurl"
},
"tokenUrl": {
"type": "string",
"title": "Tokenurl"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authorizationUrl",
"tokenUrl"
],
"title": "OAuthFlowAuthorizationCode"
},
"OAuthFlowClientCredentials": {
"properties": {
"refreshUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Refreshurl"
},
"scopes": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Scopes",
"default": {}
},
"tokenUrl": {
"type": "string",
"title": "Tokenurl"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"tokenUrl"
],
"title": "OAuthFlowClientCredentials"
},
"OAuthFlowImplicit": {
"properties": {
"refreshUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Refreshurl"
},
"scopes": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Scopes",
"default": {}
},
"authorizationUrl": {
"type": "string",
"title": "Authorizationurl"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authorizationUrl"
],
"title": "OAuthFlowImplicit"
},
"OAuthFlowPassword": {
"properties": {
"refreshUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Refreshurl"
},
"scopes": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Scopes",
"default": {}
},
"tokenUrl": {
"type": "string",
"title": "Tokenurl"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"tokenUrl"
],
"title": "OAuthFlowPassword"
},
"OAuthFlows": {
"properties": {
"implicit": {
"anyOf": [
{
"$ref": "#/components/schemas/OAuthFlowImplicit"
},
{
"type": "null"
}
]
},
"password": {
"anyOf": [
{
"$ref": "#/components/schemas/OAuthFlowPassword"
},
{
"type": "null"
}
]
},
"clientCredentials": {
"anyOf": [
{
"$ref": "#/components/schemas/OAuthFlowClientCredentials"
},
{
"type": "null"
}
]
},
"authorizationCode": {
"anyOf": [
{
"$ref": "#/components/schemas/OAuthFlowAuthorizationCode"
},
{
"type": "null"
}
]
}
},
"additionalProperties": true,
"type": "object",
"title": "OAuthFlows"
},
"OpenIdConnect": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "openIdConnect"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"openIdConnectUrl": {
"type": "string",
"title": "Openidconnecturl"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"openIdConnectUrl"
],
"title": "OpenIdConnect"
},
"OpenIdConnectWithConfig": {
"properties": {
"type": {
"$ref": "#/components/schemas/SecuritySchemeType",
"default": "openIdConnect"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"authorization_endpoint": {
"type": "string",
"title": "Authorization Endpoint"
},
"token_endpoint": {
"type": "string",
"title": "Token Endpoint"
},
"userinfo_endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Userinfo Endpoint"
},
"revocation_endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Revocation Endpoint"
},
"token_endpoint_auth_methods_supported": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Token Endpoint Auth Methods Supported"
},
"grant_types_supported": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Grant Types Supported"
},
"scopes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Scopes"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authorization_endpoint",
"token_endpoint"
],
"title": "OpenIdConnectWithConfig"
},
"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."
}
},
"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."
}
},
"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"
}
},
"type": "object",
"required": [
"userId",
"sessionId"
],
"title": "RunAgentRequest"
},
"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."
},
"SecuritySchemeType": {
"type": "string",
"enum": [
"apiKey",
"http",
"oauth2",
"openIdConnect"
],
"title": "SecuritySchemeType"
},
"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."
},
"ServiceAccount": {
"properties": {
"serviceAccountCredential": {
"anyOf": [
{
"$ref": "#/components/schemas/ServiceAccountCredential"
},
{
"type": "null"
}
]
},
"scopes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Scopes"
},
"useDefaultCredential": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Usedefaultcredential",
"default": false
},
"useIdToken": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Useidtoken",
"default": false
},
"audience": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audience"
}
},
"additionalProperties": true,
"type": "object",
"title": "ServiceAccount",
"description": "Represents Google Service Account configuration.\n\nAttributes:\n service_account_credential: The service account credential (JSON key).\n scopes: The OAuth2 scopes to request. Optional; when omitted with\n ``use_default_credential=True``, defaults to the cloud-platform scope.\n use_default_credential: Whether to use Application Default Credentials.\n use_id_token: Whether to exchange for an ID token instead of an access\n token. Required for service-to-service authentication with Cloud Run,\n Cloud Functions, and other Google Cloud services that require identity\n verification. When True, ``audience`` must also be set.\n audience: The target audience for the ID token, typically the URL of the\n receiving service (e.g. ``https://my-service-xyz.run.app``). Required\n when ``use_id_token`` is True."
},
"ServiceAccountCredential": {
"properties": {
"type": {
"type": "string",
"title": "Type",
"default": ""
},
"projectId": {
"type": "string",
"title": "Projectid"
},
"privateKeyId": {
"type": "string",
"title": "Privatekeyid"
},
"privateKey": {
"type": "string",
"title": "Privatekey"
},
"clientEmail": {
"type": "string",
"title": "Clientemail"
},
"clientId": {
"type": "string",
"title": "Clientid"
},
"authUri": {
"type": "string",
"title": "Authuri"
},
"tokenUri": {
"type": "string",
"title": "Tokenuri"
},
"authProviderX509CertUrl": {
"type": "string",
"title": "Authproviderx509Certurl"
},
"clientX509CertUrl": {
"type": "string",
"title": "Clientx509Certurl"
},
"universeDomain": {
"type": "string",
"title": "Universedomain"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"projectId",
"privateKeyId",
"privateKey",
"clientEmail",
"clientId",
"authUri",
"tokenUri",
"authProviderX509CertUrl",
"clientX509CertUrl",
"universeDomain"
],
"title": "ServiceAccountCredential",
"description": "Represents Google Service Account configuration.\n\nAttributes:\n type: The type should be \"service_account\".\n project_id: The project ID.\n private_key_id: The ID of the private key.\n private_key: The private key.\n client_email: The client email.\n client_id: The client ID.\n auth_uri: The authorization URI.\n token_uri: The token URI.\n auth_provider_x509_cert_url: URL for auth provider's X.509 cert.\n client_x509_cert_url: URL for the client's X.509 cert.\n universe_domain: The universe domain.\n\nExample:\n\n config = ServiceAccountCredential(\n type_=\"service_account\",\n project_id=\"your_project_id\",\n private_key_id=\"your_private_key_id\",\n private_key=\"-----BEGIN PRIVATE KEY-----...\",\n client_email=\"...@....iam.gserviceaccount.com\",\n client_id=\"your_client_id\",\n auth_uri=\"https://accounts.google.com/o/oauth2/auth\",\n token_uri=\"https://oauth2.googleapis.com/token\",\n auth_provider_x509_cert_url=\"https://www.googleapis.com/oauth2/v1/certs\",\n client_x509_cert_url=\"https://www.googleapis.com/robot/v1/metadata/x509/...\",\n universe_domain=\"googleapis.com\"\n )\n\n\n config = ServiceAccountConfig.model_construct(**{\n ...service account config dict\n })"
},
"Session": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"appName": {
"type": "string",
"title": "Appname"
},
"userId": {
"type": "string",
"title": "Userid"
},
"state": {
"additionalProperties": true,
"type": "object",
"title": "State"
},
"events": {
"items": {
"$ref": "#/components/schemas/Event-Output"
},
"type": "array",
"title": "Events"
},
"lastUpdateTime": {
"type": "number",
"title": "Lastupdatetime",
"default": 0.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\n computer. If enabled, it automatically populates computer-use specific\n 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."
}
},
"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\nto this 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."
},
"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."
}
},
"additionalProperties": false,
"type": "object",
"title": "Transcription",
"description": "Audio transcription in Server Conent."
},
"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."
},
"WebSearch": {
"properties": {},
"additionalProperties": false,
"type": "object",
"title": "WebSearch",
"description": "Standard web search for grounding and related configurations.\n\nOnly text results are returned."
},
"google__adk__auth__auth_tool__AuthConfig": {
"properties": {
"authScheme": {
"anyOf": [
{
"$ref": "#/components/schemas/APIKey"
},
{
"$ref": "#/components/schemas/HTTPBase"
},
{
"$ref": "#/components/schemas/OAuth2"
},
{
"$ref": "#/components/schemas/OpenIdConnect"
},
{
"$ref": "#/components/schemas/HTTPBearer"
},
{
"$ref": "#/components/schemas/OpenIdConnectWithConfig"
},
{
"$ref": "#/components/schemas/CustomAuthScheme"
}
],
"title": "Authscheme"
},
"rawAuthCredential": {
"anyOf": [
{
"$ref": "#/components/schemas/AuthCredential"
},
{
"type": "null"
}
]
},
"exchangedAuthCredential": {
"anyOf": [
{
"$ref": "#/components/schemas/AuthCredential"
},
{
"type": "null"
}
]
},
"credentialKey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Credentialkey"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"authScheme"
],
"title": "AuthConfig",
"description": "The auth config sent by tool asking client to collect auth credentials and\n\nadk and client will help to fill in the response"
},
"google__genai__types__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."
}
}
}
}