Export Forecast
POST/api/inventory-forecasting/export
Build a forecast and export the results to a file. Returns a download URL/filename.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Authentication: Requires Bearer token.
format: csv (default) or excel.
include_calculation_details: include the per-product calculation breakdown (default true).
include_sales_history: include historical sales totals (default false).
config: the same forecast settings used for the build (forecast_type, sales window, lead time, MOQ, rounding, filters, demand_modifiers, and so on).
BASELINE DECOMPOSITION COLUMNS With include_calculation_details on (the default), the export adds the baseline-decomposition columns that mirror each line's inputs object:
- Baseline Method
- Base Velocity (the flat mean before trend, base_flat)
- Trend Factor
- Trend Capped
- Promo Factor
- Promo Window
- Promo Current Baseline
- Anomaly Days Excluded
- Anomaly Days Smoothed Send the same baseline_method / trend / exclude_detected_anomalies / demand_modifiers settings inside config that you would pass to the build endpoint so the exported numbers match.
include_confidence (boolean, default true) adds the confidence tier/score, the prediction interval, and the plain-language rationale columns to the export.
Returns 422 if too many products.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.