Gemini Environments API

Gli ambienti forniscono contesti di esecuzione isolati per l'esecuzione sicura di codice, strumenti e servizi dell'agente.

CreateEnvironment

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

Crea un ambiente.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

network EnvironmentNetworkEgressAllowlist or enum (string)  (facoltativo)

Configurazione di rete per l'ambiente.

Configurazione del networking in uscita per la sandbox. Accetta un oggetto con un array "allowlist" per limitare il traffico o la stringa "disabled" per disattivare tutto l'accesso alla rete. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

Tipi possibili

oggetto

Configurazione del networking in uscita per la sandbox. Se specificato, limita i domini esterni raggiungibili dalla sandbox. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

allowlist array (AllowlistEntry)  (facoltativo)

Elenco dei domini in uscita consentiti. Sono consentite solo le richieste ai domini elencati. Utilizza [{'domain': '*'}] per consentire tutti i domini e inserire comunque le intestazioni in quelli specifici.

Una singola regola di lista consentita del dominio con l'inserimento facoltativo dell'intestazione.

Campi

domain string  (facoltativo)

Il dominio a cui consentire le richieste in uscita. Supporta i caratteri jolly (ad es. "*.googleapis.com"). Utilizza "*" per consentire tutti i domini.

transform array (object) or object  (facoltativo)

Intestazioni da inserire in tutte le richieste in uscita corrispondenti a questo dominio. Accetta un singolo dizionario o un elenco di dizionari. Il proxy di uscita li inserisce automaticamente.

string

Disattiva tutte le reti.

Valori possibili

  • disabled

    Disattiva tutte le reti.

sources array (Source)  (facoltativo)

Le origini da montare nell'ambiente.

Una sorgente da montare nell'ambiente.

Campi

content string  (facoltativo)

I contenuti in linea se "type" è "INLINE".

encoding string  (facoltativo)

Codifica facoltativa per i contenuti incorporati (ad es. `base64`).

source string  (facoltativo)

L'origine dell'ambiente. Per Cloud Storage, questo è il percorso di Cloud Storage. Per GitHub, questo è il percorso GitHub.

target string  (facoltativo)

Dove deve apparire la sorgente nell'ambiente.

type enum (string)  (facoltativo)

Nessuna descrizione fornita.

Valori possibili:

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenuti in linea.

  • repository

    Un repository generico. Il prefisso del protocollo nell'URL di origine identifica il provider (ad es. github://, gcs://).

Risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

created string  (facoltativo)

Solo output. L'ora in cui è stato creato l'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

file_count stringa  (facoltativo)

Solo output. Il numero di file nell'ambiente, solo output.

id stringa  (facoltativo)

Obbligatorio. Solo output. L'ID dell'ambiente.

last_accessed stringa  (facoltativo)

Solo output. L'ora in cui è stato eseguito l'ultimo accesso all'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist or enum (string)  (facoltativo)

Configurazione di rete per l'ambiente.

Configurazione del networking in uscita per la sandbox. Accetta un oggetto con un array "allowlist" per limitare il traffico o la stringa "disabled" per disattivare tutto l'accesso alla rete. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

Tipi possibili

oggetto

Configurazione del networking in uscita per la sandbox. Se specificato, limita i domini esterni raggiungibili dalla sandbox. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

allowlist array (AllowlistEntry)  (facoltativo)

Elenco dei domini in uscita consentiti. Sono consentite solo le richieste ai domini elencati. Utilizza [{'domain': '*'}] per consentire tutti i domini e inserire comunque le intestazioni in quelli specifici.

Una singola regola di lista consentita del dominio con l'inserimento facoltativo dell'intestazione.

Campi

domain string  (facoltativo)

Il dominio a cui consentire le richieste in uscita. Supporta i caratteri jolly (ad es. "*.googleapis.com"). Utilizza "*" per consentire tutti i domini.

transform array (object) or object  (facoltativo)

Intestazioni da inserire in tutte le richieste in uscita corrispondenti a questo dominio. Accetta un singolo dizionario o un elenco di dizionari. Il proxy di uscita li inserisce automaticamente.

string

Disattiva tutte le reti.

Valori possibili

  • disabled

    Disattiva tutte le reti.

size_bytes stringa  (facoltativo)

Solo output. Le dimensioni totali dei file dell'ambiente in byte, solo output.

sources array (Source)  (facoltativo)

Le origini da montare nell'ambiente.

Una sorgente da montare nell'ambiente.

Campi

content string  (facoltativo)

I contenuti in linea se "type" è "INLINE".

encoding string  (facoltativo)

Codifica facoltativa per i contenuti incorporati (ad es. `base64`).

source string  (facoltativo)

L'origine dell'ambiente. Per Cloud Storage, questo è il percorso di Cloud Storage. Per GitHub, questo è il percorso GitHub.

target string  (facoltativo)

Dove deve apparire la sorgente nell'ambiente.

type enum (string)  (facoltativo)

Nessuna descrizione fornita.

