Rename an artifact
September 29, 2026
Table of contents
Give a Studio artifact a new title. The title is what the Gemini Notebook web app shows, and GET /artifacts/download names the downloaded file after it.
https://api.useapi.net/v1/gemini-notebook/artifacts/
artifact
artifactis URL-encoded in the path (it contains:and@). Get it from GET /artifacts or from theartifactfield of a job.
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
API tokenis required, see Setup useapi.net for details.
Request Body
{
"title": "Apollo 11 Quiz, hard"
}
titleis required, the new title.
Length:1to200characters.
Responses
-
{ "artifact": "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:07b94418-6c28-437c-98de-06bbeabb4e0c", "title": "Apollo 11 Quiz, hard" } -
titleis missing, empty or longer than 200 characters, or the path value is not an artifact id.{ "error": "Parameter title is required", "code": 400 } -
Invalid API token.
{ "error": "useapi.net ⁝ Unauthorized", "code": 401 } -
The artifact id was issued to a different API token.
{ "error": "user:[email protected]:d02c903b-…:07b94418-… does not belong to this API token", "code": 403 } -
The account the artifact lives on is no longer configured, or Google reports the artifact as not found.
{ "error": "Account [email protected] of user:[email protected]:d02c903b-…:07b94418-… is not configured", "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 }
Model
{ // TypeScript, all fields are optional
artifact: string // the artifact id, as sent
title: string // the new title
error: string // error responses only
code: number // error responses only
}
Examples
-
ARTIFACT="user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:07b94418-6c28-437c-98de-06bbeabb4e0c" curl -X POST "https://api.useapi.net/v1/gemini-notebook/artifacts/$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=''))" "$ARTIFACT")" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer …" \ -d '{"title": "Apollo 11 Quiz, hard"}' -
const token = "API token"; const artifact = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:07b94418-6c28-437c-98de-06bbeabb4e0c"; const apiUrl = `https://api.useapi.net/v1/gemini-notebook/artifacts/${encodeURIComponent(artifact)}`; const response = await fetch(apiUrl, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${token}`, }, body: JSON.stringify({ title: "Apollo 11 Quiz, hard" }), }); const result = await response.json(); console.log("response", {response, result}); -
import requests, urllib.parse token = "API token" artifact = "user:[email protected]:d02c903b-17f8-4241-a263-2be9e7359d55:07b94418-6c28-437c-98de-06bbeabb4e0c" apiUrl = "https://api.useapi.net/v1/gemini-notebook/artifacts/" + urllib.parse.quote(artifact, safe="") headers = { "Content-Type": "application/json", "Authorization" : f"Bearer {token}" } response = requests.post(apiUrl, headers=headers, json={"title": "Apollo 11 Quiz, hard"}) print(response, response.json())