# eomer.ai Forecasting API ## Docs - [Quickstart](https://eomer.mintlify.app/quickstart.md): Get your first forecast in under 5 minutes. - [Submit a Forecast Job](https://eomer.mintlify.app/guides/submit-job.md): Step-by-step guide - upload CSV, poll status, download results. - [Hierarchical Reconciliation](https://eomer.mintlify.app/guides/hierarchical-reconciliation.md): Make forecasts add up across regions, stores, and totals - [Tenant-Isolated Storage (Cloudflare R2)](https://eomer.mintlify.app/guides/tenant-storage-r2.md): Secure object uploads/downloads with one bucket per tenant and presigned URLs. - [Enterprise Data Handoff (Spark, Hadoop, Lakehouse)](https://eomer.mintlify.app/guides/enterprise-data-handoff.md): Push Parquet snapshots to R2 from Spark/Hadoop, or have eomer pull directly from Azure/GCS/WebHDFS. Both paths use the same _SUCCESS marker contract. - [Enterprise Data Connectors](https://eomer.mintlify.app/guides/connectors.md): Connect your own object storage (S3, Cloudflare R2, MinIO) as a forecasting data source — with per-connection, encrypted, IAM-first credentials. - [Extract Forecast Intent](https://eomer.mintlify.app/api-reference/agent-extract.md): Turn a natural-language prompt + dataset into a typed ForecastIntent. Synchronous, no job is created. The intent's ``clarification_questions`` drive the chat follow-up loop; the frontend fills answers and re-validates via ``POST /agent/validate`` (no model call) before confirming a run. - [Validate Forecast Intent](https://eomer.mintlify.app/api-reference/agent-validate.md): Re-validate a (partially edited) intent against the dataset columns. The deterministic clarify-loop step: the frontend merges the user's answers into ``intent`` and posts it here to recompute ``missing_required_fields`` / ``clarification_questions`` / ``review_status`` with no model call. - [Analyze & Recommend](https://eomer.mintlify.app/api-reference/agent-analyze.md): Profile a CSV and return the recommended forecast configuration. No job is created — this is a synchronous helper so the frontend can render an explanation panel before the user runs anything. - [Agent Forecast](https://eomer.mintlify.app/api-reference/agent-forecast.md): Profile a CSV, pick a preset automatically, and submit the forecast. - [Health Check](https://eomer.mintlify.app/api-reference/health.md): Public health/readiness check; verifies upload/output dirs are writable. Returns HTTP 503 when any CRITICAL local check fails (unwritable dirs) so orchestrator readiness probes pull a degraded instance out of rotation. For pure liveness (process/event-loop alive) use ``GET /livez``. - [List Models](https://eomer.mintlify.app/api-reference/models.md) - [Submit Forecast](https://eomer.mintlify.app/api-reference/forecast.md) - [Submit Classification v2](https://eomer.mintlify.app/api-reference/v2-classify.md) - [Submit Regression v2](https://eomer.mintlify.app/api-reference/v2-regress.md) - [Submit Classification Storage Object v2](https://eomer.mintlify.app/api-reference/v2-classify-storage-object.md) - [Submit Regression Storage Object v2](https://eomer.mintlify.app/api-reference/v2-regress-storage-object.md) - [Submit Forecast From Storage Object](https://eomer.mintlify.app/api-reference/forecast-storage-object.md) - [Job Status & Management](https://eomer.mintlify.app/api-reference/jobs.md) - [Presign Upload URL](https://eomer.mintlify.app/api-reference/storage-presign-upload.md) - [Complete Upload](https://eomer.mintlify.app/api-reference/storage-complete-upload.md) - [List Storage Objects](https://eomer.mintlify.app/api-reference/storage-list-objects.md) - [Preview Storage Object](https://eomer.mintlify.app/api-reference/storage-preview-object.md) - [Presign Download URL](https://eomer.mintlify.app/api-reference/storage-presign-download.md) ## OpenAPI Specs - [openapi](https://eomer.mintlify.app/api-reference/openapi.json)