Retrieve sharing

September 29, 2026

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

Read a notebook’s sharing settings live from Google, as the Share dialog of the Gemini Notebook web app shows them: every person with access and their role, whether anyone with the link can open the notebook, and whether copies are allowed. Change them with POST /sharing.

Field Values
person role owner (the account the notebook lives on), editor, viewer
link public (anyone with the link), restricted (only the people listed)
allowCopies true (the default) or false. Applies to a public link.

A role Google adds later is returned as role<N>, with Google’s number.

Google’s sharing read does not include the view level (full notebook or chat only). POST /sharing sets it with viewLevel.

https://api.useapi.net/v1/gemini-notebook/sharing?notebook=notebook

Request Headers
Authorization: Bearer {API token}
Query Parameters
  • notebook is required, the notebook id returned by POST /notebooks or GET /notebooks, for example user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55.
    The id names the account the notebook lives on, so no email parameter is needed. URL-encode it (it contains : and @).
Responses
  • 200 OK

    A notebook shared with one viewer, link access restricted:

    {
      "notebook": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55",
      "people": [
        {
          "email": "[email protected]",
          "role": "owner",
          "name": "Jane Doe"
        },
        {
          "email": "[email protected]",
          "role": "viewer",
          "name": "colleague"
        }
      ],
      "link": "restricted",
      "allowCopies": true
    }
    
  • 400 Bad Request

    {
      "error": "Parameter notebook is required",
      "code": 400
    }
    
  • 401 Unauthorized

    Invalid API token.

    {
      "error": "useapi.net ⁝ Unauthorized",
      "code": 401
    }
    
  • 403 Forbidden

    The notebook 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
    }
    
  • 404 Not Found

    The notebook was deleted, or its account is no longer configured.

    {
      "error": "Not found on account [email protected] (Google rLM1Ne grpc 5)",
      "code": 404
    }
    
  • 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
    }
    
  • 503 Service Unavailable

    Google is temporarily unavailable, retry shortly. A 502 means Google answered with an unexpected error.

    {
      "error": "Google is temporarily unavailable (JFMDGd grpc 14), please retry",
      "code": 503
    }
    
Model
{ // TypeScript, all fields are optional
  notebook: string
  people: {
    email: string
    role: string               // owner | editor | viewer
    name: string | null        // the person's Google display name
  }[]
  link: 'public' | 'restricted'
  allowCopies: boolean
  error: string                // error responses only
  code: number                 // error responses only, the HTTP status
}
Examples
  • curl -G "https://api.useapi.net/v1/gemini-notebook/sharing" \
       -H "Authorization: Bearer …" \
       --data-urlencode "notebook=user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55"
    
  • const token = "API token";
    const notebook = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55";
    const apiUrl = `https://api.useapi.net/v1/gemini-notebook/sharing?notebook=${encodeURIComponent(notebook)}`;
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    notebook = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55"
    apiUrl = "https://api.useapi.net/v1/gemini-notebook/sharing"
    headers = {
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers, params={"notebook": notebook})
    print(response, response.json())
    
Try It