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/envsLimite de requisições: 50 por minuto (contado por IP de origem).
Parâmetros de Path
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string | ID do projeto |
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
x-api-key ou Authorization | Sim | API Key da organização ou token de usuário |
x-organization-id | Com token de usuário | Organização ativa do projeto. Dispensável com API Key da organização |
Content-Type: application/json | Condicional | Necessá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/envsLimite de requisições: 20 por minuto (contado por IP de origem).
Parâmetros de Path
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | string | ID do projeto |
Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
envs | array | Sim | Array 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
| Status | Quando ocorre |
|---|---|
400 | Corpo inválido (por exemplo, nome fora das regras ou acima dos limites desta página) |
404 | Projeto não encontrado |
409 | PROJECT_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 |
422 | PROJECT_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