Valori possibili:

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenuti in linea.

  • repository

    Un repository generico. Il prefisso del protocollo nell'URL di origine identifica il provider (ad es. github://, gcs://).

status enum (string)  (facoltativo)

Solo output. Lo stato del container dell'ambiente.

Valori possibili:

  • active

    Solo output. Lo stato del container dell'ambiente.

  • expired

    Solo output. Lo stato del container dell'ambiente.

updated string  (facoltativo)

Solo output. L'ora in cui l'ambiente è stato aggiornato l'ultima volta nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

Crea ambiente

Esempio di risposta

{
  "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

Elenca gli ambienti.

Parametri percorso / query

page_size integer  (facoltativo)

Facoltativo. Il numero massimo di ambienti da restituire.\nSe non specificato, il valore predefinito è 50. Il valore massimo è 1000.

page_token stringa  (facoltativo)

Facoltativo. Token di paginazione.

Risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

environments array (Environment)  (facoltativo)

Ambienti appartenenti al progetto fornito.

next_page_token stringa  (facoltativo)

Token di paginazione.

Elenco ambienti

Esempio di risposta

{
  "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}

Recupera i metadati dei file o i contenuti della directory dallo snapshot di un ambiente. Per scaricare direttamente i contenuti del file, passa ?alt=media o utilizza l'helper files.download.

Parametri percorso / query

page_size integer  (facoltativo)

Facoltativo. Numero massimo di voci da restituire per pagina (per l'elenco delle directory).

page_token stringa  (facoltativo)

Facoltativo. Token di impaginazione per la scheda della directory.

recursive boolean  (facoltativo)

Facoltativo. Se true e il percorso è una directory, elenca in modo ricorsivo tutti i file.

Risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

file array (EnvironmentFile)  (facoltativo)

Se il percorso richiesto è una directory, questa contiene i relativi contenuti. Se il percorso richiesto è un file, questo contiene una sola voce con i metadati del file. Se è stato specificato alt=media, questo campo è vuoto (i contenuti vengono pubblicati tramite "blob").

Metadati per un file o una directory all'interno di un ambiente.

Campi

created string  (facoltativo)

Solo output. L'ora di creazione del file/della directory.

mime_type string  (facoltativo)

Solo output. Il tipo MIME del file (ad es. "text/python", "image/png"). Nessun valore per le directory. NOLINT

modified string  (facoltativo)

Solo output. L'ora di modifica del file/della directory.

name string  (facoltativo)

Solo output. Il nome del file o della directory (ad es. "main.py" o "src").

path string  (facoltativo)

Solo output. Il percorso relativo completo all'interno dell'ambiente (ad es. "workspace/src/main.py").

size_bytes stringa  (facoltativo)

Solo output. Le dimensioni del file/della directory in byte. NOLINT

type enum (string)  (facoltativo)

Solo output. Il tipo di voce.

Valori possibili:

  • file

    Un file normale.

  • directory

    Una directory.

next_page_token stringa  (facoltativo)

Token di impaginazione per la scheda della directory. NOLINT

Elenca i file nell'ambiente

Esempio di risposta

{
  "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"
    }
  ]
}

Recupera metadati file

Esempio di risposta

{
  "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"
    }
  ]
}

Scaricare i contenuti del file

Esempio di risposta

{
  "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}

Recupera un ambiente.

Risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

created string  (facoltativo)

Solo output. L'ora in cui è stato creato l'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

file_count stringa  (facoltativo)

Solo output. Il numero di file nell'ambiente, solo output.

id stringa  (facoltativo)

Obbligatorio. Solo output. L'ID dell'ambiente.

last_accessed stringa  (facoltativo)

Solo output. L'ora in cui è stato eseguito l'ultimo accesso all'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist or enum (string)  (facoltativo)

Configurazione di rete per l'ambiente.

Configurazione del networking in uscita per la sandbox. Accetta un oggetto con un array "allowlist" per limitare il traffico o la stringa "disabled" per disattivare tutto l'accesso alla rete. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

Tipi possibili

oggetto

Configurazione del networking in uscita per la sandbox. Se specificato, limita i domini esterni raggiungibili dalla sandbox. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

allowlist array (AllowlistEntry)  (facoltativo)

Elenco dei domini in uscita consentiti. Sono consentite solo le richieste ai domini elencati. Utilizza [{'domain': '*'}] per consentire tutti i domini e inserire comunque le intestazioni in quelli specifici.

Una singola regola di lista consentita del dominio con l'inserimento facoltativo dell'intestazione.

Campi

domain string  (facoltativo)

Il dominio a cui consentire le richieste in uscita. Supporta i caratteri jolly (ad es. "*.googleapis.com"). Utilizza "*" per consentire tutti i domini.

transform array (object) or object  (facoltativo)

Intestazioni da inserire in tutte le richieste in uscita corrispondenti a questo dominio. Accetta un singolo dizionario o un elenco di dizionari. Il proxy di uscita li inserisce automaticamente.

string

Disattiva tutte le reti.

Valori possibili

  • disabled

    Disattiva tutte le reti.

size_bytes stringa  (facoltativo)

Solo output. Le dimensioni totali dei file dell'ambiente in byte, solo output.

sources array (Source)  (facoltativo)

Le origini da montare nell'ambiente.

Una sorgente da montare nell'ambiente.

Campi

content string  (facoltativo)

I contenuti in linea se "type" è "INLINE".

encoding string  (facoltativo)

Codifica facoltativa per i contenuti incorporati (ad es. `base64`).

source string  (facoltativo)

L'origine dell'ambiente. Per Cloud Storage, questo è il percorso di Cloud Storage. Per GitHub, questo è il percorso GitHub.

target string  (facoltativo)

Dove deve apparire la sorgente nell'ambiente.

type enum (string)  (facoltativo)

Nessuna descrizione fornita.

Valori possibili:

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenuti in linea.

  • repository

    Un repository generico. Il prefisso del protocollo nell'URL di origine identifica il provider (ad es. github://, gcs://).

status enum (string)  (facoltativo)

Solo output. Lo stato del container dell'ambiente.

Valori possibili:

  • active

    Solo output. Lo stato del container dell'ambiente.

  • expired

    Solo output. Lo stato del container dell'ambiente.

updated string  (facoltativo)

Solo output. L'ora in cui l'ambiente è stato aggiornato l'ultima volta nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

Recupero ambiente

Esempio di risposta

{
  "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}

Elimina un ambiente.

Risposta

In caso di esito positivo, la risposta è vuota.

Eliminazione ambiente

Risorse

Ambiente

Un ambiente di esecuzione per un agente.

Campi

created string  (facoltativo)

Solo output. L'ora in cui è stato creato l'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

file_count stringa  (facoltativo)

Solo output. Il numero di file nell'ambiente, solo output.

id stringa  (facoltativo)

Obbligatorio. Solo output. L'ID dell'ambiente.

last_accessed stringa  (facoltativo)

Solo output. L'ora in cui è stato eseguito l'ultimo accesso all'ambiente nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist or enum (string)  (facoltativo)

Configurazione di rete per l'ambiente.

Configurazione del networking in uscita per la sandbox. Accetta un oggetto con un array "allowlist" per limitare il traffico o la stringa "disabled" per disattivare tutto l'accesso alla rete. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

Tipi possibili

oggetto

Configurazione del networking in uscita per la sandbox. Se specificato, limita i domini esterni raggiungibili dalla sandbox. Ometti completamente per consentire tutto il traffico in uscita senza inserimento di intestazioni.

allowlist array (AllowlistEntry)  (facoltativo)

Elenco dei domini in uscita consentiti. Sono consentite solo le richieste ai domini elencati. Utilizza [{'domain': '*'}] per consentire tutti i domini e inserire comunque le intestazioni in quelli specifici.

Una singola regola di lista consentita del dominio con l'inserimento facoltativo dell'intestazione.

Campi

domain string  (facoltativo)

Il dominio a cui consentire le richieste in uscita. Supporta i caratteri jolly (ad es. "*.googleapis.com"). Utilizza "*" per consentire tutti i domini.

transform array (object) or object  (facoltativo)

Intestazioni da inserire in tutte le richieste in uscita corrispondenti a questo dominio. Accetta un singolo dizionario o un elenco di dizionari. Il proxy di uscita li inserisce automaticamente.

string

Disattiva tutte le reti.

Valori possibili

  • disabled

    Disattiva tutte le reti.

size_bytes stringa  (facoltativo)

Solo output. Le dimensioni totali dei file dell'ambiente in byte, solo output.

sources array (Source)  (facoltativo)

Le origini da montare nell'ambiente.

Una sorgente da montare nell'ambiente.

Campi

content string  (facoltativo)

I contenuti in linea se "type" è "INLINE".

encoding string  (facoltativo)

Codifica facoltativa per i contenuti incorporati (ad es. `base64`).

source string  (facoltativo)

L'origine dell'ambiente. Per Cloud Storage, questo è il percorso di Cloud Storage. Per GitHub, questo è il percorso GitHub.

target string  (facoltativo)

Dove deve apparire la sorgente nell'ambiente.

type enum (string)  (facoltativo)

Nessuna descrizione fornita.

Valori possibili:

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenuti in linea.

  • repository

    Un repository generico. Il prefisso del protocollo nell'URL di origine identifica il provider (ad es. github://, gcs://).

status enum (string)  (facoltativo)

Solo output. Lo stato del container dell'ambiente.

Valori possibili:

  • active

    Solo output. Lo stato del container dell'ambiente.

  • expired

    Solo output. Lo stato del container dell'ambiente.

updated string  (facoltativo)

Solo output. L'ora in cui l'ambiente è stato aggiornato l'ultima volta nel formato ISO 8601 (AAAA-MM-GGThh:mm:ssZ).