Create a mind map note
September 29, 2026
Table of contents
Generate a mind map of a notebook’s sources in a single call and save it as a note, the older note-based mind map of Gemini Notebook. The answer carries the new note and the mind map as a JSON tree of { name, children } nodes. The note is titled after the tree’s root, has type: mindmap, and its content is the same tree as a JSON string.
This is not a job: the call waits for Google and answers when the mind map is ready. It took about 9 seconds in our tests. For Studio’s interactive mind map, run as a job and listed with the notebook’s artifacts, use POST /artifacts with type: "mindmap".
The mind map is built from the sources whose status is ready, or from the sources you pass. A notebook with no ready source returns 409.
https://api.useapi.net/v1/gemini-notebook/notes/mindmap
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
API tokenis required, see Setup useapi.net for details.
Request Body
{
"notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55",
"instructions": "Focus on the landing",
"language": "en"
}
notebookis required, the notebook id. The id names its account, so noemailis needed.sourcesis optional, an array of1to300source ids from that notebook to build the mind map from.
Default: every source whosestatusisready.languageis optional, the language of the mind map, as a language code such asen,es,pt_BRorzh_Hans.
Default:en.instructionsis optional, what to focus on.
Maximum length:10,000characters.
Responses
-
The new note and its tree (tree and
contentshortened).{ "notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55", "note": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:e99087c9-a2a5-41b4-ad89-067047045e3a", "title": "Apollo 11 Mission", "content": "{\n \"name\": \"Apollo 11 Mission\",\n \"children\": [\n {\n \"name\": \"Background & Goals\",\n ...", "type": "mindmap", "created": "2026-09-29T20:20:42.000Z", "updated": "2026-09-29T20:20:42.000Z", "tree": { "name": "Apollo 11 Mission", "children": [ { "name": "Background & Goals", "children": [ { "name": "Cold War Space Race" }, { "name": "JFK Moon Challenge (1961)" } ] }, { "name": "Personnel", "children": [ { "name": "Prime Crew", "children": [ { "name": "Neil Armstrong (Commander)" }, { "name": "Michael Collins (CMP)" }, { "name": "Buzz Aldrin (LMP)" } ] } ] } ] } } -
A missing or malformed parameter, or a source from another notebook.
{ "error": "Parameter language must be a language code such as en, es, pt_BR or zh_Hans", "code": 400 } -
Invalid API token.
{ "error": "useapi.net ⁝ Unauthorized", "code": 401 } -
The id was issued to a different API token.
{ "error": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55 does not belong to this API token", "code": 403 } -
The notebook was deleted, or its account is no longer configured.
{ "error": "Not found on account [email protected] (Google rLM1Ne grpc 5)", "code": 404 } -
The notebook has no ready sources. Check each source’s
statuswith GET /notebooks/notebook.{ "error": "The notebook has no ready sources", "code": 409 } -
Google answered without a mind map, or with an unexpected error. The API does not retry the call, so after a
502or504check GET /notes before you try again.{ "error": "Google request failed: mind map generation returned no tree", "code": 502 } -
596 Account Error
Google reported the account as signed out. While we re-check it, the answer is the first message below. Retry in about a minute. If it stays signed out, the account is paused, you receive an email, and the answer becomes the second message until you re-add it via Setup Gemini Notebook.
{ "error": "Google reported this account as signed out. We are re-checking it — please retry in about a minute. If it stays signed out, you will receive a re-add email.", "code": 596 }{ "error": "Account [email protected]: Google signed this account out. Re-add it at https://useapi.net/docs/start-here/setup-gemini-notebook", "code": 596 } -
Google is temporarily unavailable or is challenging our network. Retry in a few minutes. A
502means Google answered with an unexpected error.{ "error": "Google is temporarily unavailable (yyryJe grpc 14), please retry", "code": 503 }
Model
The note, as in GET /notes/note, plus tree.
{ // TypeScript, all fields are optional
notebook: string
note: string // user:<id>-<email>-note:<notebook uuid>:<note uuid>
title: string // the tree's root name
content: string // the tree as a JSON string
type: 'mindmap'
created?: string // ISO 8601
updated?: string // ISO 8601
tree: MindMapNode
error: string // error responses only
code: number // error responses only, the HTTP status
}
type MindMapNode = {
name: string
children?: MindMapNode[]
}
Examples
-
curl -X POST "https://api.useapi.net/v1/gemini-notebook/notes/mindmap" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer …" \ -d '{ "notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55" }' -
const token = "API token"; const apiUrl = "https://api.useapi.net/v1/gemini-notebook/notes/mindmap"; const response = await fetch(apiUrl, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${token}`, }, body: JSON.stringify({ notebook: "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55", instructions: "Focus on the landing" }) }); const result = await response.json(); console.log("response", {response, result}); -
import requests token = "API token" apiUrl = "https://api.useapi.net/v1/gemini-notebook/notes/mindmap" headers = { "Content-Type": "application/json", "Authorization" : f"Bearer {token}" } data = { "notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55", "language": "es" } response = requests.post(apiUrl, headers=headers, json=data) print(response, response.json())