API REST para la compartición de secretos cifrados
Crea y recupera secretos cifrados y autodestructivos de forma programática.
Esta API almacena texto cifrado ya cifrado de antemano. El cifrado debe ocurrir en el lado del cliente antes de llamar a la API. El servidor nunca ve el texto plano.
Para la mayoría de los casos de uso, la CLI o la GitHub Action gestionan el cifrado automáticamente.
URL base
https://www.vaulted.fyi/apiAlmacena texto cifrado con metadatos de caducidad y límite de visualizaciones. Devuelve un ID de secreto.
Cuerpo de la petición
| Campo | Tipo | Obligatorio | Valores |
|---|---|---|---|
| ciphertext | string | sí | máx. 4096 caracteres |
| iv | string | sí | vector de inicialización |
| maxViews | number | sí | 0, 1, 3, 5, 10 (0 = ilimitado, devuelve -1 en viewsRemaining) |
| ttl | number | sí | 3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (segundos) |
| hasPassphrase | boolean | no | false por defecto |
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" }Respuestas de error
| Estado | Descripción |
|---|---|
| 400 | Error de validación (campos faltantes o no válidos) |
| 429 | Límite de peticiones superado |
| 500 | Error interno del servidor |
Recupera el texto cifrado y consume una visualización. El secreto se elimina cuando se consumen todas las visualizaciones.
Cada petición consume una visualización. Usa el endpoint de estado para comprobarlo sin consumirla.
curl https://www.vaulted.fyi/api/secrets/abc123{
"ciphertext": "encrypted-base64-data",
"iv": "initialization-vector",
"hasPassphrase": false,
"viewsRemaining": 2
}viewsRemaining es -1 para los secretos con visualizaciones ilimitadas (maxViews = 0).
Respuestas de error
| Estado | Descripción |
|---|---|
| 404 | Secreto no encontrado o caducado |
| 429 | Límite de peticiones superado |
| 500 | Error interno del servidor |
Comprueba si un secreto existe y cuántas visualizaciones quedan sin consumir una visualización.
curl https://www.vaulted.fyi/api/secrets/abc123/status{
"exists": true,
"viewsRemaining": 3,
"hasPassphrase": false
}viewsRemaining es -1 para los secretos con visualizaciones ilimitadas (maxViews = 0).
Respuestas de error
| Estado | Descripción |
|---|---|
| 404 | Secreto no encontrado o caducado |
| 500 | Error interno del servidor |
Límites de peticiones
| Endpoint | Límite | Ventana |
|---|---|---|
| POST /api/secrets | 20 peticiones | 10 minutos |
| GET /api/secrets/[id] | 60 peticiones | 10 minutos |
Los límites de peticiones son por dirección IP. Superar el límite devuelve 429.