Gemini Environments API

Os ambientes fornecem contextos de execução isolados para executar código, ferramentas e serviços de agentes com segurança.

CreateEnvironment

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

Cria um ambiente.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

rede EnvironmentNetworkEgressAllowlist ou enum (string)  (opcional)

Configuração de rede para o ambiente.

Configuração de rede de saída para o sandbox. Aceita um objeto com uma matriz "allowlist" para restringir o tráfego ou a string "disabled" para desativar todo o acesso à rede. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

Tipos possíveis

object

Configuração de rede de saída para o sandbox. Quando especificado, restringe quais domínios externos o sandbox pode alcançar. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

allowlist array (AllowlistEntry)  (opcional)

Lista de domínios de saída permitidos. Somente solicitações para domínios listados são permitidas. Use [{'domain': '*'}] para permitir todos os domínios e injetar cabeçalhos em domínios específicos.

Uma única regra de lista de permissões de domínio com injeção de cabeçalho opcional.

Campos

domain string  (opcional)

Domínio para permitir solicitações de saída. Aceita caracteres curinga (por exemplo, "*.googleapis.com"). Use "*" para permitir todos os domínios.

transform matriz (objeto) ou objeto  (opcional)

Cabeçalhos a serem injetados em todas as solicitações de saída que correspondem a esse domínio. Aceita um único dict ou uma lista de dicts. O proxy de saída os injeta automaticamente.

string

Desativa todas as redes.

Possíveis valores

  • disabled

    Desativa todas as redes.

sources array (Source)  (opcional)

Fontes a serem montadas no ambiente.

Uma origem a ser montada no ambiente.

Campos

content string  (opcional)

O conteúdo inline se "type" for "INLINE".

encoding string  (opcional)

Codificação opcional para conteúdo inline (por exemplo, "base64").

source string  (opcional)

A origem do ambiente. No Cloud Storage, é o caminho do Cloud Storage. No GitHub, esse é o caminho do GitHub.

target string  (opcional)

Onde a origem deve aparecer no ambiente.

type enum (string)  (opcional)

Nenhuma descrição informada.

Valores possíveis:

  • gcs

    Um bucket do Cloud Storage.

  • inline

    Conteúdo inline.

  • repository

    Um repositório genérico. O prefixo do protocolo no URL de origem identifica o provedor (por exemplo, github://, gcs://).

Resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

created string  (opcional)

Apenas saída. O horário em que o ambiente foi criado no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

file_count string  (opcional)

Apenas saída. O número de arquivos no ambiente, somente saída.

id string  (opcional)

Obrigatório. Apenas saída. O ID do ambiente.

last_accessed string  (opcional)

Apenas saída. A hora em que o ambiente foi acessado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

rede EnvironmentNetworkEgressAllowlist ou enum (string)  (opcional)

Configuração de rede para o ambiente.

Configuração de rede de saída para o sandbox. Aceita um objeto com uma matriz "allowlist" para restringir o tráfego ou a string "disabled" para desativar todo o acesso à rede. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

Tipos possíveis

object

Configuração de rede de saída para o sandbox. Quando especificado, restringe quais domínios externos o sandbox pode alcançar. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

allowlist array (AllowlistEntry)  (opcional)

Lista de domínios de saída permitidos. Somente solicitações para domínios listados são permitidas. Use [{'domain': '*'}] para permitir todos os domínios e injetar cabeçalhos em domínios específicos.

Uma única regra de lista de permissões de domínio com injeção de cabeçalho opcional.

Campos

domain string  (opcional)

Domínio para permitir solicitações de saída. Aceita caracteres curinga (por exemplo, "*.googleapis.com"). Use "*" para permitir todos os domínios.

transform matriz (objeto) ou objeto  (opcional)

Cabeçalhos a serem injetados em todas as solicitações de saída que correspondem a esse domínio. Aceita um único dict ou uma lista de dicts. O proxy de saída os injeta automaticamente.

string

Desativa todas as redes.

Possíveis valores

  • disabled

    Desativa todas as redes.

size_bytes string  (opcional)

Apenas saída. O tamanho total dos arquivos do ambiente em bytes, somente saída.

sources array (Source)  (opcional)

Fontes a serem montadas no ambiente.

Uma origem a ser montada no ambiente.

Campos

content string  (opcional)

O conteúdo inline se "type" for "INLINE".

encoding string  (opcional)

Codificação opcional para conteúdo inline (por exemplo, "base64").

source string  (opcional)

A origem do ambiente. No Cloud Storage, é o caminho do Cloud Storage. No GitHub, esse é o caminho do GitHub.

target string  (opcional)

Onde a origem deve aparecer no ambiente.

type enum (string)  (opcional)

Nenhuma descrição informada.

Valores possíveis:

  • gcs

    Um bucket do Cloud Storage.

  • inline

    Conteúdo inline.

  • repository

    Um repositório genérico. O prefixo do protocolo no URL de origem identifica o provedor (por exemplo, github://, gcs://).

status enum (string)  (opcional)

Apenas saída. O status do contêiner de ambiente.

Valores possíveis:

  • active

    Apenas saída. O status do contêiner de ambiente.

  • expired

    Apenas saída. O status do contêiner de ambiente.

updated string  (opcional)

Apenas saída. A hora em que o ambiente foi atualizado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

Criar ambiente

Exemplo de resposta

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

Lista os ambientes.

Parâmetros de caminho / consulta

page_size integer  (optional)

Opcional. Número máximo de ambientes a serem retornados. Se não for especificado, o padrão será 50. O valor máximo é 1.000.

page_token string  (opcional)

Opcional. Token de paginação.

Resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

environments array (Environment)  (opcional)

Ambientes pertencentes ao projeto fornecido.

next_page_token string  (opcional)

Token de paginação.

Listar ambientes

Exemplo de resposta

{
  "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 metadados de arquivos ou conteúdo de diretórios do snapshot de um ambiente. Para fazer o download do conteúdo do arquivo diretamente, transmita ?alt=media ou use o auxiliar files.download.

Parâmetros de caminho / consulta

page_size integer  (optional)

Opcional. Número máximo de entradas a serem retornadas por página (para listagem de diretório).

page_token string  (opcional)

Opcional. Token de paginação para listagem de diretório.

recursive boolean  (opcional)

Opcional. Se for "true" e o caminho for um diretório, lista todos os arquivos de forma recursiva.

Resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

files array (EnvironmentFile)  (opcional)

Se o caminho solicitado for um diretório, isso vai conter o conteúdo dele. Se o caminho solicitado for um arquivo, isso vai conter uma única entrada com os metadados do arquivo. Se alt=media foi especificado, este campo fica vazio (o conteúdo é veiculado via "blob").

Metadados de um arquivo ou diretório em um ambiente.

Campos

created string  (opcional)

Apenas saída. A hora de criação do arquivo/diretório.

mime_type string  (opcional)

Apenas saída. O tipo MIME do arquivo (por exemplo, "text/python", "image/png"). Vazio para diretórios. NOLINT

modified string  (opcional)

Apenas saída. A hora da modificação do arquivo/diretório.

name string  (opcional)

Apenas saída. O nome do arquivo ou diretório (por exemplo, "main.py" ou "src").

path string  (opcional)

Apenas saída. O caminho relativo completo no ambiente (por exemplo, "workspace/src/main.py").

size_bytes string  (opcional)

Apenas saída. O tamanho do arquivo/diretório em bytes. NOLINT

type enum (string)  (opcional)

Apenas saída. O tipo da entrada.

Valores possíveis:

  • file

    Um arquivo comum.

  • directory

    Um diretório.

next_page_token string  (opcional)

Token de paginação para listagem de diretórios. NOLINT

Listar arquivos no ambiente

Exemplo de resposta

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

Acessar metadados de arquivo

Exemplo de resposta

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

Baixar conteúdo do arquivo

Exemplo de resposta

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

Recebe um ambiente.

Resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

created string  (opcional)

Apenas saída. O horário em que o ambiente foi criado no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

file_count string  (opcional)

Apenas saída. O número de arquivos no ambiente, somente saída.

id string  (opcional)

Obrigatório. Apenas saída. O ID do ambiente.

last_accessed string  (opcional)

Apenas saída. A hora em que o ambiente foi acessado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

rede EnvironmentNetworkEgressAllowlist ou enum (string)  (opcional)

Configuração de rede para o ambiente.

Configuração de rede de saída para o sandbox. Aceita um objeto com uma matriz "allowlist" para restringir o tráfego ou a string "disabled" para desativar todo o acesso à rede. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

Tipos possíveis

object

Configuração de rede de saída para o sandbox. Quando especificado, restringe quais domínios externos o sandbox pode alcançar. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

allowlist array (AllowlistEntry)  (opcional)

Lista de domínios de saída permitidos. Somente solicitações para domínios listados são permitidas. Use [{'domain': '*'}] para permitir todos os domínios e injetar cabeçalhos em domínios específicos.

Uma única regra de lista de permissões de domínio com injeção de cabeçalho opcional.

Campos

domain string  (opcional)

Domínio para permitir solicitações de saída. Aceita caracteres curinga (por exemplo, "*.googleapis.com"). Use "*" para permitir todos os domínios.

transform matriz (objeto) ou objeto  (opcional)

Cabeçalhos a serem injetados em todas as solicitações de saída que correspondem a esse domínio. Aceita um único dict ou uma lista de dicts. O proxy de saída os injeta automaticamente.

string

Desativa todas as redes.

Possíveis valores

  • disabled

    Desativa todas as redes.

size_bytes string  (opcional)

Apenas saída. O tamanho total dos arquivos do ambiente em bytes, somente saída.

sources array (Source)  (opcional)

Fontes a serem montadas no ambiente.

Uma origem a ser montada no ambiente.

Campos

content string  (opcional)

O conteúdo inline se "type" for "INLINE".

encoding string  (opcional)

Codificação opcional para conteúdo inline (por exemplo, "base64").

source string  (opcional)

A origem do ambiente. No Cloud Storage, é o caminho do Cloud Storage. No GitHub, esse é o caminho do GitHub.

target string  (opcional)

Onde a origem deve aparecer no ambiente.

type enum (string)  (opcional)

Nenhuma descrição informada.

Valores possíveis:

  • gcs

    Um bucket do Cloud Storage.

  • inline

    Conteúdo inline.

  • repository

    Um repositório genérico. O prefixo do protocolo no URL de origem identifica o provedor (por exemplo, github://, gcs://).

status enum (string)  (opcional)

Apenas saída. O status do contêiner de ambiente.

Valores possíveis:

  • active

    Apenas saída. O status do contêiner de ambiente.

  • expired

    Apenas saída. O status do contêiner de ambiente.

updated string  (opcional)

Apenas saída. A hora em que o ambiente foi atualizado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

Acessar ambiente

Exemplo de resposta

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

Exclui um ambiente.

Resposta

Se a solicitação for concluída, a resposta estará vazia.

Excluir ambiente

Recursos

Ambiente

Um ambiente de execução para um agente.

Campos

created string  (opcional)

Apenas saída. O horário em que o ambiente foi criado no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

file_count string  (opcional)

Apenas saída. O número de arquivos no ambiente, somente saída.

id string  (opcional)

Obrigatório. Apenas saída. O ID do ambiente.

last_accessed string  (opcional)

Apenas saída. A hora em que o ambiente foi acessado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).

rede EnvironmentNetworkEgressAllowlist ou enum (string)  (opcional)

Configuração de rede para o ambiente.

Configuração de rede de saída para o sandbox. Aceita um objeto com uma matriz "allowlist" para restringir o tráfego ou a string "disabled" para desativar todo o acesso à rede. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

Tipos possíveis

object

Configuração de rede de saída para o sandbox. Quando especificado, restringe quais domínios externos o sandbox pode alcançar. Omita completamente para permitir todo o tráfego de saída sem injeção de cabeçalho.

allowlist array (AllowlistEntry)  (opcional)

Lista de domínios de saída permitidos. Somente solicitações para domínios listados são permitidas. Use [{'domain': '*'}] para permitir todos os domínios e injetar cabeçalhos em domínios específicos.

Uma única regra de lista de permissões de domínio com injeção de cabeçalho opcional.

Campos

domain string  (opcional)

Domínio para permitir solicitações de saída. Aceita caracteres curinga (por exemplo, "*.googleapis.com"). Use "*" para permitir todos os domínios.

transform matriz (objeto) ou objeto  (opcional)

Cabeçalhos a serem injetados em todas as solicitações de saída que correspondem a esse domínio. Aceita um único dict ou uma lista de dicts. O proxy de saída os injeta automaticamente.

string

Desativa todas as redes.

Possíveis valores

  • disabled

    Desativa todas as redes.

size_bytes string  (opcional)

Apenas saída. O tamanho total dos arquivos do ambiente em bytes, somente saída.

sources array (Source)  (opcional)

Fontes a serem montadas no ambiente.

Uma origem a ser montada no ambiente.

Campos

content string  (opcional)

O conteúdo inline se "type" for "INLINE".

encoding string  (opcional)

Codificação opcional para conteúdo inline (por exemplo, "base64").

source string  (opcional)

A origem do ambiente. No Cloud Storage, é o caminho do Cloud Storage. No GitHub, esse é o caminho do GitHub.

target string  (opcional)

Onde a origem deve aparecer no ambiente.

type enum (string)  (opcional)

Nenhuma descrição informada.

Valores possíveis:

  • gcs

    Um bucket do Cloud Storage.

  • inline

    Conteúdo inline.

  • repository

    Um repositório genérico. O prefixo do protocolo no URL de origem identifica o provedor (por exemplo, github://, gcs://).

status enum (string)  (opcional)

Apenas saída. O status do contêiner de ambiente.

Valores possíveis:

  • active

    Apenas saída. O status do contêiner de ambiente.

  • expired

    Apenas saída. O status do contêiner de ambiente.

updated string  (opcional)

Apenas saída. A hora em que o ambiente foi atualizado pela última vez no formato ISO 8601 (AAAA-MM-DDThh:mm:ssZ).