Gemini Environments API

Les environnements fournissent des contextes d'exécution isolés pour exécuter le code, les outils et les services de l'agent de manière sécurisée.

CreateEnvironment

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

Crée un environnement.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

network EnvironmentNetworkEgressAllowlist ou enum (string)  (facultatif)

Configuration réseau de l'environnement.

Configuration de la mise en réseau sortante pour le bac à sable. Accepte un objet avec un tableau "allowlist" pour restreindre le trafic, ou la chaîne "disabled" pour désactiver tout accès au réseau. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

Types possibles

object

Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

allowlist array (AllowlistEntry)  (optional)

Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.

Règle unique de liste d'autorisation de domaine avec injection d'en-tête facultative.

Champs

domain string  (facultatif)

Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.

transform array (object) or object  (optional)

En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.

string

Éteint tous les réseaux.

Valeurs possibles

  • disabled

    Éteint tous les réseaux.

sources array (Source)  (facultatif)

Sources à monter dans l'environnement.

Source à monter dans l'environnement.

Champs

content string  (facultatif)

Contenu intégré si le type est "INLINE".

encoding string  (facultatif)

Encodage facultatif pour le contenu intégré (par exemple, "base64").

source string  (facultatif)

Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.

target string  (facultatif)

Où la source doit apparaître dans l'environnement.

type enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenu intégré.

  • repository

    Dépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).

Réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

created string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

file_count string  (facultatif)

Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).

id chaîne  (facultatif)

Obligatoire. Uniquement en sortie. ID de l'environnement.

last_accessed string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist ou enum (string)  (facultatif)

Configuration réseau de l'environnement.

Configuration de la mise en réseau sortante pour le bac à sable. Accepte un objet avec un tableau "allowlist" pour restreindre le trafic, ou la chaîne "disabled" pour désactiver tout accès au réseau. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

Types possibles

object

Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

allowlist array (AllowlistEntry)  (optional)

Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.

Règle unique de liste d'autorisation de domaine avec injection d'en-tête facultative.

Champs

domain string  (facultatif)

Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.

transform array (object) or object  (optional)

En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.

string

Éteint tous les réseaux.

Valeurs possibles

  • disabled

    Éteint tous les réseaux.

size_bytes string  (facultatif)

Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).

sources array (Source)  (facultatif)

Sources à monter dans l'environnement.

Source à monter dans l'environnement.

Champs

content string  (facultatif)

Contenu intégré si le type est "INLINE".

encoding string  (facultatif)

Encodage facultatif pour le contenu intégré (par exemple, "base64").

source string  (facultatif)

Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.

target string  (facultatif)

Où la source doit apparaître dans l'environnement.

type enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenu intégré.

  • repository

    Dépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).

status enum (string)  (facultatif)

Uniquement en sortie. État du conteneur d'environnement.

Valeurs possibles :

  • active

    Uniquement en sortie. État du conteneur d'environnement.

  • expired

    Uniquement en sortie. État du conteneur d'environnement.

updated string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

Créer un environnement

Exemple de réponse

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

Liste les environnements.

Paramètres de chemin d'accès / de requête

page_size integer  (facultatif)

Facultatif. Nombre maximal d'environnements à renvoyer.\nSi aucune valeur n'est spécifiée, la valeur par défaut est 50. La valeur maximale est de 1 000.

page_token string  (facultatif)

Facultatif. Jeton de pagination.

Réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

environments array (Environment)  (facultatif)

Environnements appartenant au projet fourni.

next_page_token string  (facultatif)

Jeton de pagination.

Répertorier les environnements

Exemple de réponse

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

Récupère les métadonnées d'un fichier ou le contenu d'un répertoire à partir de l'instantané d'un environnement. Pour télécharger directement le contenu d'un fichier, transmettez ?alt=media ou utilisez l'assistant files.download.

Paramètres de chemin d'accès / de requête

page_size integer  (facultatif)

Facultatif. Nombre maximal d'entrées à renvoyer par page (pour la liste des annuaires).

page_token string  (facultatif)

Facultatif. Jeton de pagination pour la liste des répertoires.

recursive boolean  (facultatif)

Facultatif. Si la valeur est "true" et que le chemin d'accès est un répertoire, tous les fichiers sont listés de manière récursive.

Réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

files array (EnvironmentFile)  (facultatif)

Si le chemin d'accès demandé est un répertoire, il contient son contenu. Si le chemin d'accès demandé est un fichier, il contient une seule entrée avec les métadonnées du fichier. Si alt=media a été spécifié, cette valeur est vide (le contenu est diffusé via "blob").

Métadonnées d'un fichier ou d'un répertoire dans un environnement.

Champs

created string  (facultatif)

Uniquement en sortie. Date et heure de création du fichier ou du répertoire.

mime_type string  (facultatif)

Uniquement en sortie. Type MIME du fichier (par exemple, "text/python" ou "image/png"). Vide pour les répertoires. NOLINT

modified string  (facultatif)

Uniquement en sortie. Date et heure de modification du fichier ou du répertoire.

name string  (facultatif)

Uniquement en sortie. Nom du fichier ou du répertoire (par exemple, "main.py" ou "src").

path string  (facultatif)

Uniquement en sortie. Chemin d'accès relatif complet dans l'environnement (par exemple, "workspace/src/main.py").

size_bytes string  (facultatif)

Uniquement en sortie. Taille du fichier/répertoire en octets. NOLINT

type enum (string)  (facultatif)

Uniquement en sortie. Type d'entrée.

Valeurs possibles :

  • file

    Fichier normal.

  • directory

    Un répertoire.

next_page_token string  (facultatif)

Jeton de pagination pour la liste des répertoires. NOLINT

Lister les fichiers dans l'environnement

Exemple de réponse

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

Obtenir les métadonnées d'un fichier

Exemple de réponse

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

Télécharger le contenu d'un fichier

Exemple de réponse

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

Récupère un environnement.

Réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

created string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

file_count string  (facultatif)

Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).

id chaîne  (facultatif)

Obligatoire. Uniquement en sortie. ID de l'environnement.

last_accessed string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist ou enum (string)  (facultatif)

Configuration réseau de l'environnement.

Configuration de la mise en réseau sortante pour le bac à sable. Accepte un objet avec un tableau "allowlist" pour restreindre le trafic, ou la chaîne "disabled" pour désactiver tout accès au réseau. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

Types possibles

object

Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

allowlist array (AllowlistEntry)  (optional)

Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.

Règle unique de liste d'autorisation de domaine avec injection d'en-tête facultative.

Champs

domain string  (facultatif)

Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.

transform array (object) or object  (optional)

En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.

string

Éteint tous les réseaux.

Valeurs possibles

  • disabled

    Éteint tous les réseaux.

size_bytes string  (facultatif)

Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).

sources array (Source)  (facultatif)

Sources à monter dans l'environnement.

Source à monter dans l'environnement.

Champs

content string  (facultatif)

Contenu intégré si le type est "INLINE".

encoding string  (facultatif)

Encodage facultatif pour le contenu intégré (par exemple, "base64").

source string  (facultatif)

Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.

target string  (facultatif)

Où la source doit apparaître dans l'environnement.

type enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenu intégré.

  • repository

    Dépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).

status enum (string)  (facultatif)

Uniquement en sortie. État du conteneur d'environnement.

Valeurs possibles :

  • active

    Uniquement en sortie. État du conteneur d'environnement.

  • expired

    Uniquement en sortie. État du conteneur d'environnement.

updated string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

Obtenir l'environnement

Exemple de réponse

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

Supprime un environnement.

Réponse

Si l'opération réussit, la réponse est vide.

Supprimer l'environnement

Ressources

Environnement

Environnement d'exécution pour un agent.

Champs

created string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

file_count string  (facultatif)

Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).

id chaîne  (facultatif)

Obligatoire. Uniquement en sortie. ID de l'environnement.

last_accessed string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist ou enum (string)  (facultatif)

Configuration réseau de l'environnement.

Configuration de la mise en réseau sortante pour le bac à sable. Accepte un objet avec un tableau "allowlist" pour restreindre le trafic, ou la chaîne "disabled" pour désactiver tout accès au réseau. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

Types possibles

object

Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.

allowlist array (AllowlistEntry)  (optional)

Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.

Règle unique de liste d'autorisation de domaine avec injection d'en-tête facultative.

Champs

domain string  (facultatif)

Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.

transform array (object) or object  (optional)

En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.

string

Éteint tous les réseaux.

Valeurs possibles

  • disabled

    Éteint tous les réseaux.

size_bytes string  (facultatif)

Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).

sources array (Source)  (facultatif)

Sources à monter dans l'environnement.

Source à monter dans l'environnement.

Champs

content string  (facultatif)

Contenu intégré si le type est "INLINE".

encoding string  (facultatif)

Encodage facultatif pour le contenu intégré (par exemple, "base64").

source string  (facultatif)

Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.

target string  (facultatif)

Où la source doit apparaître dans l'environnement.

type enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • gcs

    Un bucket Cloud Storage.

  • inline

    Contenu intégré.

  • repository

    Dépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).

status enum (string)  (facultatif)

Uniquement en sortie. État du conteneur d'environnement.

Valeurs possibles :

  • active

    Uniquement en sortie. État du conteneur d'environnement.

  • expired

    Uniquement en sortie. État du conteneur d'environnement.

updated string  (facultatif)

Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).