Browse documentation

Endpoint

30-day cash position without building a forecasting team

Forward view with an explicit confidence band so you can pair it with your own risk appetite.

Project where cash lands thirty days out with a defensible confidence band from recent net flow.

POST /api/v1/forecast-30d-cash-position

Try in playground

What it returns

Linear projection of net cash thirty days forward with a confidence band.

Structured fields: forecast_30d_minor, confidence_band_minor, assumptions[]

Extra envelope blocks: payables optional for payable-aware drift

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: forecast_30d_minor, confidence_band_minor, assumptions[]

Minimal example

{
  "endpoint": "forecast-30d-cash-position",
  "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": {
    "forecast_30d_minor": 540000,
    "confidence_band_minor": 22,
    "assumptions": [
      "Linear extrapolation of observed daily net",
      "Excludes one-off spikes capped at 2σ"
    ]
  },
  "narrative": "30-day cash outlook\nProjected balance (minor units): 540000\nConfidence band (minor units): 22\nCaveat: Linear drift from the observed window — pair with your own macro and concentration views.\n\nThis narrative is generated from structured signals using fixed templates."
}

Minimal curl

curl -sS -X POST "https://api.cashytics.com/api/v1/forecast-30d-cash-position" \
  -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