Gemini Environments API

Umgebungen bieten isolierte Ausführungskontexte zum sicheren Ausführen von Agenten-Code, Tools und Diensten.

CreateEnvironment

post https://generativelanguage.googleapis.com/v1beta/environments

Erstellt eine Umgebung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

network EnvironmentNetworkEgressAllowlist oder enum (string)  (optional)

Netzwerkkonfiguration für die Umgebung.

Konfiguration des ausgehenden Netzwerks für die Sandbox. Akzeptiert ein Objekt mit einem „allowlist“-Array, um den Traffic einzuschränken, oder den String „disabled“, um den gesamten Netzwerkzugriff zu deaktivieren. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

Mögliche Typen

object

Konfiguration des ausgehenden Netzwerks für die Sandbox. Wenn angegeben, wird eingeschränkt, welche externen Domains die Sandbox erreichen kann. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

allowlist array (AllowlistEntry)  (optional)

Liste der zulässigen ausgehenden Domains. Es sind nur Anfragen an die aufgeführten Domains zulässig. Verwenden Sie [{'domain': '*'}], um alle Domains zuzulassen und gleichzeitig Header in bestimmte Domains einzufügen.

Eine einzelne Regel für die Zulassungsliste von Domains mit optionalem Header-Injection.

Felder

domain string  (optional)

Domain, an die ausgehende Anfragen gesendet werden dürfen. Unterstützt Platzhalter (z.B. „*.googleapis.com“). Verwenden Sie „*“, um alle Domains zuzulassen.

transform array (object) oder object  (optional)

Header, die in alle ausgehenden Anfragen eingefügt werden sollen, die mit dieser Domain übereinstimmen. Akzeptiert ein einzelnes Dictionary oder eine Liste von Dictionaries. Der Egress-Proxy fügt sie automatisch ein.

string

Schaltet alle Netzwerke aus.

Mögliche Werte

  • disabled

    Schaltet alle Netzwerke aus.

sources array (Source)  (optional)

Quellen, die in die Umgebung eingebunden werden sollen.

Eine Quelle, die in die Umgebung eingebunden werden soll.

Felder

content string  (optional)

Der Inline-Inhalt, wenn „type“ auf „INLINE“ gesetzt ist.

encoding string  (optional)

Optionale Codierung für Inline-Inhalte (z.B. „base64“).

source string  (optional)

Die Quelle der Umgebung. Bei Cloud Storage ist dies der Cloud Storage-Pfad. Für GitHub ist das der GitHub-Pfad.

target string  (optional)

Wo die Quelle in der Umgebung erscheinen soll.

type enum (string)  (optional)

Keine Beschreibung vorhanden.

Mögliche Werte:

  • gcs

    Einen Cloud Storage-Bucket.

  • inline

    Inline-Inhalte.

  • repository

    Ein generisches Repository. Das Protokollpräfix in der Quell-URL gibt den Anbieter an (z.B. github://, gcs://).

Antwort

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

created string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung erstellt wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

file_count String  (optional)

Nur Ausgabe. Die Anzahl der Dateien in der Umgebung (nur Ausgabe).

id String  (optional)

Erforderlich. Nur Ausgabe. Die ID der Umgebung.

last_accessed String  (optional)

Nur Ausgabe. Die Uhrzeit, zu der zuletzt auf die Umgebung zugegriffen wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist oder enum (string)  (optional)

Netzwerkkonfiguration für die Umgebung.

Konfiguration des ausgehenden Netzwerks für die Sandbox. Akzeptiert ein Objekt mit einem „allowlist“-Array, um den Traffic einzuschränken, oder den String „disabled“, um den gesamten Netzwerkzugriff zu deaktivieren. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

Mögliche Typen

object

Konfiguration des ausgehenden Netzwerks für die Sandbox. Wenn angegeben, wird eingeschränkt, welche externen Domains die Sandbox erreichen kann. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

allowlist array (AllowlistEntry)  (optional)

Liste der zulässigen ausgehenden Domains. Es sind nur Anfragen an die aufgeführten Domains zulässig. Verwenden Sie [{'domain': '*'}], um alle Domains zuzulassen und gleichzeitig Header in bestimmte Domains einzufügen.

Eine einzelne Regel für die Zulassungsliste von Domains mit optionalem Header-Injection.

Felder

domain string  (optional)

Domain, an die ausgehende Anfragen gesendet werden dürfen. Unterstützt Platzhalter (z.B. „*.googleapis.com“). Verwenden Sie „*“, um alle Domains zuzulassen.

transform array (object) oder object  (optional)

Header, die in alle ausgehenden Anfragen eingefügt werden sollen, die mit dieser Domain übereinstimmen. Akzeptiert ein einzelnes Dictionary oder eine Liste von Dictionaries. Der Egress-Proxy fügt sie automatisch ein.

string

Schaltet alle Netzwerke aus.

Mögliche Werte

  • disabled

    Schaltet alle Netzwerke aus.

size_bytes String  (optional)

Nur Ausgabe. Die Gesamtgröße der Umgebungsdateien in Byte (nur Ausgabe).

sources array (Source)  (optional)

Quellen, die in die Umgebung eingebunden werden sollen.

Eine Quelle, die in die Umgebung eingebunden werden soll.

Felder

content string  (optional)

Der Inline-Inhalt, wenn „type“ auf „INLINE“ gesetzt ist.

encoding string  (optional)

Optionale Codierung für Inline-Inhalte (z.B. „base64“).

source string  (optional)

Die Quelle der Umgebung. Bei Cloud Storage ist dies der Cloud Storage-Pfad. Für GitHub ist das der GitHub-Pfad.

target string  (optional)

Wo die Quelle in der Umgebung erscheinen soll.

type enum (string)  (optional)

Keine Beschreibung vorhanden.

Mögliche Werte:

  • gcs

    Einen Cloud Storage-Bucket.

  • inline

    Inline-Inhalte.

  • repository

    Ein generisches Repository. Das Protokollpräfix in der Quell-URL gibt den Anbieter an (z.B. github://, gcs://).

status enum (string)  (optional)

Nur Ausgabe. Der Status des Umgebungscontainers.

Mögliche Werte:

  • active

    Nur Ausgabe. Der Status des Umgebungscontainers.

  • expired

    Nur Ausgabe. Der Status des Umgebungscontainers.

updated string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung zuletzt aktualisiert wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

Umgebung erstellen

Beispielantwort

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

ListEnvironments

get https://generativelanguage.googleapis.com/v1beta/environments

Listet Umgebungen auf.

Pfad-/Suchparameter

page_size integer  (optional)

Optional. Maximale Anzahl der zurückzugebenden Umgebungen.\nWenn nichts anderes angegeben wird, wird der Wert standardmäßig auf 50 gesetzt. Der Höchstwert liegt bei 1.000.

page_token string  (optional)

Optional. Paginierungstoken

Antwort

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

environments array (Environment)  (optional)

Umgebungen, die zum angegebenen Projekt gehören.

next_page_token string  (optional)

Paginierungstoken

Umgebungen auflisten

Beispielantwort

{
  "environments": [
    {
      "created": "2026-08-19T00:00:00Z",
      "id": "env_abc123",
      "last_accessed": "2026-08-19T00:00:00Z",
      "status": "active",
      "updated": "2026-08-19T00:00:00Z"
    }
  ]
}

GetEnvironmentFiles

get https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

Ruft Dateimetadaten oder Verzeichnisinhalte aus einem Snapshot einer Umgebung ab. Wenn Sie Dateiinhalte direkt herunterladen möchten, übergeben Sie ?alt=media oder verwenden Sie den files.download-Helfer.

Pfad-/Suchparameter

page_size integer  (optional)

Optional. Maximale Anzahl der Einträge, die pro Seite zurückgegeben werden sollen (für Verzeichnisliste).

page_token string  (optional)

Optional. Paginierungstoken für den Verzeichniseintrag.

recursive boolean  (optional)

Optional. Wenn „true“ und der Pfad ein Verzeichnis ist, werden alle Dateien rekursiv aufgelistet.

Antwort

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

files array (EnvironmentFile)  (optional)

Wenn der angeforderte Pfad ein Verzeichnis ist, enthält er dessen Inhalt. Wenn der angeforderte Pfad eine Datei ist, enthält diese einen einzelnen Eintrag mit den Metadaten der Datei. Wenn „alt=media“ angegeben wurde, ist dieser Wert leer (Inhalte werden über „blob“ bereitgestellt).

Metadaten für eine Datei oder ein Verzeichnis in einer Umgebung.

Felder

created string  (optional)

Nur Ausgabe. Der Erstellungszeitpunkt der Datei oder des Verzeichnisses.

mime_type string  (optional)

Nur Ausgabe. Der MIME-Typ der Datei (z.B. „text/python“, „image/png“). Bei Verzeichnissen leer. NOLINT

modified string  (optional)

Nur Ausgabe. Der Zeitpunkt der letzten Änderung der Datei oder des Verzeichnisses.

name String  (optional)

Nur Ausgabe. Der Name der Datei oder des Verzeichnisses (z.B. „main.py“ oder „src“).

path string  (optional)

Nur Ausgabe. Der vollständige relative Pfad in der Umgebung (z.B. „workspace/src/main.py“).

size_bytes String  (optional)

Nur Ausgabe. Die Größe der Datei oder des Verzeichnisses in Byte. NOLINT

type enum (string)  (optional)

Nur Ausgabe. Der Typ des Eintrags.

Mögliche Werte:

  • file

    Eine reguläre Datei.

  • directory

    Ein Verzeichnis.

next_page_token string  (optional)

Paginierungstoken für den Verzeichniseintrag. NOLINT

Dateien in der Umgebung auflisten

Beispielantwort

{
  "files": [
    {
      "name": "src",
      "type": "directory",
      "created": "2026-08-19T00:00:00Z",
      "modified": "2026-08-19T00:00:00Z",
      "path": "src"
    },
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Dateimetadaten abrufen

Beispielantwort

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Dateiinhalt herunterladen

Beispielantwort

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "mime_type": "text/x-python",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

GetEnvironment

get https://generativelanguage.googleapis.com/v1beta/environments/{id}

Ruft eine Umgebung ab.

Antwort

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

created string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung erstellt wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

file_count String  (optional)

Nur Ausgabe. Die Anzahl der Dateien in der Umgebung (nur Ausgabe).

id String  (optional)

Erforderlich. Nur Ausgabe. Die ID der Umgebung.

last_accessed String  (optional)

Nur Ausgabe. Die Uhrzeit, zu der zuletzt auf die Umgebung zugegriffen wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist oder enum (string)  (optional)

Netzwerkkonfiguration für die Umgebung.

Konfiguration des ausgehenden Netzwerks für die Sandbox. Akzeptiert ein Objekt mit einem „allowlist“-Array, um den Traffic einzuschränken, oder den String „disabled“, um den gesamten Netzwerkzugriff zu deaktivieren. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

Mögliche Typen

object

Konfiguration des ausgehenden Netzwerks für die Sandbox. Wenn angegeben, wird eingeschränkt, welche externen Domains die Sandbox erreichen kann. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

allowlist array (AllowlistEntry)  (optional)

Liste der zulässigen ausgehenden Domains. Es sind nur Anfragen an die aufgeführten Domains zulässig. Verwenden Sie [{'domain': '*'}], um alle Domains zuzulassen und gleichzeitig Header in bestimmte Domains einzufügen.

Eine einzelne Regel für die Zulassungsliste von Domains mit optionalem Header-Injection.

Felder

domain string  (optional)

Domain, an die ausgehende Anfragen gesendet werden dürfen. Unterstützt Platzhalter (z.B. „*.googleapis.com“). Verwenden Sie „*“, um alle Domains zuzulassen.

transform array (object) oder object  (optional)

Header, die in alle ausgehenden Anfragen eingefügt werden sollen, die mit dieser Domain übereinstimmen. Akzeptiert ein einzelnes Dictionary oder eine Liste von Dictionaries. Der Egress-Proxy fügt sie automatisch ein.

string

Schaltet alle Netzwerke aus.

Mögliche Werte

  • disabled

    Schaltet alle Netzwerke aus.

size_bytes String  (optional)

Nur Ausgabe. Die Gesamtgröße der Umgebungsdateien in Byte (nur Ausgabe).

sources array (Source)  (optional)

Quellen, die in die Umgebung eingebunden werden sollen.

Eine Quelle, die in die Umgebung eingebunden werden soll.

Felder

content string  (optional)

Der Inline-Inhalt, wenn „type“ auf „INLINE“ gesetzt ist.

encoding string  (optional)

Optionale Codierung für Inline-Inhalte (z.B. „base64“).

source string  (optional)

Die Quelle der Umgebung. Bei Cloud Storage ist dies der Cloud Storage-Pfad. Für GitHub ist das der GitHub-Pfad.

target string  (optional)

Wo die Quelle in der Umgebung erscheinen soll.

type enum (string)  (optional)

Keine Beschreibung vorhanden.

Mögliche Werte:

  • gcs

    Einen Cloud Storage-Bucket.

  • inline

    Inline-Inhalte.

  • repository

    Ein generisches Repository. Das Protokollpräfix in der Quell-URL gibt den Anbieter an (z.B. github://, gcs://).

status enum (string)  (optional)

Nur Ausgabe. Der Status des Umgebungscontainers.

Mögliche Werte:

  • active

    Nur Ausgabe. Der Status des Umgebungscontainers.

  • expired

    Nur Ausgabe. Der Status des Umgebungscontainers.

updated string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung zuletzt aktualisiert wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

Umgebung abrufen

Beispielantwort

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

DeleteEnvironment

delete https://generativelanguage.googleapis.com/v1beta/environments/{id}

Löscht eine Umgebung.

Antwort

Bei Erfolg ist die Antwort leer.

Umgebung löschen

Ressourcen

Umgebung

Eine Ausführungsumgebung für einen KI-Agenten.

Felder

created string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung erstellt wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

file_count String  (optional)

Nur Ausgabe. Die Anzahl der Dateien in der Umgebung (nur Ausgabe).

id String  (optional)

Erforderlich. Nur Ausgabe. Die ID der Umgebung.

last_accessed String  (optional)

Nur Ausgabe. Die Uhrzeit, zu der zuletzt auf die Umgebung zugegriffen wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist oder enum (string)  (optional)

Netzwerkkonfiguration für die Umgebung.

Konfiguration des ausgehenden Netzwerks für die Sandbox. Akzeptiert ein Objekt mit einem „allowlist“-Array, um den Traffic einzuschränken, oder den String „disabled“, um den gesamten Netzwerkzugriff zu deaktivieren. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

Mögliche Typen

object

Konfiguration des ausgehenden Netzwerks für die Sandbox. Wenn angegeben, wird eingeschränkt, welche externen Domains die Sandbox erreichen kann. Wenn Sie diese Option ganz weglassen, wird der gesamte ausgehende Traffic ohne Header-Injection zugelassen.

allowlist array (AllowlistEntry)  (optional)

Liste der zulässigen ausgehenden Domains. Es sind nur Anfragen an die aufgeführten Domains zulässig. Verwenden Sie [{'domain': '*'}], um alle Domains zuzulassen und gleichzeitig Header in bestimmte Domains einzufügen.

Eine einzelne Regel für die Zulassungsliste von Domains mit optionalem Header-Injection.

Felder

domain string  (optional)

Domain, an die ausgehende Anfragen gesendet werden dürfen. Unterstützt Platzhalter (z.B. „*.googleapis.com“). Verwenden Sie „*“, um alle Domains zuzulassen.

transform array (object) oder object  (optional)

Header, die in alle ausgehenden Anfragen eingefügt werden sollen, die mit dieser Domain übereinstimmen. Akzeptiert ein einzelnes Dictionary oder eine Liste von Dictionaries. Der Egress-Proxy fügt sie automatisch ein.

string

Schaltet alle Netzwerke aus.

Mögliche Werte

  • disabled

    Schaltet alle Netzwerke aus.

size_bytes String  (optional)

Nur Ausgabe. Die Gesamtgröße der Umgebungsdateien in Byte (nur Ausgabe).

sources array (Source)  (optional)

Quellen, die in die Umgebung eingebunden werden sollen.

Eine Quelle, die in die Umgebung eingebunden werden soll.

Felder

content string  (optional)

Der Inline-Inhalt, wenn „type“ auf „INLINE“ gesetzt ist.

encoding string  (optional)

Optionale Codierung für Inline-Inhalte (z.B. „base64“).

source string  (optional)

Die Quelle der Umgebung. Bei Cloud Storage ist dies der Cloud Storage-Pfad. Für GitHub ist das der GitHub-Pfad.

target string  (optional)

Wo die Quelle in der Umgebung erscheinen soll.

type enum (string)  (optional)

Keine Beschreibung vorhanden.

Mögliche Werte:

  • gcs

    Einen Cloud Storage-Bucket.

  • inline

    Inline-Inhalte.

  • repository

    Ein generisches Repository. Das Protokollpräfix in der Quell-URL gibt den Anbieter an (z.B. github://, gcs://).

status enum (string)  (optional)

Nur Ausgabe. Der Status des Umgebungscontainers.

Mögliche Werte:

  • active

    Nur Ausgabe. Der Status des Umgebungscontainers.

  • expired

    Nur Ausgabe. Der Status des Umgebungscontainers.

updated string  (optional)

Nur Ausgabe. Die Uhrzeit, zu der die Umgebung zuletzt aktualisiert wurde, im ISO 8601-Format (JJJJ-MM-TTThh:mm:ssZ).