What the workflow does
This is a fixed gateway capability, not a fourth autonomous agent and not a caller-defined agent graph.
- Khanoor triages the security event. A benign finding returns
no_actionand stops here. - DocFlow extracts and classifies the supporting document for an actionable finding.
- Resolve prepares the support or resolution case from the prior two outputs.
Request
Send JSON no larger than 256 KiB. Idempotency-Key is required. X-Paseo-Root-Correlation-Id is optional; when omitted, the gateway creates one.
| Field | Type | Notes |
|---|---|---|
tenant_id | string? | May be omitted. If present, it must match the tenant derived from the authenticated credential. |
event | SecurityEvent | Typed Khanoor input. Any tenant marker inside the event must match the authenticated tenant. |
document | DocumentInput | Typed DocFlow input. Any tenant marker inside document metadata must match the authenticated tenant. |
Terminal response
A successful request returns completed after all three hops or no_action after Khanoor. The response carries the route actually executed rather than implying work that did not run.
| Field | What it proves |
|---|---|
root_correlation_id | One identifier propagated through every executed hop. |
root_request_hash | A commitment to the root request used for receipt-chain continuity and idempotency. |
status | completed or no_action. |
route_executed | The exact subset of khanoor, docflow, and resolve that ran. |
khanoor, docflow, resolve | Typed outputs for executed hops; downstream outputs remain null after a benign early stop. |
receipt_chain | Ordered hop receipts binding the tenant commitment, correlation id, input/output hashes, and previous receipt hash. |
root_attestation | The ML-DSA-65 signed root completion record when gateway signing is configured. |
Idempotency-Key, and request body returns the same root result with Idempotency-Replayed: true. Reusing the key for different input is rejected.Safe failure
The workflow stops at the first failed, timed-out, tenant-mismatched, or invalid-receipt hop. It does not invent output or continue downstream.
Partial-failure responses identify failed_hop, a redacted failure.kind, completed_hops, and the valid receipt prefix accumulated before the stop. Raw input and internal error detail are not returned.
Pricing
The workflow uses the existing Paseo entitlement boundary. It currently has no separate usage meter, surcharge, Stripe SKU, or x402 SKU. The published Paseo rate card remains the source for existing Paseo offerings; it does not establish a dedicated workflow charge.