---
title: "Lifecycle status for a specific version"
method: GET
path: "/v1/status/{slug}/{version}"
---

# Lifecycle status for a specific version

`GET /v1/status/{slug}/{version}`

## Request

- Base URL: `https://api.endoflife.ai`
- URL: `https://api.endoflife.ai/v1/status/{slug}/{version}`
- Auth: one of:
  - none
  - API key in header `X-API-Key`
  - HTTP bearer

## Path parameters

- `slug` string, required
- `version` string, required

## Response `200`

Status object, including the product's verified CPE 2.3 identifier(s) where one exists

- Status: Answer of /v1/status/{slug}/{version}: the lifecycle verdict without the score.
  - `alias_of` string: Only when the slug sent is an alias of a tracked product: the slug as sent; product is the tracked slug it resolved to.
  - `requested_version` string: Only when the version was resolved to its release line.
  - `version_matched_by` 'release-line': Only when the version was resolved to its release line.
  - `product` string
  - `version` string
  - `status` 'active' | 'warn' | 'eol' | 'unknown': warn = within 180 days of end of life, still supported
  - `is_eol` boolean
  - `is_supported` boolean: true for status active or warn (fixes still ship today); false for eol and unknown. Until API 1.1.0 this was false in the warn window.
  - `eol_approaching` boolean: status is warn
  - `eol_date` string, date, nullable
  - `days_until_eol` integer, nullable
  - `days_past_eol` integer, nullable
  - `eol_date_precision` 'day' | 'month' | 'quarter', nullable: How precisely the vendor publishes eol_date: day = the vendor names the day; month or quarter = the vendor names only the month (quarter), so eol_date is that period's LAST day, kept for sorting and comparison; display the period ("October 2026"), not the day. null when eol_date is null.
  - `date_precision_note` string: Present only when eol_date is month or quarter precision.
  - `latest_release` string, nullable
  - `cpe` string[], nullable: For a hardware product whose versions are models (cpe_scope model), only the identifiers that name this model.
  - `cpe_scope` 'model': Present for hardware products whose versions are models.
  - `cpe_note` string: Present when cpe_scope is model and no NIST CPE names this model, so cpe is null.
  - `purl` string[], nullable
  - `eol_date_source` string, nullable
  - `eol_date_source_url` string, nullable
  - `eol_date_verified_at` string, date, nullable
  - `eol_date_status` string, nullable
  - `eol_date_agreement` integer, nullable
  - `eol_date_confidence` string, nullable
  - `score_url` string, uri: The score card page, cycle written as the site writes it (see Score.score_card_url).
  - `keyless_access_notice` object: Only on answers to anonymous calls before 2026-11-16T00:00:00Z: message, keyless_access_ends (ISO date-time), get_free_key (URL). From then such calls are 401.
    - `message` string
    - `keyless_access_ends` string, date-time
    - `get_free_key` string, uri

## Other responses

- `401`: No valid X-API-Key, from 2026-11-16T00:00:00Z (keyless access ends then). The body says how to get a free key (https://endoflife.ai/api#free-key); X-EOL-Key-Status names why a sent key was not honoured.
- `404`: Unknown product or version
- `429`: Daily quota exhausted for this tier (anonymous per IP, keyed per key). Retry-After says when the counter resets (next UTC midnight).

---

[API](https://skmtc.dev/endoflife/apis/endoflife-ai-api.md) · [All operations](https://skmtc.dev/endoflife/apis/endoflife-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endoflife/apis/endoflife-ai-api/revisions/266133050383?raw)
