magento-watch Patches API
Adobe Quality Patches Tool patches with resolved applicability
Adobe Quality Patches Tool patches with resolved applicability
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/magento-watch:magento-watch-patches-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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