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)

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, acima dos limites desta página)
404Projeto não encontrado
409O projeto não está em execução (project is not running)

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
  • Cada valor pode ter até 32760 caracteres

Última atualização em

Nessa página