Obter Variáveis de Ambiente

Retorna as variáveis de ambiente configuradas no projeto.

Permissões necessárias

A leitura exige project.env.read em project:<project-id>. A alteração exige project.env.update no mesmo projeto. owner tem acesso completo; assistant, member e API Keys precisam do scope específico. Os valores podem ser sensíveis e não devem aparecer em logs.

GET /v1/project/:id/envs

Limite de requisições: 50 por minuto (contado por IP de origem).

Parâmetros de Path

ParâmetroTipoDescrição
idstringID do projeto

Headers

HeaderObrigatórioDescrição
x-api-key ou AuthorizationSimAPI Key da organização ou token de usuário
x-organization-idCom token de usuárioOrganização ativa do projeto. Dispensável com API Key da organização
Content-Type: application/jsonCondicionalNecessário apenas nas chamadas PATCH

Resposta

Valores de variáveis de ambiente podem conter dados sensíveis. Trate esta resposta como sensível porque os valores retornados pela API podem estar disponíveis em texto claro para qualquer credencial com a permissão project.env.read.

{
  "status": "success",
  "message": "get envs with success",
  "data": [
    {
      "name": "DATABASE_URL",
      "value": "postgres://user:pass@host:5432/db"
    },
    {
      "name": "NODE_ENV",
      "value": "production"
    }
  ]
}

Atualizar Variáveis de Ambiente

Atualiza as variáveis de ambiente do projeto.

A lista enviada substitui todas as variáveis atuais: variáveis que ficarem de fora são removidas. Para alterar uma única variável, leia a lista com GET, ajuste o item e envie a lista completa. A alteração reinicia as instâncias da aplicação e gera um registro no histórico de deployments.

PATCH /v1/project/:id/envs

Limite de requisições: 20 por minuto (contado por IP de origem).

Parâmetros de Path

ParâmetroTipoDescrição
idstringID do projeto

Body

CampoTipoObrigatórioDescrição
envsarraySimArray de objetos com name e value (máximo 50 variáveis, cada nome máximo 120 caracteres, cada valor máximo 32760 caracteres). O valor pode ser vazio ("")

Regras do nome

O nome precisa começar com uma letra, _, - ou . e pode conter apenas letras sem acento, números, _, - e ., sem espaços. Exemplos válidos: NODE_ENV, api.timeout, _INTERNAL_FLAG. Exemplos inválidos: 1TOKEN (começa com número), MINHA VAR (contém espaço) e PREÇO (contém acento).

Exemplo

{
  "envs": [
    {
      "name": "DATABASE_URL",
      "value": "postgres://user:pass@host:5432/db"
    },
    {
      "name": "API_KEY",
      "value": "nova-api-key"
    }
  ]
}

Resposta

{
  "status": "success",
  "message": "updated with success"
}

Erros

StatusQuando ocorre
400Corpo inválido (por exemplo, nome fora das regras ou acima dos limites desta página)
404Projeto não encontrado
409PROJECT_STATE_CONFLICT: a aplicação ainda não tem uma versão em execução (por exemplo, um projeto Git antes do primeiro build) ou está momentaneamente indisponível. Tente de novo depois do primeiro deploy
422PROJECT_OPERATION_NOT_SUPPORTED: o tipo de projeto não usa variáveis de ambiente (bancos de dados e serviços gerenciados)

Exemplos

Obter Variáveis de Ambiente

curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/envs" \
  -H "x-api-key: sua-api-key" \
  -H "x-organization-id: sua-organization-id"

Atualizar Variáveis de Ambiente

curl -X PATCH "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/envs" \
  -H "x-api-key: sua-api-key" \
  -H "x-organization-id: sua-organization-id" \
  -H "Content-Type: application/json" \
  -d '{"envs": [{"name": "NODE_ENV", "value": "production"}]}'

Python

import requests

API_KEY = "sua-api-key"
ORGANIZATION_ID = "sua-organization-id"
PROJECT_ID = "507f1f77bcf86cd799439011"

headers = {"x-api-key": API_KEY, "x-organization-id": ORGANIZATION_ID}

# Obter variáveis de ambiente
envs = requests.get(
    f"https://api.zenifra.com/v1/project/{PROJECT_ID}/envs",
    headers=headers
).json()
print(envs)

# Atualizar variáveis de ambiente
requests.patch(
    f"https://api.zenifra.com/v1/project/{PROJECT_ID}/envs",
    headers=headers,
    json={
        "envs": [
            {"name": "NODE_ENV", "value": "production"},
            {"name": "DATABASE_URL", "value": "postgres://user:pass@host:5432/db"}
        ]
    }
)

Limites

  • Máximo de 50 variáveis de ambiente por projeto
  • Cada nome pode ter até 120 caracteres e deve seguir as regras do nome
  • Cada valor pode ter até 32760 caracteres

Última atualização em

Nessa página