---
title: "Poll forecast job status and artifact list"
method: GET
path: "/api/v1/forecasts/{id}"
---

# Poll forecast job status and artifact list

`GET /api/v1/forecasts/{id}`

Returns the current status and artifact metadata for a forecast job you own.
Poll this endpoint until `status` is `completed` or `failed`. Once completed,
download output files via `GET /api/v1/forecasts/{id}/artifacts/{name}`.

Jobs tombstoned by the retention policy return 404.

## Path parameters

- `id` string, uuid, required

## Response `200`

Job status and artifact metadata.

- object
  - `artifacts` ForecastArtifactMeta[] — List of output files available for download. Populated once the job completes.
    - `content_type` string — MIME type of the artifact (e.g. `application/json`).
    - `href` string — Relative URL to stream via `GET /api/v1/forecasts/{id}/artifacts/{name}`.
    - `name` string — Artifact filename (e.g. `forecast.json`, `backtest_metrics.json`).
    - `size` integer — File size in bytes.
  - `job_id` string, uuid
  - `pipeline_error` object, nullable — Structured error from the pipeline for failed or canceled jobs; null otherwise. Common fields: `code` (string error code) and `detail` (human-readable explanation). Shape is defined by the pipeline and may vary.
  - `settled` boolean — True once the job has reached a terminal state and the charge has been posted.
  - `status` 'queued' | 'running' | 'completed' | 'failed' | 'canceled' — Current lifecycle state of the job.

## Other responses

- `401` — Missing or invalid bearer token.
- `404` — Forecast job not found, not owned by the caller, or removed by the retention policy.

---

[API](https://skmtc.net/sybilion/apis/sybilion-api.md) · [All operations](https://skmtc.net/sybilion/apis/sybilion-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sybilion/sybilion-api/versions/2ba1f4c6f25d/schema)
