post-forecast-run
POST/v1/projects/:projectId/forecasts/:forecastId/run
Starts an asynchronous forecast run for the specified forecast. Always returns 202 Accepted immediately with a jobId that can be polled via GET .../run/{jobId}. The server resolves the orchestrator (autoFullForecast or customStreamsForecast) automatically from the forecast's type field — callers do not choose.
Mode A (defaults): Send an empty body {}. The server uses ComboCurve's built-in defaults for the forecast type.
Mode B (saved configuration): Send { "configurationId": "..." }. The server loads the saved forecast configuration, validates that its forecastType matches the target forecast's type, and runs it verbatim.
Company-enforced forecast settings are applied server-side in both modes, matching the behaviour of the client UI.
Request
Responses
- 202
- 400
- 404
- 409
- 429
Accepted. The forecast run has been queued. Poll GET .../run/{jobId} for status.
Bad Request. The request body failed schema validation, the configurationId references a configuration whose forecastType does not match the target forecast's type, or proximity forecasting was requested (not supported via the external API).
Not Found. The project, forecast, or referenced forecast configuration was not found.
Conflict. The forecast already has a run in progress (pending or running). Wait for the current run to complete before starting a new one.
Too Many Requests. The tenant has too many runs in progress (pending or running). Wait for a run to complete before starting a new one.