Skip to main content
GET
cURL

Authorizations

Authorization
string
header
required

Caller API key issued by scripts/generate-api-key.ts. Sent as Authorization: Bearer . Verified against a stored SHA-256 hash in constant time by packages/api/src/auth/StaticKeyAuthenticator.ts. Required on every route not listed as exempt in this document's top-level description. See /api-reference/authentication.

Path Parameters

businessTransactionId
string
required

The id of the refused transaction. In the sandbox, the value shown is a seeded transaction kept for these docs. To try your own, run the playground and use the businessTransactionId it prints.

Response

The Refusal Record.

Response returned by GET /refusal/{businessTransactionId}. A bare Refusal Record, no wrapper.

refusalRecordId
string
required

Unique Refusal Record identifier.

businessTransactionId
string
required

Business Transaction this refusal is about.

decision
Decision · object
required

Immutable result of evaluating an Intent against a Policy. Decision does not create authority, grant authorization, or modify Intent; it only records the outcome of deterministic Policy evaluation.

Example:
evaluatedIntent
object
required

The Intent snapshot the signals were evaluated against: target and parameters only, present for every refusal, not only binding violations.

refusalRecordHash
string
required

Canonical hash of this Refusal Record, same convention as ExecutionTrustRecord.trustRecordHash.

signature
object
required

Cryptographic signature over the canonical Refusal Record, signed with the same key as ExecutionTrustRecord, one root of trust for both approvals and refusals.

createdAt
string<date-time>
required

UTC timestamp when this Refusal Record was created.

bindingViolations
object[]

Present only when the rejection came from SignalIntentBinder. Absent (not an empty array) for an ordinary PolicyEngine.evaluate REJECT that never reached binding-violation logic at all.

submittedBy
string

Authenticated caller who submitted the rejected request. Absent when caller authentication is disabled.

policyContentHash
string

SHA-256 hash of the policy content that decided the refusal, the same value an Execution Trust Record carries in transaction.policy.contentHash. Inside the signed record. Absent on Refusal Records written before 2026-10-06.

Pattern: ^[0-9a-f]{64}$