REST API untuk berbagi rahasia terenkripsi
Buat dan ambil rahasia terenkripsi yang menghancurkan diri sendiri secara terprogram.
API ini menyimpan ciphertext yang sudah dienkripsi sebelumnya. Enkripsi harus dilakukan sisi klien sebelum memanggil API. Server tidak pernah melihat plaintext.
Untuk sebagian besar kasus penggunaan, CLI atau GitHub Action menangani enkripsi secara otomatis.
URL Dasar
https://www.vaulted.fyi/apiMenyimpan ciphertext terenkripsi dengan metadata kedaluwarsa dan batas tampilan. Mengembalikan ID rahasia.
Bodi permintaan
| Bidang | Tipe | Wajib | Nilai |
|---|---|---|---|
| ciphertext | string | ya | maks. 4096 karakter |
| iv | string | ya | vektor inisialisasi |
| maxViews | number | ya | 0, 1, 3, 5, 10 (0 = tak terbatas, mengembalikan -1 untuk viewsRemaining) |
| ttl | number | ya | 3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (detik) |
| hasPassphrase | boolean | tidak | default false |
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" }Respons kesalahan
| Status | Deskripsi |
|---|---|
| 400 | Kesalahan validasi (bidang hilang atau tidak valid) |
| 429 | Batas laju terlampaui |
| 500 | Kesalahan server internal |
Mengambil ciphertext terenkripsi dan mengonsumsi satu tampilan. Rahasia dihapus saat semua tampilan habis.
Setiap permintaan mengonsumsi satu tampilan. Gunakan endpoint status untuk memeriksa tanpa mengonsumsi.
curl https://www.vaulted.fyi/api/secrets/abc123{
"ciphertext": "encrypted-base64-data",
"iv": "initialization-vector",
"hasPassphrase": false,
"viewsRemaining": 2
}viewsRemaining bernilai -1 untuk rahasia dengan tampilan tak terbatas (maxViews = 0).
Respons kesalahan
| Status | Deskripsi |
|---|---|
| 404 | Rahasia tidak ditemukan atau sudah kedaluwarsa |
| 429 | Batas laju terlampaui |
| 500 | Kesalahan server internal |
Memeriksa apakah rahasia ada dan berapa banyak tampilan yang tersisa tanpa mengonsumsi tampilan.
curl https://www.vaulted.fyi/api/secrets/abc123/status{
"exists": true,
"viewsRemaining": 3,
"hasPassphrase": false
}viewsRemaining bernilai -1 untuk rahasia dengan tampilan tak terbatas (maxViews = 0).
Respons kesalahan
| Status | Deskripsi |
|---|---|
| 404 | Rahasia tidak ditemukan atau sudah kedaluwarsa |
| 500 | Kesalahan server internal |
Batas laju
| Endpoint | Batas | Jendela waktu |
|---|---|---|
| POST /api/secrets | 20 permintaan | 10 menit |
| GET /api/secrets/[id] | 60 permintaan | 10 menit |
Batas laju berlaku per alamat IP. Melampaui batas mengembalikan 429.