Python 88.3%
TypeScript 7.6%
Shell 4.1%
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