암호화 시크릿 공유를 위한 REST API
암호화된 자기 파괴 시크릿을 프로그래밍 방식으로 생성하고 조회하세요.
이 API는 미리 암호화된 암호문을 저장합니다. API를 호출하기 전에 클라이언트 측에서 암호화가 이루어져야 합니다. 서버는 평문을 절대 보지 않습니다.
대부분의 경우 CLI 또는 GitHub Action이 암호화를 자동으로 처리합니다.
기본 URL
기본 URL
https://www.vaulted.fyi/apiPOST/api/secrets
만료 및 조회 한도 메타데이터와 함께 암호화된 암호문을 저장합니다. 시크릿 ID를 반환합니다.
요청 본문
| 필드 | 타입 | 필수 | 값 |
|---|---|---|---|
| ciphertext | string | 예 | 최대 4096자 |
| iv | string | 예 | 초기화 벡터 |
| maxViews | number | 예 | 0, 1, 3, 5, 10 (0 = 무제한, viewsRemaining에 -1 반환) |
| ttl | number | 예 | 3600, 7200, 21600, 43200, 86400, 259200, 604800, 1209600, 2592000 (초) |
| hasPassphrase | boolean | 아니요 | 기본값 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/secrets | 20회 요청 | 10분 |
| GET /api/secrets/[id] | 60회 요청 | 10분 |
요청 속도 제한은 IP 주소 단위입니다. 제한을 초과하면 429가 반환됩니다.