Skip to main content
GET
/realms/{realmId}/organizations/{organizationId}/policy-requests/{policyRequestId}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

realmId
string
required
organizationId
string
required
policyRequestId
string
required

Response

200 - application/json

Successful response

id
string
required
realmId
string
required
organizationId
string
required
accountId
string
required

Kept from the request payload so the subject can be fulfilled later.

walletId
string
required
context
required

The business surface a policy governs.

Available options:
PAYMENT,
SPEND_REVIEW,
TRAVEL
subjectType
string
required
subjectId
string
required
requester
object
required
body
object
required

Full subject entity snapshot.

policyId
string
required

The matched business policy.

status
enum<string>
required

Root lifecycle: REQUESTED → APPROVED | DENIED | CANCELED | EXPIRED (terminal).

Available options:
REQUESTED,
APPROVED,
DENIED,
CANCELED,
EXPIRED
executionStatus
enum<string>
required

Runs only after the root reaches APPROVED.

Available options:
WAITING,
PROCESSING,
EXECUTED,
FAILED
approvalDeadline
required

CALLER-supplied at creation (#4971 Q1) and copied verbatim — ruleengine only validates that it is in the future. The business policy no longer carries a deadline: the caller owns the semantics (banking derives it from the payment date), so the same policy can govern subjects with very different natural deadlines.

approvalHierarchy
boolean
required

Copied from policy.actions.hierarchy.

approvals
object[]
required
walletName
string

Caller-supplied display name of walletId, snapshotted at creation like requester.name (a later wallet rename does not propagate). Absent on requests created before the field existed and on wallet-less subjects.

denialReason
string

Why the request was DENIED, as supplied by whoever denied it via .../deny or .../force-deny. Absent when the denier gave no reason, and on every non-DENIED request.

resolution

AUTO when the matched policy approved automatically and the request was created already APPROVED (no approvers). Absent on a request that went through an approval flow.

Available options:
AUTO
executionMode

MOVE_BALANCE_ONLY when only the policy's balance top-up ran and the subject was finalized by its own module. Absent on a full execution.

Available options:
MOVE_BALANCE_ONLY
executionFailReason
string
executionMoveBalance
object

Copied from the matched policy at creation.

createdAt
updatedAt