Browse documentation

Endpoint

What-if scenarios on the same envelope

Stress / upside paths with explicit caveats — template narrative included.

Stress revenue, opex, and payable timing on the same envelope to compare base, stressed, and upside balances.

POST /api/v1/simulated-scenario-runner

Try in playground

What it returns

Deterministic stress / upside scenarios against the supplied envelope.

Structured fields: scenarios[]

Extra envelope blocks: scenario

Responses always include a template-generated narrative string alongside structured — safe to show to non-technical stakeholders when you need a spoken summary.

Response shape

Every successful response includes the same top-level keys: endpoint, account_id, processing (ephemeral mode + note), structured, and narrative.

Structured subfields for this route: scenarios[]

Minimal example

{
  "endpoint": "simulated-scenario-runner",
  "account_id": "acct_demo_001",
  "processing": {
    "mode": "ephemeral",
    "note": "Cashytics processes this request in memory only. Your payload is not stored as a ledger of record after the response is sent."
  },
  "structured": {
    "scenarios": [
      {
        "name": "base",
        "balance_minor": 512000
      },
      {
        "name": "stressed",
        "balance_minor": 445000
      },
      {
        "name": "upside",
        "balance_minor": 525000
      }
    ]
  },
  "narrative": "Scenario interpretation\nRevenue shock: -5%\nOpex shock: 3%\nConfidence caveat: Scenarios are illustrative linear adjustments; they are not forecasts of actual outcomes.\n\nThis narrative is generated from structured signals using fixed templates."
}

Minimal curl

curl -sS -X POST "https://api.cashytics.com/api/v1/simulated-scenario-runner" \
  -H "Authorization: Bearer cyt_live_YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d @envelope.json

Use the same envelope.json for every endpoint — add optional blocks when this route requires them.

← All endpoints