Gemini legacy PaLM methods and other non-standard routes
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.
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)
Machine-readable: generated/fragments/endpoints/gemini-core.json (api_family legacy-palm, dynamic/*)
Last verified: 2026-09-18
| Method | Request schema (discovery) | Live result | Status |
|---|---|---|---|
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 |
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 |
POST models/{m}:embedText / :batchEmbedText |
{model, text} / {texts[] | requests[]} |
embedding-gecko-001, gemini-embedding-001 → 404 |
LEGACY, FAILED_VERIFICATION / UNVERIFIED |
POST models/{m}:countTextTokens |
{prompt:{text}} |
404 — although gemini-embedding-001/-2 still advertise countTextTokens in supportedGenerationMethods |
LEGACY, FAILED_VERIFICATION |
POST models/{m}:countMessageTokens |
{prompt: MessagePrompt} |
501 UNIMPLEMENTED | LEGACY, FAILED_VERIFICATION |
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 |
tunedModels/{id}:generateText |
as generateText | tuning domain | LEGACY |
Also observed:
POST dynamic/{id}:generateContent/:streamGenerateContent— in discovery (pattern^dynamic/[^/]+$, GenerateContentRequest), in no docs;dynamic/defaultanddynamic/gemini-3.5-flash-lite→ 404… is not found for API version v1beta, or is not supported for generateContent. Purpose unknown (LIVE_DISCOVERED,UNVERIFIED)./v1/cachedContents→ 404 with an empty body (resource absent from the stable surface);/v1/filesand/v1/models/{m}:generateContentwork.- PaLM
HarmCategoryvalues (DEROGATORY,TOXICITY,VIOLENCE,SEXUAL,MEDICAL,DANGEROUS) remain in the enum but are rejected by generateContent (seesafety.md). - Retired model ids (
text-bison-001,chat-bison-001,embedding-gecko-001,gemini-1.0/1.5) are absent fromGET /v1beta/models; a 404 on them is expected and does not mean the method itself is gone (generateTexton a current model is also 404).
Migration: 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).