Ambientes
Ambientes permitem isolar conjuntos de segredos dentro de um projeto. Ambientes comuns incluem production, staging e development. Cada ambiente possui sua própria chave de criptografia derivada da chave mestra do projeto.
https://api.criptenv.dev/v1/projects/{project_id}/environmentsPOST Criar Ambiente
Cria um novo ambiente dentro de um projeto. Requer papel de admin ou developer.
POST /v1/projects/{project_id}/environments| Parâmetro | Tipo | Descrição |
|---|---|---|
project_idobrigatório | string | ID do projeto (path parameter) |
nameobrigatório | string | Nome do ambiente (slug, 2-32 caracteres) |
description | string | Descrição opcional do ambiente |
color | string | Cor em hexadecimal para identificação visual (ex: #10b981)Padrão: auto |
curl -X POST "https://api.criptenv.dev/v1/projects/proj_k8j2m4n6/environments" \
-H "Authorization: Bearer cek_a1b2c3d4e5f6" \
-H "Content-Type: application/json" \
-d '{
"name": "staging",
"description": "Ambiente de staging para testes",
"color": "#f59e0b"
}'{
"data": {
"id": "env_d4e5f6",
"project_id": "proj_k8j2m4n6",
"name": "staging",
"description": "Ambiente de staging para testes",
"color": "#f59e0b",
"secret_count": 0,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
}{
"error": {
"code": "conflict",
"message": "Já existe um ambiente com o nome 'staging' neste projeto."
}
}GET Listar Ambientes
Retorna todos os ambientes de um projeto. Inclui contagem de segredos e metadados de cada ambiente.
GET /v1/projects/{project_id}/environments| Parâmetro | Tipo | Descrição |
|---|---|---|
project_idobrigatório | string | ID do projeto (path parameter) |
page | integer | Número da páginaPadrão: 1 |
per_page | integer | Itens por páginaPadrão: 20 |
curl -X GET "https://api.criptenv.dev/v1/projects/proj_k8j2m4n6/environments" \
-H "Authorization: Bearer cek_a1b2c3d4e5f6"{
"data": [
{
"id": "env_a1b2c3",
"name": "production",
"description": "Ambiente de produção",
"color": "#ef4444",
"secret_count": 12,
"created_at": "2025-01-10T08:00:00Z"
},
{
"id": "env_d4e5f6",
"name": "staging",
"description": "Ambiente de staging para testes",
"color": "#f59e0b",
"secret_count": 10,
"created_at": "2025-01-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 2,
"total_pages": 1
}
}GET Obter Ambiente por ID
Retorna os detalhes completos de um ambiente específico, incluindo a lista de nomes de segredos (sem valores).
GET /v1/projects/{project_id}/environments/{environment_id}| Parâmetro | Tipo | Descrição |
|---|---|---|
project_idobrigatório | string | ID do projeto (path parameter) |
environment_idobrigatório | string | ID do ambiente (path parameter) |
curl -X GET "https://api.criptenv.dev/v1/projects/proj_k8j2m4n6/environments/env_a1b2c3" \
-H "Authorization: Bearer cek_a1b2c3d4e5f6"{
"data": {
"id": "env_a1b2c3",
"project_id": "proj_k8j2m4n6",
"name": "production",
"description": "Ambiente de produção",
"color": "#ef4444",
"secret_count": 12,
"secrets_preview": [
"DATABASE_URL",
"REDIS_URL",
"JWT_SECRET",
"STRIPE_API_KEY"
],
"created_at": "2025-01-10T08:00:00Z",
"updated_at": "2025-01-18T16:45:00Z"
}
}{
"error": {
"code": "not_found",
"message": "Ambiente não encontrado."
}
}PATCH Atualizar Ambiente
Atualiza os metadados de um ambiente. Requer papel de admin ou developer.
PATCH /v1/projects/{project_id}/environments/{environment_id}| Parâmetro | Tipo | Descrição |
|---|---|---|
project_idobrigatório | string | ID do projeto (path parameter) |
environment_idobrigatório | string | ID do ambiente (path parameter) |
name | string | Novo nome do ambiente |
description | string | Nova descrição do ambiente |
color | string | Nova cor em hexadecimal |
curl -X PATCH "https://api.criptenv.dev/v1/projects/proj_k8j2m4n6/environments/env_d4e5f6" \
-H "Authorization: Bearer cek_a1b2c3d4e5f6" \
-H "Content-Type: application/json" \
-d '{
"name": "staging-v2",
"description": "Staging atualizado para v2"
}'{
"data": {
"id": "env_d4e5f6",
"project_id": "proj_k8j2m4n6",
"name": "staging-v2",
"description": "Staging atualizado para v2",
"color": "#f59e0b",
"secret_count": 10,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-20T14:22:00Z"
}
}DELETE Deletar Ambiente
Remove permanentemente um ambiente e todos os seus segredos. Esta ação é irreversível. Requer papel de admin.
DELETE /v1/projects/{project_id}/environments/{environment_id}Info
curl -X DELETE "https://api.criptenv.dev/v1/projects/proj_k8j2m4n6/environments/env_d4e5f6" \
-H "Authorization: Bearer cek_a1b2c3d4e5f6"Resposta vazia — o ambiente e todos os seus segredos foram removidos.
