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%
132.3 KB · 4,569 lines json
Raw Blame History
1{2 "$fragment": "endpoints/gemini-tools-agents-live",3 "generated_by": "agent: gemini tools/agents/live (3 subagents + parent live run, merged by tmp/gemini-parts/merge_patch.py)",4 "generated_at": "2026-09-18",5 "notes": "File Search stores/documents/operations, Interactions API (+ credentials, agents, triggers, webhooks), Environments API, dynamic/*, auth_tokens, Live WebSocket pseudo-endpoints. Live verification 2026-09-18 with gemini-3.5-flash-lite / gemini-2.5-flash-native-audio-latest; raws in tmp-live/gemini-tools/.",6 "records": [7  {8   "provider": "gemini",9   "api_family": "file-search",10   "method": "POST",11   "path": "/v1beta/fileSearchStores",12   "name": "fileSearchStores.create",13   "description": "Creates an empty FileSearchStore. Body: FileSearchStore {displayName? (≤512 chars), embeddingModel? (models/{model}; models/gemini-embedding-2 for multimodal)}. Returns the store with server-generated `name` (fileSearchStores/<slug-from-displayName>-<12 random chars>), createTime, updateTime, counters. Store names are globally scoped.",14   "status": [15    "DOCUMENTED",16    "PREVIEW",17    "LIVE_VERIFIED"18   ],19   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",20   "beta_header": null,21   "request": {22    "content_type": "application/json",23    "body_ref": "FileSearchStore",24    "path_params": [],25    "query_params": [],26    "header_params": []27   },28   "response": {29    "success_status": 200,30    "content_type": "application/json",31    "body_ref": "FileSearchStore",32    "error_statuses": [33     400,34     403,35     42936    ]37   },38   "streaming": {39    "supported": false,40    "events_ref": null,41    "note": null42   },43   "pagination": null,44   "idempotency": null,45   "sdk": {46    "python": "client.file_search_stores.create(config={'display_name': 'My Store', 'embedding_model': 'models/gemini-embedding-2'})",47    "node": "ai.fileSearchStores.create({ config: { displayName: 'My Store', embeddingModel: 'models/gemini-embedding-2' } })"48   },49   "relations": [50    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",51    "POST /v1beta/models/{model}:streamGenerateContent (same)",52    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"53   ],54   "verification": {55    "method": "live_api",56    "verified_at": "2026-09-18",57    "result": "success",58    "http_status": 200,59    "request_note": "g1: {displayName} → {name, displayName, createTime, updateTime, embeddingModel: models/gemini-embedding-001} (tmp-live/gemini-tools/g1_store_create.json)"60   },61   "sources": [62    {63     "url": "https://ai.google.dev/api/file-search/file-search-stores",64     "retrieved_at": "2026-09-18"65    },66    {67     "url": "https://ai.google.dev/gemini-api/docs/file-search",68     "retrieved_at": "2026-09-18"69    }70   ]71  },72  {73   "provider": "gemini",74   "api_family": "file-search",75   "method": "GET",76   "path": "/v1beta/fileSearchStores",77   "name": "fileSearchStores.list",78   "description": "Lists all FileSearchStores owned by the caller, sorted by ascending createTime. Query: pageSize (max 10 per discovery; default 10), pageToken. Response ListFileSearchStoresResponse {fileSearchStores[], nextPageToken}.",79   "status": [80    "DOCUMENTED",81    "PREVIEW",82    "LIVE_VERIFIED"83   ],84   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",85   "beta_header": null,86   "request": {87    "content_type": null,88    "body_ref": null,89    "path_params": [],90    "query_params": [91     "pageSize",92     "pageToken"93    ],94    "header_params": []95   },96   "response": {97    "success_status": 200,98    "content_type": "application/json",99    "body_ref": "ListFileSearchStoresResponse",100    "error_statuses": [101     400,102     403,103     429104    ]105   },106   "streaming": {107    "supported": false,108    "events_ref": null,109    "note": null110   },111   "pagination": {112    "style": "token",113    "params": [114     "pageSize",115     "pageToken"116    ],117    "response_fields": [118     "fileSearchStores",119     "nextPageToken"120    ]121   },122   "idempotency": null,123   "sdk": {124    "python": "for s in client.file_search_stores.list(): ...",125    "node": "for await (const s of await ai.fileSearchStores.list()) { ... }"126   },127   "relations": [128    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",129    "POST /v1beta/models/{model}:streamGenerateContent (same)",130    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"131   ],132   "verification": {133    "method": "live_api",134    "verified_at": "2026-09-18",135    "result": "success",136    "http_status": 200,137    "request_note": "g7b: ?pageSize=5 → {fileSearchStores:[…]}"138   },139   "sources": [140    {141     "url": "https://ai.google.dev/api/file-search/file-search-stores",142     "retrieved_at": "2026-09-18"143    },144    {145     "url": "https://ai.google.dev/gemini-api/docs/file-search",146     "retrieved_at": "2026-09-18"147    }148   ]149  },150  {151   "provider": "gemini",152   "api_family": "file-search",153   "method": "GET",154   "path": "/v1beta/fileSearchStores/{name}",155   "name": "fileSearchStores.get",156   "description": "Gets a FileSearchStore by resource name (fileSearchStores/{id}). Returns name, displayName, embeddingModel, sizeBytes, activeDocumentsCount, pendingDocumentsCount, failedDocumentsCount, createTime, updateTime.",157   "status": [158    "DOCUMENTED",159    "PREVIEW",160    "LIVE_VERIFIED"161   ],162   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",163   "beta_header": null,164   "request": {165    "content_type": null,166    "body_ref": null,167    "path_params": [168     "name"169    ],170    "query_params": [],171    "header_params": []172   },173   "response": {174    "success_status": 200,175    "content_type": "application/json",176    "body_ref": "FileSearchStore",177    "error_statuses": [178     403,179     404,180     429181    ]182   },183   "streaming": {184    "supported": false,185    "events_ref": null,186    "note": null187   },188   "pagination": null,189   "idempotency": null,190   "sdk": {191    "python": "client.file_search_stores.get(name='fileSearchStores/my-store-123')",192    "node": "ai.fileSearchStores.get({ name: 'fileSearchStores/my-store-123' })"193   },194   "relations": [195    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",196    "POST /v1beta/models/{model}:streamGenerateContent (same)",197    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"198   ],199   "verification": {200    "method": "live_api",201    "verified_at": "2026-09-18",202    "result": "success",203    "http_status": 200,204    "request_note": "g7: store with activeDocumentsCount '1', sizeBytes '200' (tmp-live/gemini-tools/g7_store_get.json)"205   },206   "sources": [207    {208     "url": "https://ai.google.dev/api/file-search/file-search-stores",209     "retrieved_at": "2026-09-18"210    },211    {212     "url": "https://ai.google.dev/gemini-api/docs/file-search",213     "retrieved_at": "2026-09-18"214    }215   ]216  },217  {218   "provider": "gemini",219   "api_family": "file-search",220   "method": "DELETE",221   "path": "/v1beta/fileSearchStores/{name}",222   "name": "fileSearchStores.delete",223   "description": "Deletes a FileSearchStore. Query `force=true` also deletes contained Documents (and their chunks/embeddings); with force=false (default) a FAILED_PRECONDITION error is returned if the store contains Documents. Response: empty JSON object.",224   "status": [225    "DOCUMENTED",226    "PREVIEW",227    "LIVE_VERIFIED"228   ],229   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",230   "beta_header": null,231   "request": {232    "content_type": null,233    "body_ref": null,234    "path_params": [235     "name"236    ],237    "query_params": [238     "force"239    ],240    "header_params": []241   },242   "response": {243    "success_status": 200,244    "content_type": "application/json",245    "body_ref": "Empty",246    "error_statuses": [247     400,248     403,249     404,250     429251    ]252   },253   "streaming": {254    "supported": false,255    "events_ref": null,256    "note": null257   },258   "pagination": null,259   "idempotency": null,260   "sdk": {261    "python": "client.file_search_stores.delete(name='fileSearchStores/my-store-123', config={'force': True})",262    "node": "ai.fileSearchStores.delete({ name: 'fileSearchStores/my-store-123', config: { force: true } })"263   },264   "relations": [265    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",266    "POST /v1beta/models/{model}:streamGenerateContent (same)",267    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"268   ],269   "verification": {270    "method": "live_api",271    "verified_at": "2026-09-18",272    "result": "success",273    "http_status": 200,274    "request_note": "g9: DELETE …?force=true → 200 {} (store still held one document)"275   },276   "sources": [277    {278     "url": "https://ai.google.dev/api/file-search/file-search-stores",279     "retrieved_at": "2026-09-18"280    },281    {282     "url": "https://ai.google.dev/gemini-api/docs/file-search",283     "retrieved_at": "2026-09-18"284    }285   ]286  },287  {288   "provider": "gemini",289   "api_family": "file-search",290   "method": "POST",291   "path": "/upload/v1beta/fileSearchStores/{name}:uploadToFileSearchStore",292   "name": "media.uploadToFileSearchStore",293   "description": "Uploads raw bytes to a FileSearchStore, chunks, embeds and indexes them into a new Document (long-running operation). TWO URIs: media upload `POST https://generativelanguage.googleapis.com/upload/v1beta/{fileSearchStoreName}:uploadToFileSearchStore` (discovery mediaUpload.protocols.simple.path; multipart/related JSON metadata + bytes) and the resumable variant `/resumable/upload/v1beta/{fileSearchStoreName}:uploadToFileSearchStore` (discovery) — the guide's REST example initiates resumable uploads directly on the /upload/v1beta/ URI with X-Goog-Upload-Protocol: resumable / X-Goog-Upload-Command: start, then sends bytes to the returned X-Goog-Upload-URL with X-Goog-Upload-Command: upload, finalize. Metadata-only URI (discovery `path`): `POST /v1beta/{fileSearchStoreName}:uploadToFileSearchStore`. Metadata body UploadToFileSearchStoreRequest {displayName?, mimeType?, customMetadata[]?, chunkingConfig?{whiteSpaceConfig{maxTokensPerChunk,maxOverlapTokens}}}. Accepts */*, max 100 MB (104857600 bytes). Response: CustomLongRunningOperation {name: fileSearchStores/{id}/upload/operations/{op}, done, metadata, response|error} — poll GET on that name. Files uploaded this way bypass Files API storage.",294   "status": [295    "DOCUMENTED",296    "PREVIEW",297    "LIVE_VERIFIED"298   ],299   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",300   "beta_header": null,301   "request": {302    "content_type": "multipart/related (simple) or application/json metadata + X-Goog-Upload-* headers (resumable)",303    "body_ref": "UploadToFileSearchStoreRequest + media",304    "path_params": [305     "fileSearchStoreName"306    ],307    "query_params": [],308    "header_params": [309     "X-Goog-Upload-Protocol",310     "X-Goog-Upload-Command",311     "X-Goog-Upload-Header-Content-Length",312     "X-Goog-Upload-Header-Content-Type",313     "X-Goog-Upload-Offset"314    ]315   },316   "response": {317    "success_status": 200,318    "content_type": "application/json",319    "body_ref": "CustomLongRunningOperation (google.longrunning.Operation)",320    "error_statuses": [321     400,322     403,323     404,324     413,325     429326    ]327   },328   "streaming": {329    "supported": false,330    "events_ref": null,331    "note": null332   },333   "pagination": null,334   "idempotency": null,335   "sdk": {336    "python": "op = client.file_search_stores.upload_to_file_search_store(file='sample.txt', file_search_store_name=store.name, config={'display_name': 'sample.txt', 'custom_metadata': [{'key':'author','string_value':'X'}], 'chunking_config': {'white_space_config': {'max_tokens_per_chunk': 200, 'max_overlap_tokens': 20}}}); while not op.done: op = client.operations.get(op)",337    "node": "let op = await ai.fileSearchStores.uploadToFileSearchStore({ file: 'sample.txt', fileSearchStoreName: store.name, config: { displayName: 'sample.txt' } }); while (!op.done) op = await ai.operations.get({ operation: op })"338   },339   "relations": [340    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",341    "POST /v1beta/models/{model}:streamGenerateContent (same)",342    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"343   ],344   "verification": {345    "method": "live_api",346    "verified_at": "2026-09-18",347    "result": "success",348    "http_status": 200,349    "request_note": "g2/g3: resumable protocol — start (X-Goog-Upload-Protocol: resumable, -Command: start, JSON metadata displayName+customMetadata) → 200 + X-Goog-Upload-URL; then POST upload URL with 'upload, finalize' + 200 bytes → Operation {name: fileSearchStores/…/upload/operations/…, response} (tmp-live/gemini-tools/g3_upload_finalize.json)"350   },351   "sources": [352    {353     "url": "https://ai.google.dev/api/file-search/file-search-stores",354     "retrieved_at": "2026-09-18"355    },356    {357     "url": "https://ai.google.dev/gemini-api/docs/file-search",358     "retrieved_at": "2026-09-18"359    }360   ],361   "alternate_paths": [362    "POST /v1beta/fileSearchStores/{name}:uploadToFileSearchStore (metadata-only, discovery `path`)",363    "POST /upload/v1beta/fileSearchStores/{name}:uploadToFileSearchStore (simple/multipart, discovery mediaUpload.protocols.simple)",364    "POST /resumable/upload/v1beta/fileSearchStores/{name}:uploadToFileSearchStore (discovery mediaUpload.protocols.resumable)"365   ],366   "limits": {367    "maxSize_bytes": 104857600,368    "accept": [369     "*/*"370    ]371   }372  },373  {374   "provider": "gemini",375   "api_family": "file-search",376   "method": "POST",377   "path": "/v1beta/fileSearchStores/{name}:importFile",378   "name": "fileSearchStores.importFile",379   "description": "Imports an existing Files API File (files/*) into a FileSearchStore as a Document (long-running operation). Body ImportFileRequest {fileName (required), customMetadata[]?, chunkingConfig?}. Response: Operation {name: fileSearchStores/{id}/operations/{op}, done, ...}; poll via fileSearchStores.operations.get. The source File still expires after 48 h; the indexed Document persists until deleted.",380   "status": [381    "DOCUMENTED",382    "PREVIEW"383   ],384   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",385   "beta_header": null,386   "request": {387    "content_type": "application/json",388    "body_ref": "ImportFileRequest",389    "path_params": [390     "fileSearchStoreName"391    ],392    "query_params": [],393    "header_params": []394   },395   "response": {396    "success_status": 200,397    "content_type": "application/json",398    "body_ref": "Operation",399    "error_statuses": [400     400,401     403,402     404,403     429404    ]405   },406   "streaming": {407    "supported": false,408    "events_ref": null,409    "note": null410   },411   "pagination": null,412   "idempotency": null,413   "sdk": {414    "python": "op = client.file_search_stores.import_file(file_search_store_name=store.name, file_name=sample_file.name, custom_metadata=[{'key':'year','numeric_value':1934}]); while not op.done: time.sleep(5); op = client.operations.get(op)",415    "node": "let op = await ai.fileSearchStores.importFile({ fileSearchStoreName: store.name, fileName: sampleFile.name }); while (!op.done) op = await ai.operations.get({ operation: op })"416   },417   "relations": [418    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",419    "POST /v1beta/models/{model}:streamGenerateContent (same)",420    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"421   ],422   "verification": {423    "method": "docs_only",424    "verified_at": "2026-09-18",425    "result": "not_tested",426    "http_status": null,427    "request_note": "not exercised in the 2026-09-18 run (docs only)"428   },429   "sources": [430    {431     "url": "https://ai.google.dev/api/file-search/file-search-stores",432     "retrieved_at": "2026-09-18"433    },434    {435     "url": "https://ai.google.dev/gemini-api/docs/file-search",436     "retrieved_at": "2026-09-18"437    }438   ]439  },440  {441   "provider": "gemini",442   "api_family": "file-search",443   "method": "GET",444   "path": "/v1beta/fileSearchStores/{name}/documents",445   "name": "fileSearchStores.documents.list",446   "description": "Lists Documents of a store, sorted by ascending createTime. Query pageSize (max 20 per discovery; default 10), pageToken. Response ListDocumentsResponse {documents[], nextPageToken}. Document fields: name, displayName, customMetadata[], state (STATE_PENDING|STATE_ACTIVE|STATE_FAILED), sizeBytes, mimeType, createTime, updateTime.",447   "status": [448    "DOCUMENTED",449    "PREVIEW",450    "LIVE_VERIFIED"451   ],452   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",453   "beta_header": null,454   "request": {455    "content_type": null,456    "body_ref": null,457    "path_params": [458     "parent"459    ],460    "query_params": [461     "pageSize",462     "pageToken"463    ],464    "header_params": []465   },466   "response": {467    "success_status": 200,468    "content_type": "application/json",469    "body_ref": "ListDocumentsResponse",470    "error_statuses": [471     403,472     404,473     429474    ]475   },476   "streaming": {477    "supported": false,478    "events_ref": null,479    "note": null480   },481   "pagination": {482    "style": "token",483    "params": [484     "pageSize",485     "pageToken"486    ],487    "response_fields": [488     "documents",489     "nextPageToken"490    ]491   },492   "idempotency": null,493   "sdk": {494    "python": "for doc in client.file_search_stores.documents.list(parent='fileSearchStores/my-store-123'): ...",495    "node": "for await (const doc of await ai.fileSearchStores.documents.list({ parent: 'fileSearchStores/my-store-123' })) { ... }"496   },497   "relations": [498    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",499    "POST /v1beta/models/{model}:streamGenerateContent (same)",500    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"501   ],502   "verification": {503    "method": "live_api",504    "verified_at": "2026-09-18",505    "result": "success",506    "http_status": 200,507    "request_note": "g5: {documents:[{name, displayName, mimeType, sizeBytes, state: STATE_ACTIVE, customMetadata, createTime, updateTime}]} (tmp-live/gemini-tools/g5_documents_list.json)"508   },509   "sources": [510    {511     "url": "https://ai.google.dev/api/file-search/documents",512     "retrieved_at": "2026-09-18"513    },514    {515     "url": "https://ai.google.dev/gemini-api/docs/file-search",516     "retrieved_at": "2026-09-18"517    }518   ]519  },520  {521   "provider": "gemini",522   "api_family": "file-search",523   "method": "GET",524   "path": "/v1beta/fileSearchStores/{name}/documents/{document}",525   "name": "fileSearchStores.documents.get",526   "description": "Gets a Document (fileSearchStores/{store}/documents/{doc}).",527   "status": [528    "DOCUMENTED",529    "PREVIEW",530    "LIVE_VERIFIED"531   ],532   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",533   "beta_header": null,534   "request": {535    "content_type": null,536    "body_ref": null,537    "path_params": [538     "name"539    ],540    "query_params": [],541    "header_params": []542   },543   "response": {544    "success_status": 200,545    "content_type": "application/json",546    "body_ref": "Document",547    "error_statuses": [548     403,549     404,550     429551    ]552   },553   "streaming": {554    "supported": false,555    "events_ref": null,556    "note": null557   },558   "pagination": null,559   "idempotency": null,560   "sdk": {561    "python": "client.file_search_stores.documents.get(name='fileSearchStores/my-store-123/documents/my-doc')",562    "node": "ai.fileSearchStores.documents.get({ name: 'fileSearchStores/my-store-123/documents/my-doc' })"563   },564   "relations": [565    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",566    "POST /v1beta/models/{model}:streamGenerateContent (same)",567    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"568   ],569   "verification": {570    "method": "live_api",571    "verified_at": "2026-09-18",572    "result": "success",573    "http_status": 200,574    "request_note": "g5b: same Document shape as list"575   },576   "sources": [577    {578     "url": "https://ai.google.dev/api/file-search/documents",579     "retrieved_at": "2026-09-18"580    },581    {582     "url": "https://ai.google.dev/gemini-api/docs/file-search",583     "retrieved_at": "2026-09-18"584    }585   ]586  },587  {588   "provider": "gemini",589   "api_family": "file-search",590   "method": "DELETE",591   "path": "/v1beta/fileSearchStores/{name}/documents/{document}",592   "name": "fileSearchStores.documents.delete",593   "description": "Deletes a Document. Query force=true also deletes its Chunks; with force=false (default) FAILED_PRECONDITION if the Document contains Chunks. Response: empty JSON object.",594   "status": [595    "DOCUMENTED",596    "PREVIEW",597    "LIVE_VERIFIED"598   ],599   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",600   "beta_header": null,601   "request": {602    "content_type": null,603    "body_ref": null,604    "path_params": [605     "name"606    ],607    "query_params": [608     "force"609    ],610    "header_params": []611   },612   "response": {613    "success_status": 200,614    "content_type": "application/json",615    "body_ref": "Empty",616    "error_statuses": [617     400,618     403,619     404,620     429621    ]622   },623   "streaming": {624    "supported": false,625    "events_ref": null,626    "note": null627   },628   "pagination": null,629   "idempotency": null,630   "sdk": {631    "python": "client.file_search_stores.documents.delete(name='fileSearchStores/my-store-123/documents/my-doc', config={'force': True})",632    "node": "ai.fileSearchStores.documents.delete({ name: 'fileSearchStores/my-store-123/documents/my-doc', config: { force: true } })"633   },634   "relations": [635    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",636    "POST /v1beta/models/{model}:streamGenerateContent (same)",637    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"638   ],639   "verification": {640    "method": "live_api",641    "verified_at": "2026-09-18",642    "result": "success",643    "http_status": 200,644    "request_note": "g8 without force → 400 FAILED_PRECONDITION 'Cannot delete non-empty Document'; with ?force=true → 200 (examples/file_search_lifecycle.py, test_file_search.py)"645   },646   "sources": [647    {648     "url": "https://ai.google.dev/api/file-search/documents",649     "retrieved_at": "2026-09-18"650    },651    {652     "url": "https://ai.google.dev/gemini-api/docs/file-search",653     "retrieved_at": "2026-09-18"654    }655   ]656  },657  {658   "provider": "gemini",659   "api_family": "file-search",660   "method": "GET",661   "path": "/v1beta/fileSearchStores/{name}/operations/{operation}",662   "name": "fileSearchStores.operations.get",663   "description": "Polls a long-running operation created by importFile (name fileSearchStores/{id}/operations/{op}). Operation {name, metadata, done, error{code,message,details}|response}.",664   "status": [665    "DOCUMENTED",666    "PREVIEW"667   ],668   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",669   "beta_header": null,670   "request": {671    "content_type": null,672    "body_ref": null,673    "path_params": [674     "name"675    ],676    "query_params": [],677    "header_params": []678   },679   "response": {680    "success_status": 200,681    "content_type": "application/json",682    "body_ref": "Operation",683    "error_statuses": [684     403,685     404,686     429687    ]688   },689   "streaming": {690    "supported": false,691    "events_ref": null,692    "note": null693   },694   "pagination": null,695   "idempotency": null,696   "sdk": {697    "python": "client.operations.get(op)  # SDK routes by operation name",698    "node": "ai.operations.get({ operation: op })"699   },700   "relations": [701    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",702    "POST /v1beta/models/{model}:streamGenerateContent (same)",703    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"704   ],705   "verification": {706    "method": "docs_only",707    "verified_at": "2026-09-18",708    "result": "not_tested",709    "http_status": null,710    "request_note": "not exercised in the 2026-09-18 run (docs only)"711   },712   "sources": [713    {714     "url": "https://ai.google.dev/api/file-search/file-search-stores",715     "retrieved_at": "2026-09-18"716    },717    {718     "url": "https://ai.google.dev/gemini-api/docs/file-search",719     "retrieved_at": "2026-09-18"720    }721   ]722  },723  {724   "provider": "gemini",725   "api_family": "file-search",726   "method": "GET",727   "path": "/v1beta/fileSearchStores/{name}/upload/operations/{operation}",728   "name": "fileSearchStores.upload.operations.get",729   "description": "Polls a long-running operation created by media.uploadToFileSearchStore (name fileSearchStores/{id}/upload/operations/{op}). Same Operation shape.",730   "status": [731    "DOCUMENTED",732    "PREVIEW",733    "LIVE_VERIFIED"734   ],735   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",736   "beta_header": null,737   "request": {738    "content_type": null,739    "body_ref": null,740    "path_params": [741     "name"742    ],743    "query_params": [],744    "header_params": []745   },746   "response": {747    "success_status": 200,748    "content_type": "application/json",749    "body_ref": "Operation",750    "error_statuses": [751     403,752     404,753     429754    ]755   },756   "streaming": {757    "supported": false,758    "events_ref": null,759    "note": null760   },761   "pagination": null,762   "idempotency": null,763   "sdk": {764    "python": "client.operations.get(op)",765    "node": "ai.operations.get({ operation: op })"766   },767   "relations": [768    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",769    "POST /v1beta/models/{model}:streamGenerateContent (same)",770    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"771   ],772   "verification": {773    "method": "live_api",774    "verified_at": "2026-09-18",775    "result": "success",776    "http_status": 200,777    "request_note": "g4: polled until done:true; response {@type, documentName, mimeType, parent, sizeBytes} (tmp-live/gemini-tools/g4_operation_done.json)"778   },779   "sources": [780    {781     "url": "https://ai.google.dev/api/file-search/file-search-stores",782     "retrieved_at": "2026-09-18"783    },784    {785     "url": "https://ai.google.dev/gemini-api/docs/file-search",786     "retrieved_at": "2026-09-18"787    }788   ]789  },790  {791   "provider": "gemini",792   "api_family": "file-search",793   "method": "GET",794   "path": "/v1beta/fileSearchStores/{name}/media/{blob}",795   "name": "fileSearchStores.media.download (mediaId)",796   "description": "Downloads the image chunk cited by groundingChunks[].retrievedContext.mediaId (multimodal File Search). Documented only in the guide (REST example uses https://generativelanguage.googleapis.com/v1/fileSearchStores/my-store-123/media/BlobId-456 with x-goog-api-key); not among the 86 v1beta discovery methods on 2026-09-18 (the reference page's 'media.download' entry describes an unrelated environments files endpoint).",797   "status": [798    "DOCUMENTED",799    "PREVIEW",800    "DOCUMENTATION_INCOMPLETE",801    "UNVERIFIED"802   ],803   "auth": "x-goog-api-key: <API key> header (or ?key= query — avoid; OAuth also accepted)",804   "beta_header": null,805   "request": {806    "content_type": null,807    "body_ref": null,808    "path_params": [809     "mediaId"810    ],811    "query_params": [],812    "header_params": []813   },814   "response": {815    "success_status": 200,816    "content_type": "image/* (bytes)",817    "body_ref": null,818    "error_statuses": [819     403,820     404,821     429822    ]823   },824   "streaming": {825    "supported": false,826    "events_ref": null,827    "note": null828   },829   "pagination": null,830   "idempotency": null,831   "sdk": {832    "python": "client.file_search_stores.download_media(media_id=chunk.retrieved_context.media_id)",833    "node": "ai.fileSearchStores.downloadMedia(chunk.retrievedContext.mediaId)"834   },835   "relations": [836    "POST /v1beta/models/{model}:generateContent (consumer: tools[].fileSearch.fileSearchStoreNames — documented by the generateContent agent)",837    "POST /v1beta/models/{model}:streamGenerateContent (same)",838    "POST /v1beta/interactions (tools[{type:file_search,file_search_store_names}])"839   ],840   "verification": {841    "method": "docs_only",842    "verified_at": "2026-09-18",843    "result": "not_tested",844    "http_status": null,845    "request_note": "not exercised in the 2026-09-18 run (docs only)"846   },847   "sources": [848    {849     "url": "https://ai.google.dev/gemini-api/docs/generate-content/file-search",850     "retrieved_at": "2026-09-18"851    },852    {853     "url": "https://ai.google.dev/api/file-search/file-search-stores",854     "retrieved_at": "2026-09-18"855    }856   ]857  },858  {859   "provider": "gemini",860   "api_family": "interactions",861   "method": "POST",862   "path": "/v1beta/interactions",863   "name": "Create interaction",864   "description": "Creates a new Interaction against a `model` (Gemini/Gemma/Lyria/robotics) or an `agent` (deep-research-*, antigravity-*, custom agent id). One of `model`/`agent` is required plus `input`. `stream: true` switches the response to SSE (InteractionSseEvent); `background: true` returns immediately with status queued/in_progress; `previous_interaction_id` chains server-side state (requires the previous interaction stored with `store=true`). The create response returns only model-generated `steps` (GET returns the full timeline incl. `user_input`).",865   "status": [866    "DOCUMENTED",867    "BETA",868    "LIVE_VERIFIED"869   ],870   "auth": "x-goog-api-key header",871   "beta_header": null,872   "host": "https://generativelanguage.googleapis.com",873   "host_note": "generativelanguage.googleapis.com, version prefix in path",874   "request": {875    "content_type": "application/json",876    "body_ref": "CreateInteractionRequest (CreateModelInteraction | CreateAgentInteraction)",877    "path_params": [878     {879      "name": "api_version",880      "required": true,881      "description": "API version path segment (v1beta here; v1 also exists)."882     }883    ],884    "query_params": [],885    "header_params": [886     {887      "name": "x-goog-api-key",888      "required": true,889      "description": "Gemini API key (never in the URL)."890     },891     {892      "name": "Content-Type",893      "required": true,894      "description": "application/json"895     },896     {897      "name": "Api-Revision",898      "required": false,899      "description": "Schema revision opt-in/out. `2026-05-20` = current steps/response_format schema (default since 2026-05-26); `2026-05-07` = legacy outputs schema (removed 2026-06-08)."900     }901    ]902   },903   "response": {904    "success_status": 200,905    "content_type": "application/json",906    "body_ref": "Interaction",907    "error_statuses": [908     400,909     401,910     403,911     404,912     429,913     500,914     503915    ]916   },917   "streaming": {918    "supported": true,919    "events_ref": "streaming-events/gemini-interactions",920    "trigger": "body `stream: true`",921    "content_type": "text/event-stream",922    "note": "SSE with `event:` = event_type and `data:` JSON; terminal `event: done` / `data: [DONE]`. Resume with GET ?stream=true&last_event_id=..."923   },924   "pagination": null,925   "idempotency": "not documented (no idempotency key)",926   "sdk": {927    "python": "client.interactions.create(model=..., input=..., stream=False|True, background=..., previous_interaction_id=..., agent=..., environment=..., agent_config=..., tools=..., response_format=..., generation_config=...)",928    "node": "ai.interactions.create({model, input, stream, background, previous_interaction_id, agent, environment, agent_config, tools, response_format, generation_config})",929    "java": "client.interactions.create(CreateInteractionRequestBody.of(CreateModelInteraction|CreateAgentInteraction))"930   },931   "relations": [932    "GET /v1beta/interactions/{id}",933    "POST /v1beta/interactions/{id}/cancel",934    "DELETE /v1beta/interactions/{id}",935    "POST /v1beta/agents",936    "POST /v1beta/credentials",937    "environments"938   ],939   "verification": {940    "method": "live_api",941    "verified_at": "2026-09-18",942    "result": "success",943    "http_status": 200,944    "request_note": "h1 create (steps [thought, model_output], usage), h2 stream:true (SSE event:/data:, 9 events), h3 previous_interaction_id, h5 store:false (no id), h6 function tool → requires_action, h8 agent deep-research-preview-04-2026 background:true → in_progress; f2 tools[{type: computer_use, environment: browser}] accepted on gemini-3.5-flash-lite (tmp-live/gemini-tools/h*.json). Burst of ~10 calls/min → HTTP 429 too_many_requests observed once in pytest."945   },946   "sources": [947    {948     "url": "https://ai.google.dev/api/interactions",949     "retrieved_at": "2026-09-18"950    },951    {952     "url": "https://ai.google.dev/api/interactions-api",953     "retrieved_at": "2026-09-18"954    },955    {956     "url": "https://ai.google.dev/gemini-api/docs/interactions-overview",957     "retrieved_at": "2026-09-18"958    },959    {960     "url": "https://ai.google.dev/gemini-api/docs/streaming",961     "retrieved_at": "2026-09-18"962    },963    {964     "url": "https://ai.google.dev/gemini-api/docs/background-execution",965     "retrieved_at": "2026-09-18"966    }967   ]968  },969  {970   "provider": "gemini",971   "api_family": "interactions",972   "method": "GET",973   "path": "/v1beta/interactions/{id}",974   "name": "Get interaction (poll or resume stream)",975   "description": "Retrieves the full details of a single interaction (full step timeline incl. `user_input`). Used to poll background interactions. With `?stream=true` the server streams the interaction as SSE; `last_event_id` resumes from the event after the given `event_id` (only with stream=true).",976   "status": [977    "DOCUMENTED",978    "BETA",979    "LIVE_VERIFIED"980   ],981   "auth": "x-goog-api-key header",982   "beta_header": null,983   "host": "https://generativelanguage.googleapis.com",984   "host_note": "generativelanguage.googleapis.com, version prefix in path",985   "request": {986    "content_type": null,987    "body_ref": null,988    "path_params": [989     {990      "name": "api_version",991      "required": true992     },993     {994      "name": "id",995      "required": true,996      "description": "Interaction.id (e.g. `v1_Chd...`)."997     }998    ],999    "query_params": [1000     {1001      "name": "stream",1002      "type": "boolean",1003      "default": false,1004      "description": "Stream the interaction incrementally as SSE."1005     },1006     {1007      "name": "last_event_id",1008      "type": "string",1009      "description": "Resume the stream after this event_id. Only with stream=true."1010     }1011    ],1012    "header_params": [1013     {1014      "name": "x-goog-api-key",1015      "required": true,1016      "description": "Gemini API key (never in the URL)."1017     },1018     {1019      "name": "Api-Revision",1020      "required": false,1021      "description": "Schema revision opt-in/out. `2026-05-20` = current steps/response_format schema (default since 2026-05-26); `2026-05-07` = legacy outputs schema (removed 2026-06-08)."1022     }1023    ]1024   },1025   "response": {1026    "success_status": 200,1027    "content_type": "application/json",1028    "body_ref": "Interaction",1029    "error_statuses": [1030     400,1031     401,1032     403,1033     404,1034     429,1035     500,1036     5031037    ]1038   },1039   "streaming": {1040    "supported": true,1041    "events_ref": "streaming-events/gemini-interactions",1042    "trigger": "query `stream=true` (+ `last_event_id`)",1043    "note": "Reconnect/resume pattern for background interactions."1044   },1045   "pagination": null,1046   "idempotency": "safe (GET)",1047   "sdk": {1048    "python": "client.interactions.get(id=..., stream=False|True, last_event_id=...)",1049    "node": "ai.interactions.get(id, {stream, last_event_id})"1050   },1051   "relations": [1052    "POST /v1beta/interactions"1053   ],1054   "verification": {1055    "method": "live_api",1056    "verified_at": "2026-09-18",1057    "result": "success",1058    "http_status": 200,1059    "request_note": "h4: full Interaction incl. generation_config echo; after DELETE → 404 'Requested entity was not found'; ?include_steps=true → 400; unstored (store:false) interactions have no id"1060   },1061   "sources": [1062    {1063     "url": "https://ai.google.dev/api/interactions",1064     "retrieved_at": "2026-09-18"1065    },1066    {1067     "url": "https://ai.google.dev/gemini-api/docs/background-execution",1068     "retrieved_at": "2026-09-18"1069    }1070   ]1071  },1072  {1073   "provider": "gemini",1074   "api_family": "interactions",1075   "method": "DELETE",1076   "path": "/v1beta/interactions/{id}",1077   "name": "Delete interaction",1078   "description": "Deletes the stored interaction by id. Empty response body. Subsequent GET returns 404.",1079   "status": [1080    "DOCUMENTED",1081    "BETA",1082    "LIVE_VERIFIED"1083   ],1084   "auth": "x-goog-api-key header",1085   "beta_header": null,1086   "host": "https://generativelanguage.googleapis.com",1087   "host_note": "generativelanguage.googleapis.com, version prefix in path",1088   "request": {1089    "content_type": null,1090    "body_ref": null,1091    "path_params": [1092     {1093      "name": "api_version",1094      "required": true1095     },1096     {1097      "name": "id",1098      "required": true1099     }1100    ],1101    "query_params": [],1102    "header_params": [1103     {1104      "name": "x-goog-api-key",1105      "required": true,1106      "description": "Gemini API key (never in the URL)."1107     }1108    ]1109   },1110   "response": {1111    "success_status": 200,1112    "content_type": "application/json",1113    "body_ref": "Empty ({})",1114    "error_statuses": [1115     400,1116     401,1117     403,1118     404,1119     429,1120     500,1121     5031122    ]1123   },1124   "streaming": {1125    "supported": false,1126    "events_ref": null,1127    "note": null1128   },1129   "pagination": null,1130   "idempotency": "idempotent by semantics (second call 404)",1131   "sdk": {1132    "python": "client.interactions.delete(id=...)",1133    "node": "ai.interactions.delete(id)"1134   },1135   "relations": [1136    "POST /v1beta/interactions"1137   ],1138   "verification": {1139    "method": "live_api",1140    "verified_at": "2026-09-18",1141    "result": "success",1142    "http_status": 200,1143    "request_note": "h9: → 200 {}"1144   },1145   "sources": [1146    {1147     "url": "https://ai.google.dev/api/interactions",1148     "retrieved_at": "2026-09-18"1149    },1150    {1151     "url": "https://ai.google.dev/gemini-api/docs/background-execution",1152     "retrieved_at": "2026-09-18"1153    }1154   ]1155  },1156  {1157   "provider": "gemini",1158   "api_family": "interactions",1159   "method": "POST",1160   "path": "/v1beta/interactions/{id}/cancel",1161   "name": "Cancel interaction",1162   "description": "Cancels an in-progress background interaction. Only applies to background interactions still running; status transitions to `cancelled` (may lag slightly in GET). Returns the Interaction. NOTE: one guide (antigravity-agent) shows the gRPC-transcoding form `POST /v1beta/interactions/{id}:cancel`; the reference uses `/{id}/cancel` — treat `:cancel` as UNVERIFIED alias.",1163   "status": [1164    "DOCUMENTED",1165    "BETA",1166    "LIVE_VERIFIED"1167   ],1168   "auth": "x-goog-api-key header",1169   "beta_header": null,1170   "host": "https://generativelanguage.googleapis.com",1171   "host_note": "generativelanguage.googleapis.com, version prefix in path",1172   "request": {1173    "content_type": null,1174    "body_ref": null,1175    "path_params": [1176     {1177      "name": "api_version",1178      "required": true1179     },1180     {1181      "name": "id",1182      "required": true1183     }1184    ],1185    "query_params": [],1186    "header_params": [1187     {1188      "name": "x-goog-api-key",1189      "required": true,1190      "description": "Gemini API key (never in the URL)."1191     },1192     {1193      "name": "Api-Revision",1194      "required": false,1195      "description": "Schema revision opt-in/out. `2026-05-20` = current steps/response_format schema (default since 2026-05-26); `2026-05-07` = legacy outputs schema (removed 2026-06-08)."1196     }1197    ]1198   },1199   "response": {1200    "success_status": 200,1201    "content_type": "application/json",1202    "body_ref": "Interaction",1203    "error_statuses": [1204     400,1205     401,1206     403,1207     404,1208     429,1209     500,1210     5031211    ]1212   },1213   "streaming": {1214    "supported": false,1215    "events_ref": null,1216    "note": null1217   },1218   "pagination": null,1219   "idempotency": "idempotent by semantics",1220   "sdk": {1221    "python": "client.interactions.cancel(id=...)",1222    "node": "ai.interactions.cancel(id)"1223   },1224   "relations": [1225    "POST /v1beta/interactions",1226    "GET /v1beta/interactions/{id}"1227   ],1228   "verification": {1229    "method": "live_api",1230    "verified_at": "2026-09-18",1231    "result": "success",1232    "http_status": 200,1233    "request_note": "h8b: cancel of an in_progress deep-research background interaction → 200 status 'cancelled'; GET afterwards 'cancelled' (tmp-live/gemini-tools/h8b_deep_research_cancel.json)"1234   },1235   "sources": [1236    {1237     "url": "https://ai.google.dev/api/interactions",1238     "retrieved_at": "2026-09-18"1239    },1240    {1241     "url": "https://ai.google.dev/gemini-api/docs/background-execution",1242     "retrieved_at": "2026-09-18"1243    },1244    {1245     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",1246     "retrieved_at": "2026-09-18"1247    }1248   ]1249  },1250  {1251   "provider": "gemini",1252   "api_family": "interactions",1253   "method": "POST",1254   "path": "/v1/interactions",1255   "name": "Create interaction (v1)",1256   "description": "Stable v1 surface documented at ai.google.dev/api/interactions-api-v1 (smaller schema: no `environment`, `service_tier`, `webhook_config`, `agent_config` only `dynamic`, tools without mcp_server/computer_use). The v1 reference page itself renders `/v1beta/` URLs (documentation bug); the `/v1/interactions` path comes from the api-versions guide curl. Requires the SDK `http_options.api_version='v1'`.",1257   "status": [1258    "DOCUMENTED",1259    "GA",1260    "UNVERIFIED"1261   ],1262   "auth": "x-goog-api-key header",1263   "beta_header": null,1264   "host": "https://generativelanguage.googleapis.com",1265   "host_note": "generativelanguage.googleapis.com/v1 (stable)",1266   "request": {1267    "content_type": "application/json",1268    "body_ref": "CreateInteractionRequest (v1 subset)",1269    "path_params": [],1270    "query_params": [],1271    "header_params": [1272     {1273      "name": "x-goog-api-key",1274      "required": true,1275      "description": "Gemini API key (never in the URL)."1276     }1277    ]1278   },1279   "response": {1280    "success_status": 200,1281    "content_type": "application/json",1282    "body_ref": "Interaction",1283    "error_statuses": [1284     400,1285     401,1286     403,1287     404,1288     429,1289     500,1290     5031291    ]1292   },1293   "streaming": {1294    "supported": true,1295    "events_ref": "streaming-events/gemini-interactions",1296    "note": "same InteractionSseEvent union (v1 page lists error, interaction.completed, interaction.created, interaction.status_update, step.delta, step.start, step.stop)"1297   },1298   "pagination": null,1299   "idempotency": null,1300   "sdk": {1301    "python": "genai.Client(http_options={'api_version': 'v1'}).interactions.<create|get|delete|cancel>",1302    "node": "new GoogleGenAI({httpOptions: {apiVersion: 'v1'}}).interactions.<create|get|delete|cancel>"1303   },1304   "relations": [],1305   "verification": {1306    "method": "docs_only",1307    "verified_at": "2026-09-18",1308    "result": "not_tested",1309    "http_status": null,1310    "request_note": "not exercised in the 2026-09-18 run (docs only)"1311   },1312   "sources": [1313    {1314     "url": "https://ai.google.dev/api/interactions-api-v1",1315     "retrieved_at": "2026-09-18"1316    },1317    {1318     "url": "https://ai.google.dev/gemini-api/docs/api-versions",1319     "retrieved_at": "2026-09-18"1320    }1321   ]1322  },1323  {1324   "provider": "gemini",1325   "api_family": "interactions",1326   "method": "GET",1327   "path": "/v1/interactions/{id}",1328   "name": "Get interaction (v1)",1329   "description": "Stable v1 surface documented at ai.google.dev/api/interactions-api-v1 (smaller schema: no `environment`, `service_tier`, `webhook_config`, `agent_config` only `dynamic`, tools without mcp_server/computer_use). The v1 reference page itself renders `/v1beta/` URLs (documentation bug); the `/v1/interactions` path comes from the api-versions guide curl. Requires the SDK `http_options.api_version='v1'`.",1330   "status": [1331    "DOCUMENTED",1332    "GA",1333    "UNVERIFIED"1334   ],1335   "auth": "x-goog-api-key header",1336   "beta_header": null,1337   "host": "https://generativelanguage.googleapis.com",1338   "host_note": "generativelanguage.googleapis.com/v1 (stable)",1339   "request": {1340    "content_type": null,1341    "body_ref": null,1342    "path_params": [1343     {1344      "name": "id",1345      "required": true1346     }1347    ],1348    "query_params": [1349     {1350      "name": "stream"1351     },1352     {1353      "name": "last_event_id"1354     }1355    ],1356    "header_params": [1357     {1358      "name": "x-goog-api-key",1359      "required": true,1360      "description": "Gemini API key (never in the URL)."1361     }1362    ]1363   },1364   "response": {1365    "success_status": 200,1366    "content_type": "application/json",1367    "body_ref": "Interaction",1368    "error_statuses": [1369     400,1370     401,1371     403,1372     404,1373     429,1374     500,1375     5031376    ]1377   },1378   "streaming": {1379    "supported": true,1380    "events_ref": "streaming-events/gemini-interactions",1381    "note": "same InteractionSseEvent union (v1 page lists error, interaction.completed, interaction.created, interaction.status_update, step.delta, step.start, step.stop)"1382   },1383   "pagination": null,1384   "idempotency": null,1385   "sdk": {1386    "python": "genai.Client(http_options={'api_version': 'v1'}).interactions.<create|get|delete|cancel>",1387    "node": "new GoogleGenAI({httpOptions: {apiVersion: 'v1'}}).interactions.<create|get|delete|cancel>"1388   },1389   "relations": [],1390   "verification": {1391    "method": "docs_only",1392    "verified_at": "2026-09-18",1393    "result": "not_tested",1394    "http_status": null,1395    "request_note": "not exercised in the 2026-09-18 run (docs only)"1396   },1397   "sources": [1398    {1399     "url": "https://ai.google.dev/api/interactions-api-v1",1400     "retrieved_at": "2026-09-18"1401    },1402    {1403     "url": "https://ai.google.dev/gemini-api/docs/api-versions",1404     "retrieved_at": "2026-09-18"1405    }1406   ]1407  },1408  {1409   "provider": "gemini",1410   "api_family": "interactions",1411   "method": "DELETE",1412   "path": "/v1/interactions/{id}",1413   "name": "Delete interaction (v1)",1414   "description": "Stable v1 surface documented at ai.google.dev/api/interactions-api-v1 (smaller schema: no `environment`, `service_tier`, `webhook_config`, `agent_config` only `dynamic`, tools without mcp_server/computer_use). The v1 reference page itself renders `/v1beta/` URLs (documentation bug); the `/v1/interactions` path comes from the api-versions guide curl. Requires the SDK `http_options.api_version='v1'`.",1415   "status": [1416    "DOCUMENTED",1417    "GA",1418    "UNVERIFIED"1419   ],1420   "auth": "x-goog-api-key header",1421   "beta_header": null,1422   "host": "https://generativelanguage.googleapis.com",1423   "host_note": "generativelanguage.googleapis.com/v1 (stable)",1424   "request": {1425    "content_type": null,1426    "body_ref": null,1427    "path_params": [1428     {1429      "name": "id",1430      "required": true1431     }1432    ],1433    "query_params": [],1434    "header_params": [1435     {1436      "name": "x-goog-api-key",1437      "required": true,1438      "description": "Gemini API key (never in the URL)."1439     }1440    ]1441   },1442   "response": {1443    "success_status": 200,1444    "content_type": "application/json",1445    "body_ref": "Empty",1446    "error_statuses": [1447     400,1448     401,1449     403,1450     404,1451     429,1452     500,1453     5031454    ]1455   },1456   "streaming": {1457    "supported": false,1458    "events_ref": "streaming-events/gemini-interactions",1459    "note": "same InteractionSseEvent union (v1 page lists error, interaction.completed, interaction.created, interaction.status_update, step.delta, step.start, step.stop)"1460   },1461   "pagination": null,1462   "idempotency": null,1463   "sdk": {1464    "python": "genai.Client(http_options={'api_version': 'v1'}).interactions.<create|get|delete|cancel>",1465    "node": "new GoogleGenAI({httpOptions: {apiVersion: 'v1'}}).interactions.<create|get|delete|cancel>"1466   },1467   "relations": [],1468   "verification": {1469    "method": "docs_only",1470    "verified_at": "2026-09-18",1471    "result": "not_tested",1472    "http_status": null,1473    "request_note": "not exercised in the 2026-09-18 run (docs only)"1474   },1475   "sources": [1476    {1477     "url": "https://ai.google.dev/api/interactions-api-v1",1478     "retrieved_at": "2026-09-18"1479    },1480    {1481     "url": "https://ai.google.dev/gemini-api/docs/api-versions",1482     "retrieved_at": "2026-09-18"1483    }1484   ]1485  },1486  {1487   "provider": "gemini",1488   "api_family": "interactions",1489   "method": "POST",1490   "path": "/v1/interactions/{id}/cancel",1491   "name": "Cancel interaction (v1)",1492   "description": "Stable v1 surface documented at ai.google.dev/api/interactions-api-v1 (smaller schema: no `environment`, `service_tier`, `webhook_config`, `agent_config` only `dynamic`, tools without mcp_server/computer_use). The v1 reference page itself renders `/v1beta/` URLs (documentation bug); the `/v1/interactions` path comes from the api-versions guide curl. Requires the SDK `http_options.api_version='v1'`.",1493   "status": [1494    "DOCUMENTED",1495    "GA",1496    "UNVERIFIED"1497   ],1498   "auth": "x-goog-api-key header",1499   "beta_header": null,1500   "host": "https://generativelanguage.googleapis.com",1501   "host_note": "generativelanguage.googleapis.com/v1 (stable)",1502   "request": {1503    "content_type": null,1504    "body_ref": null,1505    "path_params": [1506     {1507      "name": "id",1508      "required": true1509     }1510    ],1511    "query_params": [],1512    "header_params": [1513     {1514      "name": "x-goog-api-key",1515      "required": true,1516      "description": "Gemini API key (never in the URL)."1517     }1518    ]1519   },1520   "response": {1521    "success_status": 200,1522    "content_type": "application/json",1523    "body_ref": "Interaction",1524    "error_statuses": [1525     400,1526     401,1527     403,1528     404,1529     429,1530     500,1531     5031532    ]1533   },1534   "streaming": {1535    "supported": false,1536    "events_ref": "streaming-events/gemini-interactions",1537    "note": "same InteractionSseEvent union (v1 page lists error, interaction.completed, interaction.created, interaction.status_update, step.delta, step.start, step.stop)"1538   },1539   "pagination": null,1540   "idempotency": null,1541   "sdk": {1542    "python": "genai.Client(http_options={'api_version': 'v1'}).interactions.<create|get|delete|cancel>",1543    "node": "new GoogleGenAI({httpOptions: {apiVersion: 'v1'}}).interactions.<create|get|delete|cancel>"1544   },1545   "relations": [],1546   "verification": {1547    "method": "docs_only",1548    "verified_at": "2026-09-18",1549    "result": "not_tested",1550    "http_status": null,1551    "request_note": "not exercised in the 2026-09-18 run (docs only)"1552   },1553   "sources": [1554    {1555     "url": "https://ai.google.dev/api/interactions-api-v1",1556     "retrieved_at": "2026-09-18"1557    },1558    {1559     "url": "https://ai.google.dev/gemini-api/docs/api-versions",1560     "retrieved_at": "2026-09-18"1561    }1562   ]1563  },1564  {1565   "provider": "gemini",1566   "api_family": "credentials",1567   "method": "POST",1568   "path": "/v1beta/credentials",1569   "name": "Create credential",1570   "description": "Creates a server-managed secret (`bearer_token`, `oauth2`, `environment_variable`) referenced by id from environment network allowlists, `mcp_server` tools and `environment.env`. Secret fields are write-only. OAuth2 creation performs a live token exchange against `token_url`. `id` optional (UUID generated). 409/`aborted` if id exists. Field names must be snake_case (camelCase → 400).",1571   "status": [1572    "DOCUMENTED",1573    "BETA",1574    "PREVIEW"1575   ],1576   "auth": "x-goog-api-key header",1577   "beta_header": null,1578   "host": "https://generativelanguage.googleapis.com",1579   "host_note": "generativelanguage.googleapis.com, version prefix in path",1580   "request": {1581    "content_type": "application/json",1582    "body_ref": "EnvironmentVariableConfig | HttpBearerConfig | OAuth2Config (discriminator `type`)",1583    "path_params": [],1584    "query_params": [],1585    "header_params": [1586     {1587      "name": "x-goog-api-key",1588      "required": true,1589      "description": "Gemini API key (never in the URL)."1590     },1591     {1592      "name": "Content-Type",1593      "required": true,1594      "description": "application/json"1595     }1596    ]1597   },1598   "response": {1599    "success_status": 200,1600    "content_type": "application/json",1601    "body_ref": "Credential (metadata only, secrets never returned)",1602    "error_statuses": [1603     400,1604     401,1605     403,1606     404,1607     409,1608     429,1609     5001610    ]1611   },1612   "streaming": {1613    "supported": false,1614    "events_ref": null,1615    "note": null1616   },1617   "pagination": null,1618   "idempotency": "no (duplicate id → 409 aborted)",1619   "sdk": {1620    "python": "client.credentials.create(id=..., type='bearer_token', token=...)",1621    "node": "ai.credentials.create({id, type, token})"1622   },1623   "relations": [1624    "POST /v1beta/interactions (environment.network.allowlist[].credential, tools[](mcp_server).credential, environment.env)"1625   ],1626   "verification": {1627    "method": "docs_only",1628    "verified_at": "2026-09-18",1629    "result": "not_tested",1630    "http_status": null,1631    "request_note": "not exercised in the 2026-09-18 run (docs only)"1632   },1633   "sources": [1634    {1635     "url": "https://ai.google.dev/api/interactions",1636     "retrieved_at": "2026-09-18"1637    },1638    {1639     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",1640     "retrieved_at": "2026-09-18"1641    }1642   ]1643  },1644  {1645   "provider": "gemini",1646   "api_family": "credentials",1647   "method": "GET",1648   "path": "/v1beta/credentials",1649   "name": "List credentials",1650   "description": "Lists credentials for the project (metadata only).",1651   "status": [1652    "DOCUMENTED",1653    "BETA",1654    "PREVIEW"1655   ],1656   "auth": "x-goog-api-key header",1657   "beta_header": null,1658   "host": "https://generativelanguage.googleapis.com",1659   "host_note": "generativelanguage.googleapis.com, version prefix in path",1660   "request": {1661    "content_type": null,1662    "body_ref": null,1663    "path_params": [],1664    "query_params": [1665     {1666      "name": "page_size",1667      "type": "integer",1668      "default": 50,1669      "maximum": 10001670     },1671     {1672      "name": "page_token",1673      "type": "string"1674     }1675    ],1676    "header_params": [1677     {1678      "name": "x-goog-api-key",1679      "required": true,1680      "description": "Gemini API key (never in the URL)."1681     }1682    ]1683   },1684   "response": {1685    "success_status": 200,1686    "content_type": "application/json",1687    "body_ref": "ListCredentialsResponse {credentials[], next_page_token}",1688    "error_statuses": [1689     400,1690     401,1691     403,1692     404,1693     429,1694     500,1695     5031696    ]1697   },1698   "streaming": {1699    "supported": false,1700    "events_ref": null,1701    "note": null1702   },1703   "pagination": {1704    "style": "page_token",1705    "request": [1706     "page_size",1707     "page_token"1708    ],1709    "response": "next_page_token"1710   },1711   "idempotency": "safe (GET)",1712   "sdk": {1713    "python": "client.credentials.list(page_size=...)",1714    "node": "ai.credentials.list({page_size})"1715   },1716   "relations": [],1717   "verification": {1718    "method": "docs_only",1719    "verified_at": "2026-09-18",1720    "result": "not_tested",1721    "http_status": null,1722    "request_note": "not exercised in the 2026-09-18 run (docs only)"1723   },1724   "sources": [1725    {1726     "url": "https://ai.google.dev/api/interactions",1727     "retrieved_at": "2026-09-18"1728    },1729    {1730     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",1731     "retrieved_at": "2026-09-18"1732    }1733   ]1734  },1735  {1736   "provider": "gemini",1737   "api_family": "credentials",1738   "method": "GET",1739   "path": "/v1beta/credentials/{id}",1740   "name": "Get credential",1741   "description": "Gets metadata of a single credential (no secret fields). 404 `not_found` if missing.",1742   "status": [1743    "DOCUMENTED",1744    "BETA",1745    "PREVIEW"1746   ],1747   "auth": "x-goog-api-key header",1748   "beta_header": null,1749   "host": "https://generativelanguage.googleapis.com",1750   "host_note": "generativelanguage.googleapis.com, version prefix in path",1751   "request": {1752    "content_type": null,1753    "body_ref": null,1754    "path_params": [1755     {1756      "name": "id",1757      "required": true1758     }1759    ],1760    "query_params": [],1761    "header_params": [1762     {1763      "name": "x-goog-api-key",1764      "required": true,1765      "description": "Gemini API key (never in the URL)."1766     }1767    ]1768   },1769   "response": {1770    "success_status": 200,1771    "content_type": "application/json",1772    "body_ref": "Credential (metadata only, secrets never returned)",1773    "error_statuses": [1774     400,1775     401,1776     403,1777     404,1778     409,1779     429,1780     5001781    ]1782   },1783   "streaming": {1784    "supported": false,1785    "events_ref": null,1786    "note": null1787   },1788   "pagination": null,1789   "idempotency": "safe (GET)",1790   "sdk": {1791    "python": "client.credentials.get(id=...)",1792    "node": "ai.credentials.get(id)"1793   },1794   "relations": [],1795   "verification": {1796    "method": "docs_only",1797    "verified_at": "2026-09-18",1798    "result": "not_tested",1799    "http_status": null,1800    "request_note": "not exercised in the 2026-09-18 run (docs only)"1801   },1802   "sources": [1803    {1804     "url": "https://ai.google.dev/api/interactions",1805     "retrieved_at": "2026-09-18"1806    },1807    {1808     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",1809     "retrieved_at": "2026-09-18"1810    }1811   ]1812  },1813  {1814   "provider": "gemini",1815   "api_family": "credentials",1816   "method": "PATCH",1817   "path": "/v1beta/credentials/{id}",1818   "name": "Update (rotate) credential",1819   "description": "Updates/rotates a credential. Body must carry the same `type` (type is fixed at creation) plus the fields to change (e.g. new `token`, `refresh_token`). Optional `update_mask` query. Rotation takes effect on next proxy resolution.",1820   "status": [1821    "DOCUMENTED",1822    "BETA",1823    "PREVIEW"1824   ],1825   "auth": "x-goog-api-key header",1826   "beta_header": null,1827   "host": "https://generativelanguage.googleapis.com",1828   "host_note": "generativelanguage.googleapis.com, version prefix in path",1829   "request": {1830    "content_type": "application/json",1831    "body_ref": "EnvironmentVariableUpdateConfig | HttpBearerUpdateConfig | OAuth2UpdateConfig",1832    "path_params": [1833     {1834      "name": "id",1835      "required": true1836     }1837    ],1838    "query_params": [1839     {1840      "name": "update_mask",1841      "type": "string",1842      "description": "Optional. The list of fields to update."1843     }1844    ],1845    "header_params": [1846     {1847      "name": "x-goog-api-key",1848      "required": true,1849      "description": "Gemini API key (never in the URL)."1850     },1851     {1852      "name": "Content-Type",1853      "required": true,1854      "description": "application/json"1855     }1856    ]1857   },1858   "response": {1859    "success_status": 200,1860    "content_type": "application/json",1861    "body_ref": "Credential (metadata only, secrets never returned)",1862    "error_statuses": [1863     400,1864     401,1865     403,1866     404,1867     409,1868     429,1869     5001870    ]1871   },1872   "streaming": {1873    "supported": false,1874    "events_ref": null,1875    "note": null1876   },1877   "pagination": null,1878   "idempotency": "idempotent for same payload",1879   "sdk": {1880    "python": "client.credentials.update(id=..., type='bearer_token', token=...)",1881    "node": "ai.credentials.update(id, {type, token})"1882   },1883   "relations": [],1884   "verification": {1885    "method": "docs_only",1886    "verified_at": "2026-09-18",1887    "result": "not_tested",1888    "http_status": null,1889    "request_note": "not exercised in the 2026-09-18 run (docs only)"1890   },1891   "sources": [1892    {1893     "url": "https://ai.google.dev/api/interactions",1894     "retrieved_at": "2026-09-18"1895    },1896    {1897     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",1898     "retrieved_at": "2026-09-18"1899    }1900   ]1901  },1902  {1903   "provider": "gemini",1904   "api_family": "credentials",1905   "method": "DELETE",1906   "path": "/v1beta/credentials/{id}",1907   "name": "Delete credential",1908   "description": "Deletes a credential and its stored secret. Fails if referenced by active triggers. Returns `{}`.",1909   "status": [1910    "DOCUMENTED",1911    "BETA",1912    "PREVIEW"1913   ],1914   "auth": "x-goog-api-key header",1915   "beta_header": null,1916   "host": "https://generativelanguage.googleapis.com",1917   "host_note": "generativelanguage.googleapis.com, version prefix in path",1918   "request": {1919    "content_type": null,1920    "body_ref": null,1921    "path_params": [1922     {1923      "name": "id",1924      "required": true1925     }1926    ],1927    "query_params": [],1928    "header_params": [1929     {1930      "name": "x-goog-api-key",1931      "required": true,1932      "description": "Gemini API key (never in the URL)."1933     }1934    ]1935   },1936   "response": {1937    "success_status": 200,1938    "content_type": "application/json",1939    "body_ref": "Empty ({})",1940    "error_statuses": [1941     400,1942     401,1943     403,1944     404,1945     409,1946     4291947    ]1948   },1949   "streaming": {1950    "supported": false,1951    "events_ref": null,1952    "note": null1953   },1954   "pagination": null,1955   "idempotency": "second call 404",1956   "sdk": {1957    "python": "client.credentials.delete(id=...)",1958    "node": "ai.credentials.delete(id)"1959   },1960   "relations": [],1961   "verification": {1962    "method": "docs_only",1963    "verified_at": "2026-09-18",1964    "result": "not_tested",1965    "http_status": null,1966    "request_note": "not exercised in the 2026-09-18 run (docs only)"1967   },1968   "sources": [1969    {1970     "url": "https://ai.google.dev/api/interactions",1971     "retrieved_at": "2026-09-18"1972    },1973    {1974     "url": "https://ai.google.dev/gemini-api/docs/agent-credentials",1975     "retrieved_at": "2026-09-18"1976    }1977   ]1978  },1979  {1980   "provider": "gemini",1981   "api_family": "agents",1982   "method": "POST",1983   "path": "/v1beta/agents",1984   "name": "Create managed (custom) agent",1985   "description": "Saves a reusable agent definition on top of a base managed agent (`base_agent`, currently only `antigravity-preview-09-2026` per the guide; reference examples use `antigravity-preview-05-2026`). Fields: id (unique, reserved prefixes forbidden: antigravity-, veo-, omni-, lyria-, imagen-, gemma-, gemini-, google-, youtube-, android-, chrome-, pixel-, waze-, fitbit-, nest-, kaggle-), description, agent_config {type: antigravity, model}, system_instruction, tools, base_environment ('remote' | env id | EnvironmentConfig). Invoke with `POST /v1beta/interactions {agent: <id>}`. Max 1000 agents. No versioning.",1986   "status": [1987    "DOCUMENTED",1988    "BETA",1989    "PREVIEW"1990   ],1991   "auth": "x-goog-api-key header",1992   "beta_header": null,1993   "host": "https://generativelanguage.googleapis.com",1994   "host_note": "generativelanguage.googleapis.com, version prefix in path",1995   "request": {1996    "content_type": "application/json",1997    "body_ref": "Agent",1998    "path_params": [],1999    "query_params": [],2000    "header_params": [2001     {2002      "name": "x-goog-api-key",2003      "required": true,2004      "description": "Gemini API key (never in the URL)."2005     },2006     {2007      "name": "Content-Type",2008      "required": true,2009      "description": "application/json"2010     }2011    ]2012   },2013   "response": {2014    "success_status": 200,2015    "content_type": "application/json",2016    "body_ref": "Agent",2017    "error_statuses": [2018     400,2019     401,2020     403,2021     404,2022     429,2023     500,2024     5032025    ]2026   },2027   "streaming": {2028    "supported": false,2029    "events_ref": null,2030    "note": null2031   },2032   "pagination": null,2033   "idempotency": "no (id must be unique)",2034   "sdk": {2035    "python": "client.agents.create(id=..., base_agent=..., system_instruction=..., base_environment={...}, agent_config={...}, tools=[...])",2036    "node": "ai.agents.create({id, base_agent, system_instruction, base_environment, agent_config, tools})"2037   },2038   "relations": [2039    "POST /v1beta/interactions (agent=<id>)"2040   ],2041   "verification": {2042    "method": "docs_only",2043    "verified_at": "2026-09-18",2044    "result": "not_tested",2045    "http_status": null,2046    "request_note": "not exercised in the 2026-09-18 run (docs only)"2047   },2048   "sources": [2049    {2050     "url": "https://ai.google.dev/api/interactions",2051     "retrieved_at": "2026-09-18"2052    },2053    {2054     "url": "https://ai.google.dev/gemini-api/docs/custom-agents",2055     "retrieved_at": "2026-09-18"2056    },2057    {2058     "url": "https://ai.google.dev/gemini-api/docs/managed-agents-quickstart",2059     "retrieved_at": "2026-09-18"2060    }2061   ]2062  },2063  {2064   "provider": "gemini",2065   "api_family": "agents",2066   "method": "GET",2067   "path": "/v1beta/agents",2068   "name": "List agents",2069   "description": "Lists managed agents of the project (SDK exposes page_size/page_token).",2070   "status": [2071    "DOCUMENTED",2072    "BETA",2073    "PREVIEW"2074   ],2075   "auth": "x-goog-api-key header",2076   "beta_header": null,2077   "host": "https://generativelanguage.googleapis.com",2078   "host_note": "generativelanguage.googleapis.com, version prefix in path",2079   "request": {2080    "content_type": null,2081    "body_ref": null,2082    "path_params": [],2083    "query_params": [2084     {2085      "name": "page_size",2086      "type": "integer",2087      "note": "from SDK ListAgentsParams"2088     },2089     {2090      "name": "page_token",2091      "type": "string"2092     }2093    ],2094    "header_params": [2095     {2096      "name": "x-goog-api-key",2097      "required": true,2098      "description": "Gemini API key (never in the URL)."2099     }2100    ]2101   },2102   "response": {2103    "success_status": 200,2104    "content_type": "application/json",2105    "body_ref": "AgentListResponse {agents[], next_page_token?}",2106    "error_statuses": [2107     400,2108     401,2109     403,2110     404,2111     429,2112     500,2113     5032114    ]2115   },2116   "streaming": {2117    "supported": false,2118    "events_ref": null,2119    "note": null2120   },2121   "pagination": {2122    "style": "page_token (per SDK)",2123    "request": [2124     "page_size",2125     "page_token"2126    ]2127   },2128   "idempotency": "safe (GET)",2129   "sdk": {2130    "python": "client.agents.list()",2131    "node": "ai.agents.list()"2132   },2133   "relations": [],2134   "verification": {2135    "method": "docs_only",2136    "verified_at": "2026-09-18",2137    "result": "not_tested",2138    "http_status": null,2139    "request_note": "not exercised in the 2026-09-18 run (docs only)"2140   },2141   "sources": [2142    {2143     "url": "https://ai.google.dev/gemini-api/docs/custom-agents",2144     "retrieved_at": "2026-09-18"2145    }2146   ]2147  },2148  {2149   "provider": "gemini",2150   "api_family": "agents",2151   "method": "GET",2152   "path": "/v1beta/agents/{id}",2153   "name": "Get agent",2154   "description": "Gets a managed agent definition.",2155   "status": [2156    "DOCUMENTED",2157    "BETA",2158    "PREVIEW"2159   ],2160   "auth": "x-goog-api-key header",2161   "beta_header": null,2162   "host": "https://generativelanguage.googleapis.com",2163   "host_note": "generativelanguage.googleapis.com, version prefix in path",2164   "request": {2165    "content_type": null,2166    "body_ref": null,2167    "path_params": [2168     {2169      "name": "id",2170      "required": true2171     }2172    ],2173    "query_params": [],2174    "header_params": [2175     {2176      "name": "x-goog-api-key",2177      "required": true,2178      "description": "Gemini API key (never in the URL)."2179     }2180    ]2181   },2182   "response": {2183    "success_status": 200,2184    "content_type": "application/json",2185    "body_ref": "Agent",2186    "error_statuses": [2187     400,2188     401,2189     403,2190     404,2191     429,2192     500,2193     5032194    ]2195   },2196   "streaming": {2197    "supported": false,2198    "events_ref": null,2199    "note": null2200   },2201   "pagination": null,2202   "idempotency": "safe (GET)",2203   "sdk": {2204    "python": "client.agents.get(id=...)",2205    "node": "ai.agents.get(id)"2206   },2207   "relations": [],2208   "verification": {2209    "method": "docs_only",2210    "verified_at": "2026-09-18",2211    "result": "not_tested",2212    "http_status": null,2213    "request_note": "not exercised in the 2026-09-18 run (docs only)"2214   },2215   "sources": [2216    {2217     "url": "https://ai.google.dev/gemini-api/docs/custom-agents",2218     "retrieved_at": "2026-09-18"2219    }2220   ]2221  },2222  {2223   "provider": "gemini",2224   "api_family": "agents",2225   "method": "DELETE",2226   "path": "/v1beta/agents/{id}",2227   "name": "Delete agent",2228   "description": "Deletes the agent configuration. Existing environments and interactions created by the agent are not affected.",2229   "status": [2230    "DOCUMENTED",2231    "BETA",2232    "PREVIEW"2233   ],2234   "auth": "x-goog-api-key header",2235   "beta_header": null,2236   "host": "https://generativelanguage.googleapis.com",2237   "host_note": "generativelanguage.googleapis.com, version prefix in path",2238   "request": {2239    "content_type": null,2240    "body_ref": null,2241    "path_params": [2242     {2243      "name": "id",2244      "required": true2245     }2246    ],2247    "query_params": [],2248    "header_params": [2249     {2250      "name": "x-goog-api-key",2251      "required": true,2252      "description": "Gemini API key (never in the URL)."2253     }2254    ]2255   },2256   "response": {2257    "success_status": 200,2258    "content_type": "application/json",2259    "body_ref": "Empty",2260    "error_statuses": [2261     400,2262     401,2263     403,2264     404,2265     429,2266     500,2267     5032268    ]2269   },2270   "streaming": {2271    "supported": false,2272    "events_ref": null,2273    "note": null2274   },2275   "pagination": null,2276   "idempotency": "second call 404",2277   "sdk": {2278    "python": "client.agents.delete(id=...)",2279    "node": "ai.agents.delete(id)"2280   },2281   "relations": [],2282   "verification": {2283    "method": "docs_only",2284    "verified_at": "2026-09-18",2285    "result": "not_tested",2286    "http_status": null,2287    "request_note": "not exercised in the 2026-09-18 run (docs only)"2288   },2289   "sources": [2290    {2291     "url": "https://ai.google.dev/gemini-api/docs/custom-agents",2292     "retrieved_at": "2026-09-18"2293    }2294   ]2295  },2296  {2297   "provider": "gemini",2298   "api_family": "triggers",2299   "method": "POST",2300   "path": "/v1beta/triggers",2301   "name": "Create trigger (cron-scheduled agent run)",2302   "description": "Binds an agent interaction request (`interaction` = CreateInteractionRequest), a cron `schedule` and `time_zone` into a persistent resource that fires unattended; every execution reuses the same environment. Optional display_name, max_consecutive_failures (default 5 → auto-pause), execution_timeout_seconds (default 600). Starts `active`.",2303   "status": [2304    "DOCUMENTED",2305    "BETA",2306    "PREVIEW"2307   ],2308   "auth": "x-goog-api-key header",2309   "beta_header": null,2310   "host": "https://generativelanguage.googleapis.com",2311   "host_note": "generativelanguage.googleapis.com, version prefix in path",2312   "request": {2313    "content_type": "application/json",2314    "body_ref": "CreateTriggerRequest",2315    "path_params": [],2316    "query_params": [],2317    "header_params": [2318     {2319      "name": "x-goog-api-key",2320      "required": true,2321      "description": "Gemini API key (never in the URL)."2322     },2323     {2324      "name": "Content-Type",2325      "required": true,2326      "description": "application/json"2327     }2328    ]2329   },2330   "response": {2331    "success_status": 200,2332    "content_type": "application/json",2333    "body_ref": "Trigger",2334    "error_statuses": [2335     400,2336     401,2337     403,2338     404,2339     429,2340     500,2341     5032342    ]2343   },2344   "streaming": {2345    "supported": false,2346    "events_ref": null,2347    "note": null2348   },2349   "pagination": null,2350   "idempotency": null,2351   "sdk": {2352    "python": "client.triggers.create(schedule=..., time_zone=..., interaction={...})",2353    "node": "ai.triggers.create({schedule, time_zone, interaction})"2354   },2355   "relations": [2356    "POST /v1beta/interactions",2357    "credentials"2358   ],2359   "verification": {2360    "method": "docs_only",2361    "verified_at": "2026-09-18",2362    "result": "not_tested",2363    "http_status": null,2364    "request_note": "not exercised in the 2026-09-18 run (docs only)"2365   },2366   "sources": [2367    {2368     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2369     "retrieved_at": "2026-09-18"2370    }2371   ]2372  },2373  {2374   "provider": "gemini",2375   "api_family": "triggers",2376   "method": "GET",2377   "path": "/v1beta/triggers",2378   "name": "List triggers",2379   "description": "Lists all triggers of the project.",2380   "status": [2381    "DOCUMENTED",2382    "BETA",2383    "PREVIEW"2384   ],2385   "auth": "x-goog-api-key header",2386   "beta_header": null,2387   "host": "https://generativelanguage.googleapis.com",2388   "host_note": "generativelanguage.googleapis.com, version prefix in path",2389   "request": {2390    "content_type": null,2391    "body_ref": null,2392    "path_params": [],2393    "query_params": [2394     {2395      "name": "page_size"2396     },2397     {2398      "name": "page_token"2399     }2400    ],2401    "header_params": [2402     {2403      "name": "x-goog-api-key",2404      "required": true,2405      "description": "Gemini API key (never in the URL)."2406     }2407    ]2408   },2409   "response": {2410    "success_status": 200,2411    "content_type": "application/json",2412    "body_ref": "ListTriggersResponse",2413    "error_statuses": [2414     400,2415     401,2416     403,2417     404,2418     429,2419     500,2420     5032421    ]2422   },2423   "streaming": {2424    "supported": false,2425    "events_ref": null,2426    "note": null2427   },2428   "pagination": {2429    "style": "page_token (per SDK)"2430   },2431   "idempotency": "safe (GET)",2432   "sdk": {2433    "python": "client.triggers.list()",2434    "node": "ai.triggers.list()"2435   },2436   "relations": [],2437   "verification": {2438    "method": "docs_only",2439    "verified_at": "2026-09-18",2440    "result": "not_tested",2441    "http_status": null,2442    "request_note": "not exercised in the 2026-09-18 run (docs only)"2443   },2444   "sources": [2445    {2446     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2447     "retrieved_at": "2026-09-18"2448    }2449   ]2450  },2451  {2452   "provider": "gemini",2453   "api_family": "triggers",2454   "method": "GET",2455   "path": "/v1beta/triggers/{id}",2456   "name": "Get trigger",2457   "description": "Fetches full configuration and current state of a trigger.",2458   "status": [2459    "DOCUMENTED",2460    "BETA",2461    "PREVIEW"2462   ],2463   "auth": "x-goog-api-key header",2464   "beta_header": null,2465   "host": "https://generativelanguage.googleapis.com",2466   "host_note": "generativelanguage.googleapis.com, version prefix in path",2467   "request": {2468    "content_type": null,2469    "body_ref": null,2470    "path_params": [2471     {2472      "name": "id",2473      "required": true2474     }2475    ],2476    "query_params": [],2477    "header_params": [2478     {2479      "name": "x-goog-api-key",2480      "required": true,2481      "description": "Gemini API key (never in the URL)."2482     }2483    ]2484   },2485   "response": {2486    "success_status": 200,2487    "content_type": "application/json",2488    "body_ref": "Trigger",2489    "error_statuses": [2490     400,2491     401,2492     403,2493     404,2494     429,2495     500,2496     5032497    ]2498   },2499   "streaming": {2500    "supported": false,2501    "events_ref": null,2502    "note": null2503   },2504   "pagination": null,2505   "idempotency": "safe (GET)",2506   "sdk": {2507    "python": "client.triggers.get(id=...)",2508    "node": "ai.triggers.get(id)"2509   },2510   "relations": [],2511   "verification": {2512    "method": "docs_only",2513    "verified_at": "2026-09-18",2514    "result": "not_tested",2515    "http_status": null,2516    "request_note": "not exercised in the 2026-09-18 run (docs only)"2517   },2518   "sources": [2519    {2520     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2521     "retrieved_at": "2026-09-18"2522    }2523   ]2524  },2525  {2526   "provider": "gemini",2527   "api_family": "triggers",2528   "method": "PATCH",2529   "path": "/v1beta/triggers/{id}",2530   "name": "Update trigger (pause / resume)",2531   "description": "Updates a trigger; documented use is `{\"status\": \"paused\"}` / `{\"status\": \"active\"}`. Pausing does not affect manual executions.",2532   "status": [2533    "DOCUMENTED",2534    "BETA",2535    "PREVIEW"2536   ],2537   "auth": "x-goog-api-key header",2538   "beta_header": null,2539   "host": "https://generativelanguage.googleapis.com",2540   "host_note": "generativelanguage.googleapis.com, version prefix in path",2541   "request": {2542    "content_type": "application/json",2543    "body_ref": "UpdateTriggerRequest (status, ...)",2544    "path_params": [2545     {2546      "name": "id",2547      "required": true2548     }2549    ],2550    "query_params": [],2551    "header_params": [2552     {2553      "name": "x-goog-api-key",2554      "required": true,2555      "description": "Gemini API key (never in the URL)."2556     },2557     {2558      "name": "Content-Type",2559      "required": true,2560      "description": "application/json"2561     }2562    ]2563   },2564   "response": {2565    "success_status": 200,2566    "content_type": "application/json",2567    "body_ref": "Trigger",2568    "error_statuses": [2569     400,2570     401,2571     403,2572     404,2573     429,2574     500,2575     5032576    ]2577   },2578   "streaming": {2579    "supported": false,2580    "events_ref": null,2581    "note": null2582   },2583   "pagination": null,2584   "idempotency": null,2585   "sdk": {2586    "python": "client.triggers.update(id=..., status='paused')",2587    "node": "ai.triggers.update(id, {status: 'paused'})"2588   },2589   "relations": [],2590   "verification": {2591    "method": "docs_only",2592    "verified_at": "2026-09-18",2593    "result": "not_tested",2594    "http_status": null,2595    "request_note": "not exercised in the 2026-09-18 run (docs only)"2596   },2597   "sources": [2598    {2599     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2600     "retrieved_at": "2026-09-18"2601    }2602   ]2603  },2604  {2605   "provider": "gemini",2606   "api_family": "triggers",2607   "method": "DELETE",2608   "path": "/v1beta/triggers/{id}",2609   "name": "Delete trigger",2610   "description": "Permanently removes a trigger; past execution history is not deleted.",2611   "status": [2612    "DOCUMENTED",2613    "BETA",2614    "PREVIEW"2615   ],2616   "auth": "x-goog-api-key header",2617   "beta_header": null,2618   "host": "https://generativelanguage.googleapis.com",2619   "host_note": "generativelanguage.googleapis.com, version prefix in path",2620   "request": {2621    "content_type": null,2622    "body_ref": null,2623    "path_params": [2624     {2625      "name": "id",2626      "required": true2627     }2628    ],2629    "query_params": [],2630    "header_params": [2631     {2632      "name": "x-goog-api-key",2633      "required": true,2634      "description": "Gemini API key (never in the URL)."2635     }2636    ]2637   },2638   "response": {2639    "success_status": 200,2640    "content_type": "application/json",2641    "body_ref": "Empty",2642    "error_statuses": [2643     400,2644     401,2645     403,2646     404,2647     429,2648     500,2649     5032650    ]2651   },2652   "streaming": {2653    "supported": false,2654    "events_ref": null,2655    "note": null2656   },2657   "pagination": null,2658   "idempotency": null,2659   "sdk": {2660    "python": "client.triggers.delete(id=...)",2661    "node": "ai.triggers.delete(id)"2662   },2663   "relations": [],2664   "verification": {2665    "method": "docs_only",2666    "verified_at": "2026-09-18",2667    "result": "not_tested",2668    "http_status": null,2669    "request_note": "not exercised in the 2026-09-18 run (docs only)"2670   },2671   "sources": [2672    {2673     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2674     "retrieved_at": "2026-09-18"2675    }2676   ]2677  },2678  {2679   "provider": "gemini",2680   "api_family": "triggers",2681   "method": "POST",2682   "path": "/v1beta/triggers/{id}/executions",2683   "name": "Run trigger now",2684   "description": "Fires the trigger immediately (works even when paused). Returns a TriggerExecution.",2685   "status": [2686    "DOCUMENTED",2687    "BETA",2688    "PREVIEW"2689   ],2690   "auth": "x-goog-api-key header",2691   "beta_header": null,2692   "host": "https://generativelanguage.googleapis.com",2693   "host_note": "generativelanguage.googleapis.com, version prefix in path",2694   "request": {2695    "content_type": null,2696    "body_ref": null,2697    "path_params": [2698     {2699      "name": "id",2700      "required": true2701     }2702    ],2703    "query_params": [],2704    "header_params": [2705     {2706      "name": "x-goog-api-key",2707      "required": true,2708      "description": "Gemini API key (never in the URL)."2709     }2710    ]2711   },2712   "response": {2713    "success_status": 200,2714    "content_type": "application/json",2715    "body_ref": "TriggerExecution",2716    "error_statuses": [2717     400,2718     401,2719     403,2720     404,2721     429,2722     500,2723     5032724    ]2725   },2726   "streaming": {2727    "supported": false,2728    "events_ref": null,2729    "note": null2730   },2731   "pagination": null,2732   "idempotency": null,2733   "sdk": {2734    "python": "client.triggers.run(trigger_id=...)",2735    "node": "ai.triggers.run(trigger_id)"2736   },2737   "relations": [],2738   "verification": {2739    "method": "docs_only",2740    "verified_at": "2026-09-18",2741    "result": "not_tested",2742    "http_status": null,2743    "request_note": "not exercised in the 2026-09-18 run (docs only)"2744   },2745   "sources": [2746    {2747     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2748     "retrieved_at": "2026-09-18"2749    }2750   ]2751  },2752  {2753   "provider": "gemini",2754   "api_family": "triggers",2755   "method": "GET",2756   "path": "/v1beta/triggers/{id}/executions",2757   "name": "List trigger executions",2758   "description": "Execution history: each execution has status, timestamps, `interaction_id` (fetch output via GET /interactions/{id}) and `environment_id`.",2759   "status": [2760    "DOCUMENTED",2761    "BETA",2762    "PREVIEW"2763   ],2764   "auth": "x-goog-api-key header",2765   "beta_header": null,2766   "host": "https://generativelanguage.googleapis.com",2767   "host_note": "generativelanguage.googleapis.com, version prefix in path",2768   "request": {2769    "content_type": null,2770    "body_ref": null,2771    "path_params": [2772     {2773      "name": "id",2774      "required": true2775     }2776    ],2777    "query_params": [2778     {2779      "name": "page_size"2780     },2781     {2782      "name": "page_token"2783     }2784    ],2785    "header_params": [2786     {2787      "name": "x-goog-api-key",2788      "required": true,2789      "description": "Gemini API key (never in the URL)."2790     }2791    ]2792   },2793   "response": {2794    "success_status": 200,2795    "content_type": "application/json",2796    "body_ref": "ListTriggerExecutionsResponse",2797    "error_statuses": [2798     400,2799     401,2800     403,2801     404,2802     429,2803     500,2804     5032805    ]2806   },2807   "streaming": {2808    "supported": false,2809    "events_ref": null,2810    "note": null2811   },2812   "pagination": null,2813   "idempotency": "safe (GET)",2814   "sdk": {2815    "python": "client.triggers.list_executions(trigger_id=...)",2816    "node": "ai.triggers.listExecutions(trigger_id)"2817   },2818   "relations": [],2819   "verification": {2820    "method": "docs_only",2821    "verified_at": "2026-09-18",2822    "result": "not_tested",2823    "http_status": null,2824    "request_note": "not exercised in the 2026-09-18 run (docs only)"2825   },2826   "sources": [2827    {2828     "url": "https://ai.google.dev/gemini-api/docs/antigravity-agent",2829     "retrieved_at": "2026-09-18"2830    }2831   ]2832  },2833  {2834   "provider": "gemini",2835   "api_family": "webhooks",2836   "method": "POST",2837   "path": "/v1/webhooks",2838   "name": "Create webhook",2839   "description": "Registers a webhook endpoint {name, uri, subscribed_events[]}. The signing secret is returned ONCE in the create response. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",2840   "status": [2841    "DOCUMENTED",2842    "BETA"2843   ],2844   "auth": "x-goog-api-key header",2845   "beta_header": null,2846   "host": "https://generativelanguage.googleapis.com",2847   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",2848   "request": {2849    "content_type": "application/json",2850    "body_ref": "CreateWebhookRequest {name, uri, subscribed_events[]}",2851    "path_params": [],2852    "query_params": [],2853    "header_params": [2854     {2855      "name": "x-goog-api-key",2856      "required": true,2857      "description": "Gemini API key (never in the URL)."2858     },2859     {2860      "name": "Content-Type",2861      "required": true,2862      "description": "application/json"2863     }2864    ]2865   },2866   "response": {2867    "success_status": 200,2868    "content_type": "application/json",2869    "body_ref": "Webhook",2870    "error_statuses": [2871     400,2872     401,2873     403,2874     404,2875     429,2876     500,2877     5032878    ]2879   },2880   "streaming": {2881    "supported": false,2882    "events_ref": null,2883    "note": null2884   },2885   "pagination": null,2886   "idempotency": null,2887   "sdk": {2888    "python": "client.webhooks.create(name=..., uri=..., subscribed_events=[...])",2889    "node": "ai.webhooks.create({name, uri, subscribed_events})"2890   },2891   "relations": [],2892   "verification": {2893    "method": "docs_only",2894    "verified_at": "2026-09-18",2895    "result": "not_tested",2896    "http_status": null,2897    "request_note": "not exercised in the 2026-09-18 run (docs only)"2898   },2899   "sources": [2900    {2901     "url": "https://ai.google.dev/gemini-api/docs/webhooks",2902     "retrieved_at": "2026-09-18"2903    }2904   ]2905  },2906  {2907   "provider": "gemini",2908   "api_family": "webhooks",2909   "method": "GET",2910   "path": "/v1/webhooks",2911   "name": "List webhooks",2912   "description": "Lists project webhooks. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",2913   "status": [2914    "DOCUMENTED",2915    "BETA"2916   ],2917   "auth": "x-goog-api-key header",2918   "beta_header": null,2919   "host": "https://generativelanguage.googleapis.com",2920   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",2921   "request": {2922    "content_type": null,2923    "body_ref": null,2924    "path_params": [],2925    "query_params": [],2926    "header_params": [2927     {2928      "name": "x-goog-api-key",2929      "required": true,2930      "description": "Gemini API key (never in the URL)."2931     }2932    ]2933   },2934   "response": {2935    "success_status": 200,2936    "content_type": "application/json",2937    "body_ref": "WebhookListResponse",2938    "error_statuses": [2939     400,2940     401,2941     403,2942     404,2943     429,2944     500,2945     5032946    ]2947   },2948   "streaming": {2949    "supported": false,2950    "events_ref": null,2951    "note": null2952   },2953   "pagination": null,2954   "idempotency": null,2955   "sdk": {2956    "python": "client.webhooks.list()",2957    "node": "ai.webhooks.list()"2958   },2959   "relations": [],2960   "verification": {2961    "method": "docs_only",2962    "verified_at": "2026-09-18",2963    "result": "not_tested",2964    "http_status": null,2965    "request_note": "not exercised in the 2026-09-18 run (docs only)"2966   },2967   "sources": [2968    {2969     "url": "https://ai.google.dev/gemini-api/docs/webhooks",2970     "retrieved_at": "2026-09-18"2971    }2972   ]2973  },2974  {2975   "provider": "gemini",2976   "api_family": "webhooks",2977   "method": "GET",2978   "path": "/v1/webhooks/{id}",2979   "name": "Get webhook",2980   "description": "Gets a webhook. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",2981   "status": [2982    "DOCUMENTED",2983    "BETA"2984   ],2985   "auth": "x-goog-api-key header",2986   "beta_header": null,2987   "host": "https://generativelanguage.googleapis.com",2988   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",2989   "request": {2990    "content_type": null,2991    "body_ref": null,2992    "path_params": [2993     {2994      "name": "id",2995      "required": true2996     }2997    ],2998    "query_params": [],2999    "header_params": [3000     {3001      "name": "x-goog-api-key",3002      "required": true,3003      "description": "Gemini API key (never in the URL)."3004     }3005    ]3006   },3007   "response": {3008    "success_status": 200,3009    "content_type": "application/json",3010    "body_ref": "Webhook",3011    "error_statuses": [3012     400,3013     401,3014     403,3015     404,3016     429,3017     500,3018     5033019    ]3020   },3021   "streaming": {3022    "supported": false,3023    "events_ref": null,3024    "note": null3025   },3026   "pagination": null,3027   "idempotency": null,3028   "sdk": {3029    "python": "client.webhooks.get(id=...)",3030    "node": "ai.webhooks.get(id)"3031   },3032   "relations": [],3033   "verification": {3034    "method": "docs_only",3035    "verified_at": "2026-09-18",3036    "result": "not_tested",3037    "http_status": null,3038    "request_note": "not exercised in the 2026-09-18 run (docs only)"3039   },3040   "sources": [3041    {3042     "url": "https://ai.google.dev/gemini-api/docs/webhooks",3043     "retrieved_at": "2026-09-18"3044    }3045   ]3046  },3047  {3048   "provider": "gemini",3049   "api_family": "webhooks",3050   "method": "PATCH",3051   "path": "/v1/webhooks/{id}",3052   "name": "Update webhook",3053   "description": "Updates e.g. `subscribed_events`. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",3054   "status": [3055    "DOCUMENTED",3056    "BETA"3057   ],3058   "auth": "x-goog-api-key header",3059   "beta_header": null,3060   "host": "https://generativelanguage.googleapis.com",3061   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",3062   "request": {3063    "content_type": "application/json",3064    "body_ref": "UpdateWebhookRequest",3065    "path_params": [3066     {3067      "name": "id",3068      "required": true3069     }3070    ],3071    "query_params": [],3072    "header_params": [3073     {3074      "name": "x-goog-api-key",3075      "required": true,3076      "description": "Gemini API key (never in the URL)."3077     },3078     {3079      "name": "Content-Type",3080      "required": true,3081      "description": "application/json"3082     }3083    ]3084   },3085   "response": {3086    "success_status": 200,3087    "content_type": "application/json",3088    "body_ref": "Webhook",3089    "error_statuses": [3090     400,3091     401,3092     403,3093     404,3094     429,3095     500,3096     5033097    ]3098   },3099   "streaming": {3100    "supported": false,3101    "events_ref": null,3102    "note": null3103   },3104   "pagination": null,3105   "idempotency": null,3106   "sdk": {3107    "python": "client.webhooks.update(id=..., subscribed_events=[...])",3108    "node": "ai.webhooks.update(id, {subscribed_events})"3109   },3110   "relations": [],3111   "verification": {3112    "method": "docs_only",3113    "verified_at": "2026-09-18",3114    "result": "not_tested",3115    "http_status": null,3116    "request_note": "not exercised in the 2026-09-18 run (docs only)"3117   },3118   "sources": [3119    {3120     "url": "https://ai.google.dev/gemini-api/docs/webhooks",3121     "retrieved_at": "2026-09-18"3122    }3123   ]3124  },3125  {3126   "provider": "gemini",3127   "api_family": "webhooks",3128   "method": "DELETE",3129   "path": "/v1/webhooks/{id}",3130   "name": "Delete webhook",3131   "description": "Deletes a webhook. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",3132   "status": [3133    "DOCUMENTED",3134    "BETA"3135   ],3136   "auth": "x-goog-api-key header",3137   "beta_header": null,3138   "host": "https://generativelanguage.googleapis.com",3139   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",3140   "request": {3141    "content_type": null,3142    "body_ref": null,3143    "path_params": [3144     {3145      "name": "id",3146      "required": true3147     }3148    ],3149    "query_params": [],3150    "header_params": [3151     {3152      "name": "x-goog-api-key",3153      "required": true,3154      "description": "Gemini API key (never in the URL)."3155     }3156    ]3157   },3158   "response": {3159    "success_status": 200,3160    "content_type": "application/json",3161    "body_ref": "Empty",3162    "error_statuses": [3163     400,3164     401,3165     403,3166     404,3167     429,3168     500,3169     5033170    ]3171   },3172   "streaming": {3173    "supported": false,3174    "events_ref": null,3175    "note": null3176   },3177   "pagination": null,3178   "idempotency": null,3179   "sdk": {3180    "python": "client.webhooks.delete(id=...)",3181    "node": "ai.webhooks.delete(id)"3182   },3183   "relations": [],3184   "verification": {3185    "method": "docs_only",3186    "verified_at": "2026-09-18",3187    "result": "not_tested",3188    "http_status": null,3189    "request_note": "not exercised in the 2026-09-18 run (docs only)"3190   },3191   "sources": [3192    {3193     "url": "https://ai.google.dev/gemini-api/docs/webhooks",3194     "retrieved_at": "2026-09-18"3195    }3196   ]3197  },3198  {3199   "provider": "gemini",3200   "api_family": "webhooks",3201   "method": "POST",3202   "path": "/v1/webhooks/{id}/rotate_secret",3203   "name": "Rotate webhook signing secret",3204   "description": "Rotates the signing secret; body `{\"revocation_behavior\": \"REVOKE_PREVIOUS_SECRETS_AFTER_H24\"}`. Static project-level webhooks (WebhookService). Shared with Batch and video LROs; interaction events: interaction.requires_action, interaction.completed, interaction.failed, interaction.cancelled. Documented on the **/v1** prefix. Dynamic (per-request) webhooks use `webhook_config` on POST /v1beta/interactions instead.",3205   "status": [3206    "DOCUMENTED",3207    "BETA"3208   ],3209   "auth": "x-goog-api-key header",3210   "beta_header": null,3211   "host": "https://generativelanguage.googleapis.com",3212   "host_note": "generativelanguage.googleapis.com/v1 (per docs)",3213   "request": {3214    "content_type": "application/json",3215    "body_ref": "RotateSigningSecretRequest {revocation_behavior}",3216    "path_params": [3217     {3218      "name": "id",3219      "required": true3220     }3221    ],3222    "query_params": [],3223    "header_params": [3224     {3225      "name": "x-goog-api-key",3226      "required": true,3227      "description": "Gemini API key (never in the URL)."3228     },3229     {3230      "name": "Content-Type",3231      "required": true,3232      "description": "application/json"3233     }3234    ]3235   },3236   "response": {3237    "success_status": 200,3238    "content_type": "application/json",3239    "body_ref": "WebhookRotateSigningSecretResponse",3240    "error_statuses": [3241     400,3242     401,3243     403,3244     404,3245     429,3246     500,3247     5033248    ]3249   },3250   "streaming": {3251    "supported": false,3252    "events_ref": null,3253    "note": null3254   },3255   "pagination": null,3256   "idempotency": null,3257   "sdk": {3258    "python": "client.webhooks.rotate_signing_secret(id=...)",3259    "node": "ai.webhooks.rotateSigningSecret(id)"3260   },3261   "relations": [],3262   "verification": {3263    "method": "docs_only",3264    "verified_at": "2026-09-18",3265    "result": "not_tested",3266    "http_status": null,3267    "request_note": "not exercised in the 2026-09-18 run (docs only)"3268   },3269   "sources": [3270    {3271     "url": "https://ai.google.dev/gemini-api/docs/webhooks",3272     "retrieved_at": "2026-09-18"3273    }3274   ]3275  },3276  {3277   "provider": "gemini",3278   "api_family": "webhooks",3279   "method": "POST",3280   "path": "/v1/webhooks/{id}:ping",3281   "name": "Ping webhook (SDK-only)",3282   "description": "Present in google-genai (`client.webhooks.ping`) and @google/genai (`webhooks.ping`) but not in the downloaded docs; exact REST path UNVERIFIED (guessed `:ping`).",3283   "status": [3284    "UNVERIFIED",3285    "DOCUMENTATION_INCOMPLETE"3286   ],3287   "auth": "x-goog-api-key header",3288   "beta_header": null,3289   "host": "https://generativelanguage.googleapis.com",3290   "host_note": "unknown (SDK-only)",3291   "request": {3292    "content_type": "application/json",3293    "body_ref": "PingWebhookRequest",3294    "path_params": [3295     {3296      "name": "id",3297      "required": true3298     }3299    ],3300    "query_params": [],3301    "header_params": [3302     {3303      "name": "x-goog-api-key",3304      "required": true,3305      "description": "Gemini API key (never in the URL)."3306     }3307    ]3308   },3309   "response": {3310    "success_status": 200,3311    "content_type": "application/json",3312    "body_ref": "WebhookPingResponse",3313    "error_statuses": [3314     400,3315     401,3316     403,3317     404,3318     429,3319     500,3320     5033321    ]3322   },3323   "streaming": {3324    "supported": false,3325    "events_ref": null,3326    "note": null3327   },3328   "pagination": null,3329   "idempotency": null,3330   "sdk": {3331    "python": "client.webhooks.ping(id=...)",3332    "node": "ai.webhooks.ping(id)"3333   },3334   "relations": [],3335   "verification": {3336    "method": "docs_only",3337    "verified_at": "2026-09-18",3338    "result": "not_tested",3339    "http_status": null,3340    "request_note": "not exercised in the 2026-09-18 run (docs only)"3341   },3342   "sources": [3343    {3344     "url": "https://ai.google.dev/gemini-api/docs/webhooks",3345     "retrieved_at": "2026-09-18"3346    }3347   ]3348  },3349  {3350   "provider": "gemini",3351   "api_family": "environments",3352   "method": "POST",3353   "path": "/v1beta/environments",3354   "name": "Create environment (sandbox)",3355   "description": "Creates a managed Linux sandbox (Ubuntu, Python 3.12, Node 22; 4 vCPU / 16 GB) without starting an interaction. Body (REST page, snake_case): sources[], network (allowlist object | 'disabled'), from_environment (fork; sources/env must then be empty). Discovery doc (camelCase): sources, networkMode (DISABLED), networkAllowlist, fromEnvironment; flatPath `v1beta/environments:create` (custom verb) — REST page shows plain `POST /v1beta/environments`. Both forms recorded; UNVERIFIED which the server prefers.",3356   "status": [3357    "DOCUMENTED",3358    "BETA",3359    "PREVIEW",3360    "LIVE_VERIFIED"3361   ],3362   "auth": "x-goog-api-key header",3363   "beta_header": null,3364   "host": "https://generativelanguage.googleapis.com",3365   "host_note": "generativelanguage.googleapis.com, version prefix in path",3366   "request": {3367    "content_type": "application/json",3368    "body_ref": "CreateEnvironmentRequest",3369    "path_params": [],3370    "query_params": [],3371    "header_params": [3372     {3373      "name": "x-goog-api-key",3374      "required": true,3375      "description": "Gemini API key (never in the URL)."3376     },3377     {3378      "name": "Content-Type",3379      "required": true,3380      "description": "application/json"3381     }3382    ],3383    "alt_paths": [3384     "/v1beta/environments:create (discovery flatPath)"3385    ]3386   },3387   "response": {3388    "success_status": 200,3389    "content_type": "application/json",3390    "body_ref": "Environment",3391    "error_statuses": [3392     400,3393     401,3394     403,3395     404,3396     429,3397     500,3398     5033399    ]3400   },3401   "streaming": {3402    "supported": false,3403    "events_ref": null,3404    "note": null3405   },3406   "pagination": null,3407   "idempotency": null,3408   "sdk": {3409    "python": "client.environments.create(...) (gaos: create_environment)",3410    "node": "ai.environments.createEnvironment(body)"3411   },3412   "relations": [3413    "POST /v1beta/interactions (environment=<id>)",3414    "PUT /upload/v1beta/environments/{environment}/files/{path}"3415   ],3416   "verification": {3417    "method": "live_api",3418    "verified_at": "2026-09-18",3419    "result": "success",3420    "http_status": 200,3421    "request_note": "env2: {} → 200 {id} (tmp-live/gemini-tools/env2_environment_create.json)"3422   },3423   "sources": [3424    {3425     "url": "https://ai.google.dev/api/environments",3426     "retrieved_at": "2026-09-18"3427    },3428    {3429     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3430     "retrieved_at": "2026-09-18"3431    },3432    {3433     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3434     "retrieved_at": "2026-09-18"3435    },3436    {3437     "url": "https://ai.google.dev/api/all-methods",3438     "retrieved_at": "2026-09-18"3439    }3440   ]3441  },3442  {3443   "provider": "gemini",3444   "api_family": "environments",3445   "method": "GET",3446   "path": "/v1beta/environments",3447   "name": "List environments",3448   "description": "Lists environments of the project. Query: REST page `page_size`/`page_token`; discovery doc `pageSize`/`pageToken` (guide curl uses `?pageSize=10`). Default 50, max 1000. Response {environments[], next_page_token|nextPageToken}. Discovery flatPath `v1beta/environments:list`.",3449   "status": [3450    "DOCUMENTED",3451    "BETA",3452    "PREVIEW",3453    "LIVE_VERIFIED"3454   ],3455   "auth": "x-goog-api-key header",3456   "beta_header": null,3457   "host": "https://generativelanguage.googleapis.com",3458   "host_note": "generativelanguage.googleapis.com, version prefix in path",3459   "request": {3460    "content_type": null,3461    "body_ref": null,3462    "path_params": [],3463    "query_params": [3464     {3465      "name": "page_size",3466      "alias": "pageSize",3467      "type": "integer",3468      "default": 50,3469      "maximum": 10003470     },3471     {3472      "name": "page_token",3473      "alias": "pageToken",3474      "type": "string"3475     }3476    ],3477    "header_params": [3478     {3479      "name": "x-goog-api-key",3480      "required": true,3481      "description": "Gemini API key (never in the URL)."3482     }3483    ],3484    "alt_paths": [3485     "/v1beta/environments:list (discovery flatPath)"3486    ]3487   },3488   "response": {3489    "success_status": 200,3490    "content_type": "application/json",3491    "body_ref": "ListEnvironmentsResponse",3492    "error_statuses": [3493     400,3494     401,3495     403,3496     404,3497     429,3498     500,3499     5033500    ]3501   },3502   "streaming": {3503    "supported": false,3504    "events_ref": null,3505    "note": null3506   },3507   "pagination": {3508    "style": "page_token",3509    "request": [3510     "page_size|pageSize",3511     "page_token|pageToken"3512    ],3513    "response": "next_page_token|nextPageToken",3514    "default_page_size": 50,3515    "max_page_size": 10003516   },3517   "idempotency": "safe (GET)",3518   "sdk": {3519    "python": "client.environments.list(page_size=10)",3520    "node": "ai.environments.list({page_size}) / environments.listEnvironments()"3521   },3522   "relations": [],3523   "verification": {3524    "method": "live_api",3525    "verified_at": "2026-09-18",3526    "result": "success",3527    "http_status": 200,3528    "request_note": "env1: → 200 {} (no environments); discovery spelling GET /v1beta/environments:list → 200 too (env6)"3529   },3530   "sources": [3531    {3532     "url": "https://ai.google.dev/api/environments",3533     "retrieved_at": "2026-09-18"3534    },3535    {3536     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3537     "retrieved_at": "2026-09-18"3538    },3539    {3540     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3541     "retrieved_at": "2026-09-18"3542    },3543    {3544     "url": "https://ai.google.dev/api/all-methods",3545     "retrieved_at": "2026-09-18"3546    }3547   ]3548  },3549  {3550   "provider": "gemini",3551   "api_family": "environments",3552   "method": "GET",3553   "path": "/v1beta/environments/{id}",3554   "name": "Get environment",3555   "description": "Gets environment metadata (id, status active|expired, created/updated/last_accessed, file_count, size_bytes, sources, network). Discovery flatPath `v1beta/environments/{id}:get`.",3556   "status": [3557    "DOCUMENTED",3558    "BETA",3559    "PREVIEW",3560    "LIVE_VERIFIED"3561   ],3562   "auth": "x-goog-api-key header",3563   "beta_header": null,3564   "host": "https://generativelanguage.googleapis.com",3565   "host_note": "generativelanguage.googleapis.com, version prefix in path",3566   "request": {3567    "content_type": null,3568    "body_ref": null,3569    "path_params": [3570     {3571      "name": "id",3572      "required": true3573     }3574    ],3575    "query_params": [],3576    "header_params": [3577     {3578      "name": "x-goog-api-key",3579      "required": true,3580      "description": "Gemini API key (never in the URL)."3581     }3582    ],3583    "alt_paths": [3584     "/v1beta/environments/{id}:get (discovery flatPath)"3585    ]3586   },3587   "response": {3588    "success_status": 200,3589    "content_type": "application/json",3590    "body_ref": "Environment",3591    "error_statuses": [3592     400,3593     401,3594     403,3595     404,3596     429,3597     500,3598     5033599    ]3600   },3601   "streaming": {3602    "supported": false,3603    "events_ref": null,3604    "note": null3605   },3606   "pagination": null,3607   "idempotency": "safe (GET)",3608   "sdk": {3609    "python": "client.environments.get(id=...)",3610    "node": "ai.environments.get(id) / environments.getEnvironment(id)"3611   },3612   "relations": [],3613   "verification": {3614    "method": "live_api",3615    "verified_at": "2026-09-18",3616    "result": "success",3617    "http_status": 200,3618    "request_note": "env3: {id, status: active, storage: {tier: free, project_used_bytes, project_limit_bytes: 1073741824}, file_count, size_bytes, created, updated}"3619   },3620   "sources": [3621    {3622     "url": "https://ai.google.dev/api/environments",3623     "retrieved_at": "2026-09-18"3624    },3625    {3626     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3627     "retrieved_at": "2026-09-18"3628    },3629    {3630     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3631     "retrieved_at": "2026-09-18"3632    },3633    {3634     "url": "https://ai.google.dev/api/all-methods",3635     "retrieved_at": "2026-09-18"3636    }3637   ]3638  },3639  {3640   "provider": "gemini",3641   "api_family": "environments",3642   "method": "DELETE",3643   "path": "/v1beta/environments/{id}",3644   "name": "Delete environment",3645   "description": "Explicitly terminates and deletes a sandbox (otherwise auto-deleted after 7 days idle TTL). Empty response. Discovery flatPath `v1beta/environments/{id}:delete`.",3646   "status": [3647    "DOCUMENTED",3648    "BETA",3649    "PREVIEW",3650    "LIVE_VERIFIED"3651   ],3652   "auth": "x-goog-api-key header",3653   "beta_header": null,3654   "host": "https://generativelanguage.googleapis.com",3655   "host_note": "generativelanguage.googleapis.com, version prefix in path",3656   "request": {3657    "content_type": null,3658    "body_ref": null,3659    "path_params": [3660     {3661      "name": "id",3662      "required": true3663     }3664    ],3665    "query_params": [],3666    "header_params": [3667     {3668      "name": "x-goog-api-key",3669      "required": true,3670      "description": "Gemini API key (never in the URL)."3671     }3672    ],3673    "alt_paths": [3674     "/v1beta/environments/{id}:delete (discovery flatPath)"3675    ]3676   },3677   "response": {3678    "success_status": 200,3679    "content_type": "application/json",3680    "body_ref": "Empty",3681    "error_statuses": [3682     400,3683     401,3684     403,3685     404,3686     429,3687     500,3688     5033689    ]3690   },3691   "streaming": {3692    "supported": false,3693    "events_ref": null,3694    "note": null3695   },3696   "pagination": null,3697   "idempotency": null,3698   "sdk": {3699    "python": "client.environments.delete(id=...)",3700    "node": "ai.environments.delete(id) / environments.deleteEnvironment(id)"3701   },3702   "relations": [],3703   "verification": {3704    "method": "live_api",3705    "verified_at": "2026-09-18",3706    "result": "success",3707    "http_status": 200,3708    "request_note": "env5: → 200 {}"3709   },3710   "sources": [3711    {3712     "url": "https://ai.google.dev/api/environments",3713     "retrieved_at": "2026-09-18"3714    },3715    {3716     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3717     "retrieved_at": "2026-09-18"3718    },3719    {3720     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3721     "retrieved_at": "2026-09-18"3722    },3723    {3724     "url": "https://ai.google.dev/api/all-methods",3725     "retrieved_at": "2026-09-18"3726    }3727   ]3728  },3729  {3730   "provider": "gemini",3731   "api_family": "environments",3732   "method": "GET",3733   "path": "/v1beta/environments/{environment}/files/{path}",3734   "name": "Get environment files (list directory / file metadata / download)",3735   "description": "Multi-mode endpoint on the environment snapshot. Without `alt`: JSON `{files[]}` — directory listing (immediate children, or all descendants with `recursive=true`) or single-entry file metadata. With `?alt=media`: raw file bytes for a file, or a POSIX tar (not gzipped) for a directory (`recursive=true` to include subdirectories). Empty `{path}` (i.e. `GET /v1beta/environments/{environment}/files`) = workspace root. Discovery id `environments.files.media.download` (`useMediaDownloadService`). 404 `not_found` if path missing.",3736   "status": [3737    "DOCUMENTED",3738    "BETA",3739    "PREVIEW",3740    "LIVE_VERIFIED"3741   ],3742   "auth": "x-goog-api-key header",3743   "beta_header": null,3744   "host": "https://generativelanguage.googleapis.com",3745   "host_note": "generativelanguage.googleapis.com, version prefix in path",3746   "request": {3747    "content_type": null,3748    "body_ref": null,3749    "path_params": [3750     {3751      "name": "environment",3752      "required": true,3753      "description": "environment id (discovery `parent` = environments/{environment_id})"3754     },3755     {3756      "name": "path",3757      "required": false,3758      "description": "relative path in the workspace; empty = root"3759     }3760    ],3761    "query_params": [3762     {3763      "name": "alt",3764      "enum": [3765       "media"3766      ],3767      "description": "Return content instead of JSON metadata."3768     },3769     {3770      "name": "recursive",3771      "type": "boolean",3772      "default": false3773     },3774     {3775      "name": "page_size",3776      "type": "integer",3777      "default": 100,3778      "maximum": 10003779     },3780     {3781      "name": "page_token",3782      "type": "string"3783     }3784    ],3785    "header_params": [3786     {3787      "name": "x-goog-api-key",3788      "required": true,3789      "description": "Gemini API key (never in the URL)."3790     }3791    ]3792   },3793   "response": {3794    "success_status": 200,3795    "content_type": "application/json | application/octet-stream | application/x-tar",3796    "body_ref": "GetEnvironmentFilesResponse {files[], next_page_token} or raw bytes",3797    "error_statuses": [3798     400,3799     401,3800     403,3801     404,3802     429,3803     500,3804     5033805    ]3806   },3807   "streaming": {3808    "supported": false,3809    "events_ref": null,3810    "note": null3811   },3812   "pagination": {3813    "style": "page_token (directory listing)",3814    "default_page_size": 100,3815    "max_page_size": 10003816   },3817   "idempotency": "safe (GET)",3818   "sdk": {3819    "python": "client.environments.files.list(environment=..., path=..., recursive=...) / client.environments.files.download(environment=..., path=...)",3820    "node": "ai.environments.files.list({environment, path, recursive}) / ai.environments.files.download({environment, path})"3821   },3822   "relations": [3823    "PUT /upload/v1beta/environments/{environment}/files/{path}"3824   ],3825   "verification": {3826    "method": "live_api",3827    "verified_at": "2026-09-18",3828    "result": "partial",3829    "http_status": 200,3830    "request_note": "env4: GET …/files/ on a fresh empty environment → 404 in the first run, 200 {} in the second (examples/gemini/interactions/environments.py); file download not exercised"3831   },3832   "sources": [3833    {3834     "url": "https://ai.google.dev/api/environments",3835     "retrieved_at": "2026-09-18"3836    },3837    {3838     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3839     "retrieved_at": "2026-09-18"3840    },3841    {3842     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3843     "retrieved_at": "2026-09-18"3844    },3845    {3846     "url": "https://ai.google.dev/api/all-methods",3847     "retrieved_at": "2026-09-18"3848    }3849   ]3850  },3851  {3852   "provider": "gemini",3853   "api_family": "environments",3854   "method": "PUT",3855   "path": "/upload/v1beta/environments/{environment}/files/{path}",3856   "name": "Upload file / extract archive into environment",3857   "description": "Creates or updates a file in the environment workspace (parent dirs auto-created). Simple upload: `PUT` raw bytes with `Content-Type`; query `overwrite=true` (else 409 Conflict if exists), `extract=true` (treat body as tar/tar.gz and unpack into `path`). Resumable protocol: `X-Goog-Upload-Protocol: resumable`, `X-Goog-Upload-Command: start`, `X-Goog-Upload-Header-Content-Length`, `X-Goog-Upload-Header-Content-Type` → session URL in `X-Goog-Upload-URL` (discovery path `/resumable/upload/v1beta/{+parent}/files/{+path}`). Max 2 GiB (discovery mediaUpload.maxSize). A PUT without the `/upload/` prefix returns 400.",3858   "status": [3859    "DOCUMENTED",3860    "BETA",3861    "PREVIEW"3862   ],3863   "auth": "x-goog-api-key header",3864   "beta_header": null,3865   "host": "https://generativelanguage.googleapis.com",3866   "host_note": "generativelanguage.googleapis.com/upload/v1beta (upload prefix)",3867   "request": {3868    "content_type": "*/* (file bytes) | multipart",3869    "body_ref": "raw file bytes (+ UploadEnvironmentFileRequest {extract, overwrite} as query/metadata)",3870    "path_params": [3871     {3872      "name": "environment",3873      "required": true3874     },3875     {3876      "name": "path",3877      "required": true,3878      "description": "destination relative path, e.g. workspace/src/main.py (trailing slash dir for extract)"3879     }3880    ],3881    "query_params": [3882     {3883      "name": "extract",3884      "type": "boolean"3885     },3886     {3887      "name": "overwrite",3888      "type": "boolean"3889     }3890    ],3891    "header_params": [3892     {3893      "name": "x-goog-api-key",3894      "required": true,3895      "description": "Gemini API key (never in the URL)."3896     },3897     {3898      "name": "Content-Type",3899      "required": true,3900      "description": "MIME of the uploaded bytes (e.g. text/plain, application/x-tar)"3901     },3902     {3903      "name": "X-Goog-Upload-Protocol",3904      "required": false,3905      "description": "`resumable` to start a resumable session"3906     },3907     {3908      "name": "X-Goog-Upload-Command",3909      "required": false,3910      "description": "`start`"3911     },3912     {3913      "name": "X-Goog-Upload-Header-Content-Length",3914      "required": false3915     },3916     {3917      "name": "X-Goog-Upload-Header-Content-Type",3918      "required": false3919     }3920    ]3921   },3922   "response": {3923    "success_status": 200,3924    "content_type": "application/json",3925    "body_ref": "UploadEnvironmentFileResponse {files[]} (resumable start: empty body + X-Goog-Upload-URL header)",3926    "error_statuses": [3927     400,3928     401,3929     403,3930     404,3931     409,3932     413,3933     4293934    ]3935   },3936   "streaming": {3937    "supported": false,3938    "events_ref": null,3939    "note": null3940   },3941   "pagination": null,3942   "idempotency": "no (409 on existing file unless overwrite=true)",3943   "sdk": {3944    "python": "client.environments.files.upload(environment=..., path=..., file=f, mime_type=..., overwrite=True, extract=False)",3945    "node": "ai.environments.files.upload({environment, path, file, mime_type, overwrite, extract})"3946   },3947   "relations": [],3948   "verification": {3949    "method": "docs_only",3950    "verified_at": "2026-09-18",3951    "result": "not_tested",3952    "http_status": null,3953    "request_note": "not exercised in the 2026-09-18 run (docs only)"3954   },3955   "sources": [3956    {3957     "url": "https://ai.google.dev/api/environments",3958     "retrieved_at": "2026-09-18"3959    },3960    {3961     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",3962     "retrieved_at": "2026-09-18"3963    },3964    {3965     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",3966     "retrieved_at": "2026-09-18"3967    },3968    {3969     "url": "https://ai.google.dev/api/all-methods",3970     "retrieved_at": "2026-09-18"3971    }3972   ]3973  },3974  {3975   "provider": "gemini",3976   "api_family": "environments",3977   "method": "GET",3978   "path": "/v1beta/files/environment-{environment}:download",3979   "name": "Download environment snapshot (legacy Files API form)",3980   "description": "Older documented way to download the whole sandbox as a tar: `GET /v1beta/files/environment-$ENV_ID:download?alt=media`. The environments guide now says to replace it with `GET /v1beta/environments/{id}/files?alt=media`. The quickstart still shows it (no SDK method).",3981   "status": [3982    "DOCUMENTED",3983    "LEGACY",3984    "PREVIEW"3985   ],3986   "auth": "x-goog-api-key header",3987   "beta_header": null,3988   "host": "https://generativelanguage.googleapis.com",3989   "host_note": "generativelanguage.googleapis.com, version prefix in path",3990   "request": {3991    "content_type": null,3992    "body_ref": null,3993    "path_params": [3994     {3995      "name": "environment",3996      "required": true3997     }3998    ],3999    "query_params": [4000     {4001      "name": "alt",4002      "enum": [4003       "media"4004      ],4005      "required": true4006     }4007    ],4008    "header_params": [4009     {4010      "name": "x-goog-api-key",4011      "required": true,4012      "description": "Gemini API key (never in the URL)."4013     }4014    ]4015   },4016   "response": {4017    "success_status": 200,4018    "content_type": "application/x-tar",4019    "body_ref": "tar archive",4020    "error_statuses": [4021     400,4022     401,4023     403,4024     404,4025     429,4026     500,4027     5034028    ]4029   },4030   "streaming": {4031    "supported": false,4032    "events_ref": null,4033    "note": null4034   },4035   "pagination": null,4036   "idempotency": "safe (GET)",4037   "sdk": {4038    "python": null,4039    "node": null4040   },4041   "relations": [4042    "GET /v1beta/environments/{environment}/files/{path}"4043   ],4044   "verification": {4045    "method": "docs_only",4046    "verified_at": "2026-09-18",4047    "result": "not_tested",4048    "http_status": null,4049    "request_note": "not exercised in the 2026-09-18 run (docs only)"4050   },4051   "sources": [4052    {4053     "url": "https://ai.google.dev/gemini-api/docs/managed-agents-quickstart",4054     "retrieved_at": "2026-09-18"4055    },4056    {4057     "url": "https://ai.google.dev/gemini-api/docs/agent-environment",4058     "retrieved_at": "2026-09-18"4059    }4060   ]4061  },4062  {4063   "provider": "gemini",4064   "api_family": "dynamic",4065   "method": "POST",4066   "path": "/v1beta/dynamic/{dynamicId}:generateContent",4067   "name": "dynamic.generateContent",4068   "description": "Generates a model response given a GenerateContentRequest against a `dynamic/*` resource. Discovery-doc-only resource (`generativelanguage.dynamic.*`, path `v1beta/{+model}:...` with `model` matching `^dynamic/[^/]+$`). Same GenerateContentRequest/GenerateContentResponse as models/*:generateContent. No guide or reference page explains what a `dynamic/{dynamicId}` resource is (likely the server-side counterpart of the `DynamicAgentConfig` / `agent_config.type=dynamic` in Interactions, or dynamic webhooks). DOCUMENTATION_INCOMPLETE — semantics unknown; the model list on this key contains no `dynamic/` entries.",4069   "status": [4070    "DOCUMENTED",4071    "BETA",4072    "UNVERIFIED",4073    "DOCUMENTATION_INCOMPLETE"4074   ],4075   "auth": "x-goog-api-key header",4076   "beta_header": null,4077   "host": "https://generativelanguage.googleapis.com",4078   "host_note": "generativelanguage.googleapis.com, version prefix in path",4079   "request": {4080    "content_type": "application/json",4081    "body_ref": "GenerateContentRequest",4082    "path_params": [4083     {4084      "name": "model",4085      "required": true,4086      "pattern": "^dynamic/[^/]+$",4087      "description": "Resource name `dynamic/{dynamicId}` (discovery description still says `models/{model}`)."4088     }4089    ],4090    "query_params": [],4091    "header_params": [4092     {4093      "name": "x-goog-api-key",4094      "required": true,4095      "description": "Gemini API key (never in the URL)."4096     },4097     {4098      "name": "Content-Type",4099      "required": true,4100      "description": "application/json"4101     }4102    ]4103   },4104   "response": {4105    "success_status": 200,4106    "content_type": "application/json",4107    "body_ref": "GenerateContentResponse",4108    "error_statuses": [4109     400,4110     401,4111     403,4112     404,4113     429,4114     500,4115     5034116    ]4117   },4118   "streaming": {4119    "supported": false,4120    "events_ref": null,4121    "note": null4122   },4123   "pagination": null,4124   "idempotency": null,4125   "sdk": {4126    "python": "client.models.generate_content(model='dynamic/<id>', ...) (untested)",4127    "node": "ai.models.generateContent({model: 'dynamic/<id>'}) (untested)"4128   },4129   "relations": [],4130   "verification": {4131    "method": "docs_only",4132    "verified_at": "2026-09-18",4133    "result": "not_tested",4134    "http_status": null,4135    "request_note": "not exercised in the 2026-09-18 run (docs only)"4136   },4137   "sources": [4138    {4139     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",4140     "retrieved_at": "2026-09-18"4141    },4142    {4143     "url": "https://ai.google.dev/api/all-methods",4144     "retrieved_at": "2026-09-18"4145    }4146   ]4147  },4148  {4149   "provider": "gemini",4150   "api_family": "dynamic",4151   "method": "POST",4152   "path": "/v1beta/dynamic/{dynamicId}:streamGenerateContent",4153   "name": "dynamic.streamGenerateContent",4154   "description": "Streamed variant (`?alt=sse` for SSE, as for models) of dynamic.generateContent. Discovery-doc-only resource (`generativelanguage.dynamic.*`, path `v1beta/{+model}:...` with `model` matching `^dynamic/[^/]+$`). Same GenerateContentRequest/GenerateContentResponse as models/*:generateContent. No guide or reference page explains what a `dynamic/{dynamicId}` resource is (likely the server-side counterpart of the `DynamicAgentConfig` / `agent_config.type=dynamic` in Interactions, or dynamic webhooks). DOCUMENTATION_INCOMPLETE — semantics unknown; the model list on this key contains no `dynamic/` entries.",4155   "status": [4156    "DOCUMENTED",4157    "BETA",4158    "UNVERIFIED",4159    "DOCUMENTATION_INCOMPLETE"4160   ],4161   "auth": "x-goog-api-key header",4162   "beta_header": null,4163   "host": "https://generativelanguage.googleapis.com",4164   "host_note": "generativelanguage.googleapis.com, version prefix in path",4165   "request": {4166    "content_type": "application/json",4167    "body_ref": "GenerateContentRequest",4168    "path_params": [4169     {4170      "name": "model",4171      "required": true,4172      "pattern": "^dynamic/[^/]+$"4173     }4174    ],4175    "query_params": [4176     {4177      "name": "alt",4178      "enum": [4179       "sse"4180      ],4181      "description": "SSE framing (as for models:streamGenerateContent)"4182     }4183    ],4184    "header_params": [4185     {4186      "name": "x-goog-api-key",4187      "required": true,4188      "description": "Gemini API key (never in the URL)."4189     },4190     {4191      "name": "Content-Type",4192      "required": true,4193      "description": "application/json"4194     }4195    ]4196   },4197   "response": {4198    "success_status": 200,4199    "content_type": "application/json (chunked) | text/event-stream",4200    "body_ref": "stream of GenerateContentResponse",4201    "error_statuses": [4202     400,4203     401,4204     403,4205     404,4206     429,4207     500,4208     5034209    ]4210   },4211   "streaming": {4212    "supported": true,4213    "events_ref": "GenerateContentResponse chunks (not InteractionSseEvent)",4214    "note": "same framing as models:streamGenerateContent"4215   },4216   "pagination": null,4217   "idempotency": null,4218   "sdk": {4219    "python": "client.models.generate_content_stream(model='dynamic/<id>', ...) (untested)",4220    "node": "ai.models.generateContentStream({model: 'dynamic/<id>'}) (untested)"4221   },4222   "relations": [],4223   "verification": {4224    "method": "docs_only",4225    "verified_at": "2026-09-18",4226    "result": "not_tested",4227    "http_status": null,4228    "request_note": "not exercised in the 2026-09-18 run (docs only)"4229   },4230   "sources": [4231    {4232     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",4233     "retrieved_at": "2026-09-18"4234    },4235    {4236     "url": "https://ai.google.dev/api/all-methods",4237     "retrieved_at": "2026-09-18"4238    }4239   ]4240  },4241  {4242   "provider": "gemini",4243   "api_family": "live",4244   "method": "WSS",4245   "path": "/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent",4246   "name": "BidiGenerateContent",4247   "description": "Gemini Live API: stateful bidirectional WebSocket session (audio/video/text in, native audio or text out, tool calls). Host wss://generativelanguage.googleapis.com. First message must be `setup`; server answers `setupComplete`; then clientContent/realtimeInput/toolResponse ↔ serverContent/toolCall/toolCallCancellation/usageMetadata/goAway/sessionResumptionUpdate. v1beta only. Connection lifetime ≈ 10 min (GoAway first); session limits 15 min audio / 2 min audio+video without contextWindowCompression.",4248   "status": [4249    "DOCUMENTED",4250    "PREVIEW",4251    "LIVE_VERIFIED"4252   ],4253   "auth": "API key as URL query parameter `?key=YOUR_API_KEY` (documented raw-WebSocket form); SDKs send the key for you. Ephemeral tokens are NOT used on this URL — see BidiGenerateContentConstrained.",4254   "beta_header": null,4255   "request": {4256    "content_type": "WebSocket text frames (JSON)",4257    "body_ref": "BidiGenerateContentClientMessage = {setup | clientContent | realtimeInput | toolResponse}",4258    "first_message": "setup (BidiGenerateContentSetup)"4259   },4260   "response": {4261    "content_type": "WebSocket text frames (JSON)",4262    "body_ref": "BidiGenerateContentServerMessage = {usageMetadata?} + {setupComplete | serverContent | toolCall | toolCallCancellation | goAway | sessionResumptionUpdate}"4263   },4264   "streaming": {4265    "supported": true,4266    "events_ref": "streaming-events/gemini-live"4267   },4268   "pagination": null,4269   "idempotency": null,4270   "sdk": {4271    "python": "async with client.aio.live.connect(model='gemini-3.8-live', config=types.LiveConnectConfig(...)) as session: await session.send_realtime_input(...); async for msg in session.receive(): ...",4272    "node": "const session = await ai.live.connect({model, config, callbacks:{onopen,onmessage,onerror,onclose}}); session.sendRealtimeInput({...}); session.close()"4273   },4274   "models": [4275    "gemini-3.8-live",4276    "gemini-3.8-live-extended-thinking",4277    "gemini-3.1-flash-live-preview",4278    "gemini-2.5-flash-native-audio-preview-12-2025",4279    "gemini-2.5-flash-native-audio-preview-09-2025",4280    "gemini-2.5-flash-native-audio-latest",4281    "gemini-3.5-live-translate-preview",4282    "gemini-3.5-transcribe-live",4283    "gemini-robotics-er-2-streaming-preview"4284   ],4285   "limits_documented": {4286    "connection_lifetime": "≈10 minutes (GoAway before reset)",4287    "session_audio_only": "15 minutes without compression",4288    "session_audio_video": "2 minutes without compression",4289    "context_window": "128k tokens native audio models / 32k other Live models",4290    "resumption_handle_validity": "2 hours after last session termination",4291    "transcribe_live_session": "10 minutes",4292    "video_frame_rate": "≤ 1 FPS",4293    "concurrent_sessions": "not documented in rate-limits page"4294   },4295   "verification": {4296    "method": "live_api",4297    "verified_at": "2026-09-18",4298    "result": "success",4299    "http_status": 101,4300    "request_note": "j1/j4/j5: x-goog-api-key header on the handshake; gemini-2.5-flash-native-audio-latest, gemini-3.1-flash-live-preview and gemini-3.8-live ALL close 1007 on responseModalities [TEXT] ('not supported by the model'); AUDIO turn → setupComplete → serverContent… → turnComplete+usageMetadata; setup.toolConfig → close 1007 'Unknown name toolConfig'; toolCall received for a NON_BLOCKING declaration; ephemeral token on this method → close 1008 (tmp-live/gemini-tools/j*.json)"4301   },4302   "sources": [4303    {4304     "url": "https://ai.google.dev/api/live",4305     "retrieved_at": "2026-09-18"4306    },4307    {4308     "url": "https://ai.google.dev/gemini-api/docs/live-api/get-started-websocket",4309     "retrieved_at": "2026-09-18"4310    },4311    {4312     "url": "https://ai.google.dev/gemini-api/docs/live-api/capabilities",4313     "retrieved_at": "2026-09-18"4314    },4315    {4316     "url": "https://ai.google.dev/gemini-api/docs/live-api/session-management",4317     "retrieved_at": "2026-09-18"4318    },4319    {4320     "url": "https://ai.google.dev/gemini-api/docs/live-api",4321     "retrieved_at": "2026-09-18"4322    }4323   ]4324  },4325  {4326   "provider": "gemini",4327   "api_family": "live",4328   "method": "WSS",4329   "path": "/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContentConstrained",4330   "name": "BidiGenerateContentConstrained (ephemeral-token Live endpoint)",4331   "description": "Same Live protocol, but authenticated with an ephemeral token minted by POST /v1beta/auth_tokens; the token's locked BidiGenerateContentSetup / liveConnectConstraints constrain the session (client setup fields overwritten per fieldMask). Client-to-server (browser/mobile) usage. v1beta only.",4332   "status": [4333    "DOCUMENTED",4334    "PREVIEW",4335    "LIVE_VERIFIED"4336   ],4337   "auth": "Ephemeral token via query `?access_token=<token>` (documented) or header `Authorization: Token <token>` (reference); SDK: new GoogleGenAI({apiKey: token.name}) with httpOptions apiVersion 'v1beta'.",4338   "beta_header": null,4339   "request": {4340    "content_type": "WebSocket text frames (JSON)",4341    "body_ref": "BidiGenerateContentClientMessage"4342   },4343   "response": {4344    "content_type": "WebSocket text frames (JSON)",4345    "body_ref": "BidiGenerateContentServerMessage"4346   },4347   "streaming": {4348    "supported": true,4349    "events_ref": "streaming-events/gemini-live"4350   },4351   "pagination": null,4352   "idempotency": null,4353   "sdk": {4354    "python": "genai.Client(api_key=token.name, http_options={'api_version':'v1beta'}).aio.live.connect(...)",4355    "node": "new GoogleGenAI({apiKey: token.name, httpOptions:{apiVersion:'v1beta'}}).live.connect({model, config, callbacks})"4356   },4357   "verification": {4358    "method": "live_api",4359    "verified_at": "2026-09-18",4360    "result": "success",4361    "http_status": 101,4362    "request_note": "j9a/j9b/j9c on the v1alpha spelling: Authorization: Token <auth_tokens/…> header AND ?access_token= query both reached setupComplete → turnComplete; a setup-locked token also worked (docs: v1alpha for ephemeral tokens; SDK uses v1alpha + this method)"4363   },4364   "sources": [4365    {4366     "url": "https://ai.google.dev/gemini-api/docs/live-api/get-started-websocket",4367     "retrieved_at": "2026-09-18",4368     "note": "URL with ?access_token="4369    },4370    {4371     "url": "https://ai.google.dev/api/live",4372     "retrieved_at": "2026-09-18",4373     "note": "Ephemeral authentication tokens: access_token query param or Authorization: Token"4374    },4375    {4376     "url": "https://ai.google.dev/gemini-api/docs/live-api/ephemeral-tokens",4377     "retrieved_at": "2026-09-18"4378    }4379   ]4380  },4381  {4382   "provider": "gemini",4383   "api_family": "live",4384   "method": "WSS",4385   "path": "/ws/google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContent",4386   "name": "BidiGenerateContent (v1alpha URL variant)",4387   "description": "v1alpha WebSocket URL appears once in the Live thinking guide's protocol comparison (`...v1alpha.GenerativeService.BidiGenerateContent?key=$API_KEY`). All other pages (reference, WebSocket guide, ephemeral tokens) use v1beta and state ephemeral tokens work only with v1beta. Treat v1alpha as legacy/undocumented for new work.",4388   "status": [4389    "DOCUMENTED",4390    "LIVE_VERIFIED"4391   ],4392   "auth": "?key=API_KEY (query)",4393   "beta_header": null,4394   "request": {4395    "content_type": "WebSocket text frames (JSON)",4396    "body_ref": "BidiGenerateContentClientMessage"4397   },4398   "response": {4399    "content_type": "WebSocket text frames (JSON)",4400    "body_ref": "BidiGenerateContentServerMessage"4401   },4402   "streaming": {4403    "supported": true,4404    "events_ref": "streaming-events/gemini-live"4405   },4406   "pagination": null,4407   "idempotency": null,4408   "sdk": {4409    "python": "genai.Client(http_options={'api_version':'v1alpha'})",4410    "node": "new GoogleGenAI({httpOptions:{apiVersion:'v1alpha'}})"4411   },4412   "verification": {4413    "method": "live_api",4414    "verified_at": "2026-09-18",4415    "result": "failure",4416    "http_status": null,4417    "request_note": "j8a/j8b: ephemeral token on the plain v1alpha BidiGenerateContent method → close 1008 'Method doesn't allow unregistered callers'; use …BidiGenerateContentConstrained instead"4418   },4419   "sources": [4420    {4421     "url": "https://ai.google.dev/gemini-api/docs/live-api/thinking",4422     "retrieved_at": "2026-09-18",4423     "note": "Step 1: Session setup URL uses v1alpha"4424    },4425    {4426     "url": "https://ai.google.dev/api/live",4427     "retrieved_at": "2026-09-18",4428     "note": "Note: The URL is for version v1beta"4429    }4430   ]4431  },4432  {4433   "provider": "gemini",4434   "api_family": "auth-tokens",4435   "method": "POST",4436   "path": "/v1beta/auth_tokens",4437   "name": "auth_tokens.create (ephemeral token)",4438   "description": "Creates a short-lived token constraining a BidiGenerateContent session (Live API only). Body = AuthToken {uses, expireTime, newSessionExpireTime, fieldMask, bidiGenerateContentSetup} (discovery) — official curl examples use `liveConnectConstraints: {model, config}` instead. Response = AuthToken with `name` = the token string to hand to the client. Defaults: uses 1, expireTime +30 min, newSessionExpireTime +60 s; both < 20 h. Resuming a session does not consume a use; sessionResumption is needed to reconnect every ~10 min within expireTime.",4439   "status": [4440    "DOCUMENTED",4441    "PREVIEW",4442    "LIVE_VERIFIED"4443   ],4444   "auth": "x-goog-api-key: <standard API key> (server side only)",4445   "beta_header": null,4446   "request": {4447    "content_type": "application/json",4448    "body_ref": "AuthToken (CreateAuthTokenRequest.authToken)",4449    "example": {4450     "uses": 1,4451     "expireTime": "2026-09-18T20:30:00Z",4452     "newSessionExpireTime": "2026-09-18T20:01:00Z",4453     "liveConnectConstraints": {4454      "model": "models/gemini-3.8-live",4455      "config": {4456       "sessionResumption": {},4457       "responseModalities": [4458        "AUDIO"4459       ]4460      }4461     }4462    }4463   },4464   "response": {4465    "content_type": "application/json",4466    "body_ref": "AuthToken",4467    "fields": [4468     "name (the token)",4469     "expireTime?",4470     "newSessionExpireTime?",4471     "uses?"4472    ],4473    "note": "Exact response body not shown in docs beyond token.name — parent agent to capture."4474   },4475   "streaming": {4476    "supported": false,4477    "events_ref": null4478   },4479   "pagination": null,4480   "idempotency": null,4481   "sdk": {4482    "python": "client.auth_tokens.create(config={'uses':1,'expire_time':..., 'new_session_expire_time':..., 'live_connect_constraints':{'model':'gemini-3.8-live','config':{...}}, 'lock_additional_fields':[...]}) -> token.name",4483    "node": "await client.authTokens.create({config:{uses:1, expireTime, newSessionExpireTime, liveConnectConstraints:{model, config}}}) -> token.name"4484   },4485   "verification": {4486    "method": "live_api",4487    "verified_at": "2026-09-18",4488    "result": "success",4489    "http_status": 200,4490    "request_note": "i: {uses:1, expireTime, newSessionExpireTime} → 200 {name: auth_tokens/…} on BOTH /v1alpha and /v1beta; with bidiGenerateContentSetup{model, generationConfig} lock → 200 (j9c). Token redacted in tmp-live/gemini-tools/i_auth_token_*.json"4491   },4492   "sources": [4493    {4494     "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",4495     "retrieved_at": "2026-09-18",4496     "note": "resources.auth_tokens.methods.create: POST v1beta/auth_tokens, request/response AuthToken"4497    },4498    {4499     "url": "https://ai.google.dev/api/live",4500     "retrieved_at": "2026-09-18"4501    },4502    {4503     "url": "https://ai.google.dev/gemini-api/docs/live-api/ephemeral-tokens",4504     "retrieved_at": "2026-09-18"4505    },4506    {4507     "url": "https://ai.google.dev/gemini-api/docs/ephemeral-tokens",4508     "retrieved_at": "2026-09-18"4509    }4510   ]4511  },4512  {4513   "provider": "gemini",4514   "api_family": "interactions",4515   "method": "GET",4516   "path": "/v1beta/interactions",4517   "name": "List interactions (probe)",4518   "description": "Not documented. Probed 2026-09-18: HTTP 404 (empty error body). Interactions are retrieved individually by id; there is no documented list endpoint.",4519   "status": [4520    "UNVERIFIED",4521    "FAILED_VERIFICATION"4522   ],4523   "auth": "x-goog-api-key header",4524   "beta_header": null,4525   "request": {4526    "content_type": null,4527    "body_ref": null,4528    "path_params": [],4529    "query_params": [],4530    "header_params": []4531   },4532   "response": {4533    "success_status": null,4534    "content_type": null,4535    "body_ref": null,4536    "error_statuses": [4537     4044538    ]4539   },4540   "streaming": {4541    "supported": false,4542    "events_ref": null,4543    "note": null4544   },4545   "pagination": null,4546   "idempotency": null,4547   "sdk": {4548    "python": null,4549    "node": null4550   },4551   "relations": [],4552   "verification": {4553    "method": "live_api",4554    "verified_at": "2026-09-18",4555    "result": "failure",4556    "http_status": 404,4557    "request_note": "h0: GET /v1beta/interactions → 404 with empty body"4558   },4559   "sources": [4560    {4561     "url": "https://ai.google.dev/api/interactions",4562     "retrieved_at": "2026-09-18",4563     "note": "no list method documented"4564    }4565   ]4566  }4567 ]4568}4569