Start simple. Scale to courtroom-defensible.

Ship your first auditable event in 5 minutes

One API. Instant proofHash + chainHash.

Open in Postman

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.