> ## Documentation Index
> Fetch the complete documentation index at: https://docs.teamfortuna.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /v1/metrics — Prometheus metrics

> Exposes Astra pipeline and process metrics in the Prometheus text exposition format. Intended for scrape by a Prometheus-compatible collector.

The `/v1/metrics` endpoint emits a small set of pipeline and process gauges in the [Prometheus text exposition format](https://prometheus.io/docs/instrumenting/exposition_formats/). Point a Prometheus scrape job at it to graph pipeline state, freshness, error rate, and uptime.

Like `/v1/health`, this endpoint does not require a `User-Agent` header so monitoring systems can scrape it without configuration.

## Endpoint

```
GET https://astra.teamfortuna.xyz/v1/metrics
```

## Request

```bash theme={null}
curl https://astra.teamfortuna.xyz/v1/metrics
```

## Response

The response is plain text with `Content-Type: text/plain; version=0.0.4; charset=utf-8` and HTTP status `200`.

```
# HELP astra_pipeline_stage_info Current pipeline stage (1=active, 0=inactive).
# TYPE astra_pipeline_stage_info gauge
astra_pipeline_stage_info{stage="idle"} 0
astra_pipeline_stage_info{stage="fetch-url"} 0
astra_pipeline_stage_info{stage="download-manifest"} 0
astra_pipeline_stage_info{stage="parse-manifest"} 0
astra_pipeline_stage_info{stage="download-bundles"} 0
astra_pipeline_stage_info{stage="reassemble"} 0
astra_pipeline_stage_info{stage="resolve-version"} 0
astra_pipeline_stage_info{stage="fetch-mappings"} 0
astra_pipeline_stage_info{stage="extract-assets"} 1
astra_pipeline_stage_info{stage="structure-data"} 0
astra_pipeline_stage_info{stage="swap"} 0
# HELP astra_last_update_timestamp_seconds Unix timestamp of the last successful pipeline tick.
# TYPE astra_last_update_timestamp_seconds gauge
astra_last_update_timestamp_seconds 1777389722
# HELP astra_pipeline_error Whether the last pipeline tick ended in error.
# TYPE astra_pipeline_error gauge
astra_pipeline_error 0
# HELP astra_uptime_seconds API process uptime.
# TYPE astra_uptime_seconds gauge
astra_uptime_seconds 1915
```

## Metrics

<ResponseField name="astra_pipeline_stage_info" type="gauge">
  Emitted once per known pipeline stage with a `stage` label. The currently active stage reports `1`; all others report `0`. Stages are: `idle`, `fetch-url`, `download-manifest`, `parse-manifest`, `download-bundles`, `reassemble`, `resolve-version`, `fetch-mappings`, `extract-assets`, `structure-data`, `swap`.
</ResponseField>

<ResponseField name="astra_last_update_timestamp_seconds" type="gauge">
  Unix timestamp (seconds) of the last successful pipeline tick. `0` when no successful tick has happened yet.
</ResponseField>

<ResponseField name="astra_pipeline_error" type="gauge">
  `1` when the last pipeline tick ended in error, `0` otherwise.
</ResponseField>

<ResponseField name="astra_uptime_seconds" type="gauge">
  Uptime of the API process in seconds.
</ResponseField>

<Tip>
  Alert on `time() - astra_last_update_timestamp_seconds` exceeding two pipeline poll intervals — that matches the staleness threshold used by the [`/v1/health`](/api-reference/health) endpoint.
</Tip>
