API reference

Every Sanad API endpoint. Authentication is a Bearer license key OR an HttpOnly session cookie set by /api/dpo/session/login.

Quick test
curl -H "Authorization: Bearer $LICENSE_KEY" \
  https://<portal>/api/dpo/dashboard/alerts

Authentication

POST/api/dpo/session/loginExchange license key for HttpOnly session cookie
POST/api/dpo/session/logoutClear the session cookie
GET/api/dpo/sessionWhoami — returns tenant identity

Signup

POST/api/dpo/signupCreate unverified tenant; sends verification email
POST/api/dpo/verify-emailConsume verification token; emails license key

Consent receipts (DPDP §6)

POST/api/dpo/consent/issueIssue a signed consent receipt
POST/api/dpo/consent/withdrawWithdraw a consent — emits sibling receipt
GET/api/dpo/consentList consent receipts
GET/api/dpo/consent/receipt/:idFetch by UUID or CR-number
GET/api/dpo/consent/verify/:rnCapability-style public verify

Rights requests (DPDP §11/§12/§13/§14/§6.4)

POST/api/dpo/rights/intakeRecord a data-principal rights request
POST/api/dpo/rights/updateStatus transition (FULFILLED, REJECTED, etc.)
GET/api/dpo/rightsList requests (filter by status, type)
GET/api/dpo/rights/overdueRequests breached on SLA
GET/api/dpo/rights/:idTenant-scoped fetch
GET/api/dpo/rights/verify/:rnPublic capability verify

Incidents + regulator notifications

POST/api/dpo/incident/intakeRecord incident; CERT-In 6h + DPDP 72h clocks start at discovered_at
POST/api/dpo/incident/generate-reportRender + sign one regulator-format report (CERT-In, DPB, data principal, Board, SEBI, RBI, IRDAI)
POST/api/dpo/incident/updateStatus transition
GET/api/dpo/incidentList incidents
GET/api/dpo/incident/:idSingle incident
GET/api/dpo/incident/:id/reportsAll regulator notifications for one incident
POST/api/dpo/incident/:id/evidenceAttach signed forensic evidence
GET/api/dpo/incident/deadlinesOpen incidents with statutory deadline status

Governance registers

POST/GET/api/dpo/dpiaDPIAs (DPDP §10(2)(c))
POST/GET/api/dpo/processingRecord of Processing Activities (DPDP Rule 11)
POST/GET/api/dpo/transfersCross-border transfers (DPDP §16 + Rule 14)
POST/GET/api/dpo/trainingStaff training records (DPDP Rule 11(d))
POST/GET/api/dpo/policiesVersioned policies with approval lifecycle
POST/GET/api/dpo/vendorsVendor register with signed DPA hashes (§8(2))
POST/GET/api/dpo/retentionRetention schedules
POST/GET/api/dpo/erasureSigned erasure attestations (DPDP §12.3)

Aggregates

POST/api/dpo/board/reportGenerate signed quarterly Board report
POST/api/dpo/exportDPDP §11 subject export (signed bundle)
GET/api/dpo/dashboard/alertsAll pending-work surfaces in one call

Webhooks (HMAC-signed event delivery)

POST/api/dpo/webhooksCreate subscription; secret returned ONCE
POST/api/dpo/webhooks/updatePause/resume/disable, change events or URL
POST/api/dpo/webhooks/testSend a synthetic test event
POST/api/dpo/webhooks/retryRetry a failed delivery
GET/api/dpo/webhooks/deliveriesDelivery log
GET/api/dpo/webhooks/outboxPending events queued for fan-out

Sentinel Detect (MDR)

POST/api/sentinel-detect/alertIngest signed alert
GET/api/sentinel-detect/alertList alerts
POST/api/sentinel-detect/alert/updateAnalyst transition + escalate-to-incident
POST/api/sentinel-detect/rulesCreate detection rule
POST/api/sentinel-detect/rules/updateToggle / status change
POST/api/sentinel-detect/rules/bootstrapCreate the 7-rule starter pack
POST/api/sentinel-detect/evaluateRun a single event through the rule engine
POST/api/sentinel-detect/evaluate-batchUp to 500 events per call
POST/api/sentinel-detect/classify-telemetryPull rows from sentinel_telemetry and classify
GET/api/sentinel-detect/statsSOC dashboard aggregates

Verification

GET/api/verify/:numberPublic verifier; routes by prefix to all 15 artifact types

Chain integrity

GET/api/dpo/chain/verify?prefix=CRRecompute chain + signatures
GET/api/dpo/chain/replay?prefix=CROrdered chain dump for off-platform audit
POST/api/dpo/chain/snapshotTake a signed snapshot of an entire chain

CognoShift Private Limited · CIN U85499HR2025PTC130446