API REST para compartilhamento de segredos criptografados
Crie e recupere segredos criptografados e autodestrutivos de forma programática.
Esta API armazena texto cifrado já criptografado de antemão. A criptografia deve acontecer no lado do cliente antes de chamar a API. O servidor nunca vê o texto plano.
Para a maioria dos casos de uso, a CLI ou a GitHub Action cuidam da criptografia automaticamente.
URL base
https://www.vaulted.fyi/apiArmazena texto cifrado com metadados de expiração e limite de visualizações. Retorna um ID de segredo.
Corpo da requisição
| Campo | Tipo | Obrigatório | Valores |
|---|---|---|---|
| ciphertext | string | sim | máx. 4096 caracteres |
| iv | string | sim | vetor de inicialização |
| maxViews | number | sim | 0, 1, 3, 5, 10 (0 = ilimitado, retorna -1 em viewsRemaining) |
| ttl | number | sim | 3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (segundos) |
| hasPassphrase | boolean | não | false por padrão |
curl -X POST https://www.vaulted.fyi/api/secrets \
-H "Content-Type: application/json" \
-d '{
"ciphertext": "encrypted-base64-data",
"iv": "initialization-vector",
"maxViews": 1,
"ttl": 86400,
"hasPassphrase": false
}'{ "id": "abc123" }Respostas de erro
| Status | Descrição |
|---|---|
| 400 | Erro de validação (campos faltando ou inválidos) |
| 429 | Limite de requisições excedido |
| 500 | Erro interno do servidor |
Recupera o texto cifrado e consome uma visualização. O segredo é excluído quando todas as visualizações são consumidas.
Cada requisição consome uma visualização. Use o endpoint de status para verificar sem consumir.
curl https://www.vaulted.fyi/api/secrets/abc123{
"ciphertext": "encrypted-base64-data",
"iv": "initialization-vector",
"hasPassphrase": false,
"viewsRemaining": 2
}viewsRemaining é -1 para segredos com visualizações ilimitadas (maxViews = 0).
Respostas de erro
| Status | Descrição |
|---|---|
| 404 | Segredo não encontrado ou expirado |
| 429 | Limite de requisições excedido |
| 500 | Erro interno do servidor |
Verifica se um segredo existe e quantas visualizações restam sem consumir uma visualização.
curl https://www.vaulted.fyi/api/secrets/abc123/status{
"exists": true,
"viewsRemaining": 3,
"hasPassphrase": false
}viewsRemaining é -1 para segredos com visualizações ilimitadas (maxViews = 0).
Respostas de erro
| Status | Descrição |
|---|---|
| 404 | Segredo não encontrado ou expirado |
| 500 | Erro interno do servidor |
Limites de requisições
| Endpoint | Limite | Janela |
|---|---|---|
| POST /api/secrets | 20 requisições | 10 minutos |
| GET /api/secrets/[id] | 60 requisições | 10 minutos |
Os limites de requisições são por endereço IP. Exceder o limite retorna 429.