magento-watch Versions API

Version lifecycle lookups

Operations 5

GET /api/v1/{distribution}/versions All tracked releases #
GET /api/v1/{distribution}/versions/supported Supported releases #
GET /api/v1/{distribution}/versions/secure Releases inside their support window #
GET /api/v1/{distribution}/versions/latest Latest release #
GET /api/v1/{distribution}/versions/{version} One release by version string #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/magento-watch:magento-watch-versions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

magento-watch-versions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: magento.watch Versions API
  version: 1.0.0
  summary: Magento Open Source, Adobe Commerce and Mage-OS version lifecycle data
  description: 'Free, unauthenticated, CORS-open REST API returning release dates, end-of-life dates and system requirements for every tracked Magento Open Source, Adobe Commerce and Mage-OS release. No API key, no rate limit. Responses are cacheable (`Cache-Control: public, max-age=3600, s-maxage=86400`).'
  license:
    name: MIT
    identifier: MIT
  contact:
    name: magento.watch
    url: https://magento.watch/api
servers:
- url: https://magento.watch
  description: Production
security: []
tags:
- name: Versions
  description: Version lifecycle lookups
paths:
  /api/v1/{distribution}/versions:
    get:
      operationId: getVersions
      summary: All tracked releases
      description: Every release recorded for the distribution, each enriched with lifecycle flags computed against the current date and a `securitySummary` with the Adobe security patches the release still needs.
      tags:
      - Versions
      parameters:
      - name: distribution
        in: path
        required: true
        description: Magento distribution slug
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
        example: magento-community
      responses:
        '200':
          description: All tracked releases
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsResponse'
        '404':
          description: Unknown distribution slug
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/{distribution}/versions/supported:
    get:
      operationId: getSupportedVersions
      summary: Supported releases
      description: Releases where `isEOLVersion` is false and `isFutureVersion` is false.
      tags:
      - Versions
      parameters:
      - name: distribution
        in: path
        required: true
        description: Magento distribution slug
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
        example: magento-community
      responses:
        '200':
          description: Supported releases
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsResponse'
        '404':
          description: Unknown distribution slug
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/{distribution}/versions/secure:
    get:
      operationId: getSecureVersions
      summary: Releases inside their support window
      description: 'Releases where `isSecureVersion` is true and `isFutureVersion` is false. Despite the path, this is the support lifecycle: a release listed here can still have open security bulletins. Read `securitySummary` on each item, or `/versions/{version}/security` for the remedies.'
      tags:
      - Versions
      parameters:
      - name: distribution
        in: path
        required: true
        description: Magento distribution slug
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
        example: magento-community
      responses:
        '200':
          description: Releases inside their support window
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsResponse'
        '404':
          description: Unknown distribution slug
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/{distribution}/versions/latest:
    get:
      operationId: getLatestVersion
      summary: Latest release
      description: The single release flagged `isLatestVersion`. `data` still uses the version string as its key.
      tags:
      - Versions
      parameters:
      - name: distribution
        in: path
        required: true
        description: Magento distribution slug
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
        example: magento-community
      responses:
        '200':
          description: Latest release
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionsResponse'
        '404':
          description: Unknown distribution slug
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/{distribution}/versions/{version}:
    get:
      operationId: getVersion
      summary: One release by version string
      description: Exact lookup by version key. Unlike the list endpoints, `data` holds the version object directly rather than a keyed map, and embeds a derived `security` summary (same shape as `/security` minus `distribution` and `version`).
      tags:
      - Versions
      parameters:
      - name: distribution
        in: path
        required: true
        description: Magento distribution slug
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
        example: magento-community
      - name: version
        in: path
        required: true
        description: Exact version key, including any patch suffix
        schema:
          type: string
        example: 2.4.7-p3
      responses:
        '200':
          description: The requested release
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionResponse'
        '404':
          description: Unknown distribution slug or unknown version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    VersionResponse:
      type: object
      required:
      - data
      - _documentation
      - _description
      properties:
        data:
          $ref: '#/components/schemas/MagentoVersionWithSecurity'
        _documentation:
          type: string
          format: uri
          example: https://magento.watch/api
        _description:
          type: string
          example: Version 2.4.7-p3 details
    ListSecuritySummary:
      type: object
      description: Security status of a release in list responses. Remedies live on `/versions/{version}/security`.
      required:
      - status
      - requiredPatches
      - upgradeRequired
      properties:
        status:
          type: string
          enum:
          - vulnerable
          - secure
          - eol
          - unknown
        requiredPatches:
          type:
          - integer
          - 'null'
          minimum: 0
          description: 'Adobe isolated patches that name this exact release. They are not cumulative: all of them are needed, applied oldest first. When `upgradeRequired` is true, upgrade first and use the target release''s own count. Null when no tracked bulletin covers the distribution. Bulletins are tracked from April 2024, so 0 on an end-of-support release does not mean it is safe.'
          example: 4
        upgradeRequired:
          type:
          - boolean
          - 'null'
          description: 'True when an open bulletin has no isolated patch for this exact release: the fix ships in a newer release, or Adobe only patches the newest release of the line. Null when no tracked bulletin covers the distribution.'
          example: false
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          const: not found
    VersionSecuritySummary:
      type: object
      description: VersionSecurityReport without the distribution and version fields, embedded on single-version responses
      required:
      - status
      - vulnerableTo
      - fixedBy
      - recommendedVersion
      properties:
        status:
          type: string
          enum:
          - vulnerable
          - secure
          - eol
          - unknown
        vulnerableTo:
          type: array
          items:
            $ref: '#/components/schemas/VersionSecurityBulletinRef'
        fixedBy:
          type: array
          description: Bulletins already fixed in this release, shipped in it or inherited from an earlier patch of the line. Nothing to install.
          items:
            $ref: '#/components/schemas/VersionSecurityBulletinRef'
        recommendedVersion:
          type:
          - string
          - 'null'
          description: 'Newest release of the same line, or this release when it is the newest. Not a verified safe target: it can have open bulletins of its own.'
          example: 2.4.7-p10
    MagentoVersionWithSecurity:
      allOf:
      - $ref: '#/components/schemas/MagentoVersion'
      - type: object
        required:
        - security
        properties:
          security:
            $ref: '#/components/schemas/VersionSecuritySummary'
    MagentoVersionListItem:
      allOf:
      - $ref: '#/components/schemas/MagentoVersion'
      - type: object
        required:
        - securitySummary
        properties:
          securitySummary:
            $ref: '#/components/schemas/ListSecuritySummary'
    SystemRequirements:
      type: object
      description: Map of kebab-case service key (`php`, `mysql`, `aws-aurora-mysql`, …) to the supported versions of that service. Fully populated per release — never inherited from a parent version.
      additionalProperties:
        type: array
        items:
          type: string
      examples:
      - php:
        - '8.3'
        - '8.4'
        mysql:
        - '8.0'
        aws-s3:
        - supported
    VersionSecurityBulletinRef:
      type: object
      required:
      - id
      - severity
      - publishedDate
      - cves
      - fixedIn
      properties:
        id:
          type: string
          example: APSB24-40
        severity:
          type: string
          enum:
          - critical
          - important
          - moderate
        publishedDate:
          type: string
          format: date
        cves:
          type: array
          items:
            type: string
        fixedIn:
          type:
          - string
          - 'null'
          example: 2.4.7-p1
        isolatedPatches:
          type: array
          items:
            $ref: '#/components/schemas/IsolatedPatch'
    VersionsResponse:
      type: object
      required:
      - data
      - _documentation
      - _description
      properties:
        data:
          type: object
          description: Version string to release object
          additionalProperties:
            $ref: '#/components/schemas/MagentoVersionListItem'
        _documentation:
          type: string
          format: uri
          example: https://magento.watch/api
        _description:
          type: string
          example: Currently supported versions receiving active maintenance
    IsolatedPatch:
      type: object
      required:
      - id
      - appliesTo
      - url
      properties:
        id:
          type: string
        appliesTo:
          type: array
          items:
            type: string
        url:
          type: string
          format: uri
    MagentoVersion:
      type: object
      required:
      - version
      - releaseDate
      - eolDate
      - systemRequirements
      - isEOLVersion
      - isSecureVersion
      - isLatestVersion
      - isFutureVersion
      - statusLabel
      properties:
        version:
          type: string
          description: Matches the key this object is stored under
          example: 2.4.7-p3
        releaseDate:
          type:
          - string
          - 'null'
          format: date
          example: '2024-10-08'
        eolDate:
          type:
          - string
          - 'null'
          format: date
          example: '2027-11-01'
        systemRequirements:
          $ref: '#/components/schemas/SystemRequirements'
        isEOLVersion:
          type: boolean
          description: eolDate is in the past
        isSecureVersion:
          type: boolean
          description: 'Neither EOL nor future-dated, so Adobe still ships security fixes for the line. Lifecycle only: it does not mean the release has no open security bulletins; see `securitySummary` or `security`.'
        isLatestVersion:
          type: boolean
          description: True for exactly one release per distribution
        isFutureVersion:
          type: boolean
          description: releaseDate is in the future, or the version is an alpha, beta or RC pre-release
        statusLabel:
          type: string
          enum:
          - pre-release
          - upcoming
          - supported (latest)
          - supported
          - security-only
          - eol
          - unknown