Skip to main content

Overview

The forecast endpoint is asynchronous:
  1. POST /forecast - upload your data and receive a job_id immediately.
  2. GET /jobs/{job_id} - poll until status is completed or failed.
  3. GET /jobs/{job_id}/download - download the forecast CSV.
This design lets the API handle long-running forecasts (minutes for large datasets) without blocking the HTTP connection.

Step 1 - Prepare your data

Required columns

Example CSV

Each series must have at least 2 historical observations. More data improves accuracy (10-100 points per series is a good target).

Step 2 - Submit the job

Form parameters

Response (202 Accepted)


Step 3 - Poll for completion

Status values

Completed response


Step 4 - Download the forecast

Output format

  • mean - point forecast
  • 0.1 / 0.5 / 0.9 - 10th, 50th (median), 90th quantile forecasts

Cleanup

Jobs and output files are automatically deleted after 1 hour (configurable via EOMER_JOB_TTL_SECONDS). To delete a job early:
Returns 204 No Content on success.

Python example (end-to-end)