암호화 시크릿 공유를 위한 REST API

암호화된 자기 파괴 시크릿을 프로그래밍 방식으로 생성하고 조회하세요.

이 API는 미리 암호화된 암호문을 저장합니다. API를 호출하기 전에 클라이언트 측에서 암호화가 이루어져야 합니다. 서버는 평문을 절대 보지 않습니다.

대부분의 경우 CLI 또는 GitHub Action이 암호화를 자동으로 처리합니다.

기본 URL

기본 URL
https://www.vaulted.fyi/api
POST/api/secrets

만료 및 조회 한도 메타데이터와 함께 암호화된 암호문을 저장합니다. 시크릿 ID를 반환합니다.

요청 본문

필드타입필수
ciphertextstring최대 4096자
ivstring초기화 벡터
maxViewsnumber0, 1, 3, 5, 10 (0 = 무제한, viewsRemaining에 -1 반환)
ttlnumber3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (초)
hasPassphraseboolean아니요기본값 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" }

오류 응답

상태설명
400유효성 검사 오류 (필드 누락 또는 잘못된 값)
429요청 속도 제한 초과
500내부 서버 오류
GET/api/secrets/[id]

암호화된 암호문을 조회하고 조회 횟수를 차감합니다. 모든 조회 횟수가 소진되면 시크릿이 삭제됩니다.

각 요청은 조회 횟수를 1회 차감합니다. 차감 없이 확인하려면 status 엔드포인트를 사용하세요.

요청 예시
curl https://www.vaulted.fyi/api/secrets/abc123
응답
{
  "ciphertext": "encrypted-base64-data",
  "iv": "initialization-vector",
  "hasPassphrase": false,
  "viewsRemaining": 2
}

viewsRemaining은 무제한 조회 시크릿(maxViews = 0)의 경우 -1입니다.

오류 응답

상태설명
404시크릿을 찾을 수 없거나 만료됨
429요청 속도 제한 초과
500내부 서버 오류
GET/api/secrets/[id]/status

조회 횟수를 차감하지 않고 시크릿 존재 여부와 남은 조회 횟수를 확인합니다.

요청 예시
curl https://www.vaulted.fyi/api/secrets/abc123/status
응답
{
  "exists": true,
  "viewsRemaining": 3,
  "hasPassphrase": false
}

viewsRemaining은 무제한 조회 시크릿(maxViews = 0)의 경우 -1입니다.

오류 응답

상태설명
404시크릿을 찾을 수 없거나 만료됨
500내부 서버 오류

요청 속도 제한

엔드포인트제한시간 창
POST /api/secrets20회 요청10분
GET /api/secrets/[id]60회 요청10분

요청 속도 제한은 IP 주소 단위입니다. 제한을 초과하면 429가 반환됩니다.