SPB Git forge

spb/doc-api

Public
2commits 1branches 0releases
15.7 MBsize
maindefault branch
13 days agolast push
Python 88.3% TypeScript 7.6% Shell 4.1%
277.7 KB · 10,508 lines json
Raw Blame History
1{2 "$fragment": "objects/gemini-tools-agents-objects",3 "generated_by": "agent: gemini tools/agents/live (3 subagents, merged by tmp/gemini-parts/merge_patch.py)",4 "generated_at": "2026-09-18",5 "notes": "Tool/grounding objects, File Search objects, Interactions API objects, Environments, Live API messages, AuthToken, computer-use action catalogue. Records carrying live_observation_2026_09_18 were compared with real responses.",6 "records": [7  {8   "provider": "gemini",9   "api_family": "generate-content",10   "name": "Tool (tools[] item)",11   "object": "Tool",12   "schema_name": "Tool",13   "description": "One entry of `tools[]`. Each field enables one tool type; several may be set on one Tool or spread across the array. Exact keys (discovery rev. 20260918): functionDeclarations, googleSearchRetrieval, fileSearch, mcpServers, codeExecution, computerUse, googleMaps, urlContext, googleSearch.",14   "fields": [15    {16     "name": "functionDeclarations",17     "type": "array<FunctionDeclaration>",18     "required": false,19     "description": "Optional. A list of `FunctionDeclarations` available to the model that can be used for function calling. The model or system does not execute the function. Instead the defined function may be returned as a FunctionCall with arguments to the client side for execution. The model may decide to call a subset of these functions by populating FunctionCall in the response. The next conversation turn may contain a FunctionResponse with the Content.role \"function\" generation context for the next model turn."20    },21    {22     "name": "googleSearchRetrieval",23     "type": "GoogleSearchRetrieval",24     "required": false,25     "description": "Optional. Retrieval tool that is powered by Google search. LEGACY (1.5/2.0 models)."26    },27    {28     "name": "fileSearch",29     "type": "FileSearch",30     "required": false,31     "description": "Optional. FileSearch tool type. Tool to retrieve knowledge from Semantic Retrieval corpora."32    },33    {34     "name": "mcpServers",35     "type": "array<McpServer>",36     "required": false,37     "description": "Optional. MCP Servers to connect to. Not covered by generateContent guides; UNVERIFIED on the Gemini Developer API."38    },39    {40     "name": "codeExecution",41     "type": "CodeExecution",42     "required": false,43     "description": "Optional. Enables the model to execute code as part of generation."44    },45    {46     "name": "computerUse",47     "type": "ComputerUse",48     "required": false,49     "description": "Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations."50    },51    {52     "name": "googleMaps",53     "type": "GoogleMaps",54     "required": false,55     "description": "Optional. Tool that allows grounding the model's response with geospatial context related to the user's query."56    },57    {58     "name": "urlContext",59     "type": "UrlContext",60     "required": false,61     "description": "Optional. Tool to support URL context retrieval."62    },63    {64     "name": "googleSearch",65     "type": "GoogleSearch",66     "required": false,67     "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google."68    }69   ],70   "status": [71    "DOCUMENTED"72   ],73   "example": {74    "functionDeclarations": [75     {76      "name": "get_weather",77      "description": "...",78      "parameters": {79       "type": "object",80       "properties": {81        "city": {82         "type": "string"83        }84       },85       "required": [86        "city"87       ]88      }89     }90    ]91   },92   "sources": [93    {94     "url": "https://ai.google.dev/api/generate-content#Tool",95     "retrieved_at": "2026-09-18"96    }97   ]98  },99  {100   "provider": "gemini",101   "api_family": "generate-content",102   "name": "FunctionDeclaration",103   "object": "FunctionDeclaration",104   "schema_name": "FunctionDeclaration",105   "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.03 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.",106   "fields": [107    {108     "name": "name",109     "type": "string",110     "required": true,111     "description": "Required. The name of the function. Must be a-z, A-Z, 0-9, or contain underscores, colons, dots, and dashes, with a maximum length of 128."112    },113    {114     "name": "behavior",115     "type": "string",116     "required": false,117     "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. Live API only; REST reference: defaults to BLOCKING.",118     "enum": [119      "UNSPECIFIED",120      "BLOCKING",121      "NON_BLOCKING"122     ]123    },124    {125     "name": "parameters",126     "type": "Schema",127     "required": false,128     "description": "Optional. Describes the parameters to this function. 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."129    },130    {131     "name": "responseJsonSchema",132     "type": "any",133     "required": false,134     "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`."135    },136    {137     "name": "parametersJsonSchema",138     "type": "any",139     "required": false,140     "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`."141    },142    {143     "name": "response",144     "type": "Schema",145     "required": false,146     "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."147    },148    {149     "name": "description",150     "type": "string",151     "required": true,152     "description": "Required. A brief description of the function."153    }154   ],155   "status": [156    "DOCUMENTED"157   ],158   "example": {159    "name": "get_weather",160    "description": "Gets the weather for a city.",161    "parametersJsonSchema": {162     "type": "object",163     "properties": {164      "city": {165       "type": "string"166      }167     },168     "required": [169      "city"170     ]171    }172   },173   "sources": [174    {175     "url": "https://ai.google.dev/api/generate-content#FunctionDeclaration",176     "retrieved_at": "2026-09-18"177    }178   ]179  },180  {181   "provider": "gemini",182   "api_family": "generate-content",183   "name": "FunctionCallingConfig",184   "object": "FunctionCallingConfig",185   "schema_name": "FunctionCallingConfig",186   "description": "Configuration for specifying function calling behavior.",187   "fields": [188    {189     "name": "allowedFunctionNames",190     "type": "array<string>",191     "required": false,192     "description": "Optional. A set of function names that, when provided, limits the functions the model will call. This should only be set when the Mode is ANY or VALIDATED. Function names should match [FunctionDeclaration.name]. When set, model will predict a function call from only allowed function names."193    },194    {195     "name": "mode",196     "type": "string",197     "required": false,198     "description": "Optional. Specifies the mode in which function calling should execute. If unspecified, the default value will be set to AUTO.",199     "enum": [200      "MODE_UNSPECIFIED",201      "AUTO",202      "ANY",203      "NONE",204      "VALIDATED"205     ]206    }207   ],208   "status": [209    "DOCUMENTED"210   ],211   "example": {212    "mode": "ANY",213    "allowedFunctionNames": [214     "get_weather"215    ]216   },217   "sources": [218    {219     "url": "https://ai.google.dev/api/generate-content#FunctionCallingConfig",220     "retrieved_at": "2026-09-18"221    }222   ]223  },224  {225   "provider": "gemini",226   "api_family": "generate-content",227   "name": "ToolConfig",228   "object": "ToolConfig",229   "schema_name": "ToolConfig",230   "description": "Request-level `toolConfig` shared by all tools: functionCallingConfig, retrievalConfig, includeServerSideToolInvocations (Gemini 3 tool context circulation).",231   "fields": [232    {233     "name": "retrievalConfig",234     "type": "RetrievalConfig",235     "required": false,236     "description": "Optional. Retrieval config."237    },238    {239     "name": "includeServerSideToolInvocations",240     "type": "boolean",241     "required": false,242     "description": "Optional. If true, the API response will include the server-side tool calls and responses within the `Content` message. This allows clients to observe the server's tool interactions."243    },244    {245     "name": "functionCallingConfig",246     "type": "FunctionCallingConfig",247     "required": false,248     "description": "Optional. Function calling config."249    }250   ],251   "status": [252    "DOCUMENTED"253   ],254   "example": {255    "functionCallingConfig": {256     "mode": "VALIDATED"257    },258    "retrievalConfig": {259     "latLng": {260      "latitude": 45.5,261      "longitude": -73.56262     },263     "languageCode": "fr-CA"264    },265    "includeServerSideToolInvocations": true266   },267   "sources": [268    {269     "url": "https://ai.google.dev/api/generate-content#ToolConfig",270     "retrieved_at": "2026-09-18"271    }272   ]273  },274  {275   "provider": "gemini",276   "api_family": "generate-content",277   "name": "RetrievalConfig",278   "object": "RetrievalConfig",279   "schema_name": "RetrievalConfig",280   "description": "Retrieval config.",281   "fields": [282    {283     "name": "languageCode",284     "type": "string",285     "required": false,286     "description": "Optional. The language code of the user. Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)."287    },288    {289     "name": "latLng",290     "type": "LatLng",291     "required": false,292     "description": "Optional. The location of the user."293    }294   ],295   "status": [296    "DOCUMENTED"297   ],298   "example": {299    "latLng": {300     "latitude": 40.758896,301     "longitude": -73.98513302    },303    "languageCode": "en-US"304   },305   "sources": [306    {307     "url": "https://ai.google.dev/api/generate-content#RetrievalConfig",308     "retrieved_at": "2026-09-18"309    }310   ]311  },312  {313   "provider": "gemini",314   "api_family": "generate-content",315   "name": "LatLng",316   "object": "LatLng",317   "schema_name": "LatLng",318   "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.",319   "fields": [320    {321     "name": "longitude",322     "type": "number",323     "required": false,324     "description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."325    },326    {327     "name": "latitude",328     "type": "number",329     "required": false,330     "description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."331    }332   ],333   "status": [334    "DOCUMENTED"335   ],336   "example": {337    "latitude": 40.758896,338    "longitude": -73.98513339   },340   "sources": [341    {342     "url": "https://ai.google.dev/api/generate-content#LatLng",343     "retrieved_at": "2026-09-18"344    }345   ]346  },347  {348   "provider": "gemini",349   "api_family": "generate-content",350   "name": "GoogleSearch",351   "object": "GoogleSearch",352   "schema_name": "GoogleSearch",353   "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.",354   "fields": [355    {356     "name": "timeRangeFilter",357     "type": "Interval",358     "required": false,359     "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)."360    },361    {362     "name": "searchTypes",363     "type": "SearchTypes",364     "required": false,365     "description": "Optional. The set of search types to enable. If not set, web search is enabled by default."366    }367   ],368   "status": [369    "DOCUMENTED"370   ],371   "example": {372    "timeRangeFilter": {373     "startTime": "2026-01-01T00:00:00Z",374     "endTime": "2026-09-18T00:00:00Z"375    },376    "searchTypes": {377     "webSearch": {},378     "imageSearch": {}379    }380   },381   "sources": [382    {383     "url": "https://ai.google.dev/api/generate-content#GoogleSearch",384     "retrieved_at": "2026-09-18"385    }386   ]387  },388  {389   "provider": "gemini",390   "api_family": "generate-content",391   "name": "Interval",392   "object": "Interval",393   "schema_name": "Interval",394   "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.",395   "fields": [396    {397     "name": "startTime",398     "type": "string",399     "required": false,400     "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start."401    },402    {403     "name": "endTime",404     "type": "string",405     "required": false,406     "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end."407    }408   ],409   "status": [410    "DOCUMENTED"411   ],412   "example": {413    "startTime": "2026-01-01T00:00:00Z",414    "endTime": "2026-09-18T00:00:00Z"415   },416   "sources": [417    {418     "url": "https://ai.google.dev/api/generate-content#Interval",419     "retrieved_at": "2026-09-18"420    }421   ]422  },423  {424   "provider": "gemini",425   "api_family": "generate-content",426   "name": "SearchTypes",427   "object": "SearchTypes",428   "schema_name": "SearchTypes",429   "description": "Different types of search that can be enabled on the GoogleSearch tool.",430   "fields": [431    {432     "name": "webSearch",433     "type": "WebSearch",434     "required": false,435     "description": "Optional. Enables web search. Only text results are returned."436    },437    {438     "name": "imageSearch",439     "type": "ImageSearch",440     "required": false,441     "description": "Optional. Enables image search. Image bytes are returned."442    }443   ],444   "status": [445    "DOCUMENTED"446   ],447   "example": {448    "webSearch": {},449    "imageSearch": {}450   },451   "sources": [452    {453     "url": "https://ai.google.dev/api/generate-content#SearchTypes",454     "retrieved_at": "2026-09-18"455    }456   ]457  },458  {459   "provider": "gemini",460   "api_family": "generate-content",461   "name": "WebSearch",462   "object": "WebSearch",463   "schema_name": "WebSearch",464   "description": "Empty marker object enabling text web search inside GoogleSearch.searchTypes.",465   "fields": [],466   "status": [467    "DOCUMENTED"468   ],469   "example": {},470   "sources": [471    {472     "url": "https://ai.google.dev/api/generate-content#WebSearch",473     "retrieved_at": "2026-09-18"474    }475   ]476  },477  {478   "provider": "gemini",479   "api_family": "generate-content",480   "name": "ImageSearch",481   "object": "ImageSearch",482   "schema_name": "ImageSearch",483   "description": "Empty marker object enabling image search inside GoogleSearch.searchTypes (image bytes returned; Nano Banana 2 image generation grounding). Real schema; not a top-level Tool key.",484   "fields": [],485   "status": [486    "DOCUMENTED"487   ],488   "example": {},489   "sources": [490    {491     "url": "https://ai.google.dev/api/generate-content#ImageSearch",492     "retrieved_at": "2026-09-18"493    }494   ]495  },496  {497   "provider": "gemini",498   "api_family": "generate-content",499   "name": "GoogleSearchRetrieval (legacy)",500   "object": "GoogleSearchRetrieval",501   "schema_name": "GoogleSearchRetrieval",502   "description": "Tool to retrieve public web data for grounding, powered by Google.",503   "fields": [504    {505     "name": "dynamicRetrievalConfig",506     "type": "DynamicRetrievalConfig",507     "required": false,508     "description": "Specifies the dynamic retrieval configuration for the given source."509    }510   ],511   "status": [512    "DOCUMENTED",513    "LEGACY",514    "DEPRECATED"515   ],516   "example": {517    "dynamicRetrievalConfig": {518     "mode": "MODE_DYNAMIC",519     "dynamicThreshold": 0.7520    }521   },522   "sources": [523    {524     "url": "https://ai.google.dev/api/generate-content#GoogleSearchRetrieval",525     "retrieved_at": "2026-09-18"526    }527   ]528  },529  {530   "provider": "gemini",531   "api_family": "generate-content",532   "name": "DynamicRetrievalConfig (legacy)",533   "object": "DynamicRetrievalConfig",534   "schema_name": "DynamicRetrievalConfig",535   "description": "Describes the options to customize dynamic retrieval.",536   "fields": [537    {538     "name": "dynamicThreshold",539     "type": "number",540     "required": false,541     "description": "The threshold to be used in dynamic retrieval. If not set, a system default value is used."542    },543    {544     "name": "mode",545     "type": "string",546     "required": false,547     "description": "The mode of the predictor to be used in dynamic retrieval.",548     "enum": [549      "MODE_UNSPECIFIED",550      "MODE_DYNAMIC"551     ]552    }553   ],554   "status": [555    "DOCUMENTED",556    "LEGACY",557    "DEPRECATED"558   ],559   "example": {560    "mode": "MODE_DYNAMIC",561    "dynamicThreshold": 0.7562   },563   "sources": [564    {565     "url": "https://ai.google.dev/api/generate-content#DynamicRetrievalConfig",566     "retrieved_at": "2026-09-18"567    }568   ]569  },570  {571   "provider": "gemini",572   "api_family": "generate-content",573   "name": "GoogleMaps",574   "object": "GoogleMaps",575   "schema_name": "GoogleMaps",576   "description": "The GoogleMaps Tool that provides geospatial context for the user's query.",577   "fields": [578    {579     "name": "enableWidget",580     "type": "boolean",581     "required": false,582     "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."583    }584   ],585   "status": [586    "DOCUMENTED"587   ],588   "example": {589    "enableWidget": true590   },591   "sources": [592    {593     "url": "https://ai.google.dev/api/generate-content#GoogleMaps",594     "retrieved_at": "2026-09-18"595    }596   ]597  },598  {599   "provider": "gemini",600   "api_family": "generate-content",601   "name": "UrlContext",602   "object": "UrlContext",603   "schema_name": "UrlContext",604   "description": "Empty object enabling URL context retrieval (up to 20 URLs from the prompt).",605   "fields": [],606   "status": [607    "DOCUMENTED"608   ],609   "example": {},610   "sources": [611    {612     "url": "https://ai.google.dev/api/generate-content#UrlContext",613     "retrieved_at": "2026-09-18"614    }615   ]616  },617  {618   "provider": "gemini",619   "api_family": "generate-content",620   "name": "CodeExecution",621   "object": "CodeExecution",622   "schema_name": "CodeExecution",623   "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also `ExecutableCode` and `CodeExecutionResult` which are only generated when using this tool.",624   "fields": [],625   "status": [626    "DOCUMENTED"627   ],628   "example": {},629   "sources": [630    {631     "url": "https://ai.google.dev/api/generate-content#CodeExecution",632     "retrieved_at": "2026-09-18"633    }634   ]635  },636  {637   "provider": "gemini",638   "api_family": "generate-content",639   "name": "ComputerUse",640   "object": "ComputerUse",641   "schema_name": "ComputerUse",642   "description": "Computer Use tool type.",643   "fields": [644    {645     "name": "enablePromptInjectionDetection",646     "type": "boolean",647     "required": false,648     "description": "Optional. Whether enable the prompt injection detection check on computer-use request."649    },650    {651     "name": "environment",652     "type": "string",653     "required": true,654     "description": "Required. The environment being operated.",655     "enum": [656      "ENVIRONMENT_UNSPECIFIED",657      "ENVIRONMENT_BROWSER",658      "ENVIRONMENT_MOBILE",659      "ENVIRONMENT_DESKTOP"660     ]661    },662    {663     "name": "disabledSafetyPolicies",664     "type": "array<string>",665     "required": false,666     "description": "Optional. Disabled safety policies for computer use. Enum SafetyPolicy: FINANCIAL_TRANSACTIONS, SENSITIVE_DATA_MODIFICATION, COMMUNICATION_TOOL, ACCOUNT_CREATION, DATA_MODIFICATION, USER_CONSENT_MANAGEMENT, LEGAL_TERMS_AND_AGREEMENTS."667    },668    {669     "name": "excludedPredefinedFunctions",670     "type": "array<string>",671     "required": false,672     "description": "Optional. By default, predefined functions are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions."673    }674   ],675   "status": [676    "DOCUMENTED",677    "PREVIEW"678   ],679   "example": {680    "environment": "ENVIRONMENT_BROWSER",681    "excludedPredefinedFunctions": [682     "drag_and_drop"683    ],684    "enablePromptInjectionDetection": true,685    "disabledSafetyPolicies": [686     "DATA_MODIFICATION"687    ]688   },689   "sources": [690    {691     "url": "https://ai.google.dev/api/generate-content#ComputerUse",692     "retrieved_at": "2026-09-18"693    }694   ]695  },696  {697   "provider": "gemini",698   "api_family": "generate-content",699   "name": "FileSearch",700   "object": "FileSearch",701   "schema_name": "FileSearch",702   "description": "The FileSearch tool that retrieves knowledge from Semantic Retrieval corpora. Files are imported to Semantic Retrieval corpora using the ImportFile API.",703   "fields": [704    {705     "name": "fileSearchStoreNames",706     "type": "array<string>",707     "required": true,708     "description": "Required. The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"709    },710    {711     "name": "topK",712     "type": "integer",713     "required": false,714     "description": "Optional. The number of semantic retrieval chunks to retrieve."715    },716    {717     "name": "metadataFilter",718     "type": "string",719     "required": false,720     "description": "Optional. Metadata filter to apply to the semantic retrieval documents and chunks."721    }722   ],723   "status": [724    "DOCUMENTED",725    "PREVIEW"726   ],727   "example": {728    "fileSearchStoreNames": [729     "fileSearchStores/my-store-123a456b789c"730    ],731    "metadataFilter": "author = \"Robert Graves\"",732    "topK": 5733   },734   "sources": [735    {736     "url": "https://ai.google.dev/api/generate-content#FileSearch",737     "retrieved_at": "2026-09-18"738    }739   ]740  },741  {742   "provider": "gemini",743   "api_family": "generate-content",744   "name": "McpServer (server-side MCP, schema only)",745   "object": "McpServer",746   "schema_name": "McpServer",747   "description": "A MCPServer is a server that can be called by the model to perform actions. It is a server that implements the MCP protocol. Next ID: 7",748   "fields": [749    {750     "name": "streamableHttpTransport",751     "type": "StreamableHttpTransport",752     "required": false,753     "description": "A transport that can stream HTTP requests and responses."754    },755    {756     "name": "name",757     "type": "string",758     "required": false,759     "description": "The name of the MCPServer."760    }761   ],762   "status": [763    "DOCUMENTED",764    "DOCUMENTATION_INCOMPLETE",765    "UNVERIFIED"766   ],767   "example": {768    "name": "weather",769    "streamableHttpTransport": {770     "url": "https://example.com/mcp",771     "headers": {772      "Authorization": "Bearer ..."773     },774     "timeout": "30s"775    }776   },777   "sources": [778    {779     "url": "https://ai.google.dev/api/generate-content#McpServer",780     "retrieved_at": "2026-09-18"781    }782   ]783  },784  {785   "provider": "gemini",786   "api_family": "generate-content",787   "name": "StreamableHttpTransport",788   "object": "StreamableHttpTransport",789   "schema_name": "StreamableHttpTransport",790   "description": "A transport that can stream HTTP requests and responses. Next ID: 6",791   "fields": [792    {793     "name": "terminateOnClose",794     "type": "boolean",795     "required": false,796     "description": "Whether to close the client session when the transport closes."797    },798    {799     "name": "sseReadTimeout",800     "type": "string",801     "required": false,802     "description": "Timeout for SSE read operations."803    },804    {805     "name": "headers",806     "type": "object",807     "required": false,808     "description": "Optional: Fields for authentication headers, timeouts, etc., if needed."809    },810    {811     "name": "timeout",812     "type": "string",813     "required": false,814     "description": "HTTP timeout for regular operations."815    },816    {817     "name": "url",818     "type": "string",819     "required": false,820     "description": "The full URL for the MCPServer endpoint. Example: \"https://api.example.com/mcp\""821    }822   ],823   "status": [824    "DOCUMENTED",825    "UNVERIFIED"826   ],827   "example": {828    "url": "https://example.com/mcp",829    "headers": {},830    "timeout": "30s",831    "sseReadTimeout": "300s",832    "terminateOnClose": true833   },834   "sources": [835    {836     "url": "https://ai.google.dev/api/generate-content#StreamableHttpTransport",837     "retrieved_at": "2026-09-18"838    }839   ]840  },841  {842   "provider": "gemini",843   "api_family": "generate-content",844   "name": "FunctionCall (Part.functionCall)",845   "object": "FunctionCall",846   "schema_name": "FunctionCall",847   "description": "A predicted `FunctionCall` returned from the model that contains a string representing the `FunctionDeclaration.name` with the arguments and their values.",848   "fields": [849    {850     "name": "args",851     "type": "object",852     "required": false,853     "description": "Optional. The function parameters and values in JSON object format."854    },855    {856     "name": "name",857     "type": "string",858     "required": true,859     "description": "Required. The name of the function to call. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 128."860    },861    {862     "name": "id",863     "type": "string",864     "required": false,865     "description": "Optional. Unique identifier of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`."866    }867   ],868   "status": [869    "DOCUMENTED",870    "LIVE_VERIFIED"871   ],872   "example": {873    "id": "m4q8z1v6",874    "name": "get_weather",875    "args": {876     "city": "Paris"877    }878   },879   "sources": [880    {881     "url": "https://ai.google.dev/api/generate-content#FunctionCall",882     "retrieved_at": "2026-09-18"883    }884   ],885   "companion_part_fields": {886    "thoughtSignature": "base64 string on the same Part — Gemini 3: mandatory on the first functionCall of each step"887   },888   "live_observation_2026_09_18": "live: {name, args, id: call_…} + sibling part field thoughtSignature (first call of a parallel turn only); Live API toolCall ids look like function-call-<digits>"889  },890  {891   "provider": "gemini",892   "api_family": "generate-content",893   "name": "FunctionResponse (Part.functionResponse)",894   "object": "FunctionResponse",895   "schema_name": "FunctionResponse",896   "description": "The result output from a `FunctionCall` that contains a string representing the `FunctionDeclaration.name` and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a`FunctionCall` made based on model prediction.",897   "fields": [898    {899     "name": "id",900     "type": "string",901     "required": false,902     "description": "Optional. The identifier of the function call this response is for. Populated by the client to match the corresponding function call `id`."903    },904    {905     "name": "name",906     "type": "string",907     "required": true,908     "description": "Required. The name of the function to call. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 128."909    },910    {911     "name": "scheduling",912     "type": "string",913     "required": false,914     "description": "Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. Live NON_BLOCKING only.",915     "enum": [916      "SCHEDULING_UNSPECIFIED",917      "SILENT",918      "WHEN_IDLE",919      "INTERRUPT"920     ]921    },922    {923     "name": "willContinue",924     "type": "boolean",925     "required": false,926     "description": "Optional. Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NON_BLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty `response` with `will_continue=False` to signal that the function call is finished. This may still trigger the model generation. To avoid triggering the generation and finish the function call, additionally set `scheduling` to `SILENT`. Live NON_BLOCKING only."927    },928    {929     "name": "response",930     "type": "object",931     "required": true,932     "description": "Required. The function response in JSON object format. Callers can use any keys of their choice that fit the function's syntax to return the function output, e.g. \"output\", \"result\", etc. In particular, if the function call failed to execute, the response can have an \"error\" key to return error details to the model. Multimedia can be included by using a subobject containing a single \"$ref\" key whose value is the `inline_data.display_name` of a `FunctionResponsePart` holding the multimedia. See https://ai.google.dev/gemini-api/docs/function-calling#multimodal."933    },934    {935     "name": "parts",936     "type": "array<FunctionResponsePart>",937     "required": false,938     "description": "Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types."939    }940   ],941   "status": [942    "DOCUMENTED"943   ],944   "example": {945    "id": "m4q8z1v6",946    "name": "get_weather",947    "response": {948     "temperature": 18,949     "unit": "C",950     "image": {951      "$ref": "photo.png"952     }953    },954    "parts": [955     {956      "inlineData": {957       "mimeType": "image/png",958       "data": "<base64>",959       "displayName": "photo.png"960      }961     }962    ]963   },964   "sources": [965    {966     "url": "https://ai.google.dev/api/generate-content#FunctionResponse",967     "retrieved_at": "2026-09-18"968    }969   ]970  },971  {972   "provider": "gemini",973   "api_family": "generate-content",974   "name": "FunctionResponsePart",975   "object": "FunctionResponsePart",976   "schema_name": "FunctionResponsePart",977   "description": "A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.",978   "fields": [979    {980     "name": "inlineData",981     "type": "FunctionResponseBlob",982     "required": false,983     "description": "Inline media bytes."984    }985   ],986   "status": [987    "DOCUMENTED"988   ],989   "example": {990    "inlineData": {991     "mimeType": "image/png",992     "data": "<base64>"993    }994   },995   "sources": [996    {997     "url": "https://ai.google.dev/api/generate-content#FunctionResponsePart",998     "retrieved_at": "2026-09-18"999    }1000   ]1001  },1002  {1003   "provider": "gemini",1004   "api_family": "generate-content",1005   "name": "FunctionResponseBlob",1006   "object": "FunctionResponseBlob",1007   "schema_name": "FunctionResponseBlob",1008   "description": "Raw media bytes for function response. Text should not be sent as raw bytes, use the 'FunctionResponse.response' field.",1009   "fields": [1010    {1011     "name": "data",1012     "type": "string",1013     "required": false,1014     "description": "Raw bytes for media formats."1015    },1016    {1017     "name": "mimeType",1018     "type": "string",1019     "required": false,1020     "description": "The IANA standard MIME type of the source data. Examples: - image/png - image/jpeg If an unsupported MIME type is provided, an error will be returned. For a complete list of supported types, see [Supported file formats](https://ai.google.dev/gemini-api/docs/prompting_with_media#supported_file_formats)."1021    }1022   ],1023   "status": [1024    "DOCUMENTED"1025   ],1026   "example": {1027    "mimeType": "image/jpeg",1028    "data": "<base64>"1029   },1030   "sources": [1031    {1032     "url": "https://ai.google.dev/api/generate-content#FunctionResponseBlob",1033     "retrieved_at": "2026-09-18"1034    }1035   ]1036  },1037  {1038   "provider": "gemini",1039   "api_family": "generate-content",1040   "name": "ExecutableCode (Part.executableCode)",1041   "object": "ExecutableCode",1042   "schema_name": "ExecutableCode",1043   "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Only generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding `CodeExecutionResult` will also be generated.",1044   "fields": [1045    {1046     "name": "code",1047     "type": "string",1048     "required": true,1049     "description": "Required. The code to be executed."1050    },1051    {1052     "name": "id",1053     "type": "string",1054     "required": false,1055     "description": "Optional. Unique identifier of the `ExecutableCode` part. The server returns the `CodeExecutionResult` with the matching `id`."1056    },1057    {1058     "name": "language",1059     "type": "string",1060     "required": true,1061     "description": "Required. Programming language of the `code`.",1062     "enum": [1063      "LANGUAGE_UNSPECIFIED",1064      "PYTHON"1065     ]1066    }1067   ],1068   "status": [1069    "DOCUMENTED",1070    "LIVE_VERIFIED"1071   ],1072   "example": {1073    "language": "PYTHON",1074    "code": "print(sum(range(1, 51)))",1075    "id": "c1"1076   },1077   "sources": [1078    {1079     "url": "https://ai.google.dev/api/generate-content#ExecutableCode",1080     "retrieved_at": "2026-09-18"1081    }1082   ],1083   "live_observation_2026_09_18": "live: {language: PYTHON, code, id: call_…}"1084  },1085  {1086   "provider": "gemini",1087   "api_family": "generate-content",1088   "name": "CodeExecutionResult (Part.codeExecutionResult)",1089   "object": "CodeExecutionResult",1090   "schema_name": "CodeExecutionResult",1091   "description": "Result of executing the `ExecutableCode`. Generated only when the `CodeExecution` tool is used.",1092   "fields": [1093    {1094     "name": "outcome",1095     "type": "string",1096     "required": true,1097     "description": "Required. Outcome of the code execution.",1098     "enum": [1099      "OUTCOME_UNSPECIFIED",1100      "OUTCOME_OK",1101      "OUTCOME_FAILED",1102      "OUTCOME_DEADLINE_EXCEEDED"1103     ]1104    },1105    {1106     "name": "id",1107     "type": "string",1108     "required": false,1109     "description": "Optional. The identifier of the `ExecutableCode` part this result is for. Only populated if the corresponding `ExecutableCode` has an id."1110    },1111    {1112     "name": "output",1113     "type": "string",1114     "required": false,1115     "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise."1116    }1117   ],1118   "status": [1119    "DOCUMENTED",1120    "LIVE_VERIFIED"1121   ],1122   "example": {1123    "outcome": "OUTCOME_OK",1124    "output": "1275\n",1125    "id": "c1"1126   },1127   "sources": [1128    {1129     "url": "https://ai.google.dev/api/generate-content#CodeExecutionResult",1130     "retrieved_at": "2026-09-18"1131    }1132   ],1133   "live_observation_2026_09_18": "live: {outcome: OUTCOME_OK, output: '4\\n', id: call_…}"1134  },1135  {1136   "provider": "gemini",1137   "api_family": "generate-content",1138   "name": "ToolCall (Part.toolCall, server-side)",1139   "object": "ToolCall",1140   "schema_name": "ToolCall",1141   "description": "A predicted server-side `ToolCall` returned from the model. This message contains information about a tool that the model wants to invoke. The client is NOT expected to execute this `ToolCall`. Instead, the client should pass this `ToolCall` back to the API in a subsequent turn within a `Content` message, along with the corresponding `ToolResponse`.",1142   "fields": [1143    {1144     "name": "toolType",1145     "type": "string",1146     "required": true,1147     "description": "Required. The type of tool that was called.",1148     "enum": [1149      "TOOL_TYPE_UNSPECIFIED",1150      "GOOGLE_SEARCH_WEB",1151      "GOOGLE_SEARCH_IMAGE",1152      "URL_CONTEXT",1153      "GOOGLE_MAPS",1154      "FILE_SEARCH"1155     ]1156    },1157    {1158     "name": "args",1159     "type": "object",1160     "required": false,1161     "description": "Optional. The tool call arguments. Example: {\"arg1\" : \"value1\", \"arg2\" : \"value2\" , ...}"1162    },1163    {1164     "name": "id",1165     "type": "string",1166     "required": false,1167     "description": "Optional. Unique identifier of the tool call. The server returns the tool response with the matching `id`."1168    },1169    {1170     "name": "toolName",1171     "type": "string",1172     "required": false,1173     "description": "Optional. The name of the tool that was called."1174    }1175   ],1176   "status": [1177    "DOCUMENTED",1178    "PREVIEW"1179   ],1180   "example": {1181    "toolType": "GOOGLE_SEARCH_WEB",1182    "args": {1183     "queries": [1184      "northernmost city in the United States"1185     ]1186    },1187    "id": "a7b3k9p2"1188   },1189   "sources": [1190    {1191     "url": "https://ai.google.dev/api/generate-content#ToolCall",1192     "retrieved_at": "2026-09-18"1193    }1194   ]1195  },1196  {1197   "provider": "gemini",1198   "api_family": "generate-content",1199   "name": "ToolResponse (Part.toolResponse, server-side)",1200   "object": "ToolResponse",1201   "schema_name": "ToolResponse",1202   "description": "The output from a server-side `ToolCall` execution. This message contains the results of a tool invocation that was initiated by a `ToolCall` from the model. The client should pass this `ToolResponse` back to the API in a subsequent turn within a `Content` message, along with the corresponding `ToolCall`.",1203   "fields": [1204    {1205     "name": "toolType",1206     "type": "string",1207     "required": true,1208     "description": "Required. The type of tool that was called, matching the `tool_type` in the corresponding `ToolCall`.",1209     "enum": [1210      "TOOL_TYPE_UNSPECIFIED",1211      "GOOGLE_SEARCH_WEB",1212      "GOOGLE_SEARCH_IMAGE",1213      "URL_CONTEXT",1214      "GOOGLE_MAPS",1215      "FILE_SEARCH"1216     ]1217    },1218    {1219     "name": "response",1220     "type": "object",1221     "required": false,1222     "description": "Optional. The tool response."1223    },1224    {1225     "name": "id",1226     "type": "string",1227     "required": false,1228     "description": "Optional. The identifier of the tool call this response is for."1229    }1230   ],1231   "status": [1232    "DOCUMENTED",1233    "PREVIEW"1234   ],1235   "example": {1236    "toolType": "URL_CONTEXT",1237    "response": {1238     "urls_metadata": [1239      {1240       "retrieved_url": "https://...",1241       "url_retrieval_status": "URL_RETRIEVAL_STATUS_SUCCESS"1242      }1243     ]1244    },1245    "id": "a7b3k9p2"1246   },1247   "sources": [1248    {1249     "url": "https://ai.google.dev/api/generate-content#ToolResponse",1250     "retrieved_at": "2026-09-18"1251    }1252   ]1253  },1254  {1255   "provider": "gemini",1256   "api_family": "generate-content",1257   "name": "GroundingMetadata (candidates[].groundingMetadata)",1258   "object": "GroundingMetadata",1259   "schema_name": "GroundingMetadata",1260   "description": "Metadata returned to client when grounding is enabled.",1261   "fields": [1262    {1263     "name": "googleMapsWidgetContextToken",1264     "type": "string",1265     "required": false,1266     "description": "Optional. Resource name of the Google Maps widget context token that can be used with the PlacesContextElement widget in order to render contextual data. Only populated in the case that grounding with Google Maps is enabled."1267    },1268    {1269     "name": "retrievalMetadata",1270     "type": "RetrievalMetadata",1271     "required": false,1272     "description": "Metadata related to retrieval in the grounding flow."1273    },1274    {1275     "name": "imageSearchQueries",1276     "type": "array<string>",1277     "required": false,1278     "description": "Image search queries used for grounding."1279    },1280    {1281     "name": "webSearchQueries",1282     "type": "array<string>",1283     "required": false,1284     "description": "Web search queries for the following-up web search."1285    },1286    {1287     "name": "groundingChunks",1288     "type": "array<GroundingChunk>",1289     "required": false,1290     "description": "List of supporting references retrieved from specified grounding source. When streaming, this only contains the grounding chunks that have not been included in the grounding metadata of previous responses."1291    },1292    {1293     "name": "groundingSupports",1294     "type": "array<GoogleAiGenerativelanguageV1betaGroundingSupport>",1295     "required": false,1296     "description": "List of grounding support."1297    },1298    {1299     "name": "searchEntryPoint",1300     "type": "SearchEntryPoint",1301     "required": false,1302     "description": "Optional. Google search entry for the following-up web searches."1303    }1304   ],1305   "status": [1306    "DOCUMENTED",1307    "LIVE_VERIFIED"1308   ],1309   "example": {1310    "webSearchQueries": [1311     "UEFA Euro 2024 winner"1312    ],1313    "searchEntryPoint": {1314     "renderedContent": "<div class=\"container\">...</div>"1315    },1316    "groundingChunks": [1317     {1318      "web": {1319       "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/...",1320       "title": "uefa.com"1321      }1322     }1323    ],1324    "groundingSupports": [1325     {1326      "segment": {1327       "startIndex": 0,1328       "endIndex": 85,1329       "text": "Spain won Euro 2024..."1330      },1331      "groundingChunkIndices": [1332       01333      ],1334      "confidenceScores": [1335       0.981336      ]1337     }1338    ]1339   },1340   "sources": [1341    {1342     "url": "https://ai.google.dev/api/generate-content#GroundingMetadata",1343     "retrieved_at": "2026-09-18"1344    }1345   ],1346   "live_observation_2026_09_18": "maps run: {webSearchQueries, groundingChunks[{maps}], groundingSupports}; fileSearch run: groundingChunks[{retrievedContext{title,text,fileSearchStore(,customMetadata)}}] + groundingSupports (absent once)"1347  },1348  {1349   "provider": "gemini",1350   "api_family": "generate-content",1351   "name": "GroundingChunk",1352   "object": "GroundingChunk",1353   "schema_name": "GroundingChunk",1354   "description": "Union: exactly one of web | image | retrievedContext | maps.",1355   "fields": [1356    {1357     "name": "image",1358     "type": "Image",1359     "required": false,1360     "description": "Optional. Grounding chunk from image search."1361    },1362    {1363     "name": "retrievedContext",1364     "type": "RetrievedContext",1365     "required": false,1366     "description": "Optional. Grounding chunk from context retrieved by the file search tool."1367    },1368    {1369     "name": "maps",1370     "type": "Maps",1371     "required": false,1372     "description": "Optional. Grounding chunk from Google Maps."1373    },1374    {1375     "name": "web",1376     "type": "Web",1377     "required": false,1378     "description": "Grounding chunk from the web."1379    }1380   ],1381   "status": [1382    "DOCUMENTED",1383    "LIVE_VERIFIED"1384   ],1385   "example": {1386    "web": {1387     "uri": "https://...",1388     "title": "example.com"1389    }1390   },1391   "sources": [1392    {1393     "url": "https://ai.google.dev/api/generate-content#GroundingChunk",1394     "retrieved_at": "2026-09-18"1395    }1396   ],1397   "live_observation_2026_09_18": "live shapes: {maps:{uri,title,text,placeId}}, {retrievedContext:{title,text,fileSearchStore}}"1398  },1399  {1400   "provider": "gemini",1401   "api_family": "generate-content",1402   "name": "Web (GroundingChunk.web)",1403   "object": "Web",1404   "schema_name": "Web",1405   "description": "Chunk from the web.",1406   "fields": [1407    {1408     "name": "title",1409     "type": "string (output only)",1410     "required": false,1411     "description": "Output only. Title of the chunk."1412    },1413    {1414     "name": "uri",1415     "type": "string (output only)",1416     "required": false,1417     "description": "Output only. URI reference of the chunk."1418    }1419   ],1420   "status": [1421    "DOCUMENTED"1422   ],1423   "example": {1424    "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/...",1425    "title": "aljazeera.com"1426   },1427   "sources": [1428    {1429     "url": "https://ai.google.dev/api/generate-content#Web",1430     "retrieved_at": "2026-09-18"1431    }1432   ]1433  },1434  {1435   "provider": "gemini",1436   "api_family": "generate-content",1437   "name": "Image (GroundingChunk.image)",1438   "object": "Image",1439   "schema_name": "Image",1440   "description": "Chunk from image search.",1441   "fields": [1442    {1443     "name": "imageUri",1444     "type": "string",1445     "required": false,1446     "description": "The image asset URL."1447    },1448    {1449     "name": "title",1450     "type": "string",1451     "required": false,1452     "description": "The title of the web page that the image is from."1453    },1454    {1455     "name": "sourceUri",1456     "type": "string",1457     "required": false,1458     "description": "The web page URI for attribution."1459    },1460    {1461     "name": "domain",1462     "type": "string",1463     "required": false,1464     "description": "The root domain of the web page that the image is from, e.g. \"example.com\"."1465    }1466   ],1467   "status": [1468    "DOCUMENTED"1469   ],1470   "example": {1471    "imageUri": "https://...jpg",1472    "sourceUri": "https://example.com/page",1473    "title": "Page title",1474    "domain": "example.com"1475   },1476   "sources": [1477    {1478     "url": "https://ai.google.dev/api/generate-content#Image",1479     "retrieved_at": "2026-09-18"1480    }1481   ]1482  },1483  {1484   "provider": "gemini",1485   "api_family": "generate-content",1486   "name": "Maps (GroundingChunk.maps)",1487   "object": "Maps",1488   "schema_name": "Maps",1489   "description": "A grounding chunk from Google Maps. A Maps chunk corresponds to a single place.",1490   "fields": [1491    {1492     "name": "placeId",1493     "type": "string",1494     "required": false,1495     "description": "The ID of the place, in `places/{place_id}` format. A user can use this ID to look up that place."1496    },1497    {1498     "name": "title",1499     "type": "string",1500     "required": false,1501     "description": "Title of the place."1502    },1503    {1504     "name": "uri",1505     "type": "string",1506     "required": false,1507     "description": "URI reference of the place."1508    },1509    {1510     "name": "placeAnswerSources",1511     "type": "PlaceAnswerSources",1512     "required": false,1513     "description": "Sources that provide answers about the features of a given place in Google Maps."1514    },1515    {1516     "name": "text",1517     "type": "string",1518     "required": false,1519     "description": "Text description of the place answer."1520    }1521   ],1522   "status": [1523    "DOCUMENTED"1524   ],1525   "example": {1526    "uri": "https://maps.google.com/?cid=13100894621228039586",1527    "title": "Heaven on 7th Marketplace",1528    "placeId": "places/ChIJ0-zA1vBZwokRon0fGj-6z7U",1529    "placeAnswerSources": {1530     "reviewSnippets": [1531      {1532       "reviewId": "...",1533       "googleMapsUri": "https://maps.google.com/...",1534       "title": "..."1535      }1536     ]1537    }1538   },1539   "sources": [1540    {1541     "url": "https://ai.google.dev/api/generate-content#Maps",1542     "retrieved_at": "2026-09-18"1543    }1544   ]1545  },1546  {1547   "provider": "gemini",1548   "api_family": "generate-content",1549   "name": "PlaceAnswerSources",1550   "object": "PlaceAnswerSources",1551   "schema_name": "PlaceAnswerSources",1552   "description": "Collection of sources that provide answers about the features of a given place in Google Maps. Each PlaceAnswerSources message corresponds to a specific place in Google Maps. The Google Maps tool used these sources in order to answer questions about features of the place (e.g: \"does Bar Foo have Wifi\" or \"is Foo Bar wheelchair accessible?\"). Currently we only support review snippets as sources.",1553   "fields": [1554    {1555     "name": "reviewSnippets",1556     "type": "array<ReviewSnippet>",1557     "required": false,1558     "description": "Snippets of reviews that are used to generate answers about the features of a given place in Google Maps."1559    }1560   ],1561   "status": [1562    "DOCUMENTED"1563   ],1564   "example": {1565    "reviewSnippets": [1566     {1567      "reviewId": "r1",1568      "googleMapsUri": "https://maps.google.com/...",1569      "title": "Great wifi"1570     }1571    ]1572   },1573   "sources": [1574    {1575     "url": "https://ai.google.dev/api/generate-content#PlaceAnswerSources",1576     "retrieved_at": "2026-09-18"1577    }1578   ]1579  },1580  {1581   "provider": "gemini",1582   "api_family": "generate-content",1583   "name": "ReviewSnippet",1584   "object": "ReviewSnippet",1585   "schema_name": "ReviewSnippet",1586   "description": "Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.",1587   "fields": [1588    {1589     "name": "title",1590     "type": "string",1591     "required": false,1592     "description": "Title of the review."1593    },1594    {1595     "name": "googleMapsUri",1596     "type": "string",1597     "required": false,1598     "description": "A link that corresponds to the user review on Google Maps."1599    },1600    {1601     "name": "reviewId",1602     "type": "string",1603     "required": false,1604     "description": "The ID of the review snippet."1605    }1606   ],1607   "status": [1608    "DOCUMENTED"1609   ],1610   "example": {1611    "reviewId": "r1",1612    "googleMapsUri": "https://maps.google.com/...",1613    "title": "Great wifi"1614   },1615   "sources": [1616    {1617     "url": "https://ai.google.dev/api/generate-content#ReviewSnippet",1618     "retrieved_at": "2026-09-18"1619    }1620   ]1621  },1622  {1623   "provider": "gemini",1624   "api_family": "generate-content",1625   "name": "RetrievedContext (GroundingChunk.retrievedContext, File Search)",1626   "object": "RetrievedContext",1627   "schema_name": "RetrievedContext",1628   "description": "Chunk from context retrieved by the file search tool.",1629   "fields": [1630    {1631     "name": "title",1632     "type": "string",1633     "required": false,1634     "description": "Optional. Title of the document."1635    },1636    {1637     "name": "uri",1638     "type": "string",1639     "required": false,1640     "description": "Optional. URI reference of the semantic retrieval document."1641    },1642    {1643     "name": "pageNumber",1644     "type": "integer",1645     "required": false,1646     "description": "Optional. Page number of the retrieved context, if applicable."1647    },1648    {1649     "name": "customMetadata",1650     "type": "array<GroundingChunkCustomMetadata>",1651     "required": false,1652     "description": "Optional. User-provided metadata about the retrieved context."1653    },1654    {1655     "name": "mediaId",1656     "type": "string",1657     "required": false,1658     "description": "Optional. The media blob resource name for multimodal file search results. Format: fileSearchStores/{file_search_store_id}/media/{blob_id}"1659    },1660    {1661     "name": "text",1662     "type": "string",1663     "required": false,1664     "description": "Optional. Text of the chunk."1665    },1666    {1667     "name": "fileSearchStore",1668     "type": "string",1669     "required": false,1670     "description": "Optional. Name of the `FileSearchStore` containing the document. Example: `fileSearchStores/123`"1671    }1672   ],1673   "status": [1674    "DOCUMENTED",1675    "PREVIEW"1676   ],1677   "example": {1678    "title": "sample.txt",1679    "uri": "...",1680    "text": "chunk text",1681    "fileSearchStore": "fileSearchStores/my-store-123",1682    "pageNumber": 3,1683    "mediaId": "fileSearchStores/my-store-123/media/BlobId-456",1684    "customMetadata": [1685     {1686      "key": "author",1687      "stringValue": "Robert Graves"1688     }1689    ]1690   },1691   "sources": [1692    {1693     "url": "https://ai.google.dev/api/generate-content#RetrievedContext",1694     "retrieved_at": "2026-09-18"1695    }1696   ]1697  },1698  {1699   "provider": "gemini",1700   "api_family": "generate-content",1701   "name": "GroundingChunkCustomMetadata (retrievedContext.customMetadata[])",1702   "object": "GroundingChunkCustomMetadata",1703   "schema_name": "GroundingChunkCustomMetadata",1704   "description": "User provided metadata about the GroundingFact.",1705   "fields": [1706    {1707     "name": "numericValue",1708     "type": "number",1709     "required": false,1710     "description": "Optional. The numeric value of the metadata. The expected range for this value depends on the specific `key` used."1711    },1712    {1713     "name": "stringListValue",1714     "type": "GroundingChunkStringList",1715     "required": false,1716     "description": "Optional. A list of string values for the metadata."1717    },1718    {1719     "name": "stringValue",1720     "type": "string",1721     "required": false,1722     "description": "Optional. The string value of the metadata."1723    },1724    {1725     "name": "key",1726     "type": "string",1727     "required": false,1728     "description": "The key of the metadata."1729    }1730   ],1731   "status": [1732    "DOCUMENTED",1733    "PREVIEW"1734   ],1735   "example": {1736    "key": "year",1737    "numericValue": 19341738   },1739   "sources": [1740    {1741     "url": "https://ai.google.dev/api/generate-content#GroundingChunkCustomMetadata",1742     "retrieved_at": "2026-09-18"1743    }1744   ]1745  },1746  {1747   "provider": "gemini",1748   "api_family": "generate-content",1749   "name": "GroundingSupport",1750   "object": "GroundingSupport",1751   "schema_name": "GoogleAiGenerativelanguageV1betaGroundingSupport",1752   "description": "Links a text segment of the answer to grounding chunks (citations).",1753   "fields": [1754    {1755     "name": "confidenceScores",1756     "type": "array<number>",1757     "required": false,1758     "description": "Optional. Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. This list must have the same size as the grounding_chunk_indices."1759    },1760    {1761     "name": "renderedParts",1762     "type": "array<integer> (output only)",1763     "required": false,1764     "description": "Output only. Indices into the `parts` field of the candidate's content. These indices specify which rendered parts are associated with this support source."1765    },1766    {1767     "name": "groundingChunkIndices",1768     "type": "array<integer>",1769     "required": false,1770     "description": "Optional. A list of indices (into 'grounding_chunk' in `response.candidate.grounding_metadata`) specifying the citations associated with the claim. For instance [1,3,4] means that grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the retrieved content attributed to the claim. If the response is streaming, the grounding_chunk_indices refer to the indices across all responses. It is the client's responsibility to accumulate the grounding chunks from all responses (while maintaining the same order)."1771    },1772    {1773     "name": "segment",1774     "type": "GoogleAiGenerativelanguageV1betaSegment",1775     "required": false,1776     "description": "Segment of the content this support belongs to."1777    }1778   ],1779   "status": [1780    "DOCUMENTED"1781   ],1782   "example": {1783    "segment": {1784     "partIndex": 0,1785     "startIndex": 86,1786     "endIndex": 210,1787     "text": "This victory marks..."1788    },1789    "groundingChunkIndices": [1790     0,1791     11792    ],1793    "confidenceScores": [1794     0.9,1795     0.71796    ]1797   },1798   "sources": [1799    {1800     "url": "https://ai.google.dev/api/generate-content#GoogleAiGenerativelanguageV1betaGroundingSupport",1801     "retrieved_at": "2026-09-18"1802    }1803   ]1804  },1805  {1806   "provider": "gemini",1807   "api_family": "generate-content",1808   "name": "Segment",1809   "object": "Segment",1810   "schema_name": "GoogleAiGenerativelanguageV1betaSegment",1811   "description": "Byte-offset span within a Part (startIndex inclusive, endIndex exclusive).",1812   "fields": [1813    {1814     "name": "endIndex",1815     "type": "integer",1816     "required": false,1817     "description": "End index in the given Part, measured in bytes. Offset from the start of the Part, exclusive, starting at zero."1818    },1819    {1820     "name": "startIndex",1821     "type": "integer",1822     "required": false,1823     "description": "Start index in the given Part, measured in bytes. Offset from the start of the Part, inclusive, starting at zero."1824    },1825    {1826     "name": "text",1827     "type": "string",1828     "required": false,1829     "description": "The text corresponding to the segment from the response."1830    },1831    {1832     "name": "partIndex",1833     "type": "integer",1834     "required": false,1835     "description": "The index of a Part object within its parent Content object."1836    }1837   ],1838   "status": [1839    "DOCUMENTED"1840   ],1841   "example": {1842    "partIndex": 0,1843    "startIndex": 0,1844    "endIndex": 85,1845    "text": "Spain won Euro 2024..."1846   },1847   "sources": [1848    {1849     "url": "https://ai.google.dev/api/generate-content#GoogleAiGenerativelanguageV1betaSegment",1850     "retrieved_at": "2026-09-18"1851    }1852   ]1853  },1854  {1855   "provider": "gemini",1856   "api_family": "generate-content",1857   "name": "SearchEntryPoint",1858   "object": "SearchEntryPoint",1859   "schema_name": "SearchEntryPoint",1860   "description": "Google Search Suggestions widget that MUST be displayed with grounded answers (Terms of Service).",1861   "fields": [1862    {1863     "name": "renderedContent",1864     "type": "string",1865     "required": false,1866     "description": "Optional. Web content snippet that can be embedded in a web page or an app webview."1867    },1868    {1869     "name": "sdkBlob",1870     "type": "string",1871     "required": false,1872     "description": "Optional. Base64 encoded JSON representing array of tuple."1873    }1874   ],1875   "status": [1876    "DOCUMENTED"1877   ],1878   "example": {1879    "renderedContent": "<style>...</style><div class=\"container\">...</div>",1880    "sdkBlob": "<base64 JSON [[term,url],...]>"1881   },1882   "sources": [1883    {1884     "url": "https://ai.google.dev/api/generate-content#SearchEntryPoint",1885     "retrieved_at": "2026-09-18"1886    }1887   ]1888  },1889  {1890   "provider": "gemini",1891   "api_family": "generate-content",1892   "name": "RetrievalMetadata",1893   "object": "RetrievalMetadata",1894   "schema_name": "RetrievalMetadata",1895   "description": "Metadata related to retrieval in the grounding flow.",1896   "fields": [1897    {1898     "name": "googleSearchDynamicRetrievalScore",1899     "type": "number",1900     "required": false,1901     "description": "Optional. Score indicating how likely information from google search could help answer the prompt. The score is in the range [0, 1], where 0 is the least likely and 1 is the most likely. This score is only populated when google search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger google search."1902    }1903   ],1904   "status": [1905    "DOCUMENTED"1906   ],1907   "example": {1908    "googleSearchDynamicRetrievalScore": 0.731909   },1910   "sources": [1911    {1912     "url": "https://ai.google.dev/api/generate-content#RetrievalMetadata",1913     "retrieved_at": "2026-09-18"1914    }1915   ]1916  },1917  {1918   "provider": "gemini",1919   "api_family": "generate-content",1920   "name": "UrlContextMetadata (candidates[].urlContextMetadata)",1921   "object": "UrlContextMetadata",1922   "schema_name": "UrlContextMetadata",1923   "description": "Metadata related to url context retrieval tool.",1924   "fields": [1925    {1926     "name": "urlMetadata",1927     "type": "array<UrlMetadata>",1928     "required": false,1929     "description": "List of url context."1930    }1931   ],1932   "status": [1933    "DOCUMENTED",1934    "LIVE_VERIFIED"1935   ],1936   "example": {1937    "urlMetadata": [1938     {1939      "retrievedUrl": "https://www.foodnetwork.com/...",1940      "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_SUCCESS"1941     }1942    ]1943   },1944   "sources": [1945    {1946     "url": "https://ai.google.dev/api/generate-content#UrlContextMetadata",1947     "retrieved_at": "2026-09-18"1948    }1949   ],1950   "live_observation_2026_09_18": "live: {urlMetadata:[{retrievedUrl, urlRetrievalStatus: URL_RETRIEVAL_STATUS_ERROR}]}"1951  },1952  {1953   "provider": "gemini",1954   "api_family": "generate-content",1955   "name": "UrlMetadata",1956   "object": "UrlMetadata",1957   "schema_name": "UrlMetadata",1958   "description": "Context of the a single url retrieval.",1959   "fields": [1960    {1961     "name": "retrievedUrl",1962     "type": "string",1963     "required": false,1964     "description": "Retrieved url by the tool."1965    },1966    {1967     "name": "urlRetrievalStatus",1968     "type": "string",1969     "required": false,1970     "description": "Status of the url retrieval.",1971     "enum": [1972      "URL_RETRIEVAL_STATUS_UNSPECIFIED",1973      "URL_RETRIEVAL_STATUS_SUCCESS",1974      "URL_RETRIEVAL_STATUS_ERROR",1975      "URL_RETRIEVAL_STATUS_PAYWALL",1976      "URL_RETRIEVAL_STATUS_UNSAFE"1977     ]1978    }1979   ],1980   "status": [1981    "DOCUMENTED"1982   ],1983   "example": {1984    "retrievedUrl": "https://...",1985    "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_PAYWALL"1986   },1987   "sources": [1988    {1989     "url": "https://ai.google.dev/api/generate-content#UrlMetadata",1990     "retrieved_at": "2026-09-18"1991    }1992   ]1993  },1994  {1995   "provider": "gemini",1996   "api_family": "file-search",1997   "name": "FileSearchStore",1998   "object": "FileSearchStore",1999   "schema_name": "FileSearchStore",2000   "description": "A `FileSearchStore` is a collection of `Document`s.",2001   "fields": [2002    {2003     "name": "displayName",2004     "type": "string",2005     "required": false,2006     "description": "Optional. The human-readable display name for the `FileSearchStore`. The display name must be no more than 512 characters in length, including spaces. Example: \"Docs on Semantic Retriever\""2007    },2008    {2009     "name": "updateTime",2010     "type": "string (output only)",2011     "required": false,2012     "description": "Output only. The Timestamp of when the `FileSearchStore` was last updated."2013    },2014    {2015     "name": "sizeBytes",2016     "type": "string (output only)",2017     "required": false,2018     "description": "Output only. The size of raw bytes ingested into the `FileSearchStore`. This is the total size of all the documents in the `FileSearchStore`."2019    },2020    {2021     "name": "embeddingModel",2022     "type": "string",2023     "required": false,2024     "description": "Optional. The embedding model to use for the `FileSearchStore`. The model's resource name. This serves as an ID for the Model to use. Format: `models/{model}`. If not specified, the default embedding model will be used."2025    },2026    {2027     "name": "activeDocumentsCount",2028     "type": "string (output only)",2029     "required": false,2030     "description": "Output only. The number of documents in the `FileSearchStore` that are active and ready for retrieval."2031    },2032    {2033     "name": "failedDocumentsCount",2034     "type": "string (output only)",2035     "required": false,2036     "description": "Output only. The number of documents in the `FileSearchStore` that have failed processing."2037    },2038    {2039     "name": "createTime",2040     "type": "string (output only)",2041     "required": false,2042     "description": "Output only. The Timestamp of when the `FileSearchStore` was created."2043    },2044    {2045     "name": "name",2046     "type": "string (output only)",2047     "required": false,2048     "description": "Output only. Immutable. Identifier. The `FileSearchStore` resource name. It is an ID (name excluding the \"fileSearchStores/\" prefix) that can contain up to 40 characters that are lowercase alphanumeric or dashes (-). It is output only. The unique name will be derived from `display_name` along with a 12 character random suffix. Example: `fileSearchStores/my-awesome-file-search-store-123a456b789c` If `display_name` is not provided, the name will be randomly generated."2049    },2050    {2051     "name": "pendingDocumentsCount",2052     "type": "string (output only)",2053     "required": false,2054     "description": "Output only. The number of documents in the `FileSearchStore` that are being processed."2055    }2056   ],2057   "status": [2058    "DOCUMENTED",2059    "PREVIEW",2060    "LIVE_VERIFIED"2061   ],2062   "example": {2063    "name": "fileSearchStores/my-awesome-file-search-store-123a456b789c",2064    "displayName": "My Store",2065    "embeddingModel": "models/gemini-embedding-2",2066    "createTime": "2026-09-18T12:00:00Z",2067    "updateTime": "2026-09-18T12:00:00Z",2068    "activeDocumentsCount": "3",2069    "pendingDocumentsCount": "0",2070    "failedDocumentsCount": "0",2071    "sizeBytes": "12345"2072   },2073   "sources": [2074    {2075     "url": "https://ai.google.dev/api/file-search/file-search-stores#FileSearchStore",2076     "retrieved_at": "2026-09-18"2077    }2078   ],2079   "live_observation_2026_09_18": "live: {name, displayName, createTime, updateTime, embeddingModel: models/gemini-embedding-001, activeDocumentsCount, sizeBytes}"2080  },2081  {2082   "provider": "gemini",2083   "api_family": "file-search",2084   "name": "Document",2085   "object": "Document",2086   "schema_name": "Document",2087   "description": "A `Document` is a collection of `Chunk`s.",2088   "fields": [2089    {2090     "name": "sizeBytes",2091     "type": "string (output only)",2092     "required": false,2093     "description": "Output only. The size of raw bytes ingested into the Document."2094    },2095    {2096     "name": "displayName",2097     "type": "string",2098     "required": false,2099     "description": "Optional. The human-readable display name for the `Document`. The display name must be no more than 512 characters in length, including spaces. Example: \"Semantic Retriever Documentation\""2100    },2101    {2102     "name": "createTime",2103     "type": "string (output only)",2104     "required": false,2105     "description": "Output only. The Timestamp of when the `Document` was created."2106    },2107    {2108     "name": "customMetadata",2109     "type": "array<CustomMetadata>",2110     "required": false,2111     "description": "Optional. User provided custom metadata stored as key-value pairs used for querying. A `Document` can have a maximum of 20 `CustomMetadata`."2112    },2113    {2114     "name": "state",2115     "type": "string (output only)",2116     "required": false,2117     "description": "Output only. Current state of the `Document`.",2118     "enum": [2119      "STATE_UNSPECIFIED",2120      "STATE_PENDING",2121      "STATE_ACTIVE",2122      "STATE_FAILED"2123     ]2124    },2125    {2126     "name": "updateTime",2127     "type": "string (output only)",2128     "required": false,2129     "description": "Output only. The Timestamp of when the `Document` was last updated."2130    },2131    {2132     "name": "name",2133     "type": "string",2134     "required": false,2135     "description": "Immutable. Identifier. The `Document` resource name. The ID (name excluding the \"fileSearchStores/*/documents/\" prefix) can contain up to 40 characters that are lowercase alphanumeric or dashes (-). The ID cannot start or end with a dash. If the name is empty on create, a unique name will be derived from `display_name` along with a 12 character random suffix. Example: `fileSearchStores/{file_search_store_id}/documents/my-awesome-doc-123a456b789c`"2136    },2137    {2138     "name": "mimeType",2139     "type": "string (output only)",2140     "required": false,2141     "description": "Output only. The mime type of the Document."2142    }2143   ],2144   "status": [2145    "DOCUMENTED",2146    "PREVIEW",2147    "LIVE_VERIFIED"2148   ],2149   "example": {2150    "name": "fileSearchStores/my-store-123/documents/sample-txt-1a2b3c4d5e6f",2151    "displayName": "sample.txt",2152    "state": "STATE_ACTIVE",2153    "mimeType": "text/plain",2154    "sizeBytes": "2048",2155    "customMetadata": [2156     {2157      "key": "author",2158      "stringValue": "Robert Graves"2159     },2160     {2161      "key": "year",2162      "numericValue": 19342163     }2164    ],2165    "createTime": "...",2166    "updateTime": "..."2167   },2168   "sources": [2169    {2170     "url": "https://ai.google.dev/api/file-search/documents#Document",2171     "retrieved_at": "2026-09-18"2172    }2173   ],2174   "live_observation_2026_09_18": "live: {name, displayName, mimeType, sizeBytes, state: STATE_ACTIVE, customMetadata, createTime, updateTime}"2175  },2176  {2177   "provider": "gemini",2178   "api_family": "file-search",2179   "name": "CustomMetadata (request)",2180   "object": "CustomMetadata",2181   "schema_name": "CustomMetadata",2182   "description": "User provided metadata stored as key-value pairs.",2183   "fields": [2184    {2185     "name": "stringListValue",2186     "type": "StringList",2187     "required": false,2188     "description": "The StringList value of the metadata to store."2189    },2190    {2191     "name": "numericValue",2192     "type": "number",2193     "required": false,2194     "description": "The numeric value of the metadata to store."2195    },2196    {2197     "name": "stringValue",2198     "type": "string",2199     "required": false,2200     "description": "The string value of the metadata to store."2201    },2202    {2203     "name": "key",2204     "type": "string",2205     "required": true,2206     "description": "Required. The key of the metadata to store."2207    }2208   ],2209   "status": [2210    "DOCUMENTED",2211    "PREVIEW"2212   ],2213   "example": {2214    "key": "tags",2215    "stringListValue": {2216     "values": [2217      "history",2218      "novel"2219     ]2220    }2221   },2222   "sources": [2223    {2224     "url": "https://ai.google.dev/api/file-search/documents#CustomMetadata",2225     "retrieved_at": "2026-09-18"2226    }2227   ]2228  },2229  {2230   "provider": "gemini",2231   "api_family": "file-search",2232   "name": "StringList",2233   "object": "StringList",2234   "schema_name": "StringList",2235   "description": "User provided string values assigned to a single metadata key.",2236   "fields": [2237    {2238     "name": "values",2239     "type": "array<string>",2240     "required": false,2241     "description": "The string values of the metadata to store."2242    }2243   ],2244   "status": [2245    "DOCUMENTED",2246    "PREVIEW"2247   ],2248   "example": {2249    "values": [2250     "a",2251     "b"2252    ]2253   },2254   "sources": [2255    {2256     "url": "https://ai.google.dev/api/file-search/documents#StringList",2257     "retrieved_at": "2026-09-18"2258    }2259   ]2260  },2261  {2262   "provider": "gemini",2263   "api_family": "file-search",2264   "name": "ChunkingConfig",2265   "object": "ChunkingConfig",2266   "schema_name": "ChunkingConfig",2267   "description": "Parameters for telling the service how to chunk the file. inspired by google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto",2268   "fields": [2269    {2270     "name": "whiteSpaceConfig",2271     "type": "WhiteSpaceConfig",2272     "required": false,2273     "description": "White space chunking configuration."2274    }2275   ],2276   "status": [2277    "DOCUMENTED",2278    "PREVIEW"2279   ],2280   "example": {2281    "whiteSpaceConfig": {2282     "maxTokensPerChunk": 200,2283     "maxOverlapTokens": 202284    }2285   },2286   "sources": [2287    {2288     "url": "https://ai.google.dev/api/file-search/file-search-stores",2289     "retrieved_at": "2026-09-18"2290    }2291   ]2292  },2293  {2294   "provider": "gemini",2295   "api_family": "file-search",2296   "name": "WhiteSpaceConfig",2297   "object": "WhiteSpaceConfig",2298   "schema_name": "WhiteSpaceConfig",2299   "description": "Configuration for a white space chunking algorithm [white space delimited].",2300   "fields": [2301    {2302     "name": "maxTokensPerChunk",2303     "type": "integer",2304     "required": false,2305     "description": "Maximum number of tokens per chunk. Tokens are defined as words for this chunking algorithm. Note: we are defining tokens as words split by whitespace as opposed to the output of a tokenizer. The context window of the latest gemini embedding model as of 2025-04-17 is currently 8192 tokens. We assume that the average word is 5 characters. Therefore, we set the upper limit to 2**9, which is 512 words, or 2560 tokens, assuming worst case a character per token. This is a conservative estimate meant to prevent context window overflow."2306    },2307    {2308     "name": "maxOverlapTokens",2309     "type": "integer",2310     "required": false,2311     "description": "Maximum number of overlapping tokens between two adjacent chunks."2312    }2313   ],2314   "status": [2315    "DOCUMENTED",2316    "PREVIEW"2317   ],2318   "example": {2319    "maxTokensPerChunk": 200,2320    "maxOverlapTokens": 202321   },2322   "sources": [2323    {2324     "url": "https://ai.google.dev/api/file-search/file-search-stores",2325     "retrieved_at": "2026-09-18"2326    }2327   ]2328  },2329  {2330   "provider": "gemini",2331   "api_family": "file-search",2332   "name": "MetadataFilter (discovery schema; the generateContent tool takes a string)",2333   "object": "MetadataFilter",2334   "schema_name": "MetadataFilter",2335   "description": "Structured filter schema present in discovery (key + OR-joined conditions). generateContent's tools[].fileSearch.metadataFilter is a STRING in AIP-160 syntax; this object documents the operators available.",2336   "fields": [2337    {2338     "name": "conditions",2339     "type": "array<Condition>",2340     "required": true,2341     "description": "Required. The `Condition`s for the given key that will trigger this filter. Multiple `Condition`s are joined by logical ORs."2342    },2343    {2344     "name": "key",2345     "type": "string",2346     "required": true,2347     "description": "Required. The key of the metadata to filter on."2348    }2349   ],2350   "status": [2351    "DOCUMENTED",2352    "PREVIEW"2353   ],2354   "example": {2355    "key": "document.custom_metadata.genre",2356    "conditions": [2357     {2358      "stringValue": "drama",2359      "operation": "EQUAL"2360     },2361     {2362      "stringValue": "action",2363      "operation": "EQUAL"2364     }2365    ]2366   },2367   "sources": [2368    {2369     "url": "https://ai.google.dev/api/file-search/file-search-stores",2370     "retrieved_at": "2026-09-18"2371    },2372    {2373     "url": "https://ai.google.dev/api/generate-content#FileSearch",2374     "retrieved_at": "2026-09-18"2375    }2376   ]2377  },2378  {2379   "provider": "gemini",2380   "api_family": "file-search",2381   "name": "Condition",2382   "object": "Condition",2383   "schema_name": "Condition",2384   "description": "Filter condition applicable to a single key.",2385   "fields": [2386    {2387     "name": "operation",2388     "type": "string",2389     "required": true,2390     "description": "Required. Operator applied to the given key-value pair to trigger the condition.",2391     "enum": [2392      "OPERATOR_UNSPECIFIED",2393      "LESS",2394      "LESS_EQUAL",2395      "EQUAL",2396      "GREATER_EQUAL",2397      "GREATER",2398      "NOT_EQUAL",2399      "INCLUDES",2400      "EXCLUDES"2401     ]2402    },2403    {2404     "name": "numericValue",2405     "type": "number",2406     "required": false,2407     "description": "The numeric value to filter the metadata on."2408    },2409    {2410     "name": "stringValue",2411     "type": "string",2412     "required": false,2413     "description": "The string value to filter the metadata on."2414    }2415   ],2416   "status": [2417    "DOCUMENTED",2418    "PREVIEW"2419   ],2420   "example": {2421    "operation": "GREATER",2422    "numericValue": 19302423   },2424   "sources": [2425    {2426     "url": "https://ai.google.dev/api/file-search/file-search-stores",2427     "retrieved_at": "2026-09-18"2428    }2429   ]2430  },2431  {2432   "provider": "gemini",2433   "api_family": "file-search",2434   "name": "UploadToFileSearchStoreRequest",2435   "object": "UploadToFileSearchStoreRequest",2436   "schema_name": "UploadToFileSearchStoreRequest",2437   "description": "Request for `UploadToFileSearchStore`.",2438   "fields": [2439    {2440     "name": "chunkingConfig",2441     "type": "ChunkingConfig",2442     "required": false,2443     "description": "Optional. Config for telling the service how to chunk the data. If not provided, the service will use default parameters."2444    },2445    {2446     "name": "displayName",2447     "type": "string",2448     "required": false,2449     "description": "Optional. Display name of the created document."2450    },2451    {2452     "name": "mimeType",2453     "type": "string",2454     "required": false,2455     "description": "Optional. MIME type of the data. If not provided, it will be inferred from the uploaded content."2456    },2457    {2458     "name": "customMetadata",2459     "type": "array<CustomMetadata>",2460     "required": false,2461     "description": "Custom metadata to be associated with the data."2462    }2463   ],2464   "status": [2465    "DOCUMENTED",2466    "PREVIEW"2467   ],2468   "example": {2469    "displayName": "sample.txt",2470    "mimeType": "text/plain",2471    "customMetadata": [2472     {2473      "key": "author",2474      "stringValue": "X"2475     }2476    ],2477    "chunkingConfig": {2478     "whiteSpaceConfig": {2479      "maxTokensPerChunk": 200,2480      "maxOverlapTokens": 202481     }2482    }2483   },2484   "sources": [2485    {2486     "url": "https://ai.google.dev/api/file-search/file-search-stores#method:-media.uploadtofilesearchstore",2487     "retrieved_at": "2026-09-18"2488    }2489   ]2490  },2491  {2492   "provider": "gemini",2493   "api_family": "file-search",2494   "name": "ImportFileRequest",2495   "object": "ImportFileRequest",2496   "schema_name": "ImportFileRequest",2497   "description": "Request for `ImportFile` to import a File API file with a `FileSearchStore`.",2498   "fields": [2499    {2500     "name": "customMetadata",2501     "type": "array<CustomMetadata>",2502     "required": false,2503     "description": "Custom metadata to be associated with the file."2504    },2505    {2506     "name": "fileName",2507     "type": "string",2508     "required": true,2509     "description": "Required. The name of the `File` to import. Example: `files/abc-123`"2510    },2511    {2512     "name": "chunkingConfig",2513     "type": "ChunkingConfig",2514     "required": false,2515     "description": "Optional. Config for telling the service how to chunk the file. If not provided, the service will use default parameters."2516    }2517   ],2518   "status": [2519    "DOCUMENTED",2520    "PREVIEW"2521   ],2522   "example": {2523    "fileName": "files/abc-123",2524    "customMetadata": [2525     {2526      "key": "year",2527      "numericValue": 19342528     }2529    ]2530   },2531   "sources": [2532    {2533     "url": "https://ai.google.dev/api/file-search/file-search-stores#method:-filesearchstores.importfile",2534     "retrieved_at": "2026-09-18"2535    }2536   ]2537  },2538  {2539   "provider": "gemini",2540   "api_family": "file-search",2541   "name": "ListFileSearchStoresResponse",2542   "object": "ListFileSearchStoresResponse",2543   "schema_name": "ListFileSearchStoresResponse",2544   "description": "Response from `ListFileSearchStores` containing a paginated list of `FileSearchStores`. The results are sorted by ascending `file_search_store.create_time`.",2545   "fields": [2546    {2547     "name": "fileSearchStores",2548     "type": "array<FileSearchStore>",2549     "required": false,2550     "description": "The returned rag_stores."2551    },2552    {2553     "name": "nextPageToken",2554     "type": "string",2555     "required": false,2556     "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no more pages."2557    }2558   ],2559   "status": [2560    "DOCUMENTED",2561    "PREVIEW"2562   ],2563   "example": {2564    "fileSearchStores": [2565     {2566      "name": "fileSearchStores/..."2567     }2568    ],2569    "nextPageToken": "..."2570   },2571   "sources": [2572    {2573     "url": "https://ai.google.dev/api/file-search/file-search-stores",2574     "retrieved_at": "2026-09-18"2575    }2576   ]2577  },2578  {2579   "provider": "gemini",2580   "api_family": "file-search",2581   "name": "ListDocumentsResponse",2582   "object": "ListDocumentsResponse",2583   "schema_name": "ListDocumentsResponse",2584   "description": "Response from `ListDocuments` containing a paginated list of `Document`s. The `Document`s are sorted by ascending `document.create_time`.",2585   "fields": [2586    {2587     "name": "nextPageToken",2588     "type": "string",2589     "required": false,2590     "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no more pages."2591    },2592    {2593     "name": "documents",2594     "type": "array<Document>",2595     "required": false,2596     "description": "The returned `Document`s."2597    }2598   ],2599   "status": [2600    "DOCUMENTED",2601    "PREVIEW"2602   ],2603   "example": {2604    "documents": [2605     {2606      "name": "fileSearchStores/.../documents/..."2607     }2608    ],2609    "nextPageToken": "..."2610   },2611   "sources": [2612    {2613     "url": "https://ai.google.dev/api/file-search/documents",2614     "retrieved_at": "2026-09-18"2615    }2616   ]2617  },2618  {2619   "provider": "gemini",2620   "api_family": "file-search",2621   "name": "Operation (long-running operation)",2622   "object": "Operation",2623   "schema_name": "Operation",2624   "description": "google.longrunning.Operation returned by importFile / uploadToFileSearchStore; poll GET on `name` until done=true, then read response or error. Upload operations live under fileSearchStores/{id}/upload/operations/{op}; import operations under fileSearchStores/{id}/operations/{op}.",2625   "fields": [2626    {2627     "name": "error",2628     "type": "Status",2629     "required": false,2630     "description": "The error result of the operation in case of failure or cancellation."2631    },2632    {2633     "name": "response",2634     "type": "object",2635     "required": false,2636     "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."2637    },2638    {2639     "name": "done",2640     "type": "boolean",2641     "required": false,2642     "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."2643    },2644    {2645     "name": "name",2646     "type": "string",2647     "required": false,2648     "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."2649    },2650    {2651     "name": "metadata",2652     "type": "object",2653     "required": false,2654     "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any."2655    }2656   ],2657   "status": [2658    "DOCUMENTED",2659    "PREVIEW",2660    "LIVE_VERIFIED"2661   ],2662   "example": {2663    "name": "fileSearchStores/my-store-123/upload/operations/abc123",2664    "done": false,2665    "metadata": {2666     "@type": "..."2667    }2668   },2669   "sources": [2670    {2671     "url": "https://ai.google.dev/api/file-search/file-search-stores#Operation",2672     "retrieved_at": "2026-09-18"2673    }2674   ],2675   "live_observation_2026_09_18": "live upload operation: {name: …/upload/operations/…, response:{@type, documentName, mimeType, parent, sizeBytes}, done:true}"2676  },2677  {2678   "provider": "gemini",2679   "api_family": "file-search",2680   "name": "Status (Operation.error)",2681   "object": "Status",2682   "schema_name": "Status",2683   "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",2684   "fields": [2685    {2686     "name": "message",2687     "type": "string",2688     "required": false,2689     "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."2690    },2691    {2692     "name": "code",2693     "type": "integer",2694     "required": false,2695     "description": "The status code, which should be an enum value of google.rpc.Code."2696    },2697    {2698     "name": "details",2699     "type": "array<object>",2700     "required": false,2701     "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."2702    }2703   ],2704   "status": [2705    "DOCUMENTED"2706   ],2707   "example": {2708    "code": 9,2709    "message": "FAILED_PRECONDITION: ...",2710    "details": []2711   },2712   "sources": [2713    {2714     "url": "https://ai.google.dev/api/files#v1beta.Status",2715     "retrieved_at": "2026-09-18"2716    }2717   ]2718  },2719  {2720   "provider": "gemini",2721   "api_family": "generate-content",2722   "name": "ComputerUse predefined actions (functionCall catalogue)",2723   "object": "computerUse predefined functions",2724   "schema_name": null,2725   "description": "Function names the model emits as functionCall parts when tools[].computerUse is enabled (auto-populated declarations; remove any with excludedPredefinedFunctions[]). Gemini 3.x: every call carries an `intent` string; coordinates normalized 0-999 (client scales to viewport). Legacy gemini-2.5-computer-use-preview-10-2025 uses the older browser-only set. Safety: args may include `safety_decision {decision: 'require_confirmation'|..., explanation}`; after user approval reply with functionResponse.response.safety_acknowledgement=true (or terminate). Client returns after each action a functionResponse with {url, ...result} and the new screenshot (inlineData image/png).",2726   "fields": [2727    {2728     "name": "browser (ENVIRONMENT_BROWSER, Gemini 3.x)",2729     "type": "actions",2730     "required": false,2731     "description": "[{\"name\": \"click\", \"description\": \"Left click\", \"args\": \"x: int 0-999, y: int 0-999, intent: str\"}, {\"name\": \"double_click\", \"description\": \"Double click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"triple_click\", \"description\": \"Triple click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"middle_click\", \"description\": \"Middle click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"right_click\", \"description\": \"Right click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"mouse_down\", \"description\": \"Press and hold mouse button\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"mouse_up\", \"description\": \"Release mouse button\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"move\", \"description\": \"Move cursor\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"type\", \"description\": \"Type text\", \"args\": \"text: str, press_enter: bool (default false), intent\"}, {\"name\": \"drag_and_drop\", \"description\": \"Drag from start to end\", \"args\": \"start_x, start_y, end_x, end_y: int 0-999, intent\"}, {\"name\": \"wait\", \"description\": \"Pause\", \"args\": \"seconds: int (default 1), intent\"}, {\"name\": \"press_key\", \"description\": \"Press and release key\", \"args\": \"key: str, intent\"}, {\"name\": \"key_down\", \"description\": \"Hold key\", \"args\": \"key: str, intent\"}, {\"name\": \"key_up\", \"description\": \"Release key\", \"args\": \"key: str, intent\"}, {\"name\": \"hotkey\", \"description\": \"Key combination\", \"args\": \"keys: list[str], intent\"}, {\"name\": \"take_screenshot\", \"description\": \"Return screenshot\", \"args\": \"intent\"}, {\"name\": \"scroll\", \"description\": \"Scroll at coordinate\", \"args\": \"x: int 0-999, y: int 0-999, direction: up|down|left|right, magnitude_in_pixels: int 0-999 (default 300), intent\"}, {\"name\": \"go_back\", \"description\": \"Browser back\", \"args\": \"intent\"}, {\"name\": \"navigate\", \"description\": \"Go to URL\", \"args\": \"url: str, intent\"}, {\"name\": \"go_forward\", \"description\": \"Browser forward\", \"args\": \"intent\"}]"2732    },2733    {2734     "name": "mobile (ENVIRONMENT_MOBILE, Gemini 3.x)",2735     "type": "actions",2736     "required": false,2737     "description": "[{\"name\": \"open_app\", \"description\": \"Open app by name\", \"args\": \"app_name: str, intent\"}, {\"name\": \"click\", \"description\": \"Left click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"list_apps\", \"description\": \"List apps (names + package names)\", \"args\": \"intent\"}, {\"name\": \"wait\", \"description\": \"Pause\", \"args\": \"seconds: int (default 1), intent\"}, {\"name\": \"go_back\", \"description\": \"Back\", \"args\": \"intent\"}, {\"name\": \"type\", \"description\": \"Type text\", \"args\": \"text: str, press_enter: bool (default false), intent\"}, {\"name\": \"drag_and_drop\", \"description\": \"Drag\", \"args\": \"start_x, start_y, end_x, end_y, intent\"}, {\"name\": \"long_press\", \"description\": \"Long press\", \"args\": \"x: int 0-999, y: int 0-999, seconds: int (default 2), intent\"}, {\"name\": \"press_key\", \"description\": \"Press key\", \"args\": \"key: str, intent\"}, {\"name\": \"take_screenshot\", \"description\": \"Screenshot\", \"args\": \"intent\"}]"2738    },2739    {2740     "name": "desktop (ENVIRONMENT_DESKTOP, Gemini 3.x)",2741     "type": "actions",2742     "required": false,2743     "description": "[{\"name\": \"click\", \"description\": \"Left click\", \"args\": \"x: int 0-999, y: int 0-999, intent: str\"}, {\"name\": \"double_click\", \"description\": \"Double click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"triple_click\", \"description\": \"Triple click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"middle_click\", \"description\": \"Middle click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"right_click\", \"description\": \"Right click\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"mouse_down\", \"description\": \"Press and hold mouse button\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"mouse_up\", \"description\": \"Release mouse button\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"move\", \"description\": \"Move cursor\", \"args\": \"x: int 0-999, y: int 0-999, intent\"}, {\"name\": \"type\", \"description\": \"Type text\", \"args\": \"text: str, press_enter: bool (default false), intent\"}, {\"name\": \"drag_and_drop\", \"description\": \"Drag from start to end\", \"args\": \"start_x, start_y, end_x, end_y: int 0-999, intent\"}, {\"name\": \"wait\", \"description\": \"Pause\", \"args\": \"seconds: int (default 1), intent\"}, {\"name\": \"press_key\", \"description\": \"Press and release key\", \"args\": \"key: str, intent\"}, {\"name\": \"key_down\", \"description\": \"Hold key\", \"args\": \"key: str, intent\"}, {\"name\": \"key_up\", \"description\": \"Release key\", \"args\": \"key: str, intent\"}, {\"name\": \"hotkey\", \"description\": \"Key combination\", \"args\": \"keys: list[str], intent\"}, {\"name\": \"take_screenshot\", \"description\": \"Return screenshot\", \"args\": \"intent\"}, {\"name\": \"scroll\", \"description\": \"Scroll at coordinate\", \"args\": \"x: int 0-999, y: int 0-999, direction: up|down|left|right, magnitude_in_pixels: int 0-999 (default 300), intent\"}]"2744    },2745    {2746     "name": "legacy browser (gemini-2.5-computer-use-preview-10-2025)",2747     "type": "actions",2748     "required": false,2749     "description": "[{\"name\": \"open_web_browser\", \"description\": \"Opens the web browser\", \"args\": \"none\"}, {\"name\": \"wait_5_seconds\", \"description\": \"Pause 5 s\", \"args\": \"none\"}, {\"name\": \"go_back\", \"description\": \"Back\", \"args\": \"none\"}, {\"name\": \"go_forward\", \"description\": \"Forward\", \"args\": \"none\"}, {\"name\": \"search\", \"description\": \"Go to default search engine\", \"args\": \"none\"}, {\"name\": \"navigate\", \"description\": \"Go to URL\", \"args\": \"url: str\"}, {\"name\": \"click_at\", \"description\": \"Click at coordinate\", \"args\": \"x, y: int 0-999\"}, {\"name\": \"hover_at\", \"description\": \"Hover\", \"args\": \"x, y\"}, {\"name\": \"type_text_at\", \"description\": \"Type at coordinate\", \"args\": \"x, y, text: str, press_enter: bool (default true), clear_before_typing: bool (default true)\"}, {\"name\": \"key_combination\", \"description\": \"Press keys\", \"args\": \"keys: str e.g. 'Control+A'\"}, {\"name\": \"scroll_document\", \"description\": \"Scroll page\", \"args\": \"direction: str\"}, {\"name\": \"scroll_at\", \"description\": \"Scroll at coordinate\", \"args\": \"x, y, direction, magnitude: int (default 800)\"}, {\"name\": \"drag_and_drop\", \"description\": \"Drag\", \"args\": \"x, y, destination_x, destination_y\"}]"2750    },2751    {2752     "name": "safety_decision (in functionCall.args)",2753     "type": "object",2754     "required": false,2755     "description": "{decision: 'require_confirmation' | (allowed/blocked), explanation: str}"2756    },2757    {2758     "name": "safety_acknowledgement (in functionResponse.response)",2759     "type": "boolean",2760     "required": false,2761     "description": "Set true after the end user confirms a require_confirmation action."2762    }2763   ],2764   "status": [2765    "DOCUMENTED",2766    "PREVIEW"2767   ],2768   "example": {2769    "model": {2770     "functionCall": {2771      "name": "click",2772      "args": {2773       "x": 450,2774       "y": 120,2775       "intent": "Click the search box to type the destination."2776      }2777     }2778    },2779    "client": {2780     "functionResponse": {2781      "name": "click",2782      "id": "<id>",2783      "response": {2784       "url": "https://www.google.com/",2785       "safety_acknowledgement": true2786      },2787      "parts": [2788       {2789        "inlineData": {2790         "mimeType": "image/png",2791         "data": "<screenshot>"2792        }2793       }2794      ]2795     }2796    }2797   },2798   "sources": [2799    {2800     "url": "https://ai.google.dev/gemini-api/docs/computer-use",2801     "retrieved_at": "2026-09-18"2802    },2803    {2804     "url": "https://ai.google.dev/gemini-api/docs/generate-content/computer-use",2805     "retrieved_at": "2026-09-18"2806    }2807   ]2808  },2809  {2810   "provider": "gemini",2811   "api_family": "interactions",2812   "name": "Interaction",2813   "object": "interaction",2814   "schema_name": "Interaction",2815   "description": "Core resource: one turn/task with its chronological `steps` (thoughts, tool calls/results, model_output; `user_input` only in GET). `object` = 'interaction'.",2816   "fields": [2817    {2818     "name": "id",2819     "type": "string",2820     "required": true,2821     "description": "Unique id, e.g. `v1_Chd...`."2822    },2823    {2824     "name": "object",2825     "type": "string",2826     "required": false,2827     "description": "Always `interaction`."2828    },2829    {2830     "name": "status",2831     "type": "string",2832     "required": true,2833     "description": "Lifecycle status. `budget_exceeded` is deprecated (now `incomplete`).",2834     "enum": [2835      "queued",2836      "in_progress",2837      "requires_action",2838      "completed",2839      "failed",2840      "cancelled",2841      "incomplete",2842      "budget_exceeded"2843     ]2844    },2845    {2846     "name": "model",2847     "type": "string (ModelOption)",2848     "required": false,2849     "description": "Model used (mutually exclusive with agent)."2850    },2851    {2852     "name": "agent",2853     "type": "string (AgentOption)",2854     "required": false,2855     "description": "Agent used."2856    },2857    {2858     "name": "agent_config",2859     "type": "AntigravityAgentConfig | DeepResearchAgentConfig | DynamicAgentConfig | CodeMenderAgentConfig",2860     "required": false,2861     "description": "Agent configuration."2862    },2863    {2864     "name": "generation_config",2865     "type": "GenerationConfig",2866     "required": false,2867     "description": "Input only. Model configuration."2868    },2869    {2870     "name": "input",2871     "type": "string | Content | Content[] | Step[]",2872     "required": false,2873     "description": "Echo of the input."2874    },2875    {2876     "name": "system_instruction",2877     "type": "string",2878     "required": false,2879     "description": ""2880    },2881    {2882     "name": "tools",2883     "type": "Tool[]",2884     "required": false,2885     "description": ""2886    },2887    {2888     "name": "response_format",2889     "type": "ResponseFormat | ResponseFormat[]",2890     "required": false,2891     "description": ""2892    },2893    {2894     "name": "environment",2895     "type": "EnvironmentConfig | string",2896     "required": false,2897     "description": "Requested environment."2898    },2899    {2900     "name": "environment_id",2901     "type": "string",2902     "required": false,2903     "description": "Output only. Sandbox id; only when environment set."2904    },2905    {2906     "name": "previous_interaction_id",2907     "type": "string",2908     "required": false,2909     "description": ""2910    },2911    {2912     "name": "labels",2913     "type": "object",2914     "required": false,2915     "description": ""2916    },2917    {2918     "name": "safety_settings",2919     "type": "SafetySetting[]",2920     "required": false,2921     "description": ""2922    },2923    {2924     "name": "service_tier",2925     "type": "string",2926     "required": false,2927     "description": "",2928     "enum": [2929      "flex",2930      "standard",2931      "priority"2932     ]2933    },2934    {2935     "name": "webhook_config",2936     "type": "WebhookConfig",2937     "required": false,2938     "description": ""2939    },2940    {2941     "name": "steps",2942     "type": "Step[]",2943     "required": false,2944     "description": "Output only. Execution steps."2945    },2946    {2947     "name": "usage",2948     "type": "Usage",2949     "required": false,2950     "description": "Output only. Token statistics."2951    },2952    {2953     "name": "errors",2954     "type": "Error[]",2955     "required": false,2956     "description": "Output only. Diagnostic faults {code, message}."2957    },2958    {2959     "name": "created",2960     "type": "string (ISO 8601)",2961     "required": false,2962     "description": "Output only."2963    },2964    {2965     "name": "updated",2966     "type": "string (ISO 8601)",2967     "required": false,2968     "description": "Output only."2969    },2970    {2971     "name": "output_text",2972     "type": "string (SDK convenience)",2973     "required": false,2974     "description": "google-genai / @google/genai only: concatenated text of the last model_output step (not in the JSON)."2975    }2976   ],2977   "status": [2978    "DOCUMENTED",2979    "BETA",2980    "LIVE_VERIFIED"2981   ],2982   "example": {2983    "created": "2025-12-04T15:01:45Z",2984    "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg",2985    "model": "gemini-3.6-flash",2986    "object": "interaction",2987    "status": "completed",2988    "steps": [2989     {2990      "type": "model_output",2991      "content": [2992       {2993        "type": "text",2994        "text": "Hello! I'm doing well..."2995       }2996      ]2997     }2998    ],2999    "updated": "2025-12-04T15:01:45Z",3000    "usage": {3001     "input_tokens_by_modality": [3002      {3003       "modality": "text",3004       "tokens": 73005      }3006     ],3007     "total_cached_tokens": 0,3008     "total_input_tokens": 7,3009     "total_output_tokens": 23,3010     "total_thought_tokens": 49,3011     "total_tokens": 79,3012     "total_tool_use_tokens": 03013    }3014   },3015   "sources": [3016    {3017     "url": "https://ai.google.dev/api/interactions",3018     "retrieved_at": "2026-09-18"3019    }3020   ],3021   "live_observation_2026_09_18": "live: {id, object: interaction, status, model|agent, created, updated, service_tier, steps[], usage{total_tokens,total_input_tokens,input_tokens_by_modality,total_cached_tokens,total_output_tokens,total_tool_use_tokens,total_thought_tokens,raw_prompt_token,model_invocation_token_counts}, generation_config (GET echo)}; store:false → no id"3022  },3023  {3024   "provider": "gemini",3025   "api_family": "interactions",3026   "name": "Usage",3027   "object": null,3028   "schema_name": "Usage",3029   "description": "Token statistics of an interaction (also `step_usage`/`usage` on step.stop, `metadata.total_usage` on step.delta).",3030   "fields": [3031    {3032     "name": "total_input_tokens",3033     "type": "integer",3034     "required": false,3035     "description": "Prompt tokens."3036    },3037    {3038     "name": "total_output_tokens",3039     "type": "integer",3040     "required": false,3041     "description": ""3042    },3043    {3044     "name": "total_thought_tokens",3045     "type": "integer",3046     "required": false,3047     "description": "Thinking tokens."3048    },3049    {3050     "name": "total_cached_tokens",3051     "type": "integer",3052     "required": false,3053     "description": "Cached prompt tokens."3054    },3055    {3056     "name": "total_tool_use_tokens",3057     "type": "integer",3058     "required": false,3059     "description": "Tool-use prompt tokens."3060    },3061    {3062     "name": "total_tokens",3063     "type": "integer",3064     "required": false,3065     "description": "prompt + responses + internal."3066    },3067    {3068     "name": "input_tokens_by_modality",3069     "type": "ModalityTokens[]",3070     "required": false,3071     "description": "{modality: text|image|audio|video|document, tokens}"3072    },3073    {3074     "name": "output_tokens_by_modality",3075     "type": "ModalityTokens[]",3076     "required": false,3077     "description": ""3078    },3079    {3080     "name": "cached_tokens_by_modality",3081     "type": "ModalityTokens[]",3082     "required": false,3083     "description": ""3084    },3085    {3086     "name": "tool_use_tokens_by_modality",3087     "type": "ModalityTokens[]",3088     "required": false,3089     "description": ""3090    },3091    {3092     "name": "grounding_tool_count",3093     "type": "GroundingToolCount[]",3094     "required": false,3095     "description": "{type: google_search|google_maps, count}"3096    }3097   ],3098   "status": [3099    "DOCUMENTED",3100    "BETA"3101   ],3102   "example": null,3103   "sources": [3104    {3105     "url": "https://ai.google.dev/api/interactions",3106     "retrieved_at": "2026-09-18"3107    }3108   ]3109  },3110  {3111   "provider": "gemini",3112   "api_family": "interactions",3113   "name": "Error",3114   "object": null,3115   "schema_name": "Error",3116   "description": "Error object (Interaction.errors[], SSE error event, HTTP error bodies `{error:{message, code}}`). Known codes: invalid_request (400), not_found (404), aborted (409), gateway_timeout.",3117   "fields": [3118    {3119     "name": "code",3120     "type": "string",3121     "required": false,3122     "description": "A URI/short code identifying the error type."3123    },3124    {3125     "name": "message",3126     "type": "string",3127     "required": false,3128     "description": "Human-readable message."3129    }3130   ],3131   "status": [3132    "DOCUMENTED",3133    "BETA"3134   ],3135   "example": {3136    "error": {3137     "message": "Result not found.; GetCredential call failed",3138     "code": "not_found"3139    }3140   },3141   "sources": [3142    {3143     "url": "https://ai.google.dev/api/interactions",3144     "retrieved_at": "2026-09-18"3145    }3146   ]3147  },3148  {3149   "provider": "gemini",3150   "api_family": "interactions",3151   "name": "InteractionSseEventInteraction",3152   "object": null,3153   "schema_name": "InteractionSseEventInteraction",3154   "description": "Partial Interaction carried by interaction.created / interaction.completed (may omit fields available only on full responses; no steps).",3155   "fields": [3156    {3157     "name": "id",3158     "type": "string",3159     "required": true,3160     "description": ""3161    },3162    {3163     "name": "object",3164     "type": "string",3165     "required": false,3166     "description": ""3167    },3168    {3169     "name": "model",3170     "type": "string",3171     "required": false,3172     "description": ""3173    },3174    {3175     "name": "agent",3176     "type": "string",3177     "required": false,3178     "description": ""3179    },3180    {3181     "name": "status",3182     "type": "string",3183     "required": true,3184     "description": "",3185     "enum": [3186      "in_progress",3187      "requires_action",3188      "completed",3189      "failed",3190      "cancelled",3191      "incomplete"3192     ]3193    },3194    {3195     "name": "service_tier",3196     "type": "string",3197     "required": false,3198     "description": ""3199    },3200    {3201     "name": "steps",3202     "type": "Step[]",3203     "required": false,3204     "description": "if included"3205    },3206    {3207     "name": "usage",3208     "type": "Usage",3209     "required": false,3210     "description": ""3211    },3212    {3213     "name": "created",3214     "type": "string",3215     "required": false,3216     "description": ""3217    },3218    {3219     "name": "updated",3220     "type": "string",3221     "required": false,3222     "description": ""3223    }3224   ],3225   "status": [3226    "DOCUMENTED",3227    "BETA"3228   ],3229   "example": null,3230   "sources": [3231    {3232     "url": "https://ai.google.dev/api/interactions",3233     "retrieved_at": "2026-09-18"3234    }3235   ]3236  },3237  {3238   "provider": "gemini",3239   "api_family": "interactions",3240   "name": "Content (union)",3241   "object": null,3242   "schema_name": "Content",3243   "description": "Polymorphic content block (discriminator `type`). Used in `input`, `user_input.content`, `model_output.content`, function results, thought summaries.",3244   "fields": [3245    {3246     "name": "type",3247     "type": "string",3248     "required": true,3249     "description": "",3250     "enum": [3251      "text",3252      "image",3253      "audio",3254      "document",3255      "video"3256     ]3257    }3258   ],3259   "status": [3260    "DOCUMENTED",3261    "BETA"3262   ],3263   "example": null,3264   "sources": [3265    {3266     "url": "https://ai.google.dev/api/interactions",3267     "retrieved_at": "2026-09-18"3268    }3269   ]3270  },3271  {3272   "provider": "gemini",3273   "api_family": "interactions",3274   "name": "TextContent",3275   "object": null,3276   "schema_name": "TextContent",3277   "description": "A text block, optionally with citation annotations.",3278   "fields": [3279    {3280     "name": "type",3281     "type": "string",3282     "required": true,3283     "description": "`text`",3284     "enum": [3285      "text"3286     ]3287    },3288    {3289     "name": "text",3290     "type": "string",3291     "required": true,3292     "description": ""3293    },3294    {3295     "name": "annotations",3296     "type": "Annotation[]",3297     "required": false,3298     "description": "file_citation | place_citation | url_citation | word_info"3299    }3300   ],3301   "status": [3302    "DOCUMENTED",3303    "BETA"3304   ],3305   "example": {3306    "type": "text",3307    "text": "Hello, how are you?"3308   },3309   "sources": [3310    {3311     "url": "https://ai.google.dev/api/interactions",3312     "retrieved_at": "2026-09-18"3313    }3314   ]3315  },3316  {3317   "provider": "gemini",3318   "api_family": "interactions",3319   "name": "ImageContent",3320   "object": null,3321   "schema_name": "ImageContent",3322   "description": "Image block (inline base64 or uri).",3323   "fields": [3324    {3325     "name": "type",3326     "type": "string",3327     "required": true,3328     "description": "",3329     "enum": [3330      "image"3331     ]3332    },3333    {3334     "name": "data",3335     "type": "string (base64)",3336     "required": false,3337     "description": ""3338    },3339    {3340     "name": "uri",3341     "type": "string",3342     "required": false,3343     "description": ""3344    },3345    {3346     "name": "mime_type",3347     "type": "string",3348     "required": false,3349     "description": "",3350     "enum": [3351      "image/png",3352      "image/jpeg",3353      "image/webp",3354      "image/heic",3355      "image/heif",3356      "image/gif",3357      "image/bmp",3358      "image/tiff"3359     ]3360    },3361    {3362     "name": "resolution",3363     "type": "string",3364     "required": false,3365     "description": "",3366     "enum": [3367      "low",3368      "medium",3369      "high",3370      "ultra_high"3371     ]3372    }3373   ],3374   "status": [3375    "DOCUMENTED",3376    "BETA"3377   ],3378   "example": {3379    "type": "image",3380    "data": "BASE64_ENCODED_IMAGE",3381    "mime_type": "image/png"3382   },3383   "sources": [3384    {3385     "url": "https://ai.google.dev/api/interactions",3386     "retrieved_at": "2026-09-18"3387    }3388   ]3389  },3390  {3391   "provider": "gemini",3392   "api_family": "interactions",3393   "name": "AudioContent",3394   "object": null,3395   "schema_name": "AudioContent",3396   "description": "Audio block.",3397   "fields": [3398    {3399     "name": "type",3400     "type": "string",3401     "required": true,3402     "description": "",3403     "enum": [3404      "audio"3405     ]3406    },3407    {3408     "name": "data",3409     "type": "string",3410     "required": false,3411     "description": ""3412    },3413    {3414     "name": "uri",3415     "type": "string",3416     "required": false,3417     "description": ""3418    },3419    {3420     "name": "mime_type",3421     "type": "string",3422     "required": false,3423     "description": "",3424     "enum": [3425      "audio/wav",3426      "audio/mp3",3427      "audio/aiff",3428      "audio/aac",3429      "audio/ogg",3430      "audio/flac",3431      "audio/mpeg",3432      "audio/m4a",3433      "audio/l16",3434      "audio/opus",3435      "audio/alaw",3436      "audio/mulaw",3437      "audio/webm"3438     ]3439    },3440    {3441     "name": "channels",3442     "type": "integer",3443     "required": false,3444     "description": ""3445    },3446    {3447     "name": "sample_rate",3448     "type": "integer",3449     "required": false,3450     "description": ""3451    }3452   ],3453   "status": [3454    "DOCUMENTED",3455    "BETA"3456   ],3457   "example": {3458    "type": "audio",3459    "data": "BASE64_ENCODED_AUDIO",3460    "mime_type": "audio/wav"3461   },3462   "sources": [3463    {3464     "url": "https://ai.google.dev/api/interactions",3465     "retrieved_at": "2026-09-18"3466    }3467   ]3468  },3469  {3470   "provider": "gemini",3471   "api_family": "interactions",3472   "name": "DocumentContent",3473   "object": null,3474   "schema_name": "DocumentContent",3475   "description": "Document block (PDF/CSV).",3476   "fields": [3477    {3478     "name": "type",3479     "type": "string",3480     "required": true,3481     "description": "",3482     "enum": [3483      "document"3484     ]3485    },3486    {3487     "name": "data",3488     "type": "string",3489     "required": false,3490     "description": ""3491    },3492    {3493     "name": "uri",3494     "type": "string",3495     "required": false,3496     "description": ""3497    },3498    {3499     "name": "mime_type",3500     "type": "string",3501     "required": false,3502     "description": "",3503     "enum": [3504      "application/pdf",3505      "text/csv"3506     ]3507    }3508   ],3509   "status": [3510    "DOCUMENTED",3511    "BETA"3512   ],3513   "example": {3514    "type": "document",3515    "data": "BASE64_ENCODED_DOCUMENT",3516    "mime_type": "application/pdf"3517   },3518   "sources": [3519    {3520     "url": "https://ai.google.dev/api/interactions",3521     "retrieved_at": "2026-09-18"3522    }3523   ]3524  },3525  {3526   "provider": "gemini",3527   "api_family": "interactions",3528   "name": "VideoContent",3529   "object": null,3530   "schema_name": "VideoContent",3531   "description": "Video block; `processing` selects static frame sampling vs agentic navigation.",3532   "fields": [3533    {3534     "name": "type",3535     "type": "string",3536     "required": true,3537     "description": "",3538     "enum": [3539      "video"3540     ]3541    },3542    {3543     "name": "data",3544     "type": "string",3545     "required": false,3546     "description": ""3547    },3548    {3549     "name": "uri",3550     "type": "string",3551     "required": false,3552     "description": "Files URI or YouTube URL"3553    },3554    {3555     "name": "mime_type",3556     "type": "string",3557     "required": false,3558     "description": "",3559     "enum": [3560      "video/mp4",3561      "video/mpeg",3562      "video/mpg",3563      "video/mov",3564      "video/avi",3565      "video/x-flv",3566      "video/webm",3567      "video/wmv",3568      "video/3gpp"3569     ]3570    },3571    {3572     "name": "name",3573     "type": "string",3574     "required": false,3575     "description": "user-defined reference name"3576    },3577    {3578     "name": "processing",3579     "type": "'static' | 'agentic' | StaticMediaProcessing{type:'static', fps, start_offset, end_offset}",3580     "required": false,3581     "description": ""3582    },3583    {3584     "name": "resolution",3585     "type": "string",3586     "required": false,3587     "description": "",3588     "enum": [3589      "low",3590      "medium",3591      "high",3592      "ultra_high"3593     ]3594    }3595   ],3596   "status": [3597    "DOCUMENTED",3598    "BETA"3599   ],3600   "example": {3601    "type": "video",3602    "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg"3603   },3604   "sources": [3605    {3606     "url": "https://ai.google.dev/api/interactions",3607     "retrieved_at": "2026-09-18"3608    }3609   ]3610  },3611  {3612   "provider": "gemini",3613   "api_family": "interactions",3614   "name": "Annotation (union)",3615   "object": null,3616   "schema_name": "Annotation",3617   "description": "Citation annotation on TextContent / TextAnnotationDelta.",3618   "fields": [3619    {3620     "name": "type",3621     "type": "string",3622     "required": true,3623     "description": "",3624     "enum": [3625      "file_citation",3626      "place_citation",3627      "url_citation",3628      "word_info"3629     ]3630    },3631    {3632     "name": "start_index",3633     "type": "integer",3634     "required": false,3635     "description": "byte offset start"3636    },3637    {3638     "name": "end_index",3639     "type": "integer",3640     "required": false,3641     "description": "exclusive end"3642    },3643    {3644     "name": "url / title",3645     "type": "string",3646     "required": false,3647     "description": "url_citation"3648    },3649    {3650     "name": "document_uri / file_name / page_number / media_id / source / custom_metadata",3651     "type": "mixed",3652     "required": false,3653     "description": "file_citation"3654    },3655    {3656     "name": "place_id / name / url / review_snippets[]{review_id,title,url}",3657     "type": "mixed",3658     "required": false,3659     "description": "place_citation"3660    },3661    {3662     "name": "text / start_offset / end_offset / speaker",3663     "type": "mixed",3664     "required": false,3665     "description": "word_info (ASR word timing & diarization)"3666    }3667   ],3668   "status": [3669    "DOCUMENTED",3670    "BETA"3671   ],3672   "example": null,3673   "sources": [3674    {3675     "url": "https://ai.google.dev/api/interactions",3676     "retrieved_at": "2026-09-18"3677    }3678   ]3679  },3680  {3681   "provider": "gemini",3682   "api_family": "interactions",3683   "name": "Tool (union)",3684   "object": null,3685   "schema_name": "Tool",3686   "description": "Tool declaration (discriminator `type`).",3687   "fields": [3688    {3689     "name": "type",3690     "type": "string",3691     "required": true,3692     "description": "",3693     "enum": [3694      "function",3695      "google_search",3696      "google_maps",3697      "code_execution",3698      "url_context",3699      "file_search",3700      "mcp_server",3701      "computer_use"3702     ]3703    }3704   ],3705   "status": [3706    "DOCUMENTED",3707    "BETA"3708   ],3709   "example": null,3710   "sources": [3711    {3712     "url": "https://ai.google.dev/api/interactions",3713     "retrieved_at": "2026-09-18"3714    }3715   ]3716  },3717  {3718   "provider": "gemini",3719   "api_family": "interactions",3720   "name": "Function tool",3721   "object": null,3722   "schema_name": "Function",3723   "description": "Client-side function declaration; model emits `function_call` steps (status requires_action), client answers with `function_result`.",3724   "fields": [3725    {3726     "name": "type",3727     "type": "string",3728     "required": true,3729     "description": "",3730     "enum": [3731      "function"3732     ]3733    },3734    {3735     "name": "name",3736     "type": "string",3737     "required": false,3738     "description": ""3739    },3740    {3741     "name": "description",3742     "type": "string",3743     "required": false,3744     "description": ""3745    },3746    {3747     "name": "parameters",3748     "type": "object (JSON Schema)",3749     "required": false,3750     "description": ""3751    }3752   ],3753   "status": [3754    "DOCUMENTED",3755    "BETA"3756   ],3757   "example": {3758    "type": "function",3759    "name": "get_weather",3760    "description": "Get the current weather in a given location",3761    "parameters": {3762     "type": "object",3763     "properties": {3764      "location": {3765       "type": "string"3766      }3767     },3768     "required": [3769      "location"3770     ]3771    }3772   },3773   "sources": [3774    {3775     "url": "https://ai.google.dev/api/interactions",3776     "retrieved_at": "2026-09-18"3777    }3778   ]3779  },3780  {3781   "provider": "gemini",3782   "api_family": "interactions",3783   "name": "GoogleSearch tool",3784   "object": null,3785   "schema_name": "GoogleSearch",3786   "description": "Server-side Google Search grounding (web and/or image search).",3787   "fields": [3788    {3789     "name": "type",3790     "type": "string",3791     "required": true,3792     "description": "",3793     "enum": [3794      "google_search"3795     ]3796    },3797    {3798     "name": "search_types",3799     "type": "string[]",3800     "required": false,3801     "description": "",3802     "enum": [3803      "web_search",3804      "image_search"3805     ]3806    }3807   ],3808   "status": [3809    "DOCUMENTED",3810    "BETA"3811   ],3812   "example": {3813    "type": "google_search"3814   },3815   "sources": [3816    {3817     "url": "https://ai.google.dev/api/interactions",3818     "retrieved_at": "2026-09-18"3819    }3820   ]3821  },3822  {3823   "provider": "gemini",3824   "api_family": "interactions",3825   "name": "GoogleMaps tool",3826   "object": null,3827   "schema_name": "GoogleMaps",3828   "description": "Server-side Google Maps grounding.",3829   "fields": [3830    {3831     "name": "type",3832     "type": "string",3833     "required": true,3834     "description": "",3835     "enum": [3836      "google_maps"3837     ]3838    },3839    {3840     "name": "latitude",3841     "type": "number",3842     "required": false,3843     "description": ""3844    },3845    {3846     "name": "longitude",3847     "type": "number",3848     "required": false,3849     "description": ""3850    },3851    {3852     "name": "enable_widget",3853     "type": "boolean",3854     "required": false,3855     "description": "return widget context token"3856    }3857   ],3858   "status": [3859    "DOCUMENTED",3860    "BETA"3861   ],3862   "example": {3863    "type": "google_maps",3864    "latitude": 37.7749,3865    "longitude": -122.41943866   },3867   "sources": [3868    {3869     "url": "https://ai.google.dev/api/interactions",3870     "retrieved_at": "2026-09-18"3871    }3872   ]3873  },3874  {3875   "provider": "gemini",3876   "api_family": "interactions",3877   "name": "CodeExecution tool",3878   "object": null,3879   "schema_name": "CodeExecution",3880   "description": "Server-side Python sandbox (>= 3.10, numpy, simpy) → code_execution_call/result steps.",3881   "fields": [3882    {3883     "name": "type",3884     "type": "string",3885     "required": true,3886     "description": "",3887     "enum": [3888      "code_execution"3889     ]3890    }3891   ],3892   "status": [3893    "DOCUMENTED",3894    "BETA"3895   ],3896   "example": {3897    "type": "code_execution"3898   },3899   "sources": [3900    {3901     "url": "https://ai.google.dev/api/interactions",3902     "retrieved_at": "2026-09-18"3903    }3904   ]3905  },3906  {3907   "provider": "gemini",3908   "api_family": "interactions",3909   "name": "UrlContext tool",3910   "object": null,3911   "schema_name": "UrlContext",3912   "description": "Server-side URL fetching → url_context_call/result steps.",3913   "fields": [3914    {3915     "name": "type",3916     "type": "string",3917     "required": true,3918     "description": "",3919     "enum": [3920      "url_context"3921     ]3922    }3923   ],3924   "status": [3925    "DOCUMENTED",3926    "BETA"3927   ],3928   "example": {3929    "type": "url_context"3930   },3931   "sources": [3932    {3933     "url": "https://ai.google.dev/api/interactions",3934     "retrieved_at": "2026-09-18"3935    }3936   ]3937  },3938  {3939   "provider": "gemini",3940   "api_family": "interactions",3941   "name": "FileSearch tool",3942   "object": null,3943   "schema_name": "FileSearch",3944   "description": "Retrieval over File Search stores → file_search_call/result steps + file_citation annotations.",3945   "fields": [3946    {3947     "name": "type",3948     "type": "string",3949     "required": true,3950     "description": "",3951     "enum": [3952      "file_search"3953     ]3954    },3955    {3956     "name": "file_search_store_names",3957     "type": "string[]",3958     "required": false,3959     "description": "fileSearchStores/..."3960    },3961    {3962     "name": "metadata_filter",3963     "type": "string",3964     "required": false,3965     "description": ""3966    },3967    {3968     "name": "top_k",3969     "type": "integer",3970     "required": false,3971     "description": ""3972    }3973   ],3974   "status": [3975    "DOCUMENTED",3976    "BETA"3977   ],3978   "example": {3979    "type": "file_search",3980    "file_search_store_names": [3981     "fileSearchStores/m64d1sevsr4y-xfyawui3fxqg"3982    ]3983   },3984   "sources": [3985    {3986     "url": "https://ai.google.dev/api/interactions",3987     "retrieved_at": "2026-09-18"3988    }3989   ]3990  },3991  {3992   "provider": "gemini",3993   "api_family": "interactions",3994   "name": "McpServer tool",3995   "object": null,3996   "schema_name": "McpServer",3997   "description": "Remote MCP server (streamable HTTP) called server-side → mcp_server_tool_call/result steps. Not supported by Gemini 3 models yet ('coming soon'); supported by Deep Research and Antigravity.",3998   "fields": [3999    {4000     "name": "type",4001     "type": "string",4002     "required": true,4003     "description": "",4004     "enum": [4005      "mcp_server"4006     ]4007    },4008    {4009     "name": "name",4010     "type": "string",4011     "required": false,4012     "description": "Antigravity: required, ^[a-z0-9_-]+$"4013    },4014    {4015     "name": "url",4016     "type": "string",4017     "required": false,4018     "description": ""4019    },4020    {4021     "name": "headers",4022     "type": "object",4023     "required": false,4024     "description": ""4025    },4026    {4027     "name": "credential",4028     "type": "string",4029     "required": false,4030     "description": "stored credential id (guides)"4031    },4032    {4033     "name": "allowed_tools",4034     "type": "AllowedTools[] {mode, tools[]} | string[]",4035     "required": false,4036     "description": ""4037    }4038   ],4039   "status": [4040    "DOCUMENTED",4041    "BETA"4042   ],4043   "example": {4044    "type": "mcp_server",4045    "name": "weather_service",4046    "url": "https://gemini-api-demos.uc.r.appspot.com/mcp"4047   },4048   "sources": [4049    {4050     "url": "https://ai.google.dev/api/interactions",4051     "retrieved_at": "2026-09-18"4052    }4053   ]4054  },4055  {4056   "provider": "gemini",4057   "api_family": "interactions",4058   "name": "ComputerUse tool",4059   "object": null,4060   "schema_name": "ComputerUse",4061   "description": "Computer-use tool (model gemini-2.5-computer-use-preview-10-2025).",4062   "fields": [4063    {4064     "name": "type",4065     "type": "string",4066     "required": true,4067     "description": "",4068     "enum": [4069      "computer_use"4070     ]4071    },4072    {4073     "name": "environment",4074     "type": "string",4075     "required": false,4076     "description": "",4077     "enum": [4078      "browser",4079      "mobile",4080      "desktop"4081     ]4082    },4083    {4084     "name": "disabled_safety_policies",4085     "type": "string[]",4086     "required": false,4087     "description": "",4088     "enum": [4089      "financial_transactions",4090      "sensitive_data_modification",4091      "communication_tool",4092      "account_creation",4093      "data_modification",4094      "user_consent_management",4095      "legal_terms_and_agreements"4096     ]4097    },4098    {4099     "name": "enable_prompt_injection_detection",4100     "type": "boolean",4101     "required": false,4102     "description": ""4103    },4104    {4105     "name": "excluded_predefined_functions",4106     "type": "string[]",4107     "required": false,4108     "description": ""4109    }4110   ],4111   "status": [4112    "DOCUMENTED",4113    "BETA"4114   ],4115   "example": {4116    "type": "computer_use"4117   },4118   "sources": [4119    {4120     "url": "https://ai.google.dev/api/interactions",4121     "retrieved_at": "2026-09-18"4122    }4123   ]4124  },4125  {4126   "provider": "gemini",4127   "api_family": "interactions",4128   "name": "ToolChoiceConfig",4129   "object": null,4130   "schema_name": "ToolChoiceConfig",4131   "description": "Object form of generation_config.tool_choice.",4132   "fields": [4133    {4134     "name": "allowed_tools",4135     "type": "AllowedTools",4136     "required": false,4137     "description": ""4138    },4139    {4140     "name": "allowed_tools.mode",4141     "type": "string",4142     "required": false,4143     "description": "",4144     "enum": [4145      "auto",4146      "any",4147      "none",4148      "validated"4149     ]4150    },4151    {4152     "name": "allowed_tools.tools",4153     "type": "string[]",4154     "required": false,4155     "description": ""4156    }4157   ],4158   "status": [4159    "DOCUMENTED",4160    "BETA"4161   ],4162   "example": {4163    "allowed_tools": {4164     "mode": "any",4165     "tools": [4166      "my_tool"4167     ]4168    }4169   },4170   "sources": [4171    {4172     "url": "https://ai.google.dev/api/interactions",4173     "retrieved_at": "2026-09-18"4174    }4175   ]4176  },4177  {4178   "provider": "gemini",4179   "api_family": "interactions",4180   "name": "GenerationConfig",4181   "object": null,4182   "schema_name": "GenerationConfig",4183   "description": "Model configuration (model interactions only).",4184   "fields": [4185    {4186     "name": "max_output_tokens",4187     "type": "integer",4188     "required": false,4189     "description": ""4190    },4191    {4192     "name": "seed",4193     "type": "integer",4194     "required": false,4195     "description": ""4196    },4197    {4198     "name": "stop_sequences",4199     "type": "string[]",4200     "required": false,4201     "description": ""4202    },4203    {4204     "name": "temperature",4205     "type": "number",4206     "required": false,4207     "description": "guide only (UNVERIFIED in reference)"4208    },4209    {4210     "name": "thinking_level",4211     "type": "string",4212     "required": false,4213     "description": "",4214     "enum": [4215      "minimal",4216      "low",4217      "medium",4218      "high"4219     ]4220    },4221    {4222     "name": "thinking_summaries",4223     "type": "string",4224     "required": false,4225     "description": "",4226     "enum": [4227      "auto",4228      "none"4229     ]4230    },4231    {4232     "name": "tool_choice",4233     "type": "string | ToolChoiceConfig",4234     "required": false,4235     "description": ""4236    },4237    {4238     "name": "speech_config",4239     "type": "SpeakerConfig | SpeechConfig[]",4240     "required": false,4241     "description": "{speakers[]{speaker, voice, language}}"4242    },4243    {4244     "name": "transcription_config",4245     "type": "TranscriptionConfig",4246     "required": false,4247     "description": "{custom_vocabulary[], language_codes[], mode}"4248    },4249    {4250     "name": "video_config",4251     "type": "VideoConfig",4252     "required": false,4253     "description": "{task}"4254    }4255   ],4256   "status": [4257    "DOCUMENTED",4258    "BETA"4259   ],4260   "example": null,4261   "sources": [4262    {4263     "url": "https://ai.google.dev/api/interactions",4264     "retrieved_at": "2026-09-18"4265    }4266   ]4267  },4268  {4269   "provider": "gemini",4270   "api_family": "interactions",4271   "name": "TranscriptionConfig",4272   "object": null,4273   "schema_name": "TranscriptionConfig",4274   "description": "ASR configuration inside generation_config.",4275   "fields": [4276    {4277     "name": "custom_vocabulary",4278     "type": "string[]",4279     "required": false,4280     "description": ""4281    },4282    {4283     "name": "language_codes",4284     "type": "string[]",4285     "required": false,4286     "description": "BCP-47"4287    },4288    {4289     "name": "mode",4290     "type": "'verbatim' | 'smart' | {type:'smart'} | {type:'verbatim', diarization_mode:'speaker', timestamp_granularities:['word']}",4291     "required": false,4292     "description": ""4293    }4294   ],4295   "status": [4296    "DOCUMENTED",4297    "BETA"4298   ],4299   "example": null,4300   "sources": [4301    {4302     "url": "https://ai.google.dev/api/interactions",4303     "retrieved_at": "2026-09-18"4304    }4305   ]4306  },4307  {4308   "provider": "gemini",4309   "api_family": "interactions",4310   "name": "ResponseFormat (union)",4311   "object": null,4312   "schema_name": "ResponseFormat",4313   "description": "Output format entry (discriminator `type`); array for multi-modal output.",4314   "fields": [4315    {4316     "name": "type",4317     "type": "string",4318     "required": true,4319     "description": "",4320     "enum": [4321      "text",4322      "image",4323      "audio",4324      "video"4325     ]4326    }4327   ],4328   "status": [4329    "DOCUMENTED",4330    "BETA"4331   ],4332   "example": null,4333   "sources": [4334    {4335     "url": "https://ai.google.dev/api/interactions",4336     "retrieved_at": "2026-09-18"4337    }4338   ]4339  },4340  {4341   "provider": "gemini",4342   "api_family": "interactions",4343   "name": "TextResponseFormat",4344   "object": null,4345   "schema_name": "TextResponseFormat",4346   "description": "Text / structured JSON output.",4347   "fields": [4348    {4349     "name": "type",4350     "type": "string",4351     "required": true,4352     "description": "",4353     "enum": [4354      "text"4355     ]4356    },4357    {4358     "name": "mime_type",4359     "type": "string",4360     "required": false,4361     "description": "",4362     "enum": [4363      "application/json",4364      "text/plain"4365     ]4366    },4367    {4368     "name": "schema",4369     "type": "object (JSON Schema)",4370     "required": false,4371     "description": "only with application/json"4372    }4373   ],4374   "status": [4375    "DOCUMENTED",4376    "BETA"4377   ],4378   "example": {4379    "type": "text",4380    "mime_type": "application/json",4381    "schema": {4382     "type": "object",4383     "properties": {4384      "recipe_name": {4385       "type": "string"4386      }4387     },4388     "required": [4389      "recipe_name"4390     ]4391    }4392   },4393   "sources": [4394    {4395     "url": "https://ai.google.dev/api/interactions",4396     "retrieved_at": "2026-09-18"4397    }4398   ]4399  },4400  {4401   "provider": "gemini",4402   "api_family": "interactions",4403   "name": "ImageResponseFormat",4404   "object": null,4405   "schema_name": "ImageResponseFormat",4406   "description": "Image output settings (replaces generation_config.image_config).",4407   "fields": [4408    {4409     "name": "type",4410     "type": "string",4411     "required": true,4412     "description": "",4413     "enum": [4414      "image"4415     ]4416    },4417    {4418     "name": "aspect_ratio",4419     "type": "string",4420     "required": false,4421     "description": "",4422     "enum": [4423      "1:1",4424      "2:3",4425      "3:2",4426      "3:4",4427      "4:3",4428      "4:5",4429      "5:4",4430      "9:16",4431      "16:9",4432      "21:9",4433      "1:8",4434      "8:1",4435      "1:4",4436      "4:1"4437     ]4438    },4439    {4440     "name": "image_size",4441     "type": "string",4442     "required": false,4443     "description": "",4444     "enum": [4445      "512",4446      "1K",4447      "2K",4448      "4K"4449     ]4450    },4451    {4452     "name": "mime_type",4453     "type": "string",4454     "required": false,4455     "description": "",4456     "enum": [4457      "image/jpeg"4458     ]4459    },4460    {4461     "name": "delivery",4462     "type": "string",4463     "required": false,4464     "description": "",4465     "enum": [4466      "inline",4467      "uri"4468     ]4469    }4470   ],4471   "status": [4472    "DOCUMENTED",4473    "BETA"4474   ],4475   "example": {4476    "type": "image",4477    "aspect_ratio": "16:9",4478    "image_size": "1K",4479    "mime_type": "image/jpeg"4480   },4481   "sources": [4482    {4483     "url": "https://ai.google.dev/api/interactions",4484     "retrieved_at": "2026-09-18"4485    }4486   ]4487  },4488  {4489   "provider": "gemini",4490   "api_family": "interactions",4491   "name": "AudioResponseFormat",4492   "object": null,4493   "schema_name": "AudioResponseFormat",4494   "description": "Audio output settings.",4495   "fields": [4496    {4497     "name": "type",4498     "type": "string",4499     "required": true,4500     "description": "",4501     "enum": [4502      "audio"4503     ]4504    },4505    {4506     "name": "mime_type",4507     "type": "string",4508     "required": false,4509     "description": "",4510     "enum": [4511      "audio/mp3",4512      "audio/ogg_opus",4513      "audio/l16",4514      "audio/wav",4515      "audio/alaw",4516      "audio/mulaw"4517     ]4518    },4519    {4520     "name": "sample_rate",4521     "type": "integer",4522     "required": false,4523     "description": "Hz"4524    },4525    {4526     "name": "bit_rate",4527     "type": "integer",4528     "required": false,4529     "description": "bps, compressed only"4530    },4531    {4532     "name": "delivery",4533     "type": "string",4534     "required": false,4535     "description": "",4536     "enum": [4537      "inline",4538      "uri"4539     ]4540    }4541   ],4542   "status": [4543    "DOCUMENTED",4544    "BETA"4545   ],4546   "example": {4547    "type": "audio",4548    "sample_rate": 240004549   },4550   "sources": [4551    {4552     "url": "https://ai.google.dev/api/interactions",4553     "retrieved_at": "2026-09-18"4554    }4555   ]4556  },4557  {4558   "provider": "gemini",4559   "api_family": "interactions",4560   "name": "VideoResponseFormat",4561   "object": null,4562   "schema_name": "VideoResponseFormat",4563   "description": "Video output settings.",4564   "fields": [4565    {4566     "name": "type",4567     "type": "string",4568     "required": true,4569     "description": "",4570     "enum": [4571      "video"4572     ]4573    },4574    {4575     "name": "aspect_ratio",4576     "type": "string",4577     "required": false,4578     "description": "",4579     "enum": [4580      "16:9",4581      "9:16"4582     ]4583    },4584    {4585     "name": "resolution",4586     "type": "string",4587     "required": false,4588     "description": "default 720p",4589     "enum": [4590      "360p",4591      "720p",4592      "1080p",4593      "4k"4594     ]4595    },4596    {4597     "name": "duration",4598     "type": "string",4599     "required": false,4600     "description": ""4601    },4602    {4603     "name": "delivery",4604     "type": "string",4605     "required": false,4606     "description": "",4607     "enum": [4608      "inline",4609      "uri"4610     ]4611    }4612   ],4613   "status": [4614    "DOCUMENTED",4615    "BETA"4616   ],4617   "example": {4618    "type": "video",4619    "aspect_ratio": "16:9",4620    "delivery": "inline"4621   },4622   "sources": [4623    {4624     "url": "https://ai.google.dev/api/interactions",4625     "retrieved_at": "2026-09-18"4626    }4627   ]4628  },4629  {4630   "provider": "gemini",4631   "api_family": "interactions",4632   "name": "Step (union)",4633   "object": null,4634   "schema_name": "Step",4635   "description": "One entry of the interaction timeline (discriminator `type`). POST returns model-generated steps; GET adds `user_input`. Steps can be replayed in `input` for stateless history.",4636   "fields": [4637    {4638     "name": "type",4639     "type": "string",4640     "required": true,4641     "description": "",4642     "enum": [4643      "user_input",4644      "model_output",4645      "thought",4646      "function_call",4647      "function_result",4648      "code_execution_call",4649      "code_execution_result",4650      "google_search_call",4651      "google_search_result",4652      "google_maps_call",4653      "google_maps_result",4654      "url_context_call",4655      "url_context_result",4656      "file_search_call",4657      "file_search_result",4658      "mcp_server_tool_call",4659      "mcp_server_tool_result",4660      "processing_call",4661      "processing_result"4662     ]4663    }4664   ],4665   "status": [4666    "DOCUMENTED",4667    "BETA"4668   ],4669   "example": null,4670   "sources": [4671    {4672     "url": "https://ai.google.dev/api/interactions",4673     "retrieved_at": "2026-09-18"4674    }4675   ]4676  },4677  {4678   "provider": "gemini",4679   "api_family": "interactions",4680   "name": "UserInputStep",4681   "object": null,4682   "schema_name": "UserInputStep",4683   "description": "User turn.",4684   "fields": [4685    {4686     "name": "type",4687     "type": "string",4688     "required": true,4689     "description": "",4690     "enum": [4691      "user_input"4692     ]4693    },4694    {4695     "name": "content",4696     "type": "Content[]",4697     "required": false,4698     "description": ""4699    }4700   ],4701   "status": [4702    "DOCUMENTED",4703    "BETA"4704   ],4705   "example": {4706    "type": "user_input",4707    "content": [4708     {4709      "type": "text",4710      "text": "What is the capital of France?"4711     }4712    ]4713   },4714   "sources": [4715    {4716     "url": "https://ai.google.dev/api/interactions",4717     "retrieved_at": "2026-09-18"4718    }4719   ]4720  },4721  {4722   "provider": "gemini",4723   "api_family": "interactions",4724   "name": "ModelOutputStep",4725   "object": null,4726   "schema_name": "ModelOutputStep",4727   "description": "Final model content.",4728   "fields": [4729    {4730     "name": "type",4731     "type": "string",4732     "required": true,4733     "description": "",4734     "enum": [4735      "model_output"4736     ]4737    },4738    {4739     "name": "content",4740     "type": "Content[]",4741     "required": false,4742     "description": ""4743    }4744   ],4745   "status": [4746    "DOCUMENTED",4747    "BETA"4748   ],4749   "example": {4750    "type": "model_output",4751    "content": [4752     {4753      "type": "text",4754      "text": "The capital of France is Paris."4755     }4756    ]4757   },4758   "sources": [4759    {4760     "url": "https://ai.google.dev/api/interactions",4761     "retrieved_at": "2026-09-18"4762    }4763   ]4764  },4765  {4766   "provider": "gemini",4767   "api_family": "interactions",4768   "name": "ThoughtStep",4769   "object": null,4770   "schema_name": "ThoughtStep",4771   "description": "Reasoning step; `signature` for stateless replay, `summary` when thinking_summaries=auto.",4772   "fields": [4773    {4774     "name": "type",4775     "type": "string",4776     "required": true,4777     "description": "",4778     "enum": [4779      "thought"4780     ]4781    },4782    {4783     "name": "signature",4784     "type": "string",4785     "required": false,4786     "description": ""4787    },4788    {4789     "name": "summary",4790     "type": "(TextContent|ImageContent)[]",4791     "required": false,4792     "description": ""4793    }4794   ],4795   "status": [4796    "DOCUMENTED",4797    "BETA"4798   ],4799   "example": {4800    "type": "thought",4801    "signature": "thought_sig_abcd1234",4802    "summary": [4803     {4804      "type": "text",4805      "text": "The model is searching Google..."4806     }4807    ]4808   },4809   "sources": [4810    {4811     "url": "https://ai.google.dev/api/interactions",4812     "retrieved_at": "2026-09-18"4813    }4814   ]4815  },4816  {4817   "provider": "gemini",4818   "api_family": "interactions",4819   "name": "FunctionCallStep",4820   "object": null,4821   "schema_name": "FunctionCallStep",4822   "description": "Model requests a client function; interaction status becomes requires_action.",4823   "fields": [4824    {4825     "name": "type",4826     "type": "string",4827     "required": true,4828     "description": "",4829     "enum": [4830      "function_call"4831     ]4832    },4833    {4834     "name": "id",4835     "type": "string",4836     "required": true,4837     "description": "call id"4838    },4839    {4840     "name": "name",4841     "type": "string",4842     "required": true,4843     "description": ""4844    },4845    {4846     "name": "arguments",4847     "type": "object",4848     "required": true,4849     "description": ""4850    }4851   ],4852   "status": [4853    "DOCUMENTED",4854    "BETA"4855   ],4856   "example": {4857    "name": "get_weather",4858    "type": "function_call",4859    "arguments": {4860     "location": "Boston, MA"4861    },4862    "id": "call_98231"4863   },4864   "sources": [4865    {4866     "url": "https://ai.google.dev/api/interactions",4867     "retrieved_at": "2026-09-18"4868    }4869   ]4870  },4871  {4872   "provider": "gemini",4873   "api_family": "interactions",4874   "name": "FunctionResultStep",4875   "object": null,4876   "schema_name": "FunctionResultStep",4877   "description": "Client-provided function result (in `input`).",4878   "fields": [4879    {4880     "name": "type",4881     "type": "string",4882     "required": true,4883     "description": "",4884     "enum": [4885      "function_result"4886     ]4887    },4888    {4889     "name": "call_id",4890     "type": "string",4891     "required": true,4892     "description": "matches FunctionCallStep.id"4893    },4894    {4895     "name": "name",4896     "type": "string",4897     "required": false,4898     "description": ""4899    },4900    {4901     "name": "result",4902     "type": "string | object | (TextContent|ImageContent)[]",4903     "required": true,4904     "description": ""4905    },4906    {4907     "name": "is_error",4908     "type": "boolean",4909     "required": false,4910     "description": ""4911    }4912   ],4913   "status": [4914    "DOCUMENTED",4915    "BETA"4916   ],4917   "example": {4918    "name": "get_weather",4919    "type": "function_result",4920    "call_id": "call_98231",4921    "result": [4922     {4923      "type": "text",4924      "text": "{\"weather\":\"sunny\"}"4925     }4926    ]4927   },4928   "sources": [4929    {4930     "url": "https://ai.google.dev/api/interactions",4931     "retrieved_at": "2026-09-18"4932    }4933   ]4934  },4935  {4936   "provider": "gemini",4937   "api_family": "interactions",4938   "name": "CodeExecutionCallStep / CodeExecutionResultStep",4939   "object": null,4940   "schema_name": "CodeExecutionCallStep|CodeExecutionResultStep",4941   "description": "Server-side code execution pair.",4942   "fields": [4943    {4944     "name": "type",4945     "type": "string",4946     "required": true,4947     "description": "",4948     "enum": [4949      "code_execution_call",4950      "code_execution_result"4951     ]4952    },4953    {4954     "name": "id",4955     "type": "string",4956     "required": true,4957     "description": "call step"4958    },4959    {4960     "name": "arguments",4961     "type": "{code, language: python}",4962     "required": true,4963     "description": "call step"4964    },4965    {4966     "name": "call_id",4967     "type": "string",4968     "required": true,4969     "description": "result step"4970    },4971    {4972     "name": "result",4973     "type": "string",4974     "required": true,4975     "description": "result step (stdout)"4976    },4977    {4978     "name": "is_error",4979     "type": "boolean",4980     "required": false,4981     "description": ""4982    },4983    {4984     "name": "signature",4985     "type": "string",4986     "required": false,4987     "description": ""4988    }4989   ],4990   "status": [4991    "DOCUMENTED",4992    "BETA"4993   ],4994   "example": {4995    "type": "code_execution_result",4996    "call_id": "code_call_71021",4997    "result": "55\n"4998   },4999   "sources": [5000    {5001     "url": "https://ai.google.dev/api/interactions",5002     "retrieved_at": "2026-09-18"5003    }5004   ]5005  },5006  {5007   "provider": "gemini",5008   "api_family": "interactions",5009   "name": "GoogleSearchCallStep / GoogleSearchResultStep",5010   "object": null,5011   "schema_name": "GoogleSearchCallStep|GoogleSearchResultStep",5012   "description": "Server-side search pair.",5013   "fields": [5014    {5015     "name": "type",5016     "type": "string",5017     "required": true,5018     "description": "",5019     "enum": [5020      "google_search_call",5021      "google_search_result"5022     ]5023    },5024    {5025     "name": "id",5026     "type": "string",5027     "required": true,5028     "description": ""5029    },5030    {5031     "name": "arguments",5032     "type": "{queries: string[]}",5033     "required": true,5034     "description": "call"5035    },5036    {5037     "name": "search_type",5038     "type": "string",5039     "required": false,5040     "description": "call",5041     "enum": [5042      "web_search",5043      "image_search"5044     ]5045    },5046    {5047     "name": "call_id",5048     "type": "string",5049     "required": true,5050     "description": "result"5051    },5052    {5053     "name": "result",5054     "type": "GoogleSearchResultItem[] {search_suggestions}",5055     "required": true,5056     "description": "result"5057    },5058    {5059     "name": "is_error",5060     "type": "boolean",5061     "required": false,5062     "description": ""5063    },5064    {5065     "name": "signature",5066     "type": "string",5067     "required": false,5068     "description": ""5069    }5070   ],5071   "status": [5072    "DOCUMENTED",5073    "BETA"5074   ],5075   "example": null,5076   "sources": [5077    {5078     "url": "https://ai.google.dev/api/interactions",5079     "retrieved_at": "2026-09-18"5080    }5081   ]5082  },5083  {5084   "provider": "gemini",5085   "api_family": "interactions",5086   "name": "GoogleMapsCallStep / GoogleMapsResultStep",5087   "object": null,5088   "schema_name": "GoogleMapsCallStep|GoogleMapsResultStep",5089   "description": "Server-side Maps pair.",5090   "fields": [5091    {5092     "name": "type",5093     "type": "string",5094     "required": true,5095     "description": "",5096     "enum": [5097      "google_maps_call",5098      "google_maps_result"5099     ]5100    },5101    {5102     "name": "id",5103     "type": "string",5104     "required": true,5105     "description": ""5106    },5107    {5108     "name": "arguments",5109     "type": "{queries: string[]}",5110     "required": false,5111     "description": "call"5112    },5113    {5114     "name": "call_id",5115     "type": "string",5116     "required": true,5117     "description": "result"5118    },5119    {5120     "name": "result",5121     "type": "GoogleMapsResultItem[] {places[]{name, place_id, url, review_snippets[]}, widget_context_token}",5122     "required": true,5123     "description": "result"5124    },5125    {5126     "name": "signature",5127     "type": "string",5128     "required": false,5129     "description": ""5130    }5131   ],5132   "status": [5133    "DOCUMENTED",5134    "BETA"5135   ],5136   "example": null,5137   "sources": [5138    {5139     "url": "https://ai.google.dev/api/interactions",5140     "retrieved_at": "2026-09-18"5141    }5142   ]5143  },5144  {5145   "provider": "gemini",5146   "api_family": "interactions",5147   "name": "UrlContextCallStep / UrlContextResultStep",5148   "object": null,5149   "schema_name": "UrlContextCallStep|UrlContextResultStep",5150   "description": "Server-side URL fetch pair.",5151   "fields": [5152    {5153     "name": "type",5154     "type": "string",5155     "required": true,5156     "description": "",5157     "enum": [5158      "url_context_call",5159      "url_context_result"5160     ]5161    },5162    {5163     "name": "id",5164     "type": "string",5165     "required": true,5166     "description": ""5167    },5168    {5169     "name": "arguments",5170     "type": "{urls: string[]}",5171     "required": true,5172     "description": "call"5173    },5174    {5175     "name": "call_id",5176     "type": "string",5177     "required": true,5178     "description": "result"5179    },5180    {5181     "name": "result",5182     "type": "UrlContextResult[] {url, status: success|error|paywall|unsafe}",5183     "required": true,5184     "description": "result"5185    },5186    {5187     "name": "is_error",5188     "type": "boolean",5189     "required": false,5190     "description": ""5191    },5192    {5193     "name": "signature",5194     "type": "string",5195     "required": false,5196     "description": ""5197    }5198   ],5199   "status": [5200    "DOCUMENTED",5201    "BETA"5202   ],5203   "example": {5204    "type": "url_context_call",5205    "arguments": {5206     "urls": [5207      "https://www.example.com"5208     ]5209    },5210    "id": "url_call_10219"5211   },5212   "sources": [5213    {5214     "url": "https://ai.google.dev/api/interactions",5215     "retrieved_at": "2026-09-18"5216    }5217   ]5218  },5219  {5220   "provider": "gemini",5221   "api_family": "interactions",5222   "name": "FileSearchCallStep / FileSearchResultStep",5223   "object": null,5224   "schema_name": "FileSearchCallStep|FileSearchResultStep",5225   "description": "Server-side File Search pair.",5226   "fields": [5227    {5228     "name": "type",5229     "type": "string",5230     "required": true,5231     "description": "",5232     "enum": [5233      "file_search_call",5234      "file_search_result"5235     ]5236    },5237    {5238     "name": "id",5239     "type": "string",5240     "required": true,5241     "description": "call"5242    },5243    {5244     "name": "call_id",5245     "type": "string",5246     "required": true,5247     "description": "result"5248    },5249    {5250     "name": "signature",5251     "type": "string",5252     "required": false,5253     "description": ""5254    }5255   ],5256   "status": [5257    "DOCUMENTED",5258    "BETA"5259   ],5260   "example": {5261    "type": "file_search_call",5262    "id": "file_call_88192"5263   },5264   "sources": [5265    {5266     "url": "https://ai.google.dev/api/interactions",5267     "retrieved_at": "2026-09-18"5268    }5269   ]5270  },5271  {5272   "provider": "gemini",5273   "api_family": "interactions",5274   "name": "McpServerToolCallStep / McpServerToolResultStep",5275   "object": null,5276   "schema_name": "McpServerToolCallStep|McpServerToolResultStep",5277   "description": "Remote MCP tool pair.",5278   "fields": [5279    {5280     "name": "type",5281     "type": "string",5282     "required": true,5283     "description": "",5284     "enum": [5285      "mcp_server_tool_call",5286      "mcp_server_tool_result"5287     ]5288    },5289    {5290     "name": "id",5291     "type": "string",5292     "required": true,5293     "description": "call"5294    },5295    {5296     "name": "name",5297     "type": "string",5298     "required": true,5299     "description": "tool name"5300    },5301    {5302     "name": "server_name",5303     "type": "string",5304     "required": true,5305     "description": ""5306    },5307    {5308     "name": "arguments",5309     "type": "object",5310     "required": true,5311     "description": "call"5312    },5313    {5314     "name": "call_id",5315     "type": "string",5316     "required": true,5317     "description": "result"5318    },5319    {5320     "name": "result",5321     "type": "string | object | (TextContent|ImageContent)[]",5322     "required": true,5323     "description": "result"5324    }5325   ],5326   "status": [5327    "DOCUMENTED",5328    "BETA"5329   ],5330   "example": {5331    "name": "calculate_tax",5332    "type": "mcp_server_tool_call",5333    "arguments": {5334     "income": 120000,5335     "state": "CA"5336    },5337    "id": "mcp_call_29012",5338    "server_name": "financial_mcp_server"5339   },5340   "sources": [5341    {5342     "url": "https://ai.google.dev/api/interactions",5343     "retrieved_at": "2026-09-18"5344    }5345   ]5346  },5347  {5348   "provider": "gemini",5349   "api_family": "interactions",5350   "name": "ProcessingCallStep / ProcessingResultStep",5351   "object": null,5352   "schema_name": "ProcessingCallStep|ProcessingResultStep",5353   "description": "Server-initiated media processing (e.g. agentic video understanding).",5354   "fields": [5355    {5356     "name": "type",5357     "type": "string",5358     "required": true,5359     "description": "",5360     "enum": [5361      "processing_call",5362      "processing_result"5363     ]5364    },5365    {5366     "name": "id",5367     "type": "string",5368     "required": true,5369     "description": "call"5370    },5371    {5372     "name": "call_id",5373     "type": "string",5374     "required": true,5375     "description": "result"5376    },5377    {5378     "name": "signature",5379     "type": "string",5380     "required": false,5381     "description": ""5382    }5383   ],5384   "status": [5385    "DOCUMENTED",5386    "BETA"5387   ],5388   "example": null,5389   "sources": [5390    {5391     "url": "https://ai.google.dev/api/interactions",5392     "retrieved_at": "2026-09-18"5393    }5394   ]5395  },5396  {5397   "provider": "gemini",5398   "api_family": "agents",5399   "name": "AntigravityAgentConfig",5400   "object": null,5401   "schema_name": "AntigravityAgentConfig",5402   "description": "agent_config for antigravity-* agents.",5403   "fields": [5404    {5405     "name": "type",5406     "type": "string",5407     "required": true,5408     "description": "",5409     "enum": [5410      "antigravity"5411     ]5412    },5413    {5414     "name": "model",5415     "type": "string",5416     "required": false,5417     "description": "default gemini-3.8-flash",5418     "enum": [5419      "gemini-3.8-flash",5420      "gemini-3.7-flash",5421      "gemini-3.6-flash",5422      "gemini-3.5-flash",5423      "gemini-3.5-flash-lite"5424     ]5425    },5426    {5427     "name": "max_total_tokens",5428     "type": "string|integer",5429     "required": false,5430     "description": "token budget → status incomplete"5431    }5432   ],5433   "status": [5434    "DOCUMENTED",5435    "PREVIEW"5436   ],5437   "example": {5438    "type": "antigravity",5439    "model": "gemini-3.8-flash",5440    "max_total_tokens": 500005441   },5442   "sources": [5443    {5444     "url": "https://ai.google.dev/api/interactions",5445     "retrieved_at": "2026-09-18"5446    },5447    {5448     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",5449     "retrieved_at": "2026-09-18"5450    }5451   ]5452  },5453  {5454   "provider": "gemini",5455   "api_family": "agents",5456   "name": "DeepResearchAgentConfig",5457   "object": null,5458   "schema_name": "DeepResearchAgentConfig",5459   "description": "agent_config for deep-research-* agents.",5460   "fields": [5461    {5462     "name": "type",5463     "type": "string",5464     "required": true,5465     "description": "",5466     "enum": [5467      "deep-research"5468     ]5469    },5470    {5471     "name": "collaborative_planning",5472     "type": "boolean",5473     "required": false,5474     "description": ""5475    },5476    {5477     "name": "thinking_summaries",5478     "type": "string",5479     "required": false,5480     "description": "",5481     "enum": [5482      "auto",5483      "none"5484     ]5485    },5486    {5487     "name": "visualization",5488     "type": "string",5489     "required": false,5490     "description": "",5491     "enum": [5492      "off",5493      "auto"5494     ]5495    }5496   ],5497   "status": [5498    "DOCUMENTED",5499    "PREVIEW"5500   ],5501   "example": {5502    "type": "deep-research",5503    "thinking_summaries": "auto",5504    "collaborative_planning": true5505   },5506   "sources": [5507    {5508     "url": "https://ai.google.dev/api/interactions",5509     "retrieved_at": "2026-09-18"5510    },5511    {5512     "url": "https://ai.google.dev/gemini-api/docs/deep-research",5513     "retrieved_at": "2026-09-18"5514    }5515   ]5516  },5517  {5518   "provider": "gemini",5519   "api_family": "agents",5520   "name": "DynamicAgentConfig",5521   "object": null,5522   "schema_name": "DynamicAgentConfig",5523   "description": "agent_config `{type: dynamic}` — only config type in the v1 surface; no other fields documented (v1 page also lists a top-level `max_total_tokens`). Relation to `dynamic/*:generateContent` unknown.",5524   "fields": [5525    {5526     "name": "type",5527     "type": "string",5528     "required": true,5529     "description": "",5530     "enum": [5531      "dynamic"5532     ]5533    }5534   ],5535   "status": [5536    "DOCUMENTED",5537    "UNVERIFIED",5538    "DOCUMENTATION_INCOMPLETE"5539   ],5540   "example": null,5541   "sources": [5542    {5543     "url": "https://ai.google.dev/api/interactions",5544     "retrieved_at": "2026-09-18"5545    },5546    {5547     "url": "https://ai.google.dev/api/interactions-api-v1",5548     "retrieved_at": "2026-09-18"5549    }5550   ]5551  },5552  {5553   "provider": "gemini",5554   "api_family": "agents",5555   "name": "CodeMenderAgentConfig",5556   "object": null,5557   "schema_name": "CodeMenderAgentConfig",5558   "description": "Named in the agent_config union on the reference page; no fields, no agent id documented.",5559   "fields": [],5560   "status": [5561    "DOCUMENTED",5562    "DOCUMENTATION_INCOMPLETE"5563   ],5564   "example": null,5565   "sources": [5566    {5567     "url": "https://ai.google.dev/api/interactions",5568     "retrieved_at": "2026-09-18"5569    }5570   ]5571  },5572  {5573   "provider": "gemini",5574   "api_family": "agents",5575   "name": "Agent (custom managed agent)",5576   "object": "agent",5577   "schema_name": "Agent",5578   "description": "Saved agent definition (POST/GET /v1beta/agents). Fields from the guide's definition reference + SDK type.",5579   "fields": [5580    {5581     "name": "id",5582     "type": "string",5583     "required": true,5584     "description": "unique; reserved prefixes forbidden"5585    },5586    {5587     "name": "description",5588     "type": "string",5589     "required": false,5590     "description": ""5591    },5592    {5593     "name": "base_agent",5594     "type": "string",5595     "required": true,5596     "description": "antigravity-preview-09-2026"5597    },5598    {5599     "name": "agent_config",5600     "type": "AntigravityAgentConfig",5601     "required": false,5602     "description": "model locked at creation"5603    },5604    {5605     "name": "system_instruction",5606     "type": "string",5607     "required": false,5608     "description": ""5609    },5610    {5611     "name": "tools",5612     "type": "Tool[]",5613     "required": false,5614     "description": "code_execution, google_search, url_context, mcp_server, function"5615    },5616    {5617     "name": "base_environment",5618     "type": "string | EnvironmentConfig",5619     "required": false,5620     "description": "'remote' | env id | config"5621    }5622   ],5623   "status": [5624    "DOCUMENTED",5625    "PREVIEW"5626   ],5627   "example": {5628    "id": "data-analyst",5629    "base_agent": "antigravity-preview-09-2026",5630    "agent_config": {5631     "type": "antigravity",5632     "model": "gemini-3.8-flash"5633    },5634    "system_instruction": "You are a data analyst.",5635    "base_environment": {5636     "type": "remote",5637     "sources": [5638      {5639       "type": "inline",5640       "target": ".agents/AGENTS.md",5641       "content": "Always use matplotlib."5642      }5643     ]5644    }5645   },5646   "sources": [5647    {5648     "url": "https://ai.google.dev/gemini-api/docs/custom-agents",5649     "retrieved_at": "2026-09-18"5650    },5651    {5652     "url": "https://ai.google.dev/api/interactions",5653     "retrieved_at": "2026-09-18"5654    }5655   ]5656  },5657  {5658   "provider": "gemini",5659   "api_family": "agents",5660   "name": "Trigger",5661   "object": null,5662   "schema_name": "Trigger",5663   "description": "Cron-scheduled agent run (POST /v1beta/triggers). Fields from the guide + SDK type.",5664   "fields": [5665    {5666     "name": "id",5667     "type": "string",5668     "required": true,5669     "description": ""5670    },5671    {5672     "name": "schedule",5673     "type": "string (cron)",5674     "required": true,5675     "description": ""5676    },5677    {5678     "name": "time_zone",5679     "type": "string",5680     "required": true,5681     "description": ""5682    },5683    {5684     "name": "interaction",5685     "type": "CreateInteractionRequest",5686     "required": true,5687     "description": ""5688    },5689    {5690     "name": "display_name",5691     "type": "string",5692     "required": false,5693     "description": ""5694    },5695    {5696     "name": "status",5697     "type": "string",5698     "required": false,5699     "description": "",5700     "enum": [5701      "active",5702      "paused",5703      "disabled"5704     ]5705    },5706    {5707     "name": "max_consecutive_failures",5708     "type": "integer",5709     "required": false,5710     "description": "default 5"5711    },5712    {5713     "name": "execution_timeout_seconds",5714     "type": "integer",5715     "required": false,5716     "description": "default 600"5717    },5718    {5719     "name": "consecutive_failure_count",5720     "type": "integer",5721     "required": false,5722     "description": ""5723    },5724    {5725     "name": "next_run_time",5726     "type": "string",5727     "required": false,5728     "description": ""5729    },5730    {5731     "name": "last_run_time",5732     "type": "string",5733     "required": false,5734     "description": ""5735    },5736    {5737     "name": "last_pause_time / last_resume_time",5738     "type": "string",5739     "required": false,5740     "description": ""5741    },5742    {5743     "name": "environment_id",5744     "type": "string",5745     "required": false,5746     "description": "shared sandbox"5747    },5748    {5749     "name": "previous_interaction_id",5750     "type": "string",5751     "required": false,5752     "description": ""5753    },5754    {5755     "name": "create_time / update_time",5756     "type": "string",5757     "required": false,5758     "description": ""5759    }5760   ],5761   "status": [5762    "DOCUMENTED",5763    "PREVIEW"5764   ],5765   "example": null,5766   "sources": [5767    {5768     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",5769     "retrieved_at": "2026-09-18"5770    }5771   ]5772  },5773  {5774   "provider": "gemini",5775   "api_family": "agents",5776   "name": "TriggerExecution",5777   "object": null,5778   "schema_name": "TriggerExecution",5779   "description": "One run of a trigger (GET/POST /v1beta/triggers/{id}/executions).",5780   "fields": [5781    {5782     "name": "status",5783     "type": "string",5784     "required": false,5785     "description": ""5786    },5787    {5788     "name": "interaction_id",5789     "type": "string",5790     "required": false,5791     "description": "fetch output via GET /interactions/{id}"5792    },5793    {5794     "name": "environment_id",5795     "type": "string",5796     "required": false,5797     "description": ""5798    },5799    {5800     "name": "timestamps",5801     "type": "string",5802     "required": false,5803     "description": "start/end (names not documented)"5804    }5805   ],5806   "status": [5807    "DOCUMENTED",5808    "PREVIEW",5809    "DOCUMENTATION_INCOMPLETE"5810   ],5811   "example": null,5812   "sources": [5813    {5814     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",5815     "retrieved_at": "2026-09-18"5816    }5817   ]5818  },5819  {5820   "provider": "gemini",5821   "api_family": "agents",5822   "name": "hooks.json (HooksConfig)",5823   "object": null,5824   "schema_name": "HooksConfig",5825   "description": "File `.agents/hooks.json` mounted in the sandbox: map of group name → {enabled?, pre_tool_execution[] | post_tool_execution[]: [{matcher (RE2 regex on container tool name), hooks: [{type: command, command, timeout=30} | {type: http, url, headers?, timeout=30}]}]}. pre hooks read the tool_call JSON on stdin and answer {decision: allow|deny, reason}. Failures/timeouts = allow.",5826   "fields": [5827    {5828     "name": "<group>.enabled",5829     "type": "boolean",5830     "required": false,5831     "description": "default true"5832    },5833    {5834     "name": "<group>.pre_tool_execution[].matcher",5835     "type": "string (RE2)",5836     "required": false,5837     "description": "code_execution | view_file | write_to_file | replace_file_content | list_dir | delete_file | .*"5838    },5839    {5840     "name": "<group>.pre_tool_execution[].hooks[]",5841     "type": "CommandHook | HttpHook",5842     "required": false,5843     "description": ""5844    },5845    {5846     "name": "<group>.post_tool_execution[]",5847     "type": "same shape",5848     "required": false,5849     "description": "cannot block"5850    }5851   ],5852   "status": [5853    "DOCUMENTED",5854    "PREVIEW"5855   ],5856   "example": {5857    "security-gate": {5858     "pre_tool_execution": [5859      {5860       "matcher": "code_execution",5861       "hooks": [5862        {5863         "type": "command",5864         "command": "python3 /.agents/hooks-scripts/gate.py",5865         "timeout": 105866        }5867       ]5868      }5869     ]5870    }5871   },5872   "sources": [5873    {5874     "url": "https://ai.google.dev/gemini-api/docs/agent-hooks",5875     "retrieved_at": "2026-09-18"5876    }5877   ]5878  },5879  {5880   "provider": "gemini",5881   "api_family": "environments",5882   "name": "EnvironmentConfig (interaction `environment` object)",5883   "object": null,5884   "schema_name": "EnvironmentConfig",5885   "description": "Sandbox configuration passed as `environment` on POST /v1beta/interactions (or `base_environment` on agents).",5886   "fields": [5887    {5888     "name": "type",5889     "type": "string",5890     "required": true,5891     "description": "",5892     "enum": [5893      "remote"5894     ]5895    },5896    {5897     "name": "environment_id",5898     "type": "string",5899     "required": false,5900     "description": "update existing env instead of creating"5901    },5902    {5903     "name": "sources",5904     "type": "Source[]",5905     "required": false,5906     "description": ""5907    },5908    {5909     "name": "network",5910     "type": "'disabled' | EnvironmentNetworkEgressAllowlist",5911     "required": false,5912     "description": ""5913    },5914    {5915     "name": "env",5916     "type": "map<string, string | {credential} | {value}>",5917     "required": false,5918     "description": ""5919    }5920   ],5921   "status": [5922    "DOCUMENTED",5923    "BETA"5924   ],5925   "example": {5926    "type": "remote",5927    "sources": [5928     {5929      "type": "repository",5930      "source": "https://github.com/my-org/my-skills.git",5931      "target": ".agents/skills"5932     },5933     {5934      "type": "gcs",5935      "source": "gs://my-bucket/my-folder",5936      "target": "/workspace/data"5937     }5938    ],5939    "network": {5940     "allowlist": [5941      {5942       "domain": "pypi.org"5943      },5944      {5945       "domain": "*.github.com"5946      }5947     ]5948    }5949   },5950   "sources": [5951    {5952     "url": "https://ai.google.dev/api/interactions",5953     "retrieved_at": "2026-09-18"5954    },5955    {5956     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",5957     "retrieved_at": "2026-09-18"5958    }5959   ]5960  },5961  {5962   "provider": "gemini",5963   "api_family": "environments",5964   "name": "Source",5965   "object": null,5966   "schema_name": "Source",5967   "description": "Mounted source (inline ≤1 MB/file, 2 MB total; repository ≤500 MB; gcs ≤2 GB; target ≠ `/`).",5968   "fields": [5969    {5970     "name": "type",5971     "type": "string",5972     "required": false,5973     "description": "",5974     "enum": [5975      "gcs",5976      "inline",5977      "repository"5978     ]5979    },5980    {5981     "name": "source",5982     "type": "string",5983     "required": false,5984     "description": "gs:// path or repo URL"5985    },5986    {5987     "name": "target",5988     "type": "string",5989     "required": false,5990     "description": ""5991    },5992    {5993     "name": "content",5994     "type": "string",5995     "required": false,5996     "description": "inline"5997    },5998    {5999     "name": "encoding",6000     "type": "string",6001     "required": false,6002     "description": "e.g. base64"6003    }6004   ],6005   "status": [6006    "DOCUMENTED",6007    "BETA"6008   ],6009   "example": {6010    "type": "inline",6011    "content": "print('Hello, World!')",6012    "target": "main.py"6013   },6014   "sources": [6015    {6016     "url": "https://ai.google.dev/api/environments",6017     "retrieved_at": "2026-09-18"6018    },6019    {6020     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",6021     "retrieved_at": "2026-09-18"6022    }6023   ]6024  },6025  {6026   "provider": "gemini",6027   "api_family": "environments",6028   "name": "EnvironmentNetworkEgressAllowlist",6029   "object": null,6030   "schema_name": "EnvironmentNetworkEgressAllowlist",6031   "description": "Outbound allowlist {allowlist: AllowlistEntry[]}; or the string 'disabled'; omit = unrestricted. Discovery doc: items are `EgressRule`.",6032   "fields": [6033    {6034     "name": "allowlist",6035     "type": "AllowlistEntry[]",6036     "required": false,6037     "description": ""6038    }6039   ],6040   "status": [6041    "DOCUMENTED",6042    "BETA"6043   ],6044   "example": {6045    "allowlist": [6046     {6047      "domain": "github.com",6048      "transform": [6049       {6050        "Authorization": "Bearer your-token"6051       }6052      ]6053     },6054     {6055      "domain": "*.googleapis.com"6056     }6057    ]6058   },6059   "sources": [6060    {6061     "url": "https://ai.google.dev/api/interactions",6062     "retrieved_at": "2026-09-18"6063    },6064    {6065     "url": "https://ai.google.dev/api/environments",6066     "retrieved_at": "2026-09-18"6067    }6068   ]6069  },6070  {6071   "provider": "gemini",6072   "api_family": "environments",6073   "name": "AllowlistEntry (EgressRule)",6074   "object": null,6075   "schema_name": "AllowlistEntry",6076   "description": "One egress rule.",6077   "fields": [6078    {6079     "name": "domain",6080     "type": "string",6081     "required": false,6082     "description": "exact host, `*.sub` wildcard, or `*`"6083    },6084    {6085     "name": "credential",6086     "type": "string",6087     "required": false,6088     "description": "stored credential id"6089    },6090    {6091     "name": "transform",6092     "type": "object | object[]",6093     "required": false,6094     "description": "headers to inject; merged over credential"6095    }6096   ],6097   "status": [6098    "DOCUMENTED",6099    "BETA"6100   ],6101   "example": {6102    "domain": "api.atlassian.com",6103    "credential": "jira-oauth",6104    "transform": {6105     "X-Atlassian-Workspace": "my-workspace-id"6106    }6107   },6108   "sources": [6109    {6110     "url": "https://ai.google.dev/api/environments",6111     "retrieved_at": "2026-09-18"6112    },6113    {6114     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",6115     "retrieved_at": "2026-09-18"6116    }6117   ]6118  },6119  {6120   "provider": "gemini",6121   "api_family": "environments",6122   "name": "EnvVar",6123   "object": null,6124   "schema_name": "EnvVar",6125   "description": "Value of an `environment.env` entry.",6126   "fields": [6127    {6128     "name": "credential",6129     "type": "string",6130     "required": false,6131     "description": "credential id → placeholder __GEMINI_CRED_<id>__"6132    },6133    {6134     "name": "value",6135     "type": "string",6136     "required": false,6137     "description": "plaintext literal"6138    }6139   ],6140   "status": [6141    "DOCUMENTED",6142    "BETA"6143   ],6144   "example": null,6145   "sources": [6146    {6147     "url": "https://ai.google.dev/api/interactions",6148     "retrieved_at": "2026-09-18"6149    }6150   ]6151  },6152  {6153   "provider": "gemini",6154   "api_family": "environments",6155   "name": "Environment",6156   "object": null,6157   "schema_name": "Environment",6158   "description": "Sandbox resource (REST page snake_case shown; discovery doc uses camelCase fileCount/lastAccessed/sizeBytes/networkMode/networkAllowlist and enum STATUS ACTIVE|EXPIRED).",6159   "fields": [6160    {6161     "name": "id",6162     "type": "string",6163     "required": true,6164     "description": "Output only"6165    },6166    {6167     "name": "status",6168     "type": "string",6169     "required": false,6170     "description": "Output only",6171     "enum": [6172      "active",6173      "expired"6174     ]6175    },6176    {6177     "name": "created",6178     "type": "string",6179     "required": false,6180     "description": ""6181    },6182    {6183     "name": "updated",6184     "type": "string",6185     "required": false,6186     "description": ""6187    },6188    {6189     "name": "last_accessed",6190     "type": "string",6191     "required": false,6192     "description": ""6193    },6194    {6195     "name": "file_count",6196     "type": "string (int64)",6197     "required": false,6198     "description": ""6199    },6200    {6201     "name": "size_bytes",6202     "type": "string (int64)",6203     "required": false,6204     "description": ""6205    },6206    {6207     "name": "sources",6208     "type": "Source[]",6209     "required": false,6210     "description": ""6211    },6212    {6213     "name": "network",6214     "type": "'disabled' | EnvironmentNetworkEgressAllowlist",6215     "required": false,6216     "description": ""6217    }6218   ],6219   "status": [6220    "DOCUMENTED",6221    "BETA",6222    "PREVIEW",6223    "LIVE_VERIFIED"6224   ],6225   "example": {6226    "created": "2026-08-19T00:00:00Z",6227    "id": "env_abc123",6228    "last_accessed": "2026-08-19T00:00:00Z",6229    "sources": [6230     {6231      "type": "inline",6232      "content": "print('Hello, World!')",6233      "target": "main.py"6234     }6235    ],6236    "status": "active",6237    "updated": "2026-08-19T00:00:00Z"6238   },6239   "sources": [6240    {6241     "url": "https://ai.google.dev/api/environments",6242     "retrieved_at": "2026-09-18"6243    },6244    {6245     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6246     "retrieved_at": "2026-09-18"6247    }6248   ],6249   "live_observation_2026_09_18": "live: {id, status: active, storage{tier, project_used_bytes, project_limit_bytes}, file_count, size_bytes, created, updated}"6250  },6251  {6252   "provider": "gemini",6253   "api_family": "environments",6254   "name": "CreateEnvironmentRequest",6255   "object": null,6256   "schema_name": "CreateEnvironmentRequest",6257   "description": "Body of POST /v1beta/environments.",6258   "fields": [6259    {6260     "name": "sources",6261     "type": "Source[]",6262     "required": false,6263     "description": ""6264    },6265    {6266     "name": "network",6267     "type": "'disabled' | EnvironmentNetworkEgressAllowlist",6268     "required": false,6269     "description": "REST page"6270    },6271    {6272     "name": "from_environment",6273     "type": "string",6274     "required": false,6275     "description": "fork; sources/env must be empty"6276    },6277    {6278     "name": "networkMode",6279     "type": "string",6280     "required": false,6281     "description": "discovery",6282     "enum": [6283      "NETWORK_MODE_UNSPECIFIED",6284      "DISABLED"6285     ]6286    },6287    {6288     "name": "networkAllowlist",6289     "type": "EnvironmentNetworkEgressAllowlist",6290     "required": false,6291     "description": "discovery"6292    },6293    {6294     "name": "fromEnvironment",6295     "type": "string",6296     "required": false,6297     "description": "discovery"6298    }6299   ],6300   "status": [6301    "DOCUMENTED",6302    "BETA",6303    "PREVIEW"6304   ],6305   "example": null,6306   "sources": [6307    {6308     "url": "https://ai.google.dev/api/environments",6309     "retrieved_at": "2026-09-18"6310    },6311    {6312     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6313     "retrieved_at": "2026-09-18"6314    }6315   ]6316  },6317  {6318   "provider": "gemini",6319   "api_family": "environments",6320   "name": "EnvironmentFile",6321   "object": null,6322   "schema_name": "EnvironmentFile",6323   "description": "File/directory metadata in GetEnvironmentFilesResponse / UploadEnvironmentFileResponse. Guide shows `type` as FILE|DIRECTORY (uppercase), REST page as file|directory.",6324   "fields": [6325    {6326     "name": "name",6327     "type": "string",6328     "required": false,6329     "description": ""6330    },6331    {6332     "name": "path",6333     "type": "string",6334     "required": false,6335     "description": "relative to workspace"6336    },6337    {6338     "name": "type",6339     "type": "string",6340     "required": false,6341     "description": "",6342     "enum": [6343      "FILE",6344      "DIRECTORY",6345      "file",6346      "directory"6347     ]6348    },6349    {6350     "name": "size_bytes",6351     "type": "string (int64)",6352     "required": false,6353     "description": "files only"6354    },6355    {6356     "name": "mime_type",6357     "type": "string",6358     "required": false,6359     "description": "files only"6360    },6361    {6362     "name": "created",6363     "type": "string",6364     "required": false,6365     "description": ""6366    },6367    {6368     "name": "modified",6369     "type": "string",6370     "required": false,6371     "description": ""6372    }6373   ],6374   "status": [6375    "DOCUMENTED",6376    "BETA",6377    "PREVIEW"6378   ],6379   "example": {6380    "name": "main.py",6381    "path": "src/main.py",6382    "type": "FILE",6383    "size_bytes": "15",6384    "mime_type": "text/x-python; charset=utf-8",6385    "created": "2026-08-12T07:44:20Z",6386    "modified": "2026-08-12T07:44:20Z"6387   },6388   "sources": [6389    {6390     "url": "https://ai.google.dev/api/environments",6391     "retrieved_at": "2026-09-18"6392    },6393    {6394     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",6395     "retrieved_at": "2026-09-18"6396    },6397    {6398     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6399     "retrieved_at": "2026-09-18"6400    }6401   ]6402  },6403  {6404   "provider": "gemini",6405   "api_family": "environments",6406   "name": "GetEnvironmentFilesResponse",6407   "object": null,6408   "schema_name": "GetEnvironmentFilesResponse",6409   "description": "JSON response of GET .../files/{path} without alt=media.",6410   "fields": [6411    {6412     "name": "files",6413     "type": "EnvironmentFile[]",6414     "required": false,6415     "description": "directory contents or single file entry; empty when alt=media"6416    },6417    {6418     "name": "next_page_token",6419     "type": "string",6420     "required": false,6421     "description": ""6422    }6423   ],6424   "status": [6425    "DOCUMENTED",6426    "BETA",6427    "PREVIEW"6428   ],6429   "example": null,6430   "sources": [6431    {6432     "url": "https://ai.google.dev/api/environments",6433     "retrieved_at": "2026-09-18"6434    },6435    {6436     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6437     "retrieved_at": "2026-09-18"6438    }6439   ]6440  },6441  {6442   "provider": "gemini",6443   "api_family": "environments",6444   "name": "UploadEnvironmentFileRequest / Response",6445   "object": null,6446   "schema_name": "UploadEnvironmentFileRequest|UploadEnvironmentFileResponse",6447   "description": "PUT upload options and result.",6448   "fields": [6449    {6450     "name": "extract",6451     "type": "boolean",6452     "required": false,6453     "description": "request: unpack tar/tar.gz"6454    },6455    {6456     "name": "overwrite",6457     "type": "boolean",6458     "required": false,6459     "description": "request"6460    },6461    {6462     "name": "files",6463     "type": "EnvironmentFile[]",6464     "required": false,6465     "description": "response: files created/extracted"6466    }6467   ],6468   "status": [6469    "DOCUMENTED",6470    "BETA",6471    "PREVIEW"6472   ],6473   "example": null,6474   "sources": [6475    {6476     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6477     "retrieved_at": "2026-09-18"6478    },6479    {6480     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",6481     "retrieved_at": "2026-09-18"6482    }6483   ]6484  },6485  {6486   "provider": "gemini",6487   "api_family": "environments",6488   "name": "ListEnvironmentsResponse",6489   "object": null,6490   "schema_name": "ListEnvironmentsResponse",6491   "description": "GET /v1beta/environments response.",6492   "fields": [6493    {6494     "name": "environments",6495     "type": "Environment[]",6496     "required": false,6497     "description": ""6498    },6499    {6500     "name": "next_page_token",6501     "type": "string",6502     "required": false,6503     "description": "discovery: nextPageToken"6504    }6505   ],6506   "status": [6507    "DOCUMENTED",6508    "BETA",6509    "PREVIEW"6510   ],6511   "example": null,6512   "sources": [6513    {6514     "url": "https://ai.google.dev/api/environments",6515     "retrieved_at": "2026-09-18"6516    },6517    {6518     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",6519     "retrieved_at": "2026-09-18"6520    }6521   ]6522  },6523  {6524   "provider": "gemini",6525   "api_family": "credentials",6526   "name": "Credential",6527   "object": null,6528   "schema_name": "Credential",6529   "description": "Server-managed secret metadata (secrets never returned).",6530   "fields": [6531    {6532     "name": "id",6533     "type": "string",6534     "required": true,6535     "description": ""6536    },6537    {6538     "name": "type",6539     "type": "string",6540     "required": true,6541     "description": "",6542     "enum": [6543      "bearer_token",6544      "oauth2",6545      "environment_variable"6546     ]6547    },6548    {6549     "name": "status",6550     "type": "string",6551     "required": false,6552     "description": "",6553     "enum": [6554      "active",6555      "revoked"6556     ]6557    },6558    {6559     "name": "create_time",6560     "type": "string",6561     "required": false,6562     "description": ""6563    },6564    {6565     "name": "update_time",6566     "type": "string",6567     "required": false,6568     "description": ""6569    }6570   ],6571   "status": [6572    "DOCUMENTED",6573    "BETA",6574    "PREVIEW"6575   ],6576   "example": {6577    "id": "github-production",6578    "type": "bearer_token",6579    "status": "active",6580    "create_time": "2026-07-15T10:00:00.000000000Z",6581    "update_time": "2026-07-15T10:00:00.000000000Z"6582   },6583   "sources": [6584    {6585     "url": "https://ai.google.dev/api/interactions",6586     "retrieved_at": "2026-09-18"6587    },6588    {6589     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",6590     "retrieved_at": "2026-09-18"6591    }6592   ]6593  },6594  {6595   "provider": "gemini",6596   "api_family": "credentials",6597   "name": "HttpBearerConfig (create)",6598   "object": null,6599   "schema_name": "HttpBearerConfig",6600   "description": "Create body for type bearer_token.",6601   "fields": [6602    {6603     "name": "type",6604     "type": "string",6605     "required": true,6606     "description": "",6607     "enum": [6608      "bearer_token"6609     ]6610    },6611    {6612     "name": "id",6613     "type": "string",6614     "required": false,6615     "description": "reference says required; guide says optional (UUID)"6616    },6617    {6618     "name": "token",6619     "type": "string",6620     "required": true,6621     "description": "write-only"6622    },6623    {6624     "name": "header_name",6625     "type": "string",6626     "required": false,6627     "description": "default Authorization"6628    },6629    {6630     "name": "prefix",6631     "type": "string",6632     "required": false,6633     "description": "default Bearer"6634    }6635   ],6636   "status": [6637    "DOCUMENTED",6638    "BETA",6639    "PREVIEW"6640   ],6641   "example": {6642    "id": "my-api-key",6643    "type": "bearer_token",6644    "token": "key_xxx",6645    "header_name": "x-goog-api-key",6646    "prefix": ""6647   },6648   "sources": [6649    {6650     "url": "https://ai.google.dev/api/interactions",6651     "retrieved_at": "2026-09-18"6652    },6653    {6654     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",6655     "retrieved_at": "2026-09-18"6656    }6657   ]6658  },6659  {6660   "provider": "gemini",6661   "api_family": "credentials",6662   "name": "OAuth2Config (create)",6663   "object": null,6664   "schema_name": "OAuth2Config",6665   "description": "Create body for type oauth2 (live token exchange at creation; auto-refresh).",6666   "fields": [6667    {6668     "name": "type",6669     "type": "string",6670     "required": true,6671     "description": "",6672     "enum": [6673      "oauth2"6674     ]6675    },6676    {6677     "name": "id",6678     "type": "string",6679     "required": false,6680     "description": ""6681    },6682    {6683     "name": "client_id",6684     "type": "string",6685     "required": true,6686     "description": ""6687    },6688    {6689     "name": "client_secret",6690     "type": "string",6691     "required": true,6692     "description": "write-only"6693    },6694    {6695     "name": "refresh_token",6696     "type": "string",6697     "required": true,6698     "description": "write-only"6699    },6700    {6701     "name": "token_url",6702     "type": "string",6703     "required": true,6704     "description": ""6705    },6706    {6707     "name": "scopes",6708     "type": "string[]",6709     "required": false,6710     "description": ""6711    }6712   ],6713   "status": [6714    "DOCUMENTED",6715    "BETA",6716    "PREVIEW"6717   ],6718   "example": null,6719   "sources": [6720    {6721     "url": "https://ai.google.dev/api/interactions",6722     "retrieved_at": "2026-09-18"6723    },6724    {6725     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",6726     "retrieved_at": "2026-09-18"6727    }6728   ]6729  },6730  {6731   "provider": "gemini",6732   "api_family": "credentials",6733   "name": "EnvironmentVariableConfig (create)",6734   "object": null,6735   "schema_name": "EnvironmentVariableConfig",6736   "description": "Create body for type environment_variable (placeholder substituted by the egress proxy).",6737   "fields": [6738    {6739     "name": "type",6740     "type": "string",6741     "required": true,6742     "description": "",6743     "enum": [6744      "environment_variable"6745     ]6746    },6747    {6748     "name": "id",6749     "type": "string",6750     "required": false,6751     "description": ""6752    },6753    {6754     "name": "value",6755     "type": "string",6756     "required": true,6757     "description": "write-only"6758    },6759    {6760     "name": "injection_location",6761     "type": "string | string[]",6762     "required": true,6763     "description": "",6764     "enum": [6765      "header",6766      "query",6767      "body"6768     ]6769    },6770    {6771     "name": "trusted_domains",6772     "type": "string[]",6773     "required": false,6774     "description": ""6775    }6776   ],6777   "status": [6778    "DOCUMENTED",6779    "BETA",6780    "PREVIEW"6781   ],6782   "example": {6783    "id": "slack-bot-token",6784    "type": "environment_variable",6785    "value": "xoxb-...",6786    "trusted_domains": [6787     "*.slack.com",6788     "slack.com"6789    ],6790    "injection_location": "header"6791   },6792   "sources": [6793    {6794     "url": "https://ai.google.dev/api/interactions",6795     "retrieved_at": "2026-09-18"6796    },6797    {6798     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",6799     "retrieved_at": "2026-09-18"6800    }6801   ]6802  },6803  {6804   "provider": "gemini",6805   "api_family": "credentials",6806   "name": "ListCredentialsResponse",6807   "object": null,6808   "schema_name": "ListCredentialsResponse",6809   "description": "GET /v1beta/credentials response.",6810   "fields": [6811    {6812     "name": "credentials",6813     "type": "Credential[]",6814     "required": false,6815     "description": ""6816    },6817    {6818     "name": "next_page_token",6819     "type": "string",6820     "required": false,6821     "description": ""6822    }6823   ],6824   "status": [6825    "DOCUMENTED",6826    "BETA",6827    "PREVIEW"6828   ],6829   "example": null,6830   "sources": [6831    {6832     "url": "https://ai.google.dev/api/interactions",6833     "retrieved_at": "2026-09-18"6834    }6835   ]6836  },6837  {6838   "provider": "gemini",6839   "api_family": "interactions",6840   "name": "WebhookConfig (dynamic webhook)",6841   "object": null,6842   "schema_name": "WebhookConfig",6843   "description": "Per-request webhook on POST /v1beta/interactions.",6844   "fields": [6845    {6846     "name": "uris",6847     "type": "string[]",6848     "required": false,6849     "description": ""6850    },6851    {6852     "name": "user_metadata",6853     "type": "object",6854     "required": false,6855     "description": "returned on each event"6856    }6857   ],6858   "status": [6859    "DOCUMENTED",6860    "BETA"6861   ],6862   "example": {6863    "uris": [6864     "https://my-api.com/gemini-webhook-dynamic"6865    ],6866    "user_metadata": {6867     "job_group": "nightly-eval"6868    }6869   },6870   "sources": [6871    {6872     "url": "https://ai.google.dev/api/interactions",6873     "retrieved_at": "2026-09-18"6874    },6875    {6876     "url": "https://ai.google.dev/gemini-api/docs/webhooks",6877     "retrieved_at": "2026-09-18"6878    }6879   ]6880  },6881  {6882   "provider": "gemini",6883   "api_family": "webhooks",6884   "name": "Webhook event envelope",6885   "object": null,6886   "schema_name": "WebhookEnvelope",6887   "description": "Thin payload POSTed to webhook listeners (headers webhook-id, webhook-timestamp, signature). Interaction events: interaction.requires_action {id}, interaction.completed {id}, interaction.failed {id, error_code, error_message}, interaction.cancelled {id}.",6888   "fields": [6889    {6890     "name": "type",6891     "type": "string",6892     "required": true,6893     "description": "",6894     "enum": [6895      "interaction.requires_action",6896      "interaction.completed",6897      "interaction.failed",6898      "interaction.cancelled",6899      "batch.succeeded",6900      "batch.cancelled",6901      "batch.expired",6902      "batch.failed",6903      "video.generated"6904     ]6905    },6906    {6907     "name": "version",6908     "type": "string",6909     "required": false,6910     "description": "v1"6911    },6912    {6913     "name": "timestamp",6914     "type": "string",6915     "required": false,6916     "description": ""6917    },6918    {6919     "name": "data",6920     "type": "object",6921     "required": false,6922     "description": "id (+ error_code/error_message, output_file_uri...)"6923    }6924   ],6925   "status": [6926    "DOCUMENTED",6927    "BETA"6928   ],6929   "example": {6930    "type": "interaction.completed",6931    "version": "v1",6932    "timestamp": "2026-01-22T12:00:00Z",6933    "data": {6934     "id": "v1_..."6935    }6936   },6937   "sources": [6938    {6939     "url": "https://ai.google.dev/gemini-api/docs/webhooks",6940     "retrieved_at": "2026-09-18"6941    }6942   ]6943  },6944  {6945   "provider": "gemini",6946   "api_family": "live",6947   "name": "Live setup message",6948   "object": "BidiGenerateContentSetup",6949   "schema_name": "BidiGenerateContentSetup",6950   "description": "First client message; configuration for the whole streaming session.",6951   "fields": [6952    {6953     "name": "model",6954     "type": "string",6955     "required": true,6956     "description": "Required. `models/{model}` resource name (e.g. models/gemini-3.8-live)."6957    },6958    {6959     "name": "generationConfig",6960     "type": "GenerationConfig (subset)",6961     "required": false,6962     "description": "Not supported in Live: responseLogprobs, responseMimeType, logprobs, responseSchema, responseJsonSchema, stopSequence, skipResponseCache, routingConfig, audioTimestamp.",6963     "fields": [6964      {6965       "name": "responseModalities[]",6966       "type": "enum[]",6967       "required": false,6968       "description": "Requested output modalities. Native audio models support only [\"AUDIO\"] (use outputAudioTranscription for text); gemini-3.5-transcribe-live uses [\"TEXT\"]. SDK default: AUDIO.",6969       "enum": [6970        "TEXT",6971        "AUDIO"6972       ]6973      },6974      {6975       "name": "speechConfig",6976       "type": "SpeechConfig",6977       "required": false,6978       "description": "Voice / language configuration.",6979       "fields": [6980        {6981         "name": "voiceConfig",6982         "type": "VoiceConfig",6983         "required": false,6984         "description": "Single-voice output configuration.",6985         "fields": [6986          {6987           "name": "prebuiltVoiceConfig",6988           "type": "PrebuiltVoiceConfig",6989           "required": false,6990           "description": "The prebuilt voice to use.",6991           "fields": [6992            {6993             "name": "voiceName",6994             "type": "string",6995             "required": false,6996             "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."6997            }6998           ]6999          }7000         ]7001        },7002        {7003         "name": "multiSpeakerVoiceConfig",7004         "type": "MultiSpeakerVoiceConfig",7005         "required": false,7006         "description": "Multi-speaker setup; mutually exclusive with voiceConfig (TTS feature; not documented for Live — UNVERIFIED in Live).",7007         "status": [7008          "UNVERIFIED"7009         ],7010         "fields": [7011          {7012           "name": "speakerVoiceConfigs[]",7013           "type": "SpeakerVoiceConfig[]",7014           "required": true,7015           "description": "Required. All enabled speaker voices (SDK doc: exactly two).",7016           "fields": [7017            {7018             "name": "speaker",7019             "type": "string",7020             "required": true,7021             "description": "Required. Speaker name as used in the prompt."7022            },7023            {7024             "name": "voiceConfig",7025             "type": "VoiceConfig",7026             "required": true,7027             "description": "Required. Voice for this speaker.",7028             "fields": [7029              {7030               "name": "prebuiltVoiceConfig",7031               "type": "PrebuiltVoiceConfig",7032               "required": false,7033               "description": "The prebuilt voice to use.",7034               "fields": [7035                {7036                 "name": "voiceName",7037                 "type": "string",7038                 "required": false,7039                 "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."7040                }7041               ]7042              }7043             ]7044            }7045           ]7046          }7047         ]7048        },7049        {7050         "name": "languageCode",7051         "type": "string",7052         "required": false,7053         "description": "Optional. BCP-47 language code for speech recognition and synthesis (de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, th-TH). Native audio output models choose the language automatically and do NOT support setting it explicitly."7054        }7055       ]7056      },7057      {7058       "name": "mediaResolution",7059       "type": "enum",7060       "required": false,7061       "description": "Token allocation per visual input frame (LOW=64 tokens, MEDIUM=256, HIGH=zoomed reframing 256). Audio tokenization is fixed per second regardless.",7062       "enum": [7063        "MEDIA_RESOLUTION_UNSPECIFIED",7064        "MEDIA_RESOLUTION_LOW",7065        "MEDIA_RESOLUTION_MEDIUM",7066        "MEDIA_RESOLUTION_HIGH"7067       ]7068      },7069      {7070       "name": "thinkingConfig",7071       "type": "ThinkingConfig",7072       "required": false,7073       "description": "Thinking configuration (model-dependent, see thinkingLevel).",7074       "fields": [7075        {7076         "name": "thinkingLevel",7077         "type": "enum",7078         "required": false,7079         "description": "Reasoning depth. gemini-3.1-flash-live-preview: MINIMAL (default), LOW, MEDIUM, HIGH. gemini-3.8-live-extended-thinking: LOW, MEDIUM, HIGH (MINIMAL not supported). gemini-3.8-live: NOT supported — omit thinkingConfig.",7080         "enum": [7081          "THINKING_LEVEL_UNSPECIFIED",7082          "MINIMAL",7083          "LOW",7084          "MEDIUM",7085          "HIGH"7086         ]7087        },7088        {7089         "name": "thinkingBudget",7090         "type": "integer",7091         "required": false,7092         "description": "Thoughts token budget (0 disabled, -1 automatic). Gemini 2.5 native-audio models; replaced by thinkingLevel from Gemini 3.1 onward."7093        },7094        {7095         "name": "includeThoughts",7096         "type": "boolean",7097         "required": false,7098         "description": "Return thought summaries in modelTurn parts (part.thought=true) when available."7099        }7100       ]7101      },7102      {7103       "name": "translationConfig",7104       "type": "TranslationConfig",7105       "required": false,7106       "description": "Live translation (gemini-3.5-live-translate-preview only).",7107       "fields": [7108        {7109         "name": "targetLanguageCode",7110         "type": "string",7111         "required": true,7112         "description": "Required. BCP-47 target language (e.g. \"en\", \"es\", \"pl\"). Guide: defaults to \"en\"."7113        },7114        {7115         "name": "echoTargetLanguage",7116         "type": "boolean",7117         "required": false,7118         "description": "If true, input already in the target language is echoed (parroted) as audio; if false (default) the model stays silent for it."7119        }7120       ]7121      },7122      {7123       "name": "enableAffectiveDialog",7124       "type": "boolean",7125       "required": false,7126       "description": "Detect emotions and adapt responses (Gemini 2.5 native audio only; not supported on 3.1; removed on 3.8 — remove from code)."7127      },7128      {7129       "name": "temperature",7130       "type": "number",7131       "required": false,7132       "description": "Sampling temperature."7133      },7134      {7135       "name": "topP",7136       "type": "number",7137       "required": false,7138       "description": "Nucleus sampling."7139      },7140      {7141       "name": "topK",7142       "type": "integer",7143       "required": false,7144       "description": "Top-k sampling."7145      },7146      {7147       "name": "maxOutputTokens",7148       "type": "integer",7149       "required": false,7150       "description": "Max output tokens."7151      },7152      {7153       "name": "candidateCount",7154       "type": "integer",7155       "required": false,7156       "description": "Number of candidates."7157      },7158      {7159       "name": "presencePenalty",7160       "type": "number",7161       "required": false,7162       "description": "Presence penalty."7163      },7164      {7165       "name": "frequencyPenalty",7166       "type": "number",7167       "required": false,7168       "description": "Frequency penalty."7169      },7170      {7171       "name": "seed",7172       "type": "integer",7173       "required": false,7174       "description": "Best-effort deterministic seed (SDK LiveConnectConfig)."7175      }7176     ]7177    },7178    {7179     "name": "systemInstruction",7180     "type": "Content",7181     "required": false,7182     "description": "Text-only parts; each part becomes a separate paragraph.",7183     "fields": [7184      {7185       "name": "role",7186       "type": "string",7187       "required": false,7188       "description": "\"user\" or \"model\".",7189       "enum": [7190        "user",7191        "model"7192       ]7193      },7194      {7195       "name": "parts[]",7196       "type": "Part[]",7197       "required": false,7198       "description": "Parts: text, inlineData{mimeType,data}, functionCall, functionResponse, thought ... (systemInstruction: text parts only, each part a separate paragraph)."7199      }7200     ]7201    },7202    {7203     "name": "tools[]",7204     "type": "Tool[]",7205     "required": false,7206     "description": "Tools the model may use.",7207     "fields": [7208      {7209       "name": "functionDeclarations[]",7210       "type": "FunctionDeclaration[]",7211       "required": false,7212       "description": "Client-executed functions.",7213       "fields": [7214        {7215         "name": "name",7216         "type": "string",7217         "required": true,7218         "description": "Required. Function name (a-z, A-Z, 0-9, _ - : . ; max 128)."7219        },7220        {7221         "name": "description",7222         "type": "string",7223         "required": true,7224         "description": "Required. Function description."7225        },7226        {7227         "name": "parameters",7228         "type": "Schema",7229         "required": false,7230         "description": "OpenAPI-style parameter schema."7231        },7232        {7233         "name": "parametersJsonSchema",7234         "type": "object",7235         "required": false,7236         "description": "JSON Schema alternative to parameters."7237        },7238        {7239         "name": "behavior",7240         "type": "enum",7241         "required": false,7242         "description": "Live-only. BLOCKING = model waits for the response; NON_BLOCKING = asynchronous (conversation continues). Default: gemini-3.8-live NON_BLOCKING; gemini-3.8-live-extended-thinking NON_BLOCKING only (BLOCKING = hard error); gemini-3.1-flash-live-preview synchronous only (NON_BLOCKING not supported); Gemini 2.5 supports both.",7243         "enum": [7244          "UNSPECIFIED",7245          "BLOCKING",7246          "NON_BLOCKING"7247         ]7248        },7249        {7250         "name": "response",7251         "type": "Schema",7252         "required": false,7253         "description": "Response schema."7254        },7255        {7256         "name": "responseJsonSchema",7257         "type": "object",7258         "required": false,7259         "description": "JSON Schema for the response."7260        }7261       ]7262      },7263      {7264       "name": "googleSearch",7265       "type": "object {}",7266       "required": false,7267       "description": "Grounding with Google Search (supported on Live agent models; not on translate/transcribe)."7268      },7269      {7270       "name": "codeExecution",7271       "type": "object {}",7272       "required": false,7273       "description": "Not supported on current Live models (tools table)."7274      },7275      {7276       "name": "urlContext",7277       "type": "object {}",7278       "required": false,7279       "description": "Not supported on current Live models (tools table); serverContent.urlContextMetadata exists in the schema nonetheless."7280      },7281      {7282       "name": "googleMaps",7283       "type": "object",7284       "required": false,7285       "description": "Not supported on Live models."7286      }7287     ]7288    },7289    {7290     "name": "realtimeInputConfig",7291     "type": "RealtimeInputConfig",7292     "required": false,7293     "description": "VAD / activity handling / turn coverage.",7294     "fields": [7295      {7296       "name": "automaticActivityDetection",7297       "type": "AutomaticActivityDetection",7298       "required": false,7299       "description": "Server-side VAD; enabled by default if not set.",7300       "fields": [7301        {7302         "name": "disabled",7303         "type": "boolean",7304         "required": false,7305         "description": "Default false (automatic VAD on: detected voice and text count as activity). true = client must send activityStart/activityEnd."7306        },7307        {7308         "name": "startOfSpeechSensitivity",7309         "type": "enum",7310         "required": false,7311         "description": "How readily speech start is detected. Default START_SENSITIVITY_HIGH.",7312         "enum": [7313          "START_SENSITIVITY_UNSPECIFIED",7314          "START_SENSITIVITY_HIGH",7315          "START_SENSITIVITY_LOW"7316         ]7317        },7318        {7319         "name": "prefixPaddingMs",7320         "type": "integer (int32)",7321         "required": false,7322         "description": "Speech duration required before start-of-speech is committed (look-back padding). Lower = more sensitive, more false positives; 0 may clip first syllables."7323        },7324        {7325         "name": "endOfSpeechSensitivity",7326         "type": "enum",7327         "required": false,7328         "description": "How readily end of speech is detected. Default END_SENSITIVITY_HIGH.",7329         "enum": [7330          "END_SENSITIVITY_UNSPECIFIED",7331          "END_SENSITIVITY_HIGH",7332          "END_SENSITIVITY_LOW"7333         ]7334        },7335        {7336         "name": "silenceDurationMs",7337         "type": "integer (int32)",7338         "required": false,7339         "description": "Non-speech duration before end-of-speech is committed. Server default ~800 ms; recommended 500-800 ms."7340        }7341       ]7342      },7343      {7344       "name": "activityHandling",7345       "type": "enum",7346       "required": false,7347       "description": "Effect of user activity on model output. Default START_OF_ACTIVITY_INTERRUPTS (barge-in).",7348       "enum": [7349        "ACTIVITY_HANDLING_UNSPECIFIED",7350        "START_OF_ACTIVITY_INTERRUPTS",7351        "NO_INTERRUPTION"7352       ]7353      },7354      {7355       "name": "turnCoverage",7356       "type": "enum",7357       "required": false,7358       "description": "Which realtime input is part of the user turn. Default: Gemini 2.5 TURN_INCLUDES_ONLY_ACTIVITY; Gemini 3.1+ TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO.",7359       "enum": [7360        "TURN_COVERAGE_UNSPECIFIED",7361        "TURN_INCLUDES_ONLY_ACTIVITY",7362        "TURN_INCLUDES_ALL_INPUT",7363        "TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"7364       ]7365      }7366     ]7367    },7368    {7369     "name": "sessionResumption",7370     "type": "SessionResumptionConfig",7371     "required": false,7372     "description": "If present the server sends sessionResumptionUpdate messages.",7373     "fields": [7374      {7375       "name": "handle",7376       "type": "string",7377       "required": false,7378       "description": "Handle from a previous SessionResumptionUpdate.newHandle. Absent = new session. Valid 2 h after the last session termination."7379      },7380      {7381       "name": "transparent",7382       "type": "boolean",7383       "required": false,7384       "description": "SDK-only: server includes lastConsumedClientMessageIndex in sessionResumptionUpdate for transparent reconnects. Not in the REST reference.",7385       "status": [7386        "UNVERIFIED"7387       ]7388      }7389     ]7390    },7391    {7392     "name": "contextWindowCompression",7393     "type": "ContextWindowCompressionConfig",7394     "required": false,7395     "description": "Automatic context reduction beyond a length; enables unlimited session duration.",7396     "fields": [7397      {7398       "name": "slidingWindow",7399       "type": "SlidingWindow",7400       "required": false,7401       "description": "Sliding-window mechanism (union compressionMechanism); discards from the start, always cutting at a USER turn; system instructions kept.",7402       "fields": [7403        {7404         "name": "targetTokens",7405         "type": "integer (int64, JSON string)",7406         "required": false,7407         "description": "Tokens to keep after compression. Default triggerTokens/2. Must be < triggerTokens."7408        }7409       ]7410      },7411      {7412       "name": "triggerTokens",7413       "type": "integer (int64, JSON string)",7414       "required": false,7415       "description": "Token count (before a turn) that triggers compression. Default 80% of the model context window."7416      }7417     ]7418    },7419    {7420     "name": "inputAudioTranscription",7421     "type": "AudioTranscriptionConfig",7422     "required": false,7423     "description": "Enable transcription of user audio ({} = defaults).",7424     "fields": [7425      {7426       "name": "languageCodes[]",7427       "type": "string[]",7428       "required": false,7429       "description": "BCP-47 hints for languages present in the audio; omitted/empty = automatic detection."7430      },7431      {7432       "name": "customVocabulary[]",7433       "type": "string[]",7434       "required": false,7435       "description": "Up to 1,000 phrases to bias recognition (best results <= 100)."7436      },7437      {7438       "name": "mode",7439       "type": "enum",7440       "required": false,7441       "description": "VERBATIM (default) or SMART (disfluency removal, cleanup, formatting). Incompatible with timestamps/diarization.",7442       "enum": [7443        "MODE_UNSPECIFIED",7444        "VERBATIM",7445        "SMART"7446       ]7447      },7448      {7449       "name": "wordTimestamp",7450       "type": "boolean",7451       "required": false,7452       "description": "Word-level timestamps (NOT supported over the Live API per live-transcribe limitations)."7453      },7454      {7455       "name": "diarization",7456       "type": "boolean",7457       "required": false,7458       "description": "Speaker diarization (NOT supported over the Live API per live-transcribe limitations)."7459      }7460     ]7461    },7462    {7463     "name": "outputAudioTranscription",7464     "type": "AudioTranscriptionConfig",7465     "required": false,7466     "description": "Enable transcription of model audio ({} = defaults).",7467     "fields": [7468      {7469       "name": "languageCodes[]",7470       "type": "string[]",7471       "required": false,7472       "description": "BCP-47 hints for languages present in the audio; omitted/empty = automatic detection."7473      },7474      {7475       "name": "customVocabulary[]",7476       "type": "string[]",7477       "required": false,7478       "description": "Up to 1,000 phrases to bias recognition (best results <= 100)."7479      },7480      {7481       "name": "mode",7482       "type": "enum",7483       "required": false,7484       "description": "VERBATIM (default) or SMART (disfluency removal, cleanup, formatting). Incompatible with timestamps/diarization.",7485       "enum": [7486        "MODE_UNSPECIFIED",7487        "VERBATIM",7488        "SMART"7489       ]7490      },7491      {7492       "name": "wordTimestamp",7493       "type": "boolean",7494       "required": false,7495       "description": "Word-level timestamps (NOT supported over the Live API per live-transcribe limitations)."7496      },7497      {7498       "name": "diarization",7499       "type": "boolean",7500       "required": false,7501       "description": "Speaker diarization (NOT supported over the Live API per live-transcribe limitations)."7502      }7503     ]7504    },7505    {7506     "name": "proactivity",7507     "type": "ProactivityConfig",7508     "required": false,7509     "description": "Proactive audio.",7510     "fields": [7511      {7512       "name": "proactiveAudio",7513       "type": "boolean",7514       "required": false,7515       "description": "Model may decline to answer irrelevant/incomplete input. Gemini 2.5: opt-in; gemini-3.8-live*: permanently enabled (false returns an error); gemini-3.1-flash-live-preview: not supported."7516      }7517     ]7518    },7519    {7520     "name": "historyConfig",7521     "type": "HistoryConfig",7522     "required": false,7523     "description": "Initial-history handshake.",7524     "fields": [7525      {7526       "name": "initialHistoryInClientContent",7527       "type": "boolean",7528       "required": false,7529       "description": "If true, after setupComplete the server first ingests clientContent until turnComplete=true (history may end with role model) without a model call; then realtimeInput starts the conversation."7530      }7531     ]7532    },7533    {7534     "name": "labels",7535     "type": "object<string,string>",7536     "required": false,7537     "description": "Discovery-only: user metadata labels (e.g. {\"safety_identifier\": ...}); not in the public Live reference page.",7538     "status": [7539      "UNVERIFIED"7540     ]7541    }7542   ],7543   "status": [7544    "DOCUMENTED"7545   ],7546   "example": {7547    "model": "models/gemini-3.8-live",7548    "generationConfig": {7549     "responseModalities": [7550      "AUDIO"7551     ],7552     "speechConfig": {7553      "voiceConfig": {7554       "prebuiltVoiceConfig": {7555        "voiceName": "Puck"7556       }7557      }7558     }7559    },7560    "systemInstruction": {7561     "parts": [7562      {7563       "text": "You are a helpful assistant."7564      }7565     ]7566    },7567    "tools": [7568     {7569      "functionDeclarations": [7570       {7571        "name": "searchFlights",7572        "description": "Searches for flights between cities.",7573        "behavior": "NON_BLOCKING",7574        "parameters": {7575         "type": "OBJECT",7576         "properties": {7577          "destination": {7578           "type": "STRING"7579          }7580         },7581         "required": [7582          "destination"7583         ]7584        }7585       }7586      ]7587     },7588     {7589      "googleSearch": {}7590     }7591    ],7592    "realtimeInputConfig": {7593     "automaticActivityDetection": {7594      "disabled": false,7595      "startOfSpeechSensitivity": "START_SENSITIVITY_LOW",7596      "endOfSpeechSensitivity": "END_SENSITIVITY_LOW",7597      "prefixPaddingMs": 20,7598      "silenceDurationMs": 1007599     }7600    },7601    "inputAudioTranscription": {},7602    "outputAudioTranscription": {},7603    "sessionResumption": {},7604    "contextWindowCompression": {7605     "triggerTokens": "25600",7606     "slidingWindow": {7607      "targetTokens": "12800"7608     }7609    }7610   },7611   "sources": [7612    {7613     "url": "https://ai.google.dev/api/live",7614     "retrieved_at": "2026-09-18"7615    }7616   ]7617  },7618  {7619   "provider": "gemini",7620   "api_family": "live",7621   "name": "Client content update",7622   "object": "BidiGenerateContentClientContent",7623   "schema_name": "BidiGenerateContentClientContent",7624   "description": "Incremental conversation history/prompt update from the client; interrupts generation.",7625   "fields": [7626    {7627     "name": "turns[]",7628     "type": "Content[]",7629     "required": false,7630     "description": "Content appended to the conversation (history and/or latest request), roles user/model.",7631     "fields": [7632      {7633       "name": "role",7634       "type": "string",7635       "required": false,7636       "description": "\"user\" or \"model\".",7637       "enum": [7638        "user",7639        "model"7640       ]7641      },7642      {7643       "name": "parts[]",7644       "type": "Part[]",7645       "required": false,7646       "description": "Parts: text, inlineData{mimeType,data}, functionCall, functionResponse, thought ... (systemInstruction: text parts only, each part a separate paragraph)."7647      }7648     ]7649    },7650    {7651     "name": "turnComplete",7652     "type": "boolean",7653     "required": false,7654     "description": "true = start generation with accumulated prompt (unconditionally interrupts active generation); otherwise the server waits for more messages."7655    }7656   ],7657   "status": [7658    "DOCUMENTED"7659   ],7660   "example": {7661    "turns": [7662     {7663      "role": "user",7664      "parts": [7665       {7666        "text": "Hello world!"7667       }7668      ]7669     }7670    ],7671    "turnComplete": true7672   },7673   "sources": [7674    {7675     "url": "https://ai.google.dev/api/live",7676     "retrieved_at": "2026-09-18"7677    }7678   ]7679  },7680  {7681   "provider": "gemini",7682   "api_family": "live",7683   "name": "Realtime input",7684   "object": "BidiGenerateContentRealtimeInput",7685   "schema_name": "BidiGenerateContentRealtimeInput",7686   "description": "Realtime audio/video/text streams and activity signals.",7687   "fields": [7688    {7689     "name": "audio",7690     "type": "Blob",7691     "required": false,7692     "description": "Realtime audio chunk: raw 16-bit little-endian PCM, natively 16 kHz mono (any rate accepted, declare it in mimeType).",7693     "fields": [7694      {7695       "name": "mimeType",7696       "type": "string",7697       "required": true,7698       "description": "IANA MIME type, e.g. audio/pcm;rate=16000, image/jpeg, image/png."7699      },7700      {7701       "name": "data",7702       "type": "string (base64)",7703       "required": true,7704       "description": "Raw bytes, base64-encoded in JSON."7705      }7706     ]7707    },7708    {7709     "name": "video",7710     "type": "Blob",7711     "required": false,7712     "description": "Realtime video frame as an individual image (JPEG/PNG), max 1 frame/s.",7713     "fields": [7714      {7715       "name": "mimeType",7716       "type": "string",7717       "required": true,7718       "description": "IANA MIME type, e.g. audio/pcm;rate=16000, image/jpeg, image/png."7719      },7720      {7721       "name": "data",7722       "type": "string (base64)",7723       "required": true,7724       "description": "Raw bytes, base64-encoded in JSON."7725      }7726     ]7727    },7728    {7729     "name": "text",7730     "type": "string",7731     "required": false,7732     "description": "Realtime text input stream."7733    },7734    {7735     "name": "activityStart",7736     "type": "ActivityStart {}",7737     "required": false,7738     "description": "Marks start of user activity; only when automatic VAD is disabled."7739    },7740    {7741     "name": "activityEnd",7742     "type": "ActivityEnd {}",7743     "required": false,7744     "description": "Marks end of user activity; only when automatic VAD is disabled."7745    },7746    {7747     "name": "audioStreamEnd",7748     "type": "boolean",7749     "required": false,7750     "description": "Audio stream ended (mic off / hybrid VAD end-of-speech). Only with automatic VAD enabled; flushes cached audio; reopened by sending audio again."7751    },7752    {7753     "name": "mediaResolution",7754     "type": "enum",7755     "required": false,7756     "description": "Per-message override of setup.generationConfig.mediaResolution.",7757     "enum": [7758      "MEDIA_RESOLUTION_UNSPECIFIED",7759      "MEDIA_RESOLUTION_LOW",7760      "MEDIA_RESOLUTION_MEDIUM",7761      "MEDIA_RESOLUTION_HIGH"7762     ]7763    },7764    {7765     "name": "mediaChunks[]",7766     "type": "Blob[]",7767     "required": false,7768     "description": "DEPRECATED — use audio/video/text. Only the first chunk is honoured.",7769     "status": [7770      "DOCUMENTED",7771      "DEPRECATED"7772     ],7773     "fields": [7774      {7775       "name": "mimeType",7776       "type": "string",7777       "required": true,7778       "description": "IANA MIME type, e.g. audio/pcm;rate=16000, image/jpeg, image/png."7779      },7780      {7781       "name": "data",7782       "type": "string (base64)",7783       "required": true,7784       "description": "Raw bytes, base64-encoded in JSON."7785      }7786     ]7787    }7788   ],7789   "status": [7790    "DOCUMENTED"7791   ],7792   "example": {7793    "audio": {7794     "data": "UklGRiQAAABXQVZF...",7795     "mimeType": "audio/pcm;rate=16000"7796    }7797   },7798   "sources": [7799    {7800     "url": "https://ai.google.dev/api/live",7801     "retrieved_at": "2026-09-18"7802    }7803   ]7804  },7805  {7806   "provider": "gemini",7807   "api_family": "live",7808   "name": "Tool response",7809   "object": "BidiGenerateContentToolResponse",7810   "schema_name": "BidiGenerateContentToolResponse",7811   "description": "Client's function results for a toolCall.",7812   "fields": [7813    {7814     "name": "functionResponses[]",7815     "type": "FunctionResponse[]",7816     "required": false,7817     "description": "Responses matched to toolCall.functionCalls by id.",7818     "fields": [7819      {7820       "name": "id",7821       "type": "string",7822       "required": false,7823       "description": "Must match FunctionCall.id."7824      },7825      {7826       "name": "name",7827       "type": "string",7828       "required": true,7829       "description": "Required. Function name."7830      },7831      {7832       "name": "response",7833       "type": "object",7834       "required": true,7835       "description": "Required. JSON result; keys of your choice (\"output\", \"result\", \"error\" ...)."7836      },7837      {7838       "name": "scheduling",7839       "type": "enum",7840       "required": false,7841       "description": "NON_BLOCKING calls only: INTERRUPT (interrupt and speak now), WHEN_IDLE (default; after current output), SILENT (add to context only).",7842       "enum": [7843        "SCHEDULING_UNSPECIFIED",7844        "SILENT",7845        "WHEN_IDLE",7846        "INTERRUPT"7847       ]7848      },7849      {7850       "name": "willContinue",7851       "type": "boolean",7852       "required": false,7853       "description": "NON_BLOCKING calls only: more responses follow (generator). false + empty response finishes the call (still may trigger generation unless scheduling=SILENT)."7854      },7855      {7856       "name": "parts[]",7857       "type": "FunctionResponsePart[]",7858       "required": false,7859       "description": "Multimodal parts (inlineData/fileData) of the response."7860      }7861     ]7862    }7863   ],7864   "status": [7865    "DOCUMENTED"7866   ],7867   "example": {7868    "functionResponses": [7869     {7870      "id": "call_123",7871      "name": "searchFlights",7872      "response": {7873       "output": {7874        "flight": "DL 145",7875        "price": "$145"7876       },7877       "scheduling": "INTERRUPT"7878      }7879     }7880    ]7881   },7882   "sources": [7883    {7884     "url": "https://ai.google.dev/api/live",7885     "retrieved_at": "2026-09-18"7886    }7887   ]7888  },7889  {7890   "provider": "gemini",7891   "api_family": "live",7892   "name": "Client message (union)",7893   "object": "BidiGenerateContentClientMessage",7894   "schema_name": "BidiGenerateContentClientMessage",7895   "description": "Exactly one of setup | clientContent | realtimeInput | toolResponse.",7896   "fields": [7897    {7898     "name": "setup",7899     "type": "BidiGenerateContentSetup",7900     "required": false,7901     "description": ""7902    },7903    {7904     "name": "clientContent",7905     "type": "BidiGenerateContentClientContent",7906     "required": false,7907     "description": ""7908    },7909    {7910     "name": "realtimeInput",7911     "type": "BidiGenerateContentRealtimeInput",7912     "required": false,7913     "description": ""7914    },7915    {7916     "name": "toolResponse",7917     "type": "BidiGenerateContentToolResponse",7918     "required": false,7919     "description": ""7920    }7921   ],7922   "status": [7923    "DOCUMENTED"7924   ],7925   "example": {7926    "clientContent": {7927     "turns": [7928      {7929       "role": "user",7930       "parts": [7931        {7932         "text": "Hello world!"7933        }7934       ]7935      }7936     ],7937     "turnComplete": true7938    }7939   },7940   "sources": [7941    {7942     "url": "https://ai.google.dev/api/live",7943     "retrieved_at": "2026-09-18"7944    }7945   ]7946  },7947  {7948   "provider": "gemini",7949   "api_family": "live",7950   "name": "Server message (union)",7951   "object": "BidiGenerateContentServerMessage",7952   "schema_name": "BidiGenerateContentServerMessage",7953   "description": "usageMetadata (optional) + exactly one of the messageType union fields, which appear at the top level of the JSON.",7954   "fields": [7955    {7956     "name": "usageMetadata",7957     "type": "UsageMetadata",7958     "required": false,7959     "description": "Optional companion."7960    },7961    {7962     "name": "setupComplete",7963     "type": "BidiGenerateContentSetupComplete",7964     "required": false,7965     "description": ""7966    },7967    {7968     "name": "serverContent",7969     "type": "BidiGenerateContentServerContent",7970     "required": false,7971     "description": ""7972    },7973    {7974     "name": "toolCall",7975     "type": "BidiGenerateContentToolCall",7976     "required": false,7977     "description": ""7978    },7979    {7980     "name": "toolCallCancellation",7981     "type": "BidiGenerateContentToolCallCancellation",7982     "required": false,7983     "description": ""7984    },7985    {7986     "name": "goAway",7987     "type": "GoAway",7988     "required": false,7989     "description": ""7990    },7991    {7992     "name": "sessionResumptionUpdate",7993     "type": "SessionResumptionUpdate",7994     "required": false,7995     "description": ""7996    },7997    {7998     "name": "voiceActivity",7999     "type": "VoiceActivity",8000     "required": false,8001     "description": "SDK types only.",8002     "status": [8003      "UNVERIFIED"8004     ]8005    },8006    {8007     "name": "voiceActivityDetectionSignal",8008     "type": "VoiceActivityDetectionSignal",8009     "required": false,8010     "description": "SDK types only; allowlisted.",8011     "status": [8012      "UNVERIFIED"8013     ]8014    }8015   ],8016   "status": [8017    "DOCUMENTED"8018   ],8019   "example": {8020    "serverContent": {8021     "turnComplete": true,8022     "interactionStatus": "IDLE"8023    }8024   },8025   "sources": [8026    {8027     "url": "https://ai.google.dev/api/live",8028     "retrieved_at": "2026-09-18"8029    }8030   ]8031  },8032  {8033   "provider": "gemini",8034   "api_family": "live",8035   "name": "Setup complete",8036   "object": "BidiGenerateContentSetupComplete",8037   "schema_name": "BidiGenerateContentSetupComplete",8038   "description": "Empty acknowledgement of setup.",8039   "fields": [],8040   "status": [8041    "DOCUMENTED",8042    "LIVE_VERIFIED"8043   ],8044   "example": {},8045   "sources": [8046    {8047     "url": "https://ai.google.dev/api/live",8048     "retrieved_at": "2026-09-18"8049    }8050   ],8051   "live_observation_2026_09_18": "live: {} (empty object)"8052  },8053  {8054   "provider": "gemini",8055   "api_family": "live",8056   "name": "Server content",8057   "object": "BidiGenerateContentServerContent",8058   "schema_name": "BidiGenerateContentServerContent",8059   "description": "Model output and turn-state flags.",8060   "fields": [8061    {8062     "name": "modelTurn",8063     "type": "Content",8064     "required": false,8065     "description": "Generated content: parts with inlineData {mimeType:'audio/pcm;rate=24000', data} for audio, text for TEXT modality, thought summaries. One message can hold several parts.",8066     "fields": [8067      {8068       "name": "role",8069       "type": "string",8070       "required": false,8071       "description": "\"user\" or \"model\".",8072       "enum": [8073        "user",8074        "model"8075       ]8076      },8077      {8078       "name": "parts[]",8079       "type": "Part[]",8080       "required": false,8081       "description": "Parts: text, inlineData{mimeType,data}, functionCall, functionResponse, thought ... (systemInstruction: text parts only, each part a separate paragraph)."8082      }8083     ]8084    },8085    {8086     "name": "generationComplete",8087     "type": "boolean",8088     "required": false,8089     "description": "Model finished generating. Absent in interrupted turns (interrupted -> turnComplete). With realtime playback there is a gap before turnComplete."8090    },8091    {8092     "name": "turnComplete",8093     "type": "boolean",8094     "required": false,8095     "description": "Model turn complete; generation resumes only on new client messages. On extended-thinking, check interactionStatus (IDLE vs IN_PROGRESS)."8096    },8097    {8098     "name": "interrupted",8099     "type": "boolean",8100     "required": false,8101     "description": "A client message/VAD barge-in interrupted generation: stop playback and flush queue."8102    },8103    {8104     "name": "groundingMetadata",8105     "type": "GroundingMetadata",8106     "required": false,8107     "description": "Search grounding metadata (webSearchQueries, groundingChunks, groundingSupports, searchEntryPoint)."8108    },8109    {8110     "name": "inputTranscription",8111     "type": "BidiGenerateContentTranscription",8112     "required": false,8113     "description": "Finalized user-audio transcript (independent stream, no ordering guarantee).",8114     "fields": [8115      {8116       "name": "text",8117       "type": "string",8118       "required": false,8119       "description": "Transcription text."8120      },8121      {8122       "name": "languageCode",8123       "type": "string",8124       "required": false,8125       "description": "BCP-47 code of the transcript (translate model reports it)."8126      },8127      {8128       "name": "finished",8129       "type": "boolean",8130       "required": false,8131       "description": "SDK-only: end of transcription.",8132       "status": [8133        "UNVERIFIED"8134       ]8135      }8136     ]8137    },8138    {8139     "name": "interimInputTranscription",8140     "type": "BidiGenerateContentTranscription",8141     "required": false,8142     "description": "Low-latency partial hypothesis, updated frequently while the user speaks.",8143     "fields": [8144      {8145       "name": "text",8146       "type": "string",8147       "required": false,8148       "description": "Transcription text."8149      },8150      {8151       "name": "languageCode",8152       "type": "string",8153       "required": false,8154       "description": "BCP-47 code of the transcript (translate model reports it)."8155      },8156      {8157       "name": "finished",8158       "type": "boolean",8159       "required": false,8160       "description": "SDK-only: end of transcription.",8161       "status": [8162        "UNVERIFIED"8163       ]8164      }8165     ]8166    },8167    {8168     "name": "outputTranscription",8169     "type": "BidiGenerateContentTranscription",8170     "required": false,8171     "description": "Model-audio transcript; last one of a turn precedes generationComplete/interrupted.",8172     "fields": [8173      {8174       "name": "text",8175       "type": "string",8176       "required": false,8177       "description": "Transcription text."8178      },8179      {8180       "name": "languageCode",8181       "type": "string",8182       "required": false,8183       "description": "BCP-47 code of the transcript (translate model reports it)."8184      },8185      {8186       "name": "finished",8187       "type": "boolean",8188       "required": false,8189       "description": "SDK-only: end of transcription.",8190       "status": [8191        "UNVERIFIED"8192       ]8193      }8194     ]8195    },8196    {8197     "name": "urlContextMetadata",8198     "type": "UrlContextMetadata",8199     "required": false,8200     "description": "urlMetadata[] from the URL context tool."8201    },8202    {8203     "name": "waitingForInput",8204     "type": "boolean",8205     "required": false,8206     "description": "Model idle because it expects the user to continue."8207    },8208    {8209     "name": "interactionStatus",8210     "type": "enum",8211     "required": false,8212     "description": "Always sent alongside turnComplete. IN_PROGRESS = background reasoning / async tool calls pending; IDLE = fully done; REQUIRES_ACTION deprecated.",8213     "enum": [8214      "INTERACTION_STATUS_UNSPECIFIED",8215      "IN_PROGRESS",8216      "REQUIRES_ACTION",8217      "IDLE"8218     ]8219    },8220    {8221     "name": "speechState",8222     "type": "enum (deprecated)",8223     "required": false,8224     "description": "DEPRECATED: use VoiceActivity. Speech detection state on realtimeInput.audio.",8225     "status": [8226      "DOCUMENTED",8227      "DEPRECATED"8228     ]8229    },8230    {8231     "name": "turnCompleteReason",8232     "type": "enum",8233     "required": false,8234     "description": "SDK-only: TURN_COMPLETE_REASON_UNSPECIFIED, MALFORMED_FUNCTION_CALL, RESPONSE_REJECTED, NEED_MORE_INPUT, PROHIBITED_INPUT_CONTENT, ... Not in the REST reference.",8235     "status": [8236      "UNVERIFIED"8237     ]8238    }8239   ],8240   "status": [8241    "DOCUMENTED",8242    "LIVE_VERIFIED"8243   ],8244   "example": {8245    "modelTurn": {8246     "parts": [8247      {8248       "inlineData": {8249        "mimeType": "audio/pcm;rate=24000",8250        "data": "..."8251       }8252      }8253     ]8254    }8255   },8256   "sources": [8257    {8258     "url": "https://ai.google.dev/api/live",8259     "retrieved_at": "2026-09-18"8260    }8261   ],8262   "live_observation_2026_09_18": "live fields seen: modelTurn (parts text+thought:true, then inlineData audio/pcm;rate=24000), outputTranscription{text}, generationComplete, turnComplete"8263  },8264  {8265   "provider": "gemini",8266   "api_family": "live",8267   "name": "Tool call",8268   "object": "BidiGenerateContentToolCall",8269   "schema_name": "BidiGenerateContentToolCall",8270   "description": "Function calls to execute.",8271   "fields": [8272    {8273     "name": "functionCalls[]",8274     "type": "FunctionCall[]",8275     "required": false,8276     "description": "Calls to execute; reply with toolResponse using matching ids.",8277     "fields": [8278      {8279       "name": "id",8280       "type": "string",8281       "required": false,8282       "description": "Unique id to echo in FunctionResponse.id."8283      },8284      {8285       "name": "name",8286       "type": "string",8287       "required": true,8288       "description": "Function name."8289      },8290      {8291       "name": "args",8292       "type": "object",8293       "required": false,8294       "description": "Arguments."8295      }8296     ]8297    }8298   ],8299   "status": [8300    "DOCUMENTED",8301    "LIVE_VERIFIED"8302   ],8303   "example": {8304    "functionCalls": [8305     {8306      "id": "call_123",8307      "name": "searchFlights",8308      "args": {8309       "destination": "Seattle"8310      }8311     }8312    ]8313   },8314   "sources": [8315    {8316     "url": "https://ai.google.dev/api/live",8317     "retrieved_at": "2026-09-18"8318    }8319   ],8320   "live_observation_2026_09_18": "live: {functionCalls:[{name, args, id: function-call-…}]}"8321  },8322  {8323   "provider": "gemini",8324   "api_family": "live",8325   "name": "Tool call cancellation",8326   "object": "BidiGenerateContentToolCallCancellation",8327   "schema_name": "BidiGenerateContentToolCallCancellation",8328   "description": "Ids of tool calls to cancel after an interruption.",8329   "fields": [8330    {8331     "name": "ids[]",8332     "type": "string[]",8333     "required": true,8334     "description": "Ids of tool calls to cancel/undo."8335    }8336   ],8337   "status": [8338    "DOCUMENTED"8339   ],8340   "example": {8341    "ids": [8342     "call_123"8343    ]8344   },8345   "sources": [8346    {8347     "url": "https://ai.google.dev/api/live",8348     "retrieved_at": "2026-09-18"8349    }8350   ]8351  },8352  {8353   "provider": "gemini",8354   "api_family": "live",8355   "name": "GoAway",8356   "object": "GoAway",8357   "schema_name": "GoAway",8358   "description": "Imminent connection termination notice.",8359   "fields": [8360    {8361     "name": "timeLeft",8362     "type": "string (google.protobuf.Duration, e.g. \"30s\")",8363     "required": true,8364     "description": "Remaining time before the connection is terminated as ABORTED; never below a model-specific minimum (documented with rate limits — value not published)."8365    }8366   ],8367   "status": [8368    "DOCUMENTED"8369   ],8370   "example": {8371    "timeLeft": "30s"8372   },8373   "sources": [8374    {8375     "url": "https://ai.google.dev/api/live",8376     "retrieved_at": "2026-09-18"8377    }8378   ]8379  },8380  {8381   "provider": "gemini",8382   "api_family": "live",8383   "name": "Session resumption update",8384   "object": "SessionResumptionUpdate",8385   "schema_name": "SessionResumptionUpdate",8386   "description": "Resumable state handle.",8387   "fields": [8388    {8389     "name": "newHandle",8390     "type": "string",8391     "required": false,8392     "description": "New resumable handle; empty when resumable=false."8393    },8394    {8395     "name": "resumable",8396     "type": "boolean",8397     "required": false,8398     "description": "False while the model is generating / executing function calls (resuming then loses data)."8399    },8400    {8401     "name": "lastConsumedClientMessageIndex",8402     "type": "integer",8403     "required": false,8404     "description": "SDK-only, when SessionResumptionConfig.transparent is set: index of the last client message included in the state.",8405     "status": [8406      "UNVERIFIED"8407     ]8408    }8409   ],8410   "status": [8411    "DOCUMENTED",8412    "LIVE_VERIFIED"8413   ],8414   "example": {8415    "newHandle": "<opaque handle>",8416    "resumable": true8417   },8418   "sources": [8419    {8420     "url": "https://ai.google.dev/api/live",8421     "retrieved_at": "2026-09-18"8422    }8423   ],8424   "live_observation_2026_09_18": "live: {newHandle: <uuid>, resumable: true} right after setupComplete and again after turnComplete"8425  },8426  {8427   "provider": "gemini",8428   "api_family": "live",8429   "name": "Usage metadata (Live)",8430   "object": "UsageMetadata",8431   "schema_name": "UsageMetadata",8432   "description": "Token usage with per-modality details; sent alongside server messages.",8433   "fields": [8434    {8435     "name": "promptTokenCount",8436     "type": "integer",8437     "required": false,8438     "description": "Prompt tokens (includes cached content)."8439    },8440    {8441     "name": "cachedContentTokenCount",8442     "type": "integer",8443     "required": false,8444     "description": "Cached prompt tokens."8445    },8446    {8447     "name": "responseTokenCount",8448     "type": "integer",8449     "required": false,8450     "description": "Tokens across generated candidates."8451    },8452    {8453     "name": "toolUsePromptTokenCount",8454     "type": "integer",8455     "required": false,8456     "description": "Tool-use prompt tokens."8457    },8458    {8459     "name": "thoughtsTokenCount",8460     "type": "integer",8461     "required": false,8462     "description": "Thinking tokens."8463    },8464    {8465     "name": "totalTokenCount",8466     "type": "integer",8467     "required": false,8468     "description": "prompt + response (+ thoughts + tool-use)."8469    },8470    {8471     "name": "promptTokensDetails[]",8472     "type": "ModalityTokenCount[]",8473     "required": false,8474     "description": "Per-modality prompt breakdown (TEXT/AUDIO/IMAGE/VIDEO...).",8475     "fields": [8476      {8477       "name": "modality",8478       "type": "enum",8479       "required": false,8480       "description": "Modality of the count.",8481       "enum": [8482        "MODALITY_UNSPECIFIED",8483        "TEXT",8484        "IMAGE",8485        "VIDEO",8486        "AUDIO",8487        "DOCUMENT"8488       ]8489      },8490      {8491       "name": "tokenCount",8492       "type": "integer",8493       "required": false,8494       "description": "Tokens."8495      }8496     ]8497    },8498    {8499     "name": "cacheTokensDetails[]",8500     "type": "ModalityTokenCount[]",8501     "required": false,8502     "description": "Per-modality cached breakdown.",8503     "fields": [8504      {8505       "name": "modality",8506       "type": "enum",8507       "required": false,8508       "description": "Modality of the count.",8509       "enum": [8510        "MODALITY_UNSPECIFIED",8511        "TEXT",8512        "IMAGE",8513        "VIDEO",8514        "AUDIO",8515        "DOCUMENT"8516       ]8517      },8518      {8519       "name": "tokenCount",8520       "type": "integer",8521       "required": false,8522       "description": "Tokens."8523      }8524     ]8525    },8526    {8527     "name": "responseTokensDetails[]",8528     "type": "ModalityTokenCount[]",8529     "required": false,8530     "description": "Per-modality response breakdown.",8531     "fields": [8532      {8533       "name": "modality",8534       "type": "enum",8535       "required": false,8536       "description": "Modality of the count.",8537       "enum": [8538        "MODALITY_UNSPECIFIED",8539        "TEXT",8540        "IMAGE",8541        "VIDEO",8542        "AUDIO",8543        "DOCUMENT"8544       ]8545      },8546      {8547       "name": "tokenCount",8548       "type": "integer",8549       "required": false,8550       "description": "Tokens."8551      }8552     ]8553    },8554    {8555     "name": "toolUsePromptTokensDetails[]",8556     "type": "ModalityTokenCount[]",8557     "required": false,8558     "description": "Per-modality tool-use prompt breakdown.",8559     "fields": [8560      {8561       "name": "modality",8562       "type": "enum",8563       "required": false,8564       "description": "Modality of the count.",8565       "enum": [8566        "MODALITY_UNSPECIFIED",8567        "TEXT",8568        "IMAGE",8569        "VIDEO",8570        "AUDIO",8571        "DOCUMENT"8572       ]8573      },8574      {8575       "name": "tokenCount",8576       "type": "integer",8577       "required": false,8578       "description": "Tokens."8579      }8580     ]8581    }8582   ],8583   "status": [8584    "DOCUMENTED",8585    "LIVE_VERIFIED"8586   ],8587   "example": {8588    "promptTokenCount": 1250,8589    "responseTokenCount": 420,8590    "totalTokenCount": 1670,8591    "promptTokensDetails": [8592     {8593      "modality": "AUDIO",8594      "tokenCount": 12008595     },8596     {8597      "modality": "TEXT",8598      "tokenCount": 508599     }8600    ],8601    "responseTokensDetails": [8602     {8603      "modality": "AUDIO",8604      "tokenCount": 4208605     }8606    ]8607   },8608   "sources": [8609    {8610     "url": "https://ai.google.dev/api/live",8611     "retrieved_at": "2026-09-18"8612    }8613   ],8614   "live_observation_2026_09_18": "live (Live API): {promptTokenCount, responseTokenCount, totalTokenCount, promptTokensDetails[{modality:TEXT}], responseTokensDetails[{modality:AUDIO}], thoughtsTokenCount} attached to the turnComplete message"8615  },8616  {8617   "provider": "gemini",8618   "api_family": "live",8619   "name": "Modality token count",8620   "object": "ModalityTokenCount",8621   "schema_name": "ModalityTokenCount",8622   "description": "Per-modality token count entry.",8623   "fields": [8624    {8625     "name": "modality",8626     "type": "enum",8627     "required": false,8628     "description": "Modality of the count.",8629     "enum": [8630      "MODALITY_UNSPECIFIED",8631      "TEXT",8632      "IMAGE",8633      "VIDEO",8634      "AUDIO",8635      "DOCUMENT"8636     ]8637    },8638    {8639     "name": "tokenCount",8640     "type": "integer",8641     "required": false,8642     "description": "Tokens."8643    }8644   ],8645   "status": [8646    "DOCUMENTED"8647   ],8648   "example": {8649    "modality": "AUDIO",8650    "tokenCount": 12008651   },8652   "sources": [8653    {8654     "url": "https://ai.google.dev/api/live",8655     "retrieved_at": "2026-09-18"8656    }8657   ]8658  },8659  {8660   "provider": "gemini",8661   "api_family": "live",8662   "name": "Realtime input config",8663   "object": "RealtimeInputConfig",8664   "schema_name": "RealtimeInputConfig",8665   "description": "VAD / activity handling / turn coverage.",8666   "fields": [8667    {8668     "name": "automaticActivityDetection",8669     "type": "AutomaticActivityDetection",8670     "required": false,8671     "description": "Server-side VAD; enabled by default if not set.",8672     "fields": [8673      {8674       "name": "disabled",8675       "type": "boolean",8676       "required": false,8677       "description": "Default false (automatic VAD on: detected voice and text count as activity). true = client must send activityStart/activityEnd."8678      },8679      {8680       "name": "startOfSpeechSensitivity",8681       "type": "enum",8682       "required": false,8683       "description": "How readily speech start is detected. Default START_SENSITIVITY_HIGH.",8684       "enum": [8685        "START_SENSITIVITY_UNSPECIFIED",8686        "START_SENSITIVITY_HIGH",8687        "START_SENSITIVITY_LOW"8688       ]8689      },8690      {8691       "name": "prefixPaddingMs",8692       "type": "integer (int32)",8693       "required": false,8694       "description": "Speech duration required before start-of-speech is committed (look-back padding). Lower = more sensitive, more false positives; 0 may clip first syllables."8695      },8696      {8697       "name": "endOfSpeechSensitivity",8698       "type": "enum",8699       "required": false,8700       "description": "How readily end of speech is detected. Default END_SENSITIVITY_HIGH.",8701       "enum": [8702        "END_SENSITIVITY_UNSPECIFIED",8703        "END_SENSITIVITY_HIGH",8704        "END_SENSITIVITY_LOW"8705       ]8706      },8707      {8708       "name": "silenceDurationMs",8709       "type": "integer (int32)",8710       "required": false,8711       "description": "Non-speech duration before end-of-speech is committed. Server default ~800 ms; recommended 500-800 ms."8712      }8713     ]8714    },8715    {8716     "name": "activityHandling",8717     "type": "enum",8718     "required": false,8719     "description": "Effect of user activity on model output. Default START_OF_ACTIVITY_INTERRUPTS (barge-in).",8720     "enum": [8721      "ACTIVITY_HANDLING_UNSPECIFIED",8722      "START_OF_ACTIVITY_INTERRUPTS",8723      "NO_INTERRUPTION"8724     ]8725    },8726    {8727     "name": "turnCoverage",8728     "type": "enum",8729     "required": false,8730     "description": "Which realtime input is part of the user turn. Default: Gemini 2.5 TURN_INCLUDES_ONLY_ACTIVITY; Gemini 3.1+ TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO.",8731     "enum": [8732      "TURN_COVERAGE_UNSPECIFIED",8733      "TURN_INCLUDES_ONLY_ACTIVITY",8734      "TURN_INCLUDES_ALL_INPUT",8735      "TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"8736     ]8737    }8738   ],8739   "status": [8740    "DOCUMENTED"8741   ],8742   "example": {8743    "automaticActivityDetection": {8744     "disabled": false,8745     "startOfSpeechSensitivity": "START_SENSITIVITY_LOW",8746     "endOfSpeechSensitivity": "END_SENSITIVITY_LOW",8747     "prefixPaddingMs": 20,8748     "silenceDurationMs": 1008749    }8750   },8751   "sources": [8752    {8753     "url": "https://ai.google.dev/api/live",8754     "retrieved_at": "2026-09-18"8755    }8756   ]8757  },8758  {8759   "provider": "gemini",8760   "api_family": "live",8761   "name": "Automatic activity detection",8762   "object": "AutomaticActivityDetection",8763   "schema_name": "AutomaticActivityDetection",8764   "description": "Server-side VAD parameters.",8765   "fields": [8766    {8767     "name": "disabled",8768     "type": "boolean",8769     "required": false,8770     "description": "Default false (automatic VAD on: detected voice and text count as activity). true = client must send activityStart/activityEnd."8771    },8772    {8773     "name": "startOfSpeechSensitivity",8774     "type": "enum",8775     "required": false,8776     "description": "How readily speech start is detected. Default START_SENSITIVITY_HIGH.",8777     "enum": [8778      "START_SENSITIVITY_UNSPECIFIED",8779      "START_SENSITIVITY_HIGH",8780      "START_SENSITIVITY_LOW"8781     ]8782    },8783    {8784     "name": "prefixPaddingMs",8785     "type": "integer (int32)",8786     "required": false,8787     "description": "Speech duration required before start-of-speech is committed (look-back padding). Lower = more sensitive, more false positives; 0 may clip first syllables."8788    },8789    {8790     "name": "endOfSpeechSensitivity",8791     "type": "enum",8792     "required": false,8793     "description": "How readily end of speech is detected. Default END_SENSITIVITY_HIGH.",8794     "enum": [8795      "END_SENSITIVITY_UNSPECIFIED",8796      "END_SENSITIVITY_HIGH",8797      "END_SENSITIVITY_LOW"8798     ]8799    },8800    {8801     "name": "silenceDurationMs",8802     "type": "integer (int32)",8803     "required": false,8804     "description": "Non-speech duration before end-of-speech is committed. Server default ~800 ms; recommended 500-800 ms."8805    }8806   ],8807   "status": [8808    "DOCUMENTED"8809   ],8810   "example": {8811    "disabled": false,8812    "startOfSpeechSensitivity": "START_SENSITIVITY_LOW",8813    "endOfSpeechSensitivity": "END_SENSITIVITY_LOW",8814    "prefixPaddingMs": 20,8815    "silenceDurationMs": 1008816   },8817   "sources": [8818    {8819     "url": "https://ai.google.dev/api/live",8820     "retrieved_at": "2026-09-18"8821    }8822   ]8823  },8824  {8825   "provider": "gemini",8826   "api_family": "live",8827   "name": "Audio transcription config",8828   "object": "AudioTranscriptionConfig",8829   "schema_name": "AudioTranscriptionConfig",8830   "description": "Input/output transcription settings.",8831   "fields": [8832    {8833     "name": "languageCodes[]",8834     "type": "string[]",8835     "required": false,8836     "description": "BCP-47 hints for languages present in the audio; omitted/empty = automatic detection."8837    },8838    {8839     "name": "customVocabulary[]",8840     "type": "string[]",8841     "required": false,8842     "description": "Up to 1,000 phrases to bias recognition (best results <= 100)."8843    },8844    {8845     "name": "mode",8846     "type": "enum",8847     "required": false,8848     "description": "VERBATIM (default) or SMART (disfluency removal, cleanup, formatting). Incompatible with timestamps/diarization.",8849     "enum": [8850      "MODE_UNSPECIFIED",8851      "VERBATIM",8852      "SMART"8853     ]8854    },8855    {8856     "name": "wordTimestamp",8857     "type": "boolean",8858     "required": false,8859     "description": "Word-level timestamps (NOT supported over the Live API per live-transcribe limitations)."8860    },8861    {8862     "name": "diarization",8863     "type": "boolean",8864     "required": false,8865     "description": "Speaker diarization (NOT supported over the Live API per live-transcribe limitations)."8866    }8867   ],8868   "status": [8869    "DOCUMENTED"8870   ],8871   "example": {8872    "languageCodes": [8873     "en-US"8874    ],8875    "customVocabulary": [8876     "Gemini",8877     "MacLustr"8878    ],8879    "mode": "SMART"8880   },8881   "sources": [8882    {8883     "url": "https://ai.google.dev/api/live",8884     "retrieved_at": "2026-09-18"8885    }8886   ]8887  },8888  {8889   "provider": "gemini",8890   "api_family": "live",8891   "name": "Context window compression config",8892   "object": "ContextWindowCompressionConfig",8893   "schema_name": "ContextWindowCompressionConfig",8894   "description": "Sliding-window compression trigger/target.",8895   "fields": [8896    {8897     "name": "slidingWindow",8898     "type": "SlidingWindow",8899     "required": false,8900     "description": "Sliding-window mechanism (union compressionMechanism); discards from the start, always cutting at a USER turn; system instructions kept.",8901     "fields": [8902      {8903       "name": "targetTokens",8904       "type": "integer (int64, JSON string)",8905       "required": false,8906       "description": "Tokens to keep after compression. Default triggerTokens/2. Must be < triggerTokens."8907      }8908     ]8909    },8910    {8911     "name": "triggerTokens",8912     "type": "integer (int64, JSON string)",8913     "required": false,8914     "description": "Token count (before a turn) that triggers compression. Default 80% of the model context window."8915    }8916   ],8917   "status": [8918    "DOCUMENTED"8919   ],8920   "example": {8921    "triggerTokens": "25600",8922    "slidingWindow": {8923     "targetTokens": "12800"8924    }8925   },8926   "sources": [8927    {8928     "url": "https://ai.google.dev/api/live",8929     "retrieved_at": "2026-09-18"8930    }8931   ]8932  },8933  {8934   "provider": "gemini",8935   "api_family": "live",8936   "name": "Sliding window",8937   "object": "SlidingWindow",8938   "schema_name": "SlidingWindow",8939   "description": "Keep-suffix compression.",8940   "fields": [8941    {8942     "name": "targetTokens",8943     "type": "integer (int64, JSON string)",8944     "required": false,8945     "description": "Tokens to keep after compression. Default triggerTokens/2. Must be < triggerTokens."8946    }8947   ],8948   "status": [8949    "DOCUMENTED"8950   ],8951   "example": {8952    "targetTokens": "12800"8953   },8954   "sources": [8955    {8956     "url": "https://ai.google.dev/api/live",8957     "retrieved_at": "2026-09-18"8958    }8959   ]8960  },8961  {8962   "provider": "gemini",8963   "api_family": "live",8964   "name": "Session resumption config",8965   "object": "SessionResumptionConfig",8966   "schema_name": "SessionResumptionConfig",8967   "description": "Resume a previous session by handle.",8968   "fields": [8969    {8970     "name": "handle",8971     "type": "string",8972     "required": false,8973     "description": "Handle from a previous SessionResumptionUpdate.newHandle. Absent = new session. Valid 2 h after the last session termination."8974    },8975    {8976     "name": "transparent",8977     "type": "boolean",8978     "required": false,8979     "description": "SDK-only: server includes lastConsumedClientMessageIndex in sessionResumptionUpdate for transparent reconnects. Not in the REST reference.",8980     "status": [8981      "UNVERIFIED"8982     ]8983    }8984   ],8985   "status": [8986    "DOCUMENTED"8987   ],8988   "example": {8989    "handle": "<handle from sessionResumptionUpdate.newHandle>"8990   },8991   "sources": [8992    {8993     "url": "https://ai.google.dev/api/live",8994     "retrieved_at": "2026-09-18"8995    }8996   ]8997  },8998  {8999   "provider": "gemini",9000   "api_family": "live",9001   "name": "Proactivity config",9002   "object": "ProactivityConfig",9003   "schema_name": "ProactivityConfig",9004   "description": "Proactive audio toggle.",9005   "fields": [9006    {9007     "name": "proactiveAudio",9008     "type": "boolean",9009     "required": false,9010     "description": "Model may decline to answer irrelevant/incomplete input. Gemini 2.5: opt-in; gemini-3.8-live*: permanently enabled (false returns an error); gemini-3.1-flash-live-preview: not supported."9011    }9012   ],9013   "status": [9014    "DOCUMENTED"9015   ],9016   "example": {9017    "proactiveAudio": true9018   },9019   "sources": [9020    {9021     "url": "https://ai.google.dev/api/live",9022     "retrieved_at": "2026-09-18"9023    }9024   ]9025  },9026  {9027   "provider": "gemini",9028   "api_family": "live",9029   "name": "History config",9030   "object": "HistoryConfig",9031   "schema_name": "HistoryConfig",9032   "description": "Initial history handshake.",9033   "fields": [9034    {9035     "name": "initialHistoryInClientContent",9036     "type": "boolean",9037     "required": false,9038     "description": "If true, after setupComplete the server first ingests clientContent until turnComplete=true (history may end with role model) without a model call; then realtimeInput starts the conversation."9039    }9040   ],9041   "status": [9042    "DOCUMENTED"9043   ],9044   "example": {9045    "initialHistoryInClientContent": true9046   },9047   "sources": [9048    {9049     "url": "https://ai.google.dev/api/live",9050     "retrieved_at": "2026-09-18"9051    }9052   ]9053  },9054  {9055   "provider": "gemini",9056   "api_family": "live",9057   "name": "Speech config",9058   "object": "SpeechConfig",9059   "schema_name": "SpeechConfig",9060   "description": "Voice and language.",9061   "fields": [9062    {9063     "name": "voiceConfig",9064     "type": "VoiceConfig",9065     "required": false,9066     "description": "Single-voice output configuration.",9067     "fields": [9068      {9069       "name": "prebuiltVoiceConfig",9070       "type": "PrebuiltVoiceConfig",9071       "required": false,9072       "description": "The prebuilt voice to use.",9073       "fields": [9074        {9075         "name": "voiceName",9076         "type": "string",9077         "required": false,9078         "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9079        }9080       ]9081      }9082     ]9083    },9084    {9085     "name": "multiSpeakerVoiceConfig",9086     "type": "MultiSpeakerVoiceConfig",9087     "required": false,9088     "description": "Multi-speaker setup; mutually exclusive with voiceConfig (TTS feature; not documented for Live — UNVERIFIED in Live).",9089     "status": [9090      "UNVERIFIED"9091     ],9092     "fields": [9093      {9094       "name": "speakerVoiceConfigs[]",9095       "type": "SpeakerVoiceConfig[]",9096       "required": true,9097       "description": "Required. All enabled speaker voices (SDK doc: exactly two).",9098       "fields": [9099        {9100         "name": "speaker",9101         "type": "string",9102         "required": true,9103         "description": "Required. Speaker name as used in the prompt."9104        },9105        {9106         "name": "voiceConfig",9107         "type": "VoiceConfig",9108         "required": true,9109         "description": "Required. Voice for this speaker.",9110         "fields": [9111          {9112           "name": "prebuiltVoiceConfig",9113           "type": "PrebuiltVoiceConfig",9114           "required": false,9115           "description": "The prebuilt voice to use.",9116           "fields": [9117            {9118             "name": "voiceName",9119             "type": "string",9120             "required": false,9121             "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9122            }9123           ]9124          }9125         ]9126        }9127       ]9128      }9129     ]9130    },9131    {9132     "name": "languageCode",9133     "type": "string",9134     "required": false,9135     "description": "Optional. BCP-47 language code for speech recognition and synthesis (de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, th-TH). Native audio output models choose the language automatically and do NOT support setting it explicitly."9136    }9137   ],9138   "status": [9139    "DOCUMENTED"9140   ],9141   "example": {9142    "voiceConfig": {9143     "prebuiltVoiceConfig": {9144      "voiceName": "Kore"9145     }9146    }9147   },9148   "sources": [9149    {9150     "url": "https://ai.google.dev/api/live",9151     "retrieved_at": "2026-09-18"9152    }9153   ]9154  },9155  {9156   "provider": "gemini",9157   "api_family": "live",9158   "name": "Voice config",9159   "object": "VoiceConfig",9160   "schema_name": "VoiceConfig",9161   "description": "Voice selection wrapper.",9162   "fields": [9163    {9164     "name": "prebuiltVoiceConfig",9165     "type": "PrebuiltVoiceConfig",9166     "required": false,9167     "description": "The prebuilt voice to use.",9168     "fields": [9169      {9170       "name": "voiceName",9171       "type": "string",9172       "required": false,9173       "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9174      }9175     ]9176    }9177   ],9178   "status": [9179    "DOCUMENTED"9180   ],9181   "example": {9182    "prebuiltVoiceConfig": {9183     "voiceName": "Kore"9184    }9185   },9186   "sources": [9187    {9188     "url": "https://ai.google.dev/api/live",9189     "retrieved_at": "2026-09-18"9190    }9191   ]9192  },9193  {9194   "provider": "gemini",9195   "api_family": "live",9196   "name": "Prebuilt voice config",9197   "object": "PrebuiltVoiceConfig",9198   "schema_name": "PrebuiltVoiceConfig",9199   "description": "Named preset voice.",9200   "fields": [9201    {9202     "name": "voiceName",9203     "type": "string",9204     "required": false,9205     "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9206    }9207   ],9208   "status": [9209    "DOCUMENTED"9210   ],9211   "example": {9212    "voiceName": "Kore"9213   },9214   "sources": [9215    {9216     "url": "https://ai.google.dev/api/live",9217     "retrieved_at": "2026-09-18"9218    }9219   ]9220  },9221  {9222   "provider": "gemini",9223   "api_family": "live",9224   "name": "Multi-speaker voice config",9225   "object": "MultiSpeakerVoiceConfig",9226   "schema_name": "MultiSpeakerVoiceConfig",9227   "description": "Two-speaker TTS voices (Live support undocumented).",9228   "fields": [9229    {9230     "name": "speakerVoiceConfigs[]",9231     "type": "SpeakerVoiceConfig[]",9232     "required": true,9233     "description": "Required. All enabled speaker voices (SDK doc: exactly two).",9234     "fields": [9235      {9236       "name": "speaker",9237       "type": "string",9238       "required": true,9239       "description": "Required. Speaker name as used in the prompt."9240      },9241      {9242       "name": "voiceConfig",9243       "type": "VoiceConfig",9244       "required": true,9245       "description": "Required. Voice for this speaker.",9246       "fields": [9247        {9248         "name": "prebuiltVoiceConfig",9249         "type": "PrebuiltVoiceConfig",9250         "required": false,9251         "description": "The prebuilt voice to use.",9252         "fields": [9253          {9254           "name": "voiceName",9255           "type": "string",9256           "required": false,9257           "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9258          }9259         ]9260        }9261       ]9262      }9263     ]9264    }9265   ],9266   "status": [9267    "UNVERIFIED"9268   ],9269   "example": {9270    "speakerVoiceConfigs": [9271     {9272      "speaker": "Joe",9273      "voiceConfig": {9274       "prebuiltVoiceConfig": {9275        "voiceName": "Kore"9276       }9277      }9278     },9279     {9280      "speaker": "Jane",9281      "voiceConfig": {9282       "prebuiltVoiceConfig": {9283        "voiceName": "Puck"9284       }9285      }9286     }9287    ]9288   },9289   "sources": [9290    {9291     "url": "https://ai.google.dev/api/live",9292     "retrieved_at": "2026-09-18"9293    }9294   ]9295  },9296  {9297   "provider": "gemini",9298   "api_family": "live",9299   "name": "Thinking config",9300   "object": "ThinkingConfig",9301   "schema_name": "ThinkingConfig",9302   "description": "Reasoning depth / thought summaries.",9303   "fields": [9304    {9305     "name": "thinkingLevel",9306     "type": "enum",9307     "required": false,9308     "description": "Reasoning depth. gemini-3.1-flash-live-preview: MINIMAL (default), LOW, MEDIUM, HIGH. gemini-3.8-live-extended-thinking: LOW, MEDIUM, HIGH (MINIMAL not supported). gemini-3.8-live: NOT supported — omit thinkingConfig.",9309     "enum": [9310      "THINKING_LEVEL_UNSPECIFIED",9311      "MINIMAL",9312      "LOW",9313      "MEDIUM",9314      "HIGH"9315     ]9316    },9317    {9318     "name": "thinkingBudget",9319     "type": "integer",9320     "required": false,9321     "description": "Thoughts token budget (0 disabled, -1 automatic). Gemini 2.5 native-audio models; replaced by thinkingLevel from Gemini 3.1 onward."9322    },9323    {9324     "name": "includeThoughts",9325     "type": "boolean",9326     "required": false,9327     "description": "Return thought summaries in modelTurn parts (part.thought=true) when available."9328    }9329   ],9330   "status": [9331    "DOCUMENTED"9332   ],9333   "example": {9334    "thinkingLevel": "LOW",9335    "includeThoughts": true9336   },9337   "sources": [9338    {9339     "url": "https://ai.google.dev/api/live",9340     "retrieved_at": "2026-09-18"9341    }9342   ]9343  },9344  {9345   "provider": "gemini",9346   "api_family": "live",9347   "name": "Translation config",9348   "object": "TranslationConfig",9349   "schema_name": "TranslationConfig",9350   "description": "Live translation target/echo.",9351   "fields": [9352    {9353     "name": "targetLanguageCode",9354     "type": "string",9355     "required": true,9356     "description": "Required. BCP-47 target language (e.g. \"en\", \"es\", \"pl\"). Guide: defaults to \"en\"."9357    },9358    {9359     "name": "echoTargetLanguage",9360     "type": "boolean",9361     "required": false,9362     "description": "If true, input already in the target language is echoed (parroted) as audio; if false (default) the model stays silent for it."9363    }9364   ],9365   "status": [9366    "DOCUMENTED"9367   ],9368   "example": {9369    "targetLanguageCode": "pl",9370    "echoTargetLanguage": true9371   },9372   "sources": [9373    {9374     "url": "https://ai.google.dev/api/live",9375     "retrieved_at": "2026-09-18"9376    },9377    {9378     "url": "https://ai.google.dev/gemini-api/docs/live-api/live-translate",9379     "retrieved_at": "2026-09-18"9380    }9381   ]9382  },9383  {9384   "provider": "gemini",9385   "api_family": "live",9386   "name": "Transcription",9387   "object": "BidiGenerateContentTranscription",9388   "schema_name": "BidiGenerateContentTranscription",9389   "description": "Transcript chunk (input/interim/output).",9390   "fields": [9391    {9392     "name": "text",9393     "type": "string",9394     "required": false,9395     "description": "Transcription text."9396    },9397    {9398     "name": "languageCode",9399     "type": "string",9400     "required": false,9401     "description": "BCP-47 code of the transcript (translate model reports it)."9402    },9403    {9404     "name": "finished",9405     "type": "boolean",9406     "required": false,9407     "description": "SDK-only: end of transcription.",9408     "status": [9409      "UNVERIFIED"9410     ]9411    }9412   ],9413   "status": [9414    "DOCUMENTED"9415   ],9416   "example": {9417    "text": "Hello",9418    "languageCode": "en"9419   },9420   "sources": [9421    {9422     "url": "https://ai.google.dev/api/live",9423     "retrieved_at": "2026-09-18"9424    }9425   ]9426  },9427  {9428   "provider": "gemini",9429   "api_family": "live",9430   "name": "Activity start",9431   "object": "BidiGenerateContentRealtimeInput.ActivityStart",9432   "schema_name": "BidiGenerateContentRealtimeInput.ActivityStart",9433   "description": "Empty marker: user activity begins (manual VAD).",9434   "fields": [],9435   "status": [9436    "DOCUMENTED"9437   ],9438   "example": {},9439   "sources": [9440    {9441     "url": "https://ai.google.dev/api/live",9442     "retrieved_at": "2026-09-18"9443    }9444   ]9445  },9446  {9447   "provider": "gemini",9448   "api_family": "live",9449   "name": "Activity end",9450   "object": "BidiGenerateContentRealtimeInput.ActivityEnd",9451   "schema_name": "BidiGenerateContentRealtimeInput.ActivityEnd",9452   "description": "Empty marker: user activity ends (manual VAD).",9453   "fields": [],9454   "status": [9455    "DOCUMENTED"9456   ],9457   "example": {},9458   "sources": [9459    {9460     "url": "https://ai.google.dev/api/live",9461     "retrieved_at": "2026-09-18"9462    }9463   ]9464  },9465  {9466   "provider": "gemini",9467   "api_family": "live",9468   "name": "Blob (realtime media)",9469   "object": "Blob",9470   "schema_name": "Blob",9471   "description": "Base64 media chunk with MIME type.",9472   "fields": [9473    {9474     "name": "mimeType",9475     "type": "string",9476     "required": true,9477     "description": "IANA MIME type, e.g. audio/pcm;rate=16000, image/jpeg, image/png."9478    },9479    {9480     "name": "data",9481     "type": "string (base64)",9482     "required": true,9483     "description": "Raw bytes, base64-encoded in JSON."9484    }9485   ],9486   "status": [9487    "DOCUMENTED"9488   ],9489   "example": {9490    "mimeType": "audio/pcm;rate=16000",9491    "data": "<base64>"9492   },9493   "sources": [9494    {9495     "url": "https://ai.google.dev/api/live",9496     "retrieved_at": "2026-09-18"9497    }9498   ]9499  },9500  {9501   "provider": "gemini",9502   "api_family": "live",9503   "name": "Function call",9504   "object": "FunctionCall",9505   "schema_name": "FunctionCall",9506   "description": "Model-requested call (Live: always carries id).",9507   "fields": [9508    {9509     "name": "id",9510     "type": "string",9511     "required": false,9512     "description": "Unique id to echo in FunctionResponse.id."9513    },9514    {9515     "name": "name",9516     "type": "string",9517     "required": true,9518     "description": "Function name."9519    },9520    {9521     "name": "args",9522     "type": "object",9523     "required": false,9524     "description": "Arguments."9525    }9526   ],9527   "status": [9528    "DOCUMENTED",9529    "LIVE_VERIFIED"9530   ],9531   "example": {9532    "id": "call_123",9533    "name": "searchFlights",9534    "args": {9535     "destination": "Seattle"9536    }9537   },9538   "sources": [9539    {9540     "url": "https://ai.google.dev/api/live",9541     "retrieved_at": "2026-09-18"9542    }9543   ],9544   "live_observation_2026_09_18": "live: {name, args, id: call_…} + sibling part field thoughtSignature (first call of a parallel turn only); Live API toolCall ids look like function-call-<digits>"9545  },9546  {9547   "provider": "gemini",9548   "api_family": "live",9549   "name": "Function response (Live extras)",9550   "object": "FunctionResponse",9551   "schema_name": "FunctionResponse",9552   "description": "Function result; Live-only scheduling and willContinue for NON_BLOCKING calls.",9553   "fields": [9554    {9555     "name": "id",9556     "type": "string",9557     "required": false,9558     "description": "Must match FunctionCall.id."9559    },9560    {9561     "name": "name",9562     "type": "string",9563     "required": true,9564     "description": "Required. Function name."9565    },9566    {9567     "name": "response",9568     "type": "object",9569     "required": true,9570     "description": "Required. JSON result; keys of your choice (\"output\", \"result\", \"error\" ...)."9571    },9572    {9573     "name": "scheduling",9574     "type": "enum",9575     "required": false,9576     "description": "NON_BLOCKING calls only: INTERRUPT (interrupt and speak now), WHEN_IDLE (default; after current output), SILENT (add to context only).",9577     "enum": [9578      "SCHEDULING_UNSPECIFIED",9579      "SILENT",9580      "WHEN_IDLE",9581      "INTERRUPT"9582     ]9583    },9584    {9585     "name": "willContinue",9586     "type": "boolean",9587     "required": false,9588     "description": "NON_BLOCKING calls only: more responses follow (generator). false + empty response finishes the call (still may trigger generation unless scheduling=SILENT)."9589    },9590    {9591     "name": "parts[]",9592     "type": "FunctionResponsePart[]",9593     "required": false,9594     "description": "Multimodal parts (inlineData/fileData) of the response."9595    }9596   ],9597   "status": [9598    "DOCUMENTED"9599   ],9600   "example": {9601    "id": "call_123",9602    "name": "searchFlights",9603    "response": {9604     "output": {9605      "flight": "DL 145",9606      "price": "$145"9607     },9608     "scheduling": "INTERRUPT"9609    }9610   },9611   "sources": [9612    {9613     "url": "https://ai.google.dev/api/live",9614     "retrieved_at": "2026-09-18"9615    },9616    {9617     "url": "https://ai.google.dev/gemini-api/docs/live-api/tools",9618     "retrieved_at": "2026-09-18"9619    }9620   ]9621  },9622  {9623   "provider": "gemini",9624   "api_family": "live",9625   "name": "Function declaration (Live behavior)",9626   "object": "FunctionDeclaration",9627   "schema_name": "FunctionDeclaration",9628   "description": "Function declaration with Live-only `behavior` (BLOCKING | NON_BLOCKING).",9629   "fields": [9630    {9631     "name": "name",9632     "type": "string",9633     "required": true,9634     "description": "Required. Function name (a-z, A-Z, 0-9, _ - : . ; max 128)."9635    },9636    {9637     "name": "description",9638     "type": "string",9639     "required": true,9640     "description": "Required. Function description."9641    },9642    {9643     "name": "parameters",9644     "type": "Schema",9645     "required": false,9646     "description": "OpenAPI-style parameter schema."9647    },9648    {9649     "name": "parametersJsonSchema",9650     "type": "object",9651     "required": false,9652     "description": "JSON Schema alternative to parameters."9653    },9654    {9655     "name": "behavior",9656     "type": "enum",9657     "required": false,9658     "description": "Live-only. BLOCKING = model waits for the response; NON_BLOCKING = asynchronous (conversation continues). Default: gemini-3.8-live NON_BLOCKING; gemini-3.8-live-extended-thinking NON_BLOCKING only (BLOCKING = hard error); gemini-3.1-flash-live-preview synchronous only (NON_BLOCKING not supported); Gemini 2.5 supports both.",9659     "enum": [9660      "UNSPECIFIED",9661      "BLOCKING",9662      "NON_BLOCKING"9663     ]9664    },9665    {9666     "name": "response",9667     "type": "Schema",9668     "required": false,9669     "description": "Response schema."9670    },9671    {9672     "name": "responseJsonSchema",9673     "type": "object",9674     "required": false,9675     "description": "JSON Schema for the response."9676    }9677   ],9678   "status": [9679    "DOCUMENTED"9680   ],9681   "example": {9682    "name": "searchFlights",9683    "description": "Searches for flights between cities.",9684    "behavior": "NON_BLOCKING",9685    "parameters": {9686     "type": "OBJECT",9687     "properties": {9688      "destination": {9689       "type": "STRING"9690      }9691     },9692     "required": [9693      "destination"9694     ]9695    }9696   },9697   "sources": [9698    {9699     "url": "https://ai.google.dev/gemini-api/docs/live-api/tools",9700     "retrieved_at": "2026-09-18"9701    },9702    {9703     "url": "https://ai.google.dev/api/caching#FunctionDeclaration",9704     "retrieved_at": "2026-09-18"9705    }9706   ]9707  },9708  {9709   "provider": "gemini",9710   "api_family": "live",9711   "name": "Voice activity (SDK)",9712   "object": "VoiceActivity",9713   "schema_name": "VoiceActivity",9714   "description": "SDK-only server message: VAD start/end with audio offset.",9715   "fields": [9716    {9717     "name": "voiceActivityType",9718     "type": "enum",9719     "required": false,9720     "description": "",9721     "enum": [9722      "TYPE_UNSPECIFIED",9723      "ACTIVITY_START",9724      "ACTIVITY_END"9725     ]9726    },9727    {9728     "name": "audioOffset",9729     "type": "string (Duration)",9730     "required": false,9731     "description": ""9732    }9733   ],9734   "status": [9735    "UNVERIFIED"9736   ],9737   "example": {9738    "voiceActivityType": "ACTIVITY_START",9739    "audioOffset": "1.250s"9740   },9741   "sources": [9742    {9743     "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",9744     "retrieved_at": "2026-09-18"9745    }9746   ]9747  },9748  {9749   "provider": "gemini",9750   "api_family": "auth-tokens",9751   "name": "Ephemeral auth token",9752   "object": "AuthToken",9753   "schema_name": "AuthToken",9754   "description": "Request/response body of POST /v1beta/auth_tokens.",9755   "fields": [9756    {9757     "name": "name",9758     "type": "string",9759     "required": false,9760     "description": "Output only. The token itself (pass it to the client)."9761    },9762    {9763     "name": "uses",9764     "type": "integer (int32)",9765     "required": false,9766     "description": "Times the token can start a session; 0 = unlimited; default 1. Resuming a session does not count."9767    },9768    {9769     "name": "expireTime",9770     "type": "string (RFC 3339 Timestamp)",9771     "required": false,9772     "description": "After this, messages in sessions using the token are rejected (session may be closed). Default now+30 min; must be < 20 h ahead."9773    },9774    {9775     "name": "newSessionExpireTime",9776     "type": "string (RFC 3339 Timestamp)",9777     "required": false,9778     "description": "After this, NEW sessions with the token are rejected. Default now+60 s; must be < 20 h ahead."9779    },9780    {9781     "name": "fieldMask",9782     "type": "string (FieldMask)",9783     "required": false,9784     "description": "Empty + no bidiGenerateContentSetup: setup taken from the WebSocket. Empty + setup present: setup taken entirely from the token (client setup ignored). Non-empty: listed fields overwrite the client's setup."9785    },9786    {9787     "name": "bidiGenerateContentSetup",9788     "type": "BidiGenerateContentSetup",9789     "required": false,9790     "description": "Union `config`: locked Live setup for sessions using this token.",9791     "fields": [9792      {9793       "name": "model",9794       "type": "string",9795       "required": true,9796       "description": "Required. `models/{model}` resource name (e.g. models/gemini-3.8-live)."9797      },9798      {9799       "name": "generationConfig",9800       "type": "GenerationConfig (subset)",9801       "required": false,9802       "description": "Not supported in Live: responseLogprobs, responseMimeType, logprobs, responseSchema, responseJsonSchema, stopSequence, skipResponseCache, routingConfig, audioTimestamp.",9803       "fields": [9804        {9805         "name": "responseModalities[]",9806         "type": "enum[]",9807         "required": false,9808         "description": "Requested output modalities. Native audio models support only [\"AUDIO\"] (use outputAudioTranscription for text); gemini-3.5-transcribe-live uses [\"TEXT\"]. SDK default: AUDIO.",9809         "enum": [9810          "TEXT",9811          "AUDIO"9812         ]9813        },9814        {9815         "name": "speechConfig",9816         "type": "SpeechConfig",9817         "required": false,9818         "description": "Voice / language configuration.",9819         "fields": [9820          {9821           "name": "voiceConfig",9822           "type": "VoiceConfig",9823           "required": false,9824           "description": "Single-voice output configuration.",9825           "fields": [9826            {9827             "name": "prebuiltVoiceConfig",9828             "type": "PrebuiltVoiceConfig",9829             "required": false,9830             "description": "The prebuilt voice to use.",9831             "fields": [9832              {9833               "name": "voiceName",9834               "type": "string",9835               "required": false,9836               "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9837              }9838             ]9839            }9840           ]9841          },9842          {9843           "name": "multiSpeakerVoiceConfig",9844           "type": "MultiSpeakerVoiceConfig",9845           "required": false,9846           "description": "Multi-speaker setup; mutually exclusive with voiceConfig (TTS feature; not documented for Live — UNVERIFIED in Live).",9847           "status": [9848            "UNVERIFIED"9849           ],9850           "fields": [9851            {9852             "name": "speakerVoiceConfigs[]",9853             "type": "SpeakerVoiceConfig[]",9854             "required": true,9855             "description": "Required. All enabled speaker voices (SDK doc: exactly two).",9856             "fields": [9857              {9858               "name": "speaker",9859               "type": "string",9860               "required": true,9861               "description": "Required. Speaker name as used in the prompt."9862              },9863              {9864               "name": "voiceConfig",9865               "type": "VoiceConfig",9866               "required": true,9867               "description": "Required. Voice for this speaker.",9868               "fields": [9869                {9870                 "name": "prebuiltVoiceConfig",9871                 "type": "PrebuiltVoiceConfig",9872                 "required": false,9873                 "description": "The prebuilt voice to use.",9874                 "fields": [9875                  {9876                   "name": "voiceName",9877                   "type": "string",9878                   "required": false,9879                   "description": "Optional. Name of the preset voice (any Gemini TTS voice: Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat)."9880                  }9881                 ]9882                }9883               ]9884              }9885             ]9886            }9887           ]9888          },9889          {9890           "name": "languageCode",9891           "type": "string",9892           "required": false,9893           "description": "Optional. BCP-47 language code for speech recognition and synthesis (de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, th-TH). Native audio output models choose the language automatically and do NOT support setting it explicitly."9894          }9895         ]9896        },9897        {9898         "name": "mediaResolution",9899         "type": "enum",9900         "required": false,9901         "description": "Token allocation per visual input frame (LOW=64 tokens, MEDIUM=256, HIGH=zoomed reframing 256). Audio tokenization is fixed per second regardless.",9902         "enum": [9903          "MEDIA_RESOLUTION_UNSPECIFIED",9904          "MEDIA_RESOLUTION_LOW",9905          "MEDIA_RESOLUTION_MEDIUM",9906          "MEDIA_RESOLUTION_HIGH"9907         ]9908        },9909        {9910         "name": "thinkingConfig",9911         "type": "ThinkingConfig",9912         "required": false,9913         "description": "Thinking configuration (model-dependent, see thinkingLevel).",9914         "fields": [9915          {9916           "name": "thinkingLevel",9917           "type": "enum",9918           "required": false,9919           "description": "Reasoning depth. gemini-3.1-flash-live-preview: MINIMAL (default), LOW, MEDIUM, HIGH. gemini-3.8-live-extended-thinking: LOW, MEDIUM, HIGH (MINIMAL not supported). gemini-3.8-live: NOT supported — omit thinkingConfig.",9920           "enum": [9921            "THINKING_LEVEL_UNSPECIFIED",9922            "MINIMAL",9923            "LOW",9924            "MEDIUM",9925            "HIGH"9926           ]9927          },9928          {9929           "name": "thinkingBudget",9930           "type": "integer",9931           "required": false,9932           "description": "Thoughts token budget (0 disabled, -1 automatic). Gemini 2.5 native-audio models; replaced by thinkingLevel from Gemini 3.1 onward."9933          },9934          {9935           "name": "includeThoughts",9936           "type": "boolean",9937           "required": false,9938           "description": "Return thought summaries in modelTurn parts (part.thought=true) when available."9939          }9940         ]9941        },9942        {9943         "name": "translationConfig",9944         "type": "TranslationConfig",9945         "required": false,9946         "description": "Live translation (gemini-3.5-live-translate-preview only).",9947         "fields": [9948          {9949           "name": "targetLanguageCode",9950           "type": "string",9951           "required": true,9952           "description": "Required. BCP-47 target language (e.g. \"en\", \"es\", \"pl\"). Guide: defaults to \"en\"."9953          },9954          {9955           "name": "echoTargetLanguage",9956           "type": "boolean",9957           "required": false,9958           "description": "If true, input already in the target language is echoed (parroted) as audio; if false (default) the model stays silent for it."9959          }9960         ]9961        },9962        {9963         "name": "enableAffectiveDialog",9964         "type": "boolean",9965         "required": false,9966         "description": "Detect emotions and adapt responses (Gemini 2.5 native audio only; not supported on 3.1; removed on 3.8 — remove from code)."9967        },9968        {9969         "name": "temperature",9970         "type": "number",9971         "required": false,9972         "description": "Sampling temperature."9973        },9974        {9975         "name": "topP",9976         "type": "number",9977         "required": false,9978         "description": "Nucleus sampling."9979        },9980        {9981         "name": "topK",9982         "type": "integer",9983         "required": false,9984         "description": "Top-k sampling."9985        },9986        {9987         "name": "maxOutputTokens",9988         "type": "integer",9989         "required": false,9990         "description": "Max output tokens."9991        },9992        {9993         "name": "candidateCount",9994         "type": "integer",9995         "required": false,9996         "description": "Number of candidates."9997        },9998        {9999         "name": "presencePenalty",10000         "type": "number",10001         "required": false,10002         "description": "Presence penalty."10003        },10004        {10005         "name": "frequencyPenalty",10006         "type": "number",10007         "required": false,10008         "description": "Frequency penalty."10009        },10010        {10011         "name": "seed",10012         "type": "integer",10013         "required": false,10014         "description": "Best-effort deterministic seed (SDK LiveConnectConfig)."10015        }10016       ]10017      },10018      {10019       "name": "systemInstruction",10020       "type": "Content",10021       "required": false,10022       "description": "Text-only parts; each part becomes a separate paragraph.",10023       "fields": [10024        {10025         "name": "role",10026         "type": "string",10027         "required": false,10028         "description": "\"user\" or \"model\".",10029         "enum": [10030          "user",10031          "model"10032         ]10033        },10034        {10035         "name": "parts[]",10036         "type": "Part[]",10037         "required": false,10038         "description": "Parts: text, inlineData{mimeType,data}, functionCall, functionResponse, thought ... (systemInstruction: text parts only, each part a separate paragraph)."10039        }10040       ]10041      },10042      {10043       "name": "tools[]",10044       "type": "Tool[]",10045       "required": false,10046       "description": "Tools the model may use.",10047       "fields": [10048        {10049         "name": "functionDeclarations[]",10050         "type": "FunctionDeclaration[]",10051         "required": false,10052         "description": "Client-executed functions.",10053         "fields": [10054          {10055           "name": "name",10056           "type": "string",10057           "required": true,10058           "description": "Required. Function name (a-z, A-Z, 0-9, _ - : . ; max 128)."10059          },10060          {10061           "name": "description",10062           "type": "string",10063           "required": true,10064           "description": "Required. Function description."10065          },10066          {10067           "name": "parameters",10068           "type": "Schema",10069           "required": false,10070           "description": "OpenAPI-style parameter schema."10071          },10072          {10073           "name": "parametersJsonSchema",10074           "type": "object",10075           "required": false,10076           "description": "JSON Schema alternative to parameters."10077          },10078          {10079           "name": "behavior",10080           "type": "enum",10081           "required": false,10082           "description": "Live-only. BLOCKING = model waits for the response; NON_BLOCKING = asynchronous (conversation continues). Default: gemini-3.8-live NON_BLOCKING; gemini-3.8-live-extended-thinking NON_BLOCKING only (BLOCKING = hard error); gemini-3.1-flash-live-preview synchronous only (NON_BLOCKING not supported); Gemini 2.5 supports both.",10083           "enum": [10084            "UNSPECIFIED",10085            "BLOCKING",10086            "NON_BLOCKING"10087           ]10088          },10089          {10090           "name": "response",10091           "type": "Schema",10092           "required": false,10093           "description": "Response schema."10094          },10095          {10096           "name": "responseJsonSchema",10097           "type": "object",10098           "required": false,10099           "description": "JSON Schema for the response."10100          }10101         ]10102        },10103        {10104         "name": "googleSearch",10105         "type": "object {}",10106         "required": false,10107         "description": "Grounding with Google Search (supported on Live agent models; not on translate/transcribe)."10108        },10109        {10110         "name": "codeExecution",10111         "type": "object {}",10112         "required": false,10113         "description": "Not supported on current Live models (tools table)."10114        },10115        {10116         "name": "urlContext",10117         "type": "object {}",10118         "required": false,10119         "description": "Not supported on current Live models (tools table); serverContent.urlContextMetadata exists in the schema nonetheless."10120        },10121        {10122         "name": "googleMaps",10123         "type": "object",10124         "required": false,10125         "description": "Not supported on Live models."10126        }10127       ]10128      },10129      {10130       "name": "realtimeInputConfig",10131       "type": "RealtimeInputConfig",10132       "required": false,10133       "description": "VAD / activity handling / turn coverage.",10134       "fields": [10135        {10136         "name": "automaticActivityDetection",10137         "type": "AutomaticActivityDetection",10138         "required": false,10139         "description": "Server-side VAD; enabled by default if not set.",10140         "fields": [10141          {10142           "name": "disabled",10143           "type": "boolean",10144           "required": false,10145           "description": "Default false (automatic VAD on: detected voice and text count as activity). true = client must send activityStart/activityEnd."10146          },10147          {10148           "name": "startOfSpeechSensitivity",10149           "type": "enum",10150           "required": false,10151           "description": "How readily speech start is detected. Default START_SENSITIVITY_HIGH.",10152           "enum": [10153            "START_SENSITIVITY_UNSPECIFIED",10154            "START_SENSITIVITY_HIGH",10155            "START_SENSITIVITY_LOW"10156           ]10157          },10158          {10159           "name": "prefixPaddingMs",10160           "type": "integer (int32)",10161           "required": false,10162           "description": "Speech duration required before start-of-speech is committed (look-back padding). Lower = more sensitive, more false positives; 0 may clip first syllables."10163          },10164          {10165           "name": "endOfSpeechSensitivity",10166           "type": "enum",10167           "required": false,10168           "description": "How readily end of speech is detected. Default END_SENSITIVITY_HIGH.",10169           "enum": [10170            "END_SENSITIVITY_UNSPECIFIED",10171            "END_SENSITIVITY_HIGH",10172            "END_SENSITIVITY_LOW"10173           ]10174          },10175          {10176           "name": "silenceDurationMs",10177           "type": "integer (int32)",10178           "required": false,10179           "description": "Non-speech duration before end-of-speech is committed. Server default ~800 ms; recommended 500-800 ms."10180          }10181         ]10182        },10183        {10184         "name": "activityHandling",10185         "type": "enum",10186         "required": false,10187         "description": "Effect of user activity on model output. Default START_OF_ACTIVITY_INTERRUPTS (barge-in).",10188         "enum": [10189          "ACTIVITY_HANDLING_UNSPECIFIED",10190          "START_OF_ACTIVITY_INTERRUPTS",10191          "NO_INTERRUPTION"10192         ]10193        },10194        {10195         "name": "turnCoverage",10196         "type": "enum",10197         "required": false,10198         "description": "Which realtime input is part of the user turn. Default: Gemini 2.5 TURN_INCLUDES_ONLY_ACTIVITY; Gemini 3.1+ TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO.",10199         "enum": [10200          "TURN_COVERAGE_UNSPECIFIED",10201          "TURN_INCLUDES_ONLY_ACTIVITY",10202          "TURN_INCLUDES_ALL_INPUT",10203          "TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"10204         ]10205        }10206       ]10207      },10208      {10209       "name": "sessionResumption",10210       "type": "SessionResumptionConfig",10211       "required": false,10212       "description": "If present the server sends sessionResumptionUpdate messages.",10213       "fields": [10214        {10215         "name": "handle",10216         "type": "string",10217         "required": false,10218         "description": "Handle from a previous SessionResumptionUpdate.newHandle. Absent = new session. Valid 2 h after the last session termination."10219        },10220        {10221         "name": "transparent",10222         "type": "boolean",10223         "required": false,10224         "description": "SDK-only: server includes lastConsumedClientMessageIndex in sessionResumptionUpdate for transparent reconnects. Not in the REST reference.",10225         "status": [10226          "UNVERIFIED"10227         ]10228        }10229       ]10230      },10231      {10232       "name": "contextWindowCompression",10233       "type": "ContextWindowCompressionConfig",10234       "required": false,10235       "description": "Automatic context reduction beyond a length; enables unlimited session duration.",10236       "fields": [10237        {10238         "name": "slidingWindow",10239         "type": "SlidingWindow",10240         "required": false,10241         "description": "Sliding-window mechanism (union compressionMechanism); discards from the start, always cutting at a USER turn; system instructions kept.",10242         "fields": [10243          {10244           "name": "targetTokens",10245           "type": "integer (int64, JSON string)",10246           "required": false,10247           "description": "Tokens to keep after compression. Default triggerTokens/2. Must be < triggerTokens."10248          }10249         ]10250        },10251        {10252         "name": "triggerTokens",10253         "type": "integer (int64, JSON string)",10254         "required": false,10255         "description": "Token count (before a turn) that triggers compression. Default 80% of the model context window."10256        }10257       ]10258      },10259      {10260       "name": "inputAudioTranscription",10261       "type": "AudioTranscriptionConfig",10262       "required": false,10263       "description": "Enable transcription of user audio ({} = defaults).",10264       "fields": [10265        {10266         "name": "languageCodes[]",10267         "type": "string[]",10268         "required": false,10269         "description": "BCP-47 hints for languages present in the audio; omitted/empty = automatic detection."10270        },10271        {10272         "name": "customVocabulary[]",10273         "type": "string[]",10274         "required": false,10275         "description": "Up to 1,000 phrases to bias recognition (best results <= 100)."10276        },10277        {10278         "name": "mode",10279         "type": "enum",10280         "required": false,10281         "description": "VERBATIM (default) or SMART (disfluency removal, cleanup, formatting). Incompatible with timestamps/diarization.",10282         "enum": [10283          "MODE_UNSPECIFIED",10284          "VERBATIM",10285          "SMART"10286         ]10287        },10288        {10289         "name": "wordTimestamp",10290         "type": "boolean",10291         "required": false,10292         "description": "Word-level timestamps (NOT supported over the Live API per live-transcribe limitations)."10293        },10294        {10295         "name": "diarization",10296         "type": "boolean",10297         "required": false,10298         "description": "Speaker diarization (NOT supported over the Live API per live-transcribe limitations)."10299        }10300       ]10301      },10302      {10303       "name": "outputAudioTranscription",10304       "type": "AudioTranscriptionConfig",10305       "required": false,10306       "description": "Enable transcription of model audio ({} = defaults).",10307       "fields": [10308        {10309         "name": "languageCodes[]",10310         "type": "string[]",10311         "required": false,10312         "description": "BCP-47 hints for languages present in the audio; omitted/empty = automatic detection."10313        },10314        {10315         "name": "customVocabulary[]",10316         "type": "string[]",10317         "required": false,10318         "description": "Up to 1,000 phrases to bias recognition (best results <= 100)."10319        },10320        {10321         "name": "mode",10322         "type": "enum",10323         "required": false,10324         "description": "VERBATIM (default) or SMART (disfluency removal, cleanup, formatting). Incompatible with timestamps/diarization.",10325         "enum": [10326          "MODE_UNSPECIFIED",10327          "VERBATIM",10328          "SMART"10329         ]10330        },10331        {10332         "name": "wordTimestamp",10333         "type": "boolean",10334         "required": false,10335         "description": "Word-level timestamps (NOT supported over the Live API per live-transcribe limitations)."10336        },10337        {10338         "name": "diarization",10339         "type": "boolean",10340         "required": false,10341         "description": "Speaker diarization (NOT supported over the Live API per live-transcribe limitations)."10342        }10343       ]10344      },10345      {10346       "name": "proactivity",10347       "type": "ProactivityConfig",10348       "required": false,10349       "description": "Proactive audio.",10350       "fields": [10351        {10352         "name": "proactiveAudio",10353         "type": "boolean",10354         "required": false,10355         "description": "Model may decline to answer irrelevant/incomplete input. Gemini 2.5: opt-in; gemini-3.8-live*: permanently enabled (false returns an error); gemini-3.1-flash-live-preview: not supported."10356        }10357       ]10358      },10359      {10360       "name": "historyConfig",10361       "type": "HistoryConfig",10362       "required": false,10363       "description": "Initial-history handshake.",10364       "fields": [10365        {10366         "name": "initialHistoryInClientContent",10367         "type": "boolean",10368         "required": false,10369         "description": "If true, after setupComplete the server first ingests clientContent until turnComplete=true (history may end with role model) without a model call; then realtimeInput starts the conversation."10370        }10371       ]10372      },10373      {10374       "name": "labels",10375       "type": "object<string,string>",10376       "required": false,10377       "description": "Discovery-only: user metadata labels (e.g. {\"safety_identifier\": ...}); not in the public Live reference page.",10378       "status": [10379        "UNVERIFIED"10380       ]10381      }10382     ]10383    },10384    {10385     "name": "liveConnectConstraints",10386     "type": "LiveConnectConstraints {model, config}",10387     "required": false,10388     "description": "Shape used by the official REST curl examples and SDKs (model + LiveConnectConfig); not present in the discovery schema for AuthToken — REST acceptance UNVERIFIED (SDK translates it to bidiGenerateContentSetup + fieldMask).",10389     "status": [10390      "UNVERIFIED"10391     ]10392    }10393   ],10394   "status": [10395    "DOCUMENTED",10396    "PREVIEW",10397    "LIVE_VERIFIED"10398   ],10399   "example": {10400    "uses": 1,10401    "expireTime": "2026-09-18T20:30:00Z",10402    "newSessionExpireTime": "2026-09-18T20:01:00Z",10403    "bidiGenerateContentSetup": {10404     "model": "models/gemini-3.8-live",10405     "generationConfig": {10406      "responseModalities": [10407       "AUDIO"10408      ]10409     },10410     "sessionResumption": {}10411    }10412   },10413   "sources": [10414    {10415     "url": "https://ai.google.dev/api/live",10416     "retrieved_at": "2026-09-18"10417    },10418    {10419     "url": "https://ai.google.dev/gemini-api/docs/live-api/ephemeral-tokens",10420     "retrieved_at": "2026-09-18"10421    },10422    {10423     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",10424     "retrieved_at": "2026-09-18"10425    }10426   ],10427   "live_observation_2026_09_18": "live: response is exactly {name: 'auth_tokens/…'}"10428  },10429  {10430   "provider": "gemini",10431   "api_family": "auth-tokens",10432   "name": "Create auth token request",10433   "object": "CreateAuthTokenRequest",10434   "schema_name": "CreateAuthTokenRequest",10435   "description": "RPC wrapper {authToken}; REST body is the AuthToken itself.",10436   "fields": [10437    {10438     "name": "authToken",10439     "type": "AuthToken",10440     "required": true,10441     "description": "Required."10442    }10443   ],10444   "status": [10445    "DOCUMENTED",10446    "PREVIEW"10447   ],10448   "example": {10449    "authToken": {10450     "uses": 110451    }10452   },10453   "sources": [10454    {10455     "url": "https://ai.google.dev/api/live",10456     "retrieved_at": "2026-09-18"10457    }10458   ]10459  },10460  {10461   "provider": "gemini",10462   "api_family": "auth-tokens",10463   "name": "Live connect constraints (SDK / REST examples)",10464   "object": "LiveConnectConstraints",10465   "schema_name": "LiveConnectConstraints",10466   "description": "Model + config to lock into an ephemeral token.",10467   "fields": [10468    {10469     "name": "model",10470     "type": "string",10471     "required": false,10472     "description": "Model id/resource to lock (e.g. gemini-3.8-live or models/gemini-3.8-live)."10473    },10474    {10475     "name": "config",10476     "type": "LiveConnectConfig",10477     "required": false,10478     "description": "SDK-style live config to lock (responseModalities, sessionResumption, systemInstruction, tools, translationConfig ...)."10479    }10480   ],10481   "status": [10482    "DOCUMENTED",10483    "PREVIEW",10484    "UNVERIFIED"10485   ],10486   "example": {10487    "model": "models/gemini-3.8-live",10488    "config": {10489     "sessionResumption": {},10490     "responseModalities": [10491      "AUDIO"10492     ]10493    }10494   },10495   "sources": [10496    {10497     "url": "https://ai.google.dev/gemini-api/docs/live-api/ephemeral-tokens",10498     "retrieved_at": "2026-09-18"10499    },10500    {10501     "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",10502     "retrieved_at": "2026-09-18"10503    }10504   ]10505  }10506 ]10507}10508