semvault
API docs
Dashboard OpenAPI Vault

HTTP API

Create a key on the Dashboard. Send X-API-Key on vault routes (CRUD, POST /search, import/export) — same scope as a JWT. Use HTTPS in production and treat keys like passwords.

Base URL

Use your deployment origin (example: https://your-host:4156). Prefer versioned paths under /v1.

Semantic search

curl -s -X POST "https://YOUR_HOST/v1/search" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sv_YOUR_KEY_HERE" \
  -d '{"query":"wifi password","limit":10}'

Optional: "category":"personal" in the JSON body to filter.

Get record by key

curl -s "https://YOUR_HOST/v1/records/my_record_key" \
  -H "X-API-Key: sv_YOUR_KEY_HERE"

Create or upsert a record

curl -s -X POST "https://YOUR_HOST/v1/records" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sv_YOUR_KEY_HERE" \
  -d '{"key":"wifi","description":"home wifi","value":"secret","category":"personal","tags":[]}'

JWT (browser / account)

Sign up, login, the dashboard, and API key management use Authorization: Bearer <JWT>. Interactive schema: OpenAPI at /docs.