API Reference

A API REST do CriptEnv permite integrar o gerenciamento de segredos em qualquer pipeline, ferramenta ou aplicação. Esta referência cobre todos os endpoints disponíveis, formatos de autenticação, resposta e tratamento de erros.

URL Base

Todos os endpoints da API são acessados a partir da seguinte URL base:

text
https://criptenv-api.77mdevseven.tech/api/v1

Todas as requisições devem ser feitas sobre HTTPS. Requisições HTTP são redirecionadas automaticamente para HTTPS.

Autenticação

A API suporta três tipos de token de autenticação. Cada um é adequado para um cenário diferente:

🍪 Sessão

Cookie HTTP-only gerado pelo login. Ideal para uso no dashboard web. TTL de 30 dias.

🔑 API Key

Token com prefixo cek_ para integrações e scripts. Suporta escopos granulares por ambiente.

⚙️ CI Token

Token com prefixo ci_ para pipelines de CI/CD. TTL curto de 1 hora, ideal para builds efêmeros.

Para mais detalhes sobre cada método, consulte a documentação de autenticação.

Formato de Resposta

Todas as respostas são retornadas em JSON com o Content-Type application/json.

Resposta de Sucesso

200 OK
{
  "id": "proj_k8j2m4n6",
  "name": "meu-projeto",
  "created_at": "2025-01-15T10:30:00Z"
}

Resposta de Sucesso (Lista)

200 OK — Lista paginada
[
  { "id": "proj_k8j2m4n6", "name": "projeto-a" },
  { "id": "proj_m2n4p6q8", "name": "projeto-b" }
]

Resposta de Erro

Erro padrão
{
  "detail": "O campo 'name' é obrigatório."
}

Códigos de Status HTTP

CódigoSignificado
200Sucesso — operação concluída
201Criado — recurso criado com sucesso
204Sem conteúdo — operação sem retorno (ex: DELETE)
400Requisição inválida — erro de validação nos dados enviados
401Não autenticado — token ausente ou inválido
403Proibido — sem permissão para esta operação
404Não encontrado — recurso não existe
409Conflito — recurso já existe ou versão desatualizada
422Não processável — dados válidos mas semanticamente incorretos
429Limite excedido — muitas requisições, tente novamente mais tarde
500Erro interno — erro inesperado no servidor

Rate Limiting

A API aplica limites de taxa para proteger o serviço contra abuso. Os limites variam conforme o tipo de autenticação:

Tipo de TokenLimiteJanela
Sessão (pública)100 reqpor minuto
API Key1000 reqpor minuto
CI Token200 reqpor minuto
Auth (IP)5 reqpor minuto

Os headers de rate limit são incluídos em todas as respostas:

Headers de Rate Limit
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1705312800

Info

Quando o limite é excedido, a API retorna 429 Too Many Requests. O header Retry-After indica quantos segundos aguardar.

Paginação

Endpoints que retornam listas suportam paginação via query parameters:

ParâmetroTipoDescrição
pageintegerNúmero da página (padrão: 1)
per_pageintegerItens por página (padrão: 20, máx: 100)
sortstringCampo para ordenação (ex: created_at)
orderstringDireção: asc ou desc (padrão: desc)
Exemplo de paginação
curl -X GET "https://criptenv-api.77mdevseven.tech/api/v1/projects?page=2&per_page=10" \
  -H "Authorization: Bearer <YOUR_API_KEY>"

Referência por Domínio