Save the current cash forecast configuration as a named version

POST /api/v1/businesses/{business_id}/cfo-portal/cash-forecast/versions

Snapshot the current cash forecast configuration + output.

The version captures the chosen budget, excluded ledgers, and embedded one-time items, along with the full computed forecast JSON. The snapshot is what stays stable as live data drifts; the config is what's replayed against live data on load.

Operation ID: cfo_portal_create_version_api_v1_businesses__business_id__cfo_portal_cash_forecast_versions_post · View as markdown · OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Parameters

Path

business_id string required

Request body

name string required
description string
config CashForecastVersionConfig CashForecastVersionConfig
4 fields
budget_id string
excluded_budget_ledger_ids array · string
weeks integer
one_time_items_snapshot array · CashForecastOneTimeItemBase CashForecastOneTimeItemBase

Snapshot of the one-time items as they existed when the version was saved. Replays against live data don't re-load from the live cash_forecast_one_time_items table.

Responses

201 Successful Response

id string required
business_id string required
name string required
description string
created_by_user_id string
snapshot_as_of string · date-time required
created_at string · date-time required
updated_at string · date-time required
config CashForecastVersionConfig CashForecastVersionConfig
4 fields
budget_id string
excluded_budget_ledger_ids array · string
weeks integer
one_time_items_snapshot array · CashForecastOneTimeItemBase CashForecastOneTimeItemBase

Snapshot of the one-time items as they existed when the version was saved. Replays against live data don't re-load from the live cash_forecast_one_time_items table.

snapshot_output object

Full CashForecast JSON captured at save time. Provides a stable historical view that doesn't shift as live data changes.

400 Bad Request - Invalid input

401 Unauthorized - Authentication required

403 Forbidden - Insufficient permissions

404 Not Found - Resource does not exist

422 Validation Error

detail array · ValidationError ValidationError
5 fields
loc array · string | integer required
msg string required
type string required
input object
ctx object