Gemini Environments API

Lingkungan menyediakan konteks eksekusi terisolasi untuk menjalankan kode, alat, dan layanan agen secara aman.

CreateEnvironment

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

Membuat lingkungan.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

network EnvironmentNetworkEgressAllowlist atau enum (string)  (opsional)

Konfigurasi jaringan untuk lingkungan.

Konfigurasi jaringan keluar untuk sandbox. Menerima objek dengan array 'allowlist' untuk membatasi traffic, atau string 'disabled' untuk menonaktifkan semua akses jaringan. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

Kemungkinan Jenis

object

Konfigurasi jaringan keluar untuk sandbox. Jika ditentukan, membatasi domain eksternal yang dapat dijangkau sandbox. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

allowlist array (AllowlistEntry)  (opsional)

Daftar domain keluar yang diizinkan. Hanya permintaan ke domain yang tercantum yang diizinkan. Gunakan [{'domain': '*'}] untuk mengizinkan semua domain sekaligus menyisipkan header di domain tertentu.

Satu aturan daftar domain yang diizinkan dengan penyisipan header opsional.

Kolom

domain string  (opsional)

Domain yang diizinkan untuk mengirim permintaan keluar. Mendukung karakter pengganti (misalnya, '*.googleapis.com'). Gunakan '*' untuk mengizinkan semua domain.

transform array (objek) atau objek  (opsional)

Header yang akan disisipkan pada semua permintaan keluar yang cocok dengan domain ini. Menerima satu dict atau daftar dict. Proxy keluar akan menyuntikkan header ini secara otomatis.

string

Menonaktifkan semua jaringan.

Nilai yang mungkin

  • disabled

    Menonaktifkan semua jaringan.

sources array (Source)  (opsional)

Sumber yang akan di-mount ke lingkungan.

Sumber yang akan di-mount ke dalam lingkungan.

Kolom

content string  (opsional)

Konten inline jika `type` adalah `INLINE`.

encoding string  (opsional)

Encoding opsional untuk konten inline (misalnya, `base64`).

source string  (opsional)

Sumber lingkungan. Untuk Cloud Storage, ini adalah jalur Cloud Storage. Untuk GitHub, ini adalah jalur GitHub.

target string  (opsional)

Tempat sumber harus muncul di lingkungan.

type enum (string)  (opsional)

Tidak tersedia deskripsi.

Nilai yang mungkin:

  • gcs

    Bucket Cloud Storage.

  • inline

    Konten inline.

  • repository

    Repositori generik. Awalan protokol di URL sumber mengidentifikasi penyedia (misalnya, github://, gcs://).

Respons

Jika berhasil, isi respons memuat data dengan struktur berikut:

created string  (opsional)

Hanya output. Waktu saat lingkungan dibuat dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (opsional)

Hanya output. Jumlah file di lingkungan, hanya output.

id string  (opsional)

Wajib. Hanya output. ID lingkungan.

last_accessed string  (opsional)

Hanya output. Waktu saat lingkungan terakhir diakses dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist atau enum (string)  (opsional)

Konfigurasi jaringan untuk lingkungan.

Konfigurasi jaringan keluar untuk sandbox. Menerima objek dengan array 'allowlist' untuk membatasi traffic, atau string 'disabled' untuk menonaktifkan semua akses jaringan. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

Kemungkinan Jenis

object

Konfigurasi jaringan keluar untuk sandbox. Jika ditentukan, membatasi domain eksternal yang dapat dijangkau sandbox. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

allowlist array (AllowlistEntry)  (opsional)

Daftar domain keluar yang diizinkan. Hanya permintaan ke domain yang tercantum yang diizinkan. Gunakan [{'domain': '*'}] untuk mengizinkan semua domain sekaligus menyisipkan header di domain tertentu.

Satu aturan daftar domain yang diizinkan dengan penyisipan header opsional.

Kolom

domain string  (opsional)

Domain yang diizinkan untuk mengirim permintaan keluar. Mendukung karakter pengganti (misalnya, '*.googleapis.com'). Gunakan '*' untuk mengizinkan semua domain.

transform array (objek) atau objek  (opsional)

Header yang akan disisipkan pada semua permintaan keluar yang cocok dengan domain ini. Menerima satu dict atau daftar dict. Proxy keluar akan menyuntikkan header ini secara otomatis.

string

Menonaktifkan semua jaringan.

Nilai yang mungkin

  • disabled

    Menonaktifkan semua jaringan.

size_bytes string  (opsional)

Hanya output. Ukuran total file lingkungan dalam byte, hanya output.

sources array (Source)  (opsional)

Sumber yang akan di-mount ke lingkungan.

Sumber yang akan di-mount ke dalam lingkungan.

Kolom

content string  (opsional)

Konten inline jika `type` adalah `INLINE`.

encoding string  (opsional)

Encoding opsional untuk konten inline (misalnya, `base64`).

source string  (opsional)

Sumber lingkungan. Untuk Cloud Storage, ini adalah jalur Cloud Storage. Untuk GitHub, ini adalah jalur GitHub.

target string  (opsional)

Tempat sumber harus muncul di lingkungan.

type enum (string)  (opsional)

Tidak tersedia deskripsi.

Nilai yang mungkin:

  • gcs

    Bucket Cloud Storage.

  • inline

    Konten inline.

  • repository

    Repositori generik. Awalan protokol di URL sumber mengidentifikasi penyedia (misalnya, github://, gcs://).

status enum (string)  (opsional)

Hanya output. Status penampung lingkungan.

Nilai yang mungkin:

  • active

    Hanya output. Status penampung lingkungan.

  • expired

    Hanya output. Status penampung lingkungan.

updated string  (opsional)

Hanya output. Waktu saat lingkungan terakhir kali diupdate dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

Buat Lingkungan

Contoh Respons

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

Mencantumkan lingkungan.

Parameter Jalur / Kueri

page_size integer  (opsional)

Opsional. Jumlah maksimum lingkungan yang akan ditampilkan.\nJika tidak ditentukan, defaultnya adalah 50. Maksimum adalah 1.000.

page_token string  (opsional)

Opsional. Token penomoran halaman.

Respons

Jika berhasil, isi respons memuat data dengan struktur berikut:

environments array (Environment)  (opsional)

Lingkungan yang termasuk dalam project yang diberikan.

next_page_token string  (opsional)

Token penomoran halaman.

Mencantumkan Lingkungan

Contoh Respons

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

Mengambil metadata file atau konten direktori dari snapshot lingkungan. Untuk mendownload konten file secara langsung, teruskan ?alt=media atau gunakan helper files.download.

Parameter Jalur / Kueri

page_size integer  (opsional)

Opsional. Jumlah maksimum entri yang akan ditampilkan per halaman (untuk listingan direktori).

page_token string  (opsional)

Opsional. Token penomoran halaman untuk listingan direktori.

recursive boolean  (opsional)

Opsional. Jika benar dan jalur adalah direktori, akan mencantumkan semua file secara berulang.

Respons

Jika berhasil, isi respons memuat data dengan struktur berikut:

files array (EnvironmentFile)  (opsional)

Jika jalur yang diminta adalah direktori, ini berisi kontennya. Jika jalur yang diminta adalah file, ini berisi satu entri dengan metadata file. Jika alt=media ditentukan, kolom ini kosong (konten ditayangkan melalui `blob`).

Metadata untuk file atau direktori dalam lingkungan.

Kolom

created string  (opsional)

Hanya output. Waktu pembuatan file/direktori.

mime_type string  (opsional)

Hanya output. Jenis MIME file (misalnya, "text/python", "image/png"). Kosong untuk direktori. NOLINT

modified string  (opsional)

Hanya output. Waktu modifikasi file/direktori.

name string  (opsional)

Hanya output. Nama file atau direktori (misalnya, "main.py" atau "src").

path string  (opsional)

Hanya output. Jalur relatif lengkap dalam lingkungan (misalnya, "workspace/src/main.py").

size_bytes string  (opsional)

Hanya output. Ukuran file/direktori dalam byte. NOLINT

type enum (string)  (opsional)

Hanya output. Jenis entri.

Nilai yang mungkin:

  • file

    File reguler.

  • directory

    Direktori.

next_page_token string  (opsional)

Token penomoran halaman untuk listingan direktori. NOLINT

Mencantumkan File di Lingkungan

Contoh Respons

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

Mendapatkan Metadata File

Contoh Respons

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

Mendownload Konten File

Contoh Respons

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

Mendapatkan lingkungan.

Respons

Jika berhasil, isi respons memuat data dengan struktur berikut:

created string  (opsional)

Hanya output. Waktu saat lingkungan dibuat dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (opsional)

Hanya output. Jumlah file di lingkungan, hanya output.

id string  (opsional)

Wajib. Hanya output. ID lingkungan.

last_accessed string  (opsional)

Hanya output. Waktu saat lingkungan terakhir diakses dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist atau enum (string)  (opsional)

Konfigurasi jaringan untuk lingkungan.

Konfigurasi jaringan keluar untuk sandbox. Menerima objek dengan array 'allowlist' untuk membatasi traffic, atau string 'disabled' untuk menonaktifkan semua akses jaringan. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

Kemungkinan Jenis

object

Konfigurasi jaringan keluar untuk sandbox. Jika ditentukan, membatasi domain eksternal yang dapat dijangkau sandbox. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

allowlist array (AllowlistEntry)  (opsional)

Daftar domain keluar yang diizinkan. Hanya permintaan ke domain yang tercantum yang diizinkan. Gunakan [{'domain': '*'}] untuk mengizinkan semua domain sekaligus menyisipkan header di domain tertentu.

Satu aturan daftar domain yang diizinkan dengan penyisipan header opsional.

Kolom

domain string  (opsional)

Domain yang diizinkan untuk mengirim permintaan keluar. Mendukung karakter pengganti (misalnya, '*.googleapis.com'). Gunakan '*' untuk mengizinkan semua domain.

transform array (objek) atau objek  (opsional)

Header yang akan disisipkan pada semua permintaan keluar yang cocok dengan domain ini. Menerima satu dict atau daftar dict. Proxy keluar akan menyuntikkan header ini secara otomatis.

string

Menonaktifkan semua jaringan.

Nilai yang mungkin

  • disabled

    Menonaktifkan semua jaringan.

size_bytes string  (opsional)

Hanya output. Ukuran total file lingkungan dalam byte, hanya output.

sources array (Source)  (opsional)

Sumber yang akan di-mount ke lingkungan.

Sumber yang akan di-mount ke dalam lingkungan.

Kolom

content string  (opsional)

Konten inline jika `type` adalah `INLINE`.

encoding string  (opsional)

Encoding opsional untuk konten inline (misalnya, `base64`).

source string  (opsional)

Sumber lingkungan. Untuk Cloud Storage, ini adalah jalur Cloud Storage. Untuk GitHub, ini adalah jalur GitHub.

target string  (opsional)

Tempat sumber harus muncul di lingkungan.

type enum (string)  (opsional)

Tidak tersedia deskripsi.

Nilai yang mungkin:

  • gcs

    Bucket Cloud Storage.

  • inline

    Konten inline.

  • repository

    Repositori generik. Awalan protokol di URL sumber mengidentifikasi penyedia (misalnya, github://, gcs://).

status enum (string)  (opsional)

Hanya output. Status penampung lingkungan.

Nilai yang mungkin:

  • active

    Hanya output. Status penampung lingkungan.

  • expired

    Hanya output. Status penampung lingkungan.

updated string  (opsional)

Hanya output. Waktu saat lingkungan terakhir kali diupdate dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

Mendapatkan Lingkungan

Contoh Respons

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

Menghapus lingkungan.

Respons

Jika berhasil, respons akan kosong.

Menghapus Lingkungan

Resource

Lingkungan

Lingkungan eksekusi untuk agen.

Kolom

created string  (opsional)

Hanya output. Waktu saat lingkungan dibuat dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

file_count string  (opsional)

Hanya output. Jumlah file di lingkungan, hanya output.

id string  (opsional)

Wajib. Hanya output. ID lingkungan.

last_accessed string  (opsional)

Hanya output. Waktu saat lingkungan terakhir diakses dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).

network EnvironmentNetworkEgressAllowlist atau enum (string)  (opsional)

Konfigurasi jaringan untuk lingkungan.

Konfigurasi jaringan keluar untuk sandbox. Menerima objek dengan array 'allowlist' untuk membatasi traffic, atau string 'disabled' untuk menonaktifkan semua akses jaringan. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

Kemungkinan Jenis

object

Konfigurasi jaringan keluar untuk sandbox. Jika ditentukan, membatasi domain eksternal yang dapat dijangkau sandbox. Hapus sepenuhnya untuk mengizinkan semua traffic keluar tanpa injeksi header.

allowlist array (AllowlistEntry)  (opsional)

Daftar domain keluar yang diizinkan. Hanya permintaan ke domain yang tercantum yang diizinkan. Gunakan [{'domain': '*'}] untuk mengizinkan semua domain sekaligus menyisipkan header di domain tertentu.

Satu aturan daftar domain yang diizinkan dengan penyisipan header opsional.

Kolom

domain string  (opsional)

Domain yang diizinkan untuk mengirim permintaan keluar. Mendukung karakter pengganti (misalnya, '*.googleapis.com'). Gunakan '*' untuk mengizinkan semua domain.

transform array (objek) atau objek  (opsional)

Header yang akan disisipkan pada semua permintaan keluar yang cocok dengan domain ini. Menerima satu dict atau daftar dict. Proxy keluar akan menyuntikkan header ini secara otomatis.

string

Menonaktifkan semua jaringan.

Nilai yang mungkin

  • disabled

    Menonaktifkan semua jaringan.

size_bytes string  (opsional)

Hanya output. Ukuran total file lingkungan dalam byte, hanya output.

sources array (Source)  (opsional)

Sumber yang akan di-mount ke lingkungan.

Sumber yang akan di-mount ke dalam lingkungan.

Kolom

content string  (opsional)

Konten inline jika `type` adalah `INLINE`.

encoding string  (opsional)

Encoding opsional untuk konten inline (misalnya, `base64`).

source string  (opsional)

Sumber lingkungan. Untuk Cloud Storage, ini adalah jalur Cloud Storage. Untuk GitHub, ini adalah jalur GitHub.

target string  (opsional)

Tempat sumber harus muncul di lingkungan.

type enum (string)  (opsional)

Tidak tersedia deskripsi.

Nilai yang mungkin:

  • gcs

    Bucket Cloud Storage.

  • inline

    Konten inline.

  • repository

    Repositori generik. Awalan protokol di URL sumber mengidentifikasi penyedia (misalnya, github://, gcs://).

status enum (string)  (opsional)

Hanya output. Status penampung lingkungan.

Nilai yang mungkin:

  • active

    Hanya output. Status penampung lingkungan.

  • expired

    Hanya output. Status penampung lingkungan.

updated string  (opsional)

Hanya output. Waktu saat lingkungan terakhir kali diupdate dalam format ISO 8601 (YYYY-MM-DDThh:mm:ssZ).