canonical

Evaluate a bound business request

Evaluate one immutable request against the action’s active policy and return allow, challenge, hold or deny.

post/api/v1/authorize

Request

  • Base URL
    https://app.graypass.org (the document declares no server; this is the origin it was published from)
  • URL
    https://app.graypass.org/api/v1/authorize
  • Auth
    HTTP bearer

Request body

actionstring required

Registered action key, such as payout.destination.change.

audiencestring required

Expected relying-party audience. It must be permitted by the action and independently known to the verifier.

contextobject

Business values bound to the decision and validated against the active context schema. Use safe integers rather than floating-point values.

idempotency_keystring required

Stable application request identifier reused only for identical retries; changed material with the same key conflicts.

mandate_refstring nullable

Supported value: null. Omit the field or send null.

noncestring required

Fresh unpredictable nonce for this request. Retain it with the pending operation and reuse it only for retries of that same request.

requested_atinteger required

Unix timestamp in seconds; the request must be no older than 300 seconds and no more than 60 seconds in the future. This timestamp is excluded from the action hash and idempotency comparison; a retry can refresh it without changing the original nonce or business material.

sessionstring nullable

Optional observation session for this subject. When omitted, the service selects the subject’s latest applicable session.

subjectstring required

Pseudonymous subject identifier in the authenticated tenant and environment.

Response

Decision, mode, independent-binding digest, policy version, reasons and Assurance Profile; challenge or proof appears only when applicable.

actionstring required

Registered action key, such as payout.destination.change.

action_hashstring required

SHA-256 digest binding the canonical authorization material. Compare it with the hash computed from the original server-held request.

decided_atstring required

Decision time as an ISO 8601 timestamp.

decision'allow' | 'challenge' | 'hold' | 'deny' required

Policy result: allow, challenge, hold or deny. Inspect mode and proof requirements before performing any business mutation.

environmentstring required

Environment identifier that scopes this record; sandbox and live resources are separate.

idstring required

Identifier of this record. Treat it as opaque and retain it for subsequent operations.

latency_msinteger required

Server-recorded decision latency in milliseconds.

mode'test' | 'shadow' | 'enforce' required

Action evaluation mode. Test and shadow return decisions without enforceable proofs. An eligible enforce-mode allow can carry a proof.

policy_versioninteger required

Immutable policy version number evaluated for this decision.

proofstring nullable

Compact signed JWS, or null. Require enforce-mode allow, trusted binding checks and successful online consumption before execution.

proof_idstring nullable

Proof identifier (jti), or null when no proof was issued.

reason_codesstring[] required

Stable reason identifiers explaining acceptance, limitations or a decision; resolve them in the reason-code catalog.

trace_idstring required

Identifier to retain for authorization trace lookup and operational diagnosis.

Changes

No recorded changes to this operation across all 1 revision of this API.