Skip to content
Customer developer docs

Decision streams

Publish recorded ledger decision events to Kafka, AWS SNS/SQS, Google Pub/Sub, or Azure Event Hubs.

Decision streams

Decision streams publish each recorded decision event from your tenant's audit ledger into messaging infrastructure you own. Use them to drive downstream automation and monitoring without polling.

Supported providers: kafka, aws_sns, aws_sqs, google_pubsub, azure_event_hubs.

Delivery is asynchronous and at least once — consumers must deduplicate on event_uuid. A provider outage never changes a run status or a deterministic verdict; deliveries queue and retry independently of the ledger write.

Payload

Events use schema_version: "decision_stream.v1" in summary mode. Each payload identifies the tenant, event UUID, request ID, and occurrence time, and carries:

  • decision — status, approved flag, confidence bucket, and reason.
  • actor and action — the acting agent and the tool or action category involved.
  • policy — the policy identifier and content hash in force.
  • integrity — the canonical version, event hash, leaf hash, and receipt signature metadata, so a consumer can tie the message back to the ledger.
  • links.proof_bundle_path — the ready-made path to fetch the proof bundle for independent verification.

Raw documents and raw source values are not included; payload mode is summary-only.

Endpoints

FieldTypeRequiredDescription
GET/decision-streamsConfigNoList configured destinations with delivery stats.
POST/decision-streamsConfigNoCreate a destination. Credentials are write-only and never returned.
PUT/decision-streams/{destinationID}ConfigNoUpdate configuration or enabled state.
DELETE/decision-streams/{destinationID}ConfigNoDelete a destination and its queued deliveries.
POST/decision-streams/{destinationID}/testDeliveryNoPublish a synthetic test event.
POST/decision-streams/deliveries/{deliveryID}/retryDeliveryNoRetry a failed delivery.

Admins can also manage destinations in the console under Settings → Decision Streams. For run- and receipt-level notifications over HTTP, use webhooks (/webhooks endpoints with rotating signing secrets) instead of a message bus.