Guide: Capturing Decisions

Capture every AI decision with enough context to survive audits and enable offline verification.

Request Schema

Field            Type      Required  Notes
model_id         string    Yes       Which model produced the decision
input            object    Yes       Raw inputs (PII redaction is caller's responsibility)
output           object    Yes       Model result (decision + attributes)
confidence       number    No        0-1 score
idempotency_key  string    No        Required for safe retries
policy_id        string    No        Business rules identifier at decision time
context          object    No        Extra metadata (channel, session, etc.)
explanation      object    No        SHAP/LIME values if provided/auto-generated
Include your internal reference (e.g., transaction_id) in context or a dedicated field.

Examples

capture.pypython
import xase

client = xase.Client(api_key="xase_pk_...")

record = client.records.create(
    model_id="credit-model-v2",
    input={
        "customer_id": "cust_123",
        "income": 85000,
        "debt_ratio": 0.32,
        "credit_score": 720
    },
    output={
        "decision": "APPROVED",
        "limit": 25000,
        "interest_rate": 12.5
    },
    confidence=0.94,
    idempotency_key="req_unique_123"
)

print(record.id)

Best Practices

  • Use idempotency keys: make retries safe.
  • Attach business policy: record policy_id used at decision time.
  • Explainability: enable SHAP/LIME capture for auditability.
  • PII: redact sensitive inputs before sending, if required.