
Endoflife.date
Application Security- Overview
- Setup
- Data & mappings
- Operations & API
- Changelog
The EndOfLife Connector integrates with the endoflife.date platform, a community-maintained catalog of product release and support-lifecycle data. It synchronizes lifecycle information for a broad range of products (operating systems, frameworks, languages, databases, browsers, etc.), including release dates, end-of-life dates, long-term-support windows, extended-security-maintenance windows, and current maintenance/discontinuation status.
For each product the connector first lists all known products, then fetches each product's detail document and emits one record per release cycle. The data is mapped to the Brinqa Unified Data Model as EOL Advisory records.
Data retrieved from endoflife.date
| Connector Object | Required | Maps to Data Model |
|---|---|---|
| Product | Yes | EOL Advisory |
For detailed steps on how to view the data retrieved from endoflife.date in the Brinqa Platform, see How to view your data.
Connection settings
When setting up a data integration, select endoflife.date from the Connector dropdown and provide the following:
| Setting | Required | Default | Description |
|---|---|---|---|
| API URL | Yes | https://endoflife.date/ | EndOfLife API URL |
| Parallel requests | No | — | Maximum number of parallel API requests |
| Read timeout (seconds) | No | 120 | HTTP read timeout in seconds before an API request is aborted |
Authentication
The endoflife.date API is a free, public API and requires no authentication. No API key, token, or credentials are configured or sent. The connector only needs the API base URL (default https://endoflife.date/).
Connectivity is verified by issuing an unauthenticated request to the bulk catalog endpoint. A successful (HTTP 200) response confirms the connector can reach the platform.
Endpoint
| Method | URL |
|---|---|
| GET | /api/all.json |
Request Headers
| Header | Value |
|---|---|
User-Agent | BrinqaEOLConnector/{connectorVersion} |
Accept | application/json |
Request Body
None. The connectivity test and all sync requests are HTTP GET requests with no body.
Sample Response
[
"akeneo-pim",
"alibaba-dragonwell",
"almalinux",
"ubuntu",
"windows"
]
Response Fields
| Field | Type | Description |
|---|---|---|
| (root) | array<string> | List of all product identifiers/slugs. |
Because the API is unauthenticated, there is no token to reuse. Every subsequent request (list and per-product detail) is sent the same way, with only the User-Agent and Accept headers.
Sync Behavior
The connector supports incremental (delta) syncs. It maintains a sync token between runs and applies it as an incremental timestamp filter, so each run re-processes only the records that changed after the previous sync. The initial run retrieves the complete data set; later runs are incremental. The specific timestamp field applied to each object is documented under that object's Sync Duration Parameter.
How to obtain endoflife.date credentials
Info: The endoflife.date API is publicly accessible and does not require authentication.
Attribute mappings
Expand the sections below to view the mappings between the source and the Brinqa data model attributes:
Product
| Source Field Name | SDM Attribute |
|---|---|
Calculated — MD5 of (Product.name, Release.codename, Release.name) | UID |
Product.aliases | ALIASES |
Product.category | CATEGORIES |
Product.identifiers | IDENTIFIERS |
Product.identifiers where type = cpe | IDENTIFIER_CPE |
Product.identifiers where type = purl | IDENTIFIER_PURL |
Product.identifiers where type = repology | IDENTIFIER_REPOLOGY |
Product.label | PRODUCT_LABEL |
Product.labels | LABELS |
Product.labels.discontinued | LABEL_DISCONTINUED |
Product.labels.eoas | LABEL_EOAS |
Product.labels.eoes | LABEL_EOES |
Product.labels.eol | LABEL_EOL |
Product.links | LINKS |
Product.links.html | LINK_HTML |
Product.links.icon | LINK_ICON |
Product.links.releasePolicy | LINK_RELEASE_POLICY |
Product.name | NAME |
Product.tags | TAGS |
Product.versionCommand | VERSION_COMMAND |
Release.codename | CODENAME |
Release.custom | CUSTOM |
Release.discontinuedFrom | DISCONTINUED_FROM |
Release.eoasFrom | EOAS_FROM |
Release.eoesFrom | EOES_FROM |
Release.eolFrom | EOL_FROM |
Release.isDiscontinued | IS_DISCONTINUED |
Release.isEoas | IS_EOAS |
Release.isEoes | IS_EOES |
Release.isEol | IS_EOL |
Release.isLts | IS_LTS |
Release.isMaintained | IS_MAINTAINED |
Release.label | LABEL |
Release.latest.date | LATEST_VERSION_DATE |
Release.latest.link | LATEST_VERSION_LINK |
Release.latest.name | LATEST_VERSION |
Release.ltsFrom | LTS_FROM |
Release.name | CYCLE |
Release.releaseDate | RELEASE_DATE |
Sync time (Instant.now() at sync start) | LAST_CAPTURED |
Operations & API
Expand each connector object to see its operation options, delta-sync behavior, and the API it uses. See connector operation options for how to apply operation options (keys and values are case-sensitive).
Product
Operation options
This object does not support any operation options.
Delta sync
Supported.
API
- Type: REST endpoint · Endpoint:
GET /api/v1/products
Changelog
The endoflife.date connector has undergone the following changes:
| Version | Description | Migration Steps |
|---|---|---|
| 3.0.1 | New Features - Products now include a Last Captured timestamp recording when the connector last synchronized each record. Improvements - The HTTP read timeout is now configurable (Read timeout, default 120 seconds), allowing the connector to be tuned when the endoflife.date API responds slowly. Bug Fixes - The Product sync no longer fails entirely when the endoflife.date API is slow to respond ("Read timed out"). Transient request failures are now retried automatically with exponential backoff, and any individual product that still cannot be fetched is skipped so the rest of the sync completes. | N/A |
| 3.0.0 | Overview The EndOfLife connector integrates with endoflife.date to synchronize product lifecycle data, including release versions, support windows, and end-of-life dates for widely used software products. Category: Application Security Models | N/A |