magento-watch Patches API

Adobe Quality Patches Tool patches with resolved applicability

Operations 6

GET /api/v1/patches/search Search quality patches for a version #
GET /api/v1/patches/{id}/composer.zip Download a composer-patches bundle #
GET /api/v1/patches/{id}/composer/{vendor}/{file} Download one package-relative patch file #
GET /api/v1/patches/{id} One quality patch by id #
GET /api/v1/patches All quality patches keyed by id #
GET /api/v1/{distribution}/versions/{version}/patches All quality patches applicable to a version #

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-patches-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-patches-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: magento.watch Patches 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: Patches
  description: Adobe Quality Patches Tool patches with resolved applicability
paths:
  /api/v1/patches/search:
    get:
      operationId: getPatchSearch
      summary: Search quality patches for a version
      tags:
      - Patches
      parameters:
      - name: distribution
        in: query
        required: true
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
          - mage-os
      - name: version
        example: 2.4.7-p5
        in: query
        required: true
        schema:
          type: string
      - name: query
        example: admin sort
        in: query
        required: false
        schema:
          type: string
      - name: modules
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        description: Repeated or comma-separated component names; boosts ranking
      - name: categories
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
        description: Repeated or comma-separated QPT categories; boosts ranking
      - name: includeInapplicable
        description: Accepts true/1 or false/0 (case-insensitive); defaults to false
        in: query
        required: false
        schema:
          type: boolean
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 50
      responses:
        '200':
          description: Search quality patches for a version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchSearchResponse'
        '400':
          description: Invalid search input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
  /api/v1/patches/{id}/composer.zip:
    get:
      operationId: getPatchComposerBundle
      summary: Download a composer-patches bundle
      tags:
      - Patches
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        example: ACSD-56760
      - name: version
        in: query
        required: true
        schema:
          type: string
        example: 2.4.6-p8
        description: Exact compatible version; all applicable non-deprecated source files are combined.
      - name: distribution
        in: query
        required: true
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
        description: Distribution to select all applicable source files.
      - name: ref
        in: query
        required: false
        schema:
          type: string
        description: Current QPT commit prefix (first 12 characters) enables immutable caching; absent or stale values use the regular cache policy.
      - name: tests
        in: query
        required: false
        schema:
          type: string
          enum:
          - with
          - without
          default: with
        description: Include or omit test files.
      responses:
        '200':
          description: ZIP with README, Composer snippet and package-relative patch files
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '400':
          description: Missing version or missing/invalid distribution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '404':
          description: Unknown patch or inapplicable version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Upstream patch unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/patches/{id}/composer/{vendor}/{file}:
    get:
      operationId: getPatchComposerFile
      summary: Download one package-relative patch file
      tags:
      - Patches
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        example: ACSD-56760
      - name: vendor
        in: path
        required: true
        schema:
          type: string
        example: magento
      - name: file
        in: path
        required: true
        schema:
          type: string
        example: module-admin-gws.patch
      - name: version
        in: query
        required: true
        schema:
          type: string
        example: 2.4.6-p8
        description: Exact compatible version; all applicable non-deprecated source files are combined.
      - name: distribution
        in: query
        required: true
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
        description: Distribution to select all applicable source files.
      - name: ref
        in: query
        required: false
        schema:
          type: string
        description: Current QPT commit prefix (first 12 characters) enables immutable caching; absent or stale values use the regular cache policy.
      - name: tests
        in: query
        required: false
        schema:
          type: string
          enum:
          - with
          - without
          default: with
        description: Include or omit test files.
      responses:
        '200':
          description: Patch with paths relative to the Composer package root
          content:
            text/x-diff:
              schema:
                type: string
        '400':
          description: Missing version or missing/invalid distribution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '404':
          description: Unknown patch, inapplicable version or missing package file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Upstream patch unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/patches/{id}:
    get:
      operationId: getPatch
      summary: One quality patch by id
      tags:
      - Patches
      parameters:
      - name: version
        in: query
        required: false
        schema:
          type: string
        description: Include install instructions for this version; requires distribution. Composer is null when no live files apply.
      - name: distribution
        in: query
        required: false
        schema:
          type: string
          enum:
          - magento-community
          - magento-commerce
        description: Required when version is given.
      - name: id
        example: ACSD-56760
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: One quality patch by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchResponse'
        '400':
          description: Missing or invalid distribution when version is given
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '404':
          description: Unknown patch id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/patches:
    get:
      operationId: getPatches
      summary: All quality patches keyed by id
      tags:
      - Patches
      responses:
        '200':
          description: All quality patches keyed by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchesResponse'
  /api/v1/{distribution}/versions/{version}/patches:
    get:
      operationId: getVersionPatches
      summary: All quality patches applicable to a version
      tags:
      - Patches
      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
        example: 2.4.7-p5
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: All quality patches applicable to a version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchSearchResponse'
        '404':
          description: Unknown distribution or version absent from its data file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PatchModifiedFile:
      type: object
      required:
      - path
      - change
      - package
      properties:
        path:
          type: string
        change:
          type: string
          enum:
          - modified
          - added
          - deleted
          - renamed
        package:
          type: string
        from:
          type: string
    PatchFile:
      type: object
      required:
      - package
      - constraint
      - path
      - blobSha
      - url
      - thirdParty
      - modifies
      - packages
      - hasTests
      - unknownVersions
      - applicableVersions
      - requires
      - replacedWith
      - deprecated
      properties:
        package:
          type: string
        constraint:
          type: string
        path:
          type: string
        blobSha:
          type: string
        url:
          type: string
          format: uri
        thirdParty:
          type: boolean
        modifies:
          type: array
          items:
            $ref: '#/components/schemas/PatchModifiedFile'
        packages:
          type: array
          items:
            type: string
        hasTests:
          type: boolean
        unknownVersions:
          type: array
          items:
            type: string
        applicableVersions:
          type: object
          required:
          - magento-community
          - magento-commerce
          - mage-os
          properties:
            magento-community:
              type: array
              items:
                type: string
            magento-commerce:
              type: array
              items:
                type: string
            mage-os:
              type: array
              items:
                type: string
        requires:
          type: array
          items:
            type: string
        replacedWith:
          type:
          - string
          - 'null'
        deprecated:
          type: boolean
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          const: not found
    PatchResponse:
      type: object
      required:
      - data
      - _documentation
      - _description
      properties:
        data:
          $ref: '#/components/schemas/Patch'
        _documentation:
          type: string
          format: uri
        _description:
          type: string
    PatchesResponse:
      type: object
      required:
      - data
      - _meta
      - _documentation
      - _description
      properties:
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Patch'
        _meta:
          type: object
          required:
          - qpt
          - docs
          - generator
          - generatedAt
          - knownVersions
          - categories
          - externalPrerequisites
          properties:
            qpt:
              type: object
              required:
              - tag
              - commit
              properties:
                tag:
                  type: string
                commit:
                  type: string
            docs:
              type: object
              required:
              - commit
              properties:
                commit:
                  type: string
            generator:
              type: string
            generatedAt:
              type: string
              format: date
            knownVersions:
              type: array
              items:
                type: string
            categories:
              type: array
              items:
                type: string
            externalPrerequisites:
              type: array
              items:
                type: string
        _documentation:
          type: string
          format: uri
        _description:
          type: string
    PatchHitFile:
      type: object
      required:
      - package
      - constraint
      - url
      - modifies
      - modifiesTruncated
      - requires
      - replacedWith
      - deprecated
      properties:
        package:
          type: string
        constraint:
          type: string
        url:
          type: string
          format: uri
        modifies:
          type: array
          items:
            type: string
        modifiesTruncated:
          type: boolean
        requires:
          type: array
          items:
            type: string
        replacedWith:
          type:
          - string
          - 'null'
        deprecated:
          type: boolean
    PatchHit:
      type: object
      required:
      - id
      - applicable
      - deprecated
      - title
      - categories
      - components
      - documentationUrl
      - files
      - requirements
      - matchedOn
      properties:
        id:
          type: string
        score:
          type: integer
        install:
          type: object
          required:
          - qpt
          - composer
          properties:
            qpt:
              type: object
              required:
              - command
              - cloud
              - requires
              properties:
                command:
                  type: string
                cloud:
                  type: string
                requires:
                  type: array
                  items:
                    type: string
            composer:
              oneOf:
              - type: object
                required:
                - zipUrl
                - packages
                - hasTests
                properties:
                  zipUrl:
                    type: string
                    format: uri
                  packages:
                    type: array
                    items:
                      type: string
                  hasTests:
                    type: boolean
              - type: 'null'
        applicable:
          type: boolean
        deprecated:
          type: boolean
        title:
          type: string
        categories:
          type: array
          items:
            type: string
        components:
          type: array
          items:
            type: string
        documentationUrl:
          type:
          - string
          - 'null'
        files:
          type: array
          items:
            $ref: '#/components/schemas/PatchHitFile'
        requirements:
          type:
          - string
          - 'null'
        matchedOn:
          type: array
          items:
            type: string
    FindPatchResult:
      type: object
      required:
      - status
      - mode
      - distribution
      - version
      - hits
      - coverage
      properties:
        status:
          type: string
          enum:
          - ok
          - unknown
          - unknown-version
        mode:
          type: string
          enum:
          - list
          - ranked
        distribution:
          type: string
        version:
          type: string
        hits:
          type: array
          items:
            $ref: '#/components/schemas/PatchHit'
        knownVersions:
          type: array
          items:
            type: string
        coverage:
          type: object
          required:
          - qptTag
          - docsCommit
          - patchCount
          properties:
            qptTag:
              type: string
            docsCommit:
              type: string
            patchCount:
              type: integer
    PatchDocumentation:
      type: object
      required:
      - url
      - path
      - blobSha
      - description
      - stepsToReproduce
      - introducedInQpt
      - createdFor
      - documentedRange
      - scheduledFixRelease
      properties:
        url:
          type: string
          format: uri
        path:
          type: string
        blobSha:
          type: string
        description:
          type:
          - string
          - 'null'
        stepsToReproduce:
          type:
          - string
          - 'null'
        introducedInQpt:
          type:
          - string
          - 'null'
        createdFor:
          type: array
          items:
            type: string
        documentedRange:
          type:
          - string
          - 'null'
        scheduledFixRelease:
          type:
          - string
          - 'null'
    PatchSearchResponse:
      type: object
      required:
      - data
      - _documentation
      - _description
      properties:
        data:
          $ref: '#/components/schemas/FindPatchResult'
        _documentation:
          type: string
          format: uri
        _description:
          type: string
    Patch:
      type: object
      required:
      - id
      - source
      - sourceRef
      - title
      - categories
      - components
      - origin
      - documentation
      - files
      - applicableVersions
      - conditions
      - requirements
      properties:
        id:
          type: string
        source:
          type: string
          enum:
          - qpt
        sourceRef:
          type: string
        title:
          type: string
        categories:
          type: array
          items:
            type: string
        components:
          type: array
          items:
            type: string
        origin:
          type: string
          enum:
          - adobe-commerce-support
          - magento-os-community
        documentation:
          oneOf:
          - $ref: '#/components/schemas/PatchDocumentation'
          - type: 'null'
        files:
          type: array
          items:
            $ref: '#/components/schemas/PatchFile'
        applicableVersions:
          type: object
          required:
          - magento-community
          - magento-commerce
          - mage-os
          properties:
            magento-community:
              type: array
              items:
                type: string
            magento-commerce:
              type: array
              items:
                type: string
            mage-os:
              type: array
              items:
                type: string
        conditions:
          oneOf:
          - type: object
            required:
            - and
            properties:
              and:
                type: array
                items:
                  type: object
                  required:
                  - type
                  - path
                  - match
                  properties:
                    type:
                      type: string
                    path:
                      type: string
                    match:
                      type:
                      - string
                      - number
          - type: object
            required:
            - or
            properties:
              or:
                type: array
                items:
                  type: object
                  required:
                  - type
                  - path
                  - match
                  properties:
                    type:
                      type: string
                    path:
                      type: string
                    match:
                      type:
                      - string
                      - number
          - type: 'null'
        requirements:
          type:
          - string
          - 'null'
    ValidationError:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          description: What was wrong with the request