Python 88.3%
TypeScript 7.6%
Shell 4.1%
1# Gemini legacy PaLM methods and other non-standard routes23**Status:** `LEGACY` · `DOCUMENTED` (discovery v1beta rev. 20260918 still lists them) · `FAILED_VERIFICATION` for every PaLM method except `generateAnswer` (`LIVE_VERIFIED` on model `aqa`). 2026-09-18.4**Sources:** https://ai.google.dev/api/all-methods · discovery `https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta` · https://ai.google.dev/api/models (models list: `aqa`, embedding models' `supportedGenerationMethods`)5**Machine-readable:** `generated/fragments/endpoints/gemini-core.json` (api_family `legacy-palm`, `dynamic/*`)6**Last verified:** 2026-09-1878| Method | Request schema (discovery) | Live result | Status |9|---|---|---|---|10| `POST models/{m}:generateText` | `GenerateTextRequest {prompt:{text}, candidateCount 1–8, temperature 0–1, topP, topK (default 40), maxOutputTokens, stopSequences ≤5, safetySettings}` → `{candidates[], filters[], safetyFeedback[]}` | `text-bison-001` and `gemini-3.5-flash-lite` → **404** `Requested entity was not found.` | LEGACY, FAILED_VERIFICATION |11| `POST models/{m}:generateMessage` | `GenerateMessageRequest {prompt:{context, examples[], messages[{author, content}]}, temperature, candidateCount, topP, topK}` | `chat-bison-001` → **501** `UNIMPLEMENTED Operation is not implemented, or supported, or enabled.` | LEGACY, FAILED_VERIFICATION |12| `POST models/{m}:embedText` / `:batchEmbedText` | `{model, text}` / `{texts[] \| requests[]}` | `embedding-gecko-001`, `gemini-embedding-001` → **404** | LEGACY, FAILED_VERIFICATION / UNVERIFIED |13| `POST models/{m}:countTextTokens` | `{prompt:{text}}` | **404** — although `gemini-embedding-001/-2` still advertise `countTextTokens` in `supportedGenerationMethods` | LEGACY, FAILED_VERIFICATION |14| `POST models/{m}:countMessageTokens` | `{prompt: MessagePrompt}` | **501** UNIMPLEMENTED | LEGACY, FAILED_VERIFICATION |15| `POST models/aqa:generateAnswer` | `{contents[], answerStyle: ABSTRACTIVE\|EXTRACTIVE\|VERBOSE, inlinePassages:{passages[{id, content}]} \| semanticRetriever, temperature 0–1, safetySettings}` | **200**: `answer.content.parts[0].text` = passage, `answer.finishReason STOP`, `answer.groundingAttributions[{content, sourceId:{groundingPassage:{passageId:"p1"}}}]`, `answerableProbability 0.999992`, `inputFeedback.safetyRatings[4]`, 4 `safetyRatings` on the answer; no `usageMetadata`. English only. | LEGACY, DOCUMENTED, LIVE_VERIFIED |16| `tunedModels/{id}:generateText` | as generateText | tuning domain | LEGACY |1718Also observed:19- `POST dynamic/{id}:generateContent` / `:streamGenerateContent` — in discovery (pattern `^dynamic/[^/]+$`, GenerateContentRequest), in no docs; `dynamic/default` and `dynamic/gemini-3.5-flash-lite` → 404 `… is not found for API version v1beta, or is not supported for generateContent`. Purpose unknown (`LIVE_DISCOVERED`, `UNVERIFIED`).20- `/v1/cachedContents` → 404 with an **empty body** (resource absent from the stable surface); `/v1/files` and `/v1/models/{m}:generateContent` work.21- PaLM `HarmCategory` values (`DEROGATORY`, `TOXICITY`, `VIOLENCE`, `SEXUAL`, `MEDICAL`, `DANGEROUS`) remain in the enum but are rejected by generateContent (see `safety.md`).22- Retired model ids (`text-bison-001`, `chat-bison-001`, `embedding-gecko-001`, `gemini-1.0/1.5`) are absent from `GET /v1beta/models`; a 404 on them is expected and does **not** mean the method itself is gone (`generateText` on a current model is also 404).2324Migration: `generateText` → `generateContent` with `contents[{parts:[{text}]}]`; `generateMessage` → multi-turn `contents` + `systemInstruction` (was `context`); `embedText` → `embedContent`; `countTextTokens` → `countTokens`; AQA → grounding via File Search / `inlinePassages` alternatives (tools domain).25