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

URL Dasar
https://www.vaulted.fyi/api
POST/api/secrets

Menyimpan ciphertext terenkripsi dengan metadata kedaluwarsa dan batas tampilan. Mengembalikan ID rahasia.

Bodi permintaan

BidangTipeWajibNilai
ciphertextstringyamaks. 4096 karakter
ivstringyavektor inisialisasi
maxViewsnumberya0, 1, 3, 5, 10 (0 = tak terbatas, mengembalikan -1 untuk viewsRemaining)
ttlnumberya3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (detik)
hasPassphrasebooleantidakdefault false
Contoh permintaan
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
  }'
Respons
{ "id": "abc123" }

Respons kesalahan

StatusDeskripsi
400Kesalahan validasi (bidang hilang atau tidak valid)
429Batas laju terlampaui
500Kesalahan server internal
GET/api/secrets/[id]

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.

Contoh permintaan
curl https://www.vaulted.fyi/api/secrets/abc123
Respons
{
  "ciphertext": "encrypted-base64-data",
  "iv": "initialization-vector",
  "hasPassphrase": false,
  "viewsRemaining": 2
}

viewsRemaining bernilai -1 untuk rahasia dengan tampilan tak terbatas (maxViews = 0).

Respons kesalahan

StatusDeskripsi
404Rahasia tidak ditemukan atau sudah kedaluwarsa
429Batas laju terlampaui
500Kesalahan server internal
GET/api/secrets/[id]/status

Memeriksa apakah rahasia ada dan berapa banyak tampilan yang tersisa tanpa mengonsumsi tampilan.

Contoh permintaan
curl https://www.vaulted.fyi/api/secrets/abc123/status
Respons
{
  "exists": true,
  "viewsRemaining": 3,
  "hasPassphrase": false
}

viewsRemaining bernilai -1 untuk rahasia dengan tampilan tak terbatas (maxViews = 0).

Respons kesalahan

StatusDeskripsi
404Rahasia tidak ditemukan atau sudah kedaluwarsa
500Kesalahan server internal

Batas laju

EndpointBatasJendela waktu
POST /api/secrets20 permintaan10 menit
GET /api/secrets/[id]60 permintaan10 menit

Batas laju berlaku per alamat IP. Melampaui batas mengembalikan 429.