Skip to main content
Version: 0.1.0

Response Schema

The canonical output format.

The BaseCred Decision Engine returns a DecisionOutput object. This schema is strict and will not change without a major version bump.

JSON Structure​

{
"decision": "ALLOW",
"confidence": "HIGH",
"explain": [
"String explanation of why the decision was made",
"Multiple reasons may be provided"
],
"constraints": [],
"retryAfter": null,
"ruleIds": ["rule_id_1", "rule_id_2"],
"version": "1.0.0"
}

Field Definitions​

FieldTypeDescription
decisionEnumThe final recommendation. One of ALLOW, DENY, or ALLOW_WITH_LIMITS.
confidenceEnumQualitative certainty: LOW, MEDIUM, HIGH, or VERY_HIGH. Derived from signal coverage and consistency.
explainstring[]Human-readable reasons. Safe to display to end-users.
constraintsstring[]Limitations when decision is ALLOW_WITH_LIMITS. Empty array for ALLOW or DENY.
retryAfternumber | nullSeconds to wait before retrying, for rate-limited or temporary denials. null if not applicable.
ruleIdsstring[]IDs of rules that contributed to this decision. Useful for debugging and auditing.
versionstringEngine version used to produce this decision (SemVer).

Optional Fields​

These fields are populated by the progression layer and are not part of the core decision output:

FieldTypeDescription
accessStatusEnum | undefinedRetail-facing access status: eligible, limited, not_ready, or blocked.
blockingFactorsstring[] | undefinedHigh-level, fixable guidance list. Does not expose raw scores.

Decision Values​

ValueMeaning
ALLOWSubject meets all requirements for this context.
DENYSubject does not meet requirements. Check explain for reasons.
ALLOW_WITH_LIMITSSubject is allowed with restrictions. Check constraints for details.

Confidence Tiers​

TierMeaning
LOWFew signals available. Decision is a best-effort estimate.
MEDIUMPartial signal coverage. Decision is reasonably reliable.
HIGHGood signal coverage. Decision is reliable.
VERY_HIGHFull or near-full signal coverage. Decision is highly reliable.