Quickstart
Paste once, send one event, and verify the proof link in your dashboard.
curl -X POST https://api.agent-sentinel.ai/api/v1/events \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalEventId": "evt_12345",
"agentId": "demo-crm-agent",
"action": "Lead scoring decision",
"actionCategory": "decision",
"model": "gpt-4o",
"modelProvider": "openai",
"status": "verified",
"confidence": 0.91,
"latencyMs": 842,
"inputTokenCount": 320,
"outputTokenCount": 141,
"inputContent": "User asked for lead qualification summary",
"outputContent": "Lead score 0.91 with reasoning",
"dataSource": "company-knowledge-base.pdf",
"customerRef": "crm:customer_7782",
"workflowId": "wf_sales_qualification",
"stepId": "score_decision",
"policyId": "policy-lead-score-v2",
"policyVersion": "2.3.0",
"decisionOutcome": "allow",
"environment": "production",
"timestamp": 1764303663000
}'
Event schema essentials
- Required: externalEventId, agentId, action, actionCategory, status, timestamp
- Required: model, modelProvider, inputContent, outputContent, inputTokenCount, outputTokenCount, latencyMs
- Recommended: confidence, dataSource, outcomeMetrics, tags, sessionId
- Join refs: customerRef, workflowId, stepId, policyId, policyVersion, decisionOutcome, environment
- Response: proofHash, chainHash, previousHash, constellationStatus, constellationVerificationUrl
- Proof policy: choose industry template defaults or customize hashed fields in Dashboard Settings
- Optional proof triggers: choose Triggered only (202 skip) or Log all, hash only triggered (201 event log)
See platform flow →Verify any event independently
Use proofHash, chainHash, and optional Constellation attestation URL to validate integrity end to end.
`proofHash` is computed from your organization's configured proof policy (industry template or custom field selection), then chained via `previousHash + sequenceNumber`.
Include internal reference IDs in events, then join by those IDs inside your private systems for full business-context validation.
{
"eventId": "evt_convex_id",
"proofHash": "sha256_hex",
"chainHash": "sha256_hex",
"previousHash": "sha256_hex",
"matchedTriggerRules": ["status:flagged"],
"constellationStatus": "confirmed",
"constellationVerificationUrl": "https://..."
}
If your workspace is set to Triggered only, low-sensitivity events are accepted but skipped from proof capture:
{
"accepted": true,
"skipped": true,
"reason": "NO_TRIGGER_MATCH",
"matchedRules": [],
"triggerMode": "triggered_only"
}
In Log all, hash only triggered mode, low-sensitivity events are still written to your timeline, but marked as not proof-captured.