Documentation 40
Guide · Google Antigravity
How do I test a Google Antigravity integration without a real project?
You do not need one. Point your client at a read-only Google Antigravity replica that already holds the olympus-labs data set, and your code runs unchanged.
01 / The one change
Swap the base URL. Nothing else.
Your client talks to generativelanguage.googleapis.com. Point it at antigravity.sandboxapis.dev instead: same paths, same JSON, same headers, same status codes. No project to create, no seed script.
Google Antigravity has no pinned host yet, so this page uses the live host, antigravity.sandboxapis.dev, which re-rolls daily: assert on what a re-roll keeps, and switch to a pin when one is registered.
02 / Run it now
One request, no account.
curl -s "https://antigravity.sandboxapis.dev/v1beta/triggers"It answers with the scheduled triggers of the data set, each with its id, its cron schedule, its time zone and its status, in the Interactions API's own trigger JSON.
With a real client, the verified quickstart for google-genai runs against the live host on every check. It prints every scheduled trigger's display name, then the status and step count of an interaction one of them started.
# pip install google-genai==2.32.0
from google import genai
client = genai.Client(
api_key="any-token", # any key is accepted
http_options={"base_url": "https://antigravity.sandboxapis.dev"}, # the only line that changes
)
triggers = client.triggers.list().triggers
print("triggers:", ", ".join(t.display_name for t in triggers))
executions = client.triggers.list_executions(trigger_id=triggers[0].id).trigger_executions
run = next(e for e in executions if e.interaction_id)
interaction = client.interactions.get(id=run.interaction_id)
print("interaction", interaction.id, interaction.status, len(interaction.steps or []), "steps")
What it prints always contains triggers: and interaction v1_.
03 / Writes
A write gets Google Antigravity's own error shape.
Every host is read-only. A write answers 403 with Google Antigravity's own error body, naming what you tried, so your client's existing error handling meets a shape it knows.
curl -s -X POST "https://antigravity.sandboxapis.dev/v1beta/triggers" -H 'content-type: application/json' -d '{"schedule":"0 3 * * *"}'The body is Google's own error object, pretty-printed: error.code is 403, error.status is PERMISSION_DENIED, error.message names the method and path you tried and links the coverage page, and error.details carries one ErrorInfo whose domain is sandboxapis.dev.
04 / Where it stops
Coverage is counted, not claimed.
12 of 15 Google Antigravity read surfaces are served and verified against Google Antigravity's own published spec. A call to one that is not covered returns a 404 with an X-SandboxAPIs-Coverage header, never invented data. The row-by-row list is on the Google Antigravity reference and the coverage page.
Next: read the Google Antigravity quickstart, or run the four-hop walk to watch one incident cross four services.
What this is not
Read this before you rely on it.
SandboxAPIs is read-only: a write returns the provider's own error unless your key has opted in to scratch writes, and those never reach anybody else. Coverage is bounded, and the manifest that says exactly where it stops is public. The data is a simulated company, not yours and not a copy of anybody's. And it reproduces what each vendor documents and publishes, not the vendor's undocumented behaviour, so keep one test against the real service for that.