Developer reference

CBOM API

Base URL: https://vajrashield.in · Policy: cbom-policy-v1

Upload a repository zip (source + lockfiles) → get JSON, Markdown, HTML, SARIF, PDF. Static analysis only — not HSM, network, or regulatory sign-off.

Validate findings with your engineers before sharing counts externally. First pilot? Request a briefing.

Typical flow

  1. Export zip — export script
  2. POST /api/scanner/preflight?limits=assessment
  3. Login — Vajra Gate or POST /api/auth/login
  4. POST /api/tenant/cbom/upload
  5. GET /api/tenant/cbom/report/bundle

1. Pre-flight (no auth)

Check zip size, structure, secret-like filenames — no scan yet.

curl -sS -X POST 'https://vajrashield.in/api/scanner/preflight?limits=assessment' \
  -F 'archive=@repo-cbom.zip'

ready, blocking[], warnings[], stats.lockfiles · limits: preview 10MB · assessment 25MB

2. Tenant session

curl -sS -X POST https://vajrashield.in/api/auth/login \
  -H 'Content-Type: application/json' \
  -c cookies.txt \
  -d '{"mnemonic_raw":"word1 word2 ... word12","mode":"STANDARD"}'

Register: POST /api/tenant/registerPOST /api/tenant/verify (OTP)

3. Upload scan

curl -sS -X POST https://vajrashield.in/api/tenant/cbom/upload \
  -b cookies.txt \
  -F 'archive=@repo-cbom.zip' \
  -o CBOM_REPORT.json

3 req/min · 120s timeout · needs VAJRA_TENANT_CBOM_UPLOAD=1

4. Download bundle

curl -sS -OJ https://vajrashield.in/api/tenant/cbom/report/bundle \
  -b cookies.txt

CI upload

Headers X-Vajra-Tenant-Id + X-Vajra-Cbom-Ci-Token

curl -sS -X POST https://vajrashield.in/api/tenant/cbom/ci-upload \
  -H 'X-Vajra-Tenant-Id: <tenant-uuid>' \
  -H 'X-Vajra-Cbom-Ci-Token: <secret>' \
  -F 'archive=@repo-cbom.zip'

Endpoints

MethodPathAuth
POST/api/scanner/preflightNone
GET/api/tenant/cbom/statusSession
POST/api/tenant/cbom/uploadSession
POST/api/tenant/cbom/ci-uploadCI token
GET/api/tenant/cbom/reportSession
GET/api/tenant/cbom/report/bundleSession

Common errors

Full markdown pack for NDA engagements: docs/client_packs/CBOM_API.md (on request).