AI Agent Action Request Schema
An action request records the authority an AI agent asks to use before policy evaluation and any tool effect. This standalone reference preserves the requested_action shape from the published audit event and adds an addressable action_request_id plus correlation for independent use.
JSON Schema draft 2020-12 · Version 1.0.0 · Normative field names in English
Quick reference
- Definition
- A standalone record of one requested agent action: capability, purpose, resource, data boundary, environment, and request time.
- When used
- Create it when an agent proposes a governed action. Link it to policy, approval, tool, and audit records with correlation.
- Required fields
- The request ID, schema version, correlation IDs, action, purpose, resource, data boundary, environment, and requested_at.
- Optional detail
- Include amount for financial actions and trace context when the execution carries OpenTelemetry identifiers.
01
Schema and examples
The versioned artifacts are self-contained. Consumers can validate the request without loading the audit-event schema.
/ai-agent-action-request/v1/schema.jsonDownload Basic read exampleMinimal synthetic request with no financial amount./ai-agent-action-request/v1/examples/basic-read.jsonDownload Credit disposition exampleSynthetic financial action with amount and trace correlation./ai-agent-action-request/v1/examples/credit-disposition.jsonDownload 02
Object and execution order
The request is the first durable contract in the reference sequence. Policy evaluates it before an approval or tool effect is recorded.
- 01RequestThe agent proposes an action against a named resource inside a declared data boundary and environment.
- 02CorrelateThe action_request_id identifies this standalone record. correlation_id and execution_id connect it to the execution graph.
- 03EvaluateThe policy decision records allow, warn, require_approval, or block for the same execution correlation.
- 04ContinueA tool call follows an allowed or warned route. A require_approval route records an approval event before an effect.
03
Field dictionary
The dictionary covers every top-level field, nested resource member, correlation member, and conditional financial member.
Standalone identity and correlation
| Field | Status | Purpose |
|---|---|---|
| schema_version | Required | Selects the compatibility contract used to parse the record. |
| action_request_id | Required | Independently addresses this request and links it to an audit event. Added for standalone publication. |
| correlation.correlation_id / execution_id | Required | Joins the request to policy, approval, tool, and audit records without a timestamp join. Added for standalone publication. |
| correlation.trace_id / span_id / parent_event_id | Optional | Carries OpenTelemetry trace context and an optional parent event. All-zero W3C identifiers are invalid. |
Requested authority
| Field | Status | Purpose |
|---|---|---|
| action | Required | Names the capability the agent proposes to use. |
| purpose | Required | States the business purpose supplied to policy evaluation. |
| resource.type / resource.id | Required | Identifies the target resource and its resource kind. |
| data_boundary_ref | Required | Names the governed data boundary associated with the request. |
| environment | Required | Identifies the execution environment supplied to the request. |
| requested_at | Required | Records when the action was requested as an RFC 3339 date-time. |
| amount.value / amount.currency | Conditional | Carries a decimal string and three-letter uppercase currency when financial value affects policy. |
04
Minimal example
This example contains the required fields for a synthetic read action. The second downloadable example adds amount and trace context.
{
"schema_version": "1.0.0",
"action_request_id": "req_action_demo_0001",
"correlation": {
"correlation_id": "corr_credit_review_demo_0001",
"execution_id": "exec_credit_review_demo_0001"
},
"action": "read_case_summary",
"purpose": "review_credit_case",
"resource": {
"type": "credit_case",
"id": "case_demo_0001"
},
"data_boundary_ref": "boundary_credit_case_minimum",
"environment": "staging",
"requested_at": "2026-07-21T09:14:29.100Z"
}05
Validation and digest verification
JSON Schema validation checks shape. The companion verifier reproduces a sha256: digest over the canonical record and can check an optional detached Ed25519 signature.
- 01Load the versioned schema from the JSON Schema download URL.
- 02Validate the JSON document with a draft 2020-12 validator and a date-time format plugin.
- 03Canonicalize the complete standalone record with recursively sorted object keys, matching the published audit-event verifier approach.
- 04Compute SHA-256 over the canonical bytes and represent the result with the sha256: prefix.
- 05Compare the computed digest with the digest retained by the calling evidence procedure.
- 06When a detached Ed25519 signature is supplied, resolve its public key independently and verify the signature over the 32-byte digest.
- 07Record a hash mismatch or signature failure as a failed verification result and preserve the original record for investigation.
Schema-valid request
The downloadable examples validate against draft 2020-12 and produce a reproducible sha256: digest from their canonical content.
Tamper check
Changing a field such as action keeps the document structurally readable while changing the canonical digest. The verifier reportsrecord_hash_mismatch.
The standalone verifier accepts an optional detached Ed25519 signature. Trust in a public key comes from the caller’s independently governed key registry.
06
Compatibility and versioning
Version the standalone contract independently from agent, policy, and tool releases.
Patch
Clarifications, descriptions, and examples can change while validation behavior remains stable. A corrected immutable artifact receives a new versioned URL.
Minor
New optional fields require a new schema_version and versioned URL. Consumers declare support before processing the new version.
Major
Removed or renamed fields, changed meanings, stricter required status, or changed canonicalization require a new major path.
Consumers preserve unknown versions for review and stop semantic processing until support is declared. The v1 path uses schema_version 1.0.0.
07
How KLA implements this
The embedded audit schema is the normative field source. Runtime producers expose related fields that the public standalone shape can link and normalize.
| Contract area | Current source | Mapping | Status |
|---|---|---|---|
| Embedded requested action shape | apps/platform/src/lib/ai-agent-audit-event/v1/schema.json | The audit-event schema defines requested_action.action, purpose, resource, data_boundary_ref, environment, amount, and requested_at. This page publishes those fields at the top level. | Shipped reference source |
| Runtime tool request facts | services/execution-worker/src/services/audit-events.ts | recordToolAuditEvent records executionId, toolName, toolAction, data scopes, and hashes for tool parameters and results. The function does not emit this normalized standalone request object. | Current related producer |
| Execution correlation | services/execution-worker/src/services/audit-events.ts | Tool audit records carry executionId and the active OpenTelemetry trace ID. Consumers use the standalone correlation object to join those runtime facts. | Current related producer |
| Policy and audit linkage | services/shared/src/policy/contracts.ts | GateContext and GateDecision contracts provide the policy-side execution identifiers and canonical decision values used after this request is evaluated. | Current consumer contract |
Deliberate abstractions and unsupported fields
- •The schema omits tenant database IDs, internal row IDs, and Cerbos policy syntax.
- •The schema carries resource references and data_boundary_ref. It does not carry raw resource contents, prompts, model output, tool arguments, or tool results.
- •The schema does not assert that the requester is authorized. The policy decision and the consuming authorization path establish the applicable control result.
- •The schema does not prescribe how an implementation resolves a data boundary reference or retains the referenced data.
- •The standalone action_request_id and correlation object are additions for standalone publication. The embedded requested_action object has neither field.
- •The public examples contain synthetic IDs and timestamps. They carry no customer data or credential material.
08
Related references
Follow the governed execution sequence from request through policy, approval, and the full audit event.
The policy result evaluated for this requested action.
The maker-checker record used when policy requires human approval.
The full event envelope that connects request, policy, approval, tools, and outcome.
Apply the contract
Connect the request to the rest of the governed execution record.
Use the audit log schema for the complete event envelope, then follow the linked policy and approval references through the execution sequence.
