Ingest from your journaling rule and chat webhooks; search and export over a key-authenticated API. Base URL defaults to http://localhost:8071.
/v1/* endpoint requires the X-API-Key header, compared in constant time against VERBAVAULT_API_KEY. GET /healthz and GET /health are public liveness probes.Your mail server's journaling rule POSTs a copy of each message.
curl -X POST localhost:8071/v1/ingest/email \
-H "X-API-Key: $VERBAVAULT_API_KEY" -H "Content-Type: application/json" \
-d '{"tenant_id": "acme-ria", "source_id": "mbx-journal",
"payload": {"from": "don+compliancearchive@lifeofmorr.com", "subject": "Q3 statements"}}'
# 201 {"record_id": "...", "source_id": "mbx-journal"}Point the Slack Events API at /v1/hooks/slack. The url_verification challenge is answered automatically.
curl -X POST localhost:8071/v1/hooks/slack \
-H "X-API-Key: $VERBAVAULT_API_KEY" -H "Content-Type: application/json" \
-d '{"type": "url_verification", "challenge": "abc"}'Full-text search across all archived records.
curl "localhost:8071/v1/search?q=quarterly&tenant_id=acme-ria" \
-H "X-API-Key: $VERBAVAULT_API_KEY"Source health plus any new silence alerts.
curl "localhost:8071/v1/verify/status?tenant_id=acme-ria" \
-H "X-API-Key: $VERBAVAULT_API_KEY"CSV + chain-of-custody manifest.
curl "localhost:8071/v1/export?tenant_id=acme-ria" \
-H "X-API-Key: $VERBAVAULT_API_KEY"| Method | Endpoint | What it does |
|---|---|---|
| POST | /v1/ingest/email | Email journaling receiver. 201 with record_id. |
| POST | /v1/hooks/slack | Slack Events receiver; answers url_verification. |
| POST | /v1/hooks/teams | Teams webhook receiver. |
| POST | /v1/ingest/sms | SMS capture via partner API (stub provenance marked). |
| POST | /v1/sources/<id>/heartbeat | Manual heartbeat for a source. |
| GET | /v1/search?q=..&tenant_id=.. | Full-text search. |
| GET | /v1/export?tenant_id=.. | Regulator package: CSV + manifest. |
| GET | /v1/verify/status | Source health + new silence alerts. |
| GET | /v1/verify/log | Append-only verification history. |
| GET | /v1/supervision/queue | Lexicon-flagged reviewer queue. |
| GET | /healthz · /health | Liveness. Public. |
| POST | /v1/sources | Register a capture source (registry + monitor). |
| GET | /v1/sources | Source registry with live health state. |
| GET | /v1/connectors | Connector modes (mock until workspace app registrations complete). |
| POST | /v1/connectors/<kind>/poll | Run one capture poll (mock fixtures in mock mode). |
| GET | /v1/retention/status | Retention policy + past-retention disposition report. |
| GET | /v1/integrity/verify | Re-verify audit chain + record hashes. |
| GET | /v1/tenants/me | Your tenant, plan, caps and usage (tenant key). |
Full reference with request/response examples ships in the repo as
OPENAPI.md.