Author: Sara Golemon (sgolemon) Committer: GitHub (web-flow) Pusher: sgolemon Date: 2025-03-27T14:06:26-05:00
Commit: https://github.com/php/web-php/commit/847105d6ecccd283cbb5614e15cefc10a8bb6376 Raw diff: https://github.com/php/web-php/commit/847105d6ecccd283cbb5614e15cefc10a8bb6376.diff Add OpenAPI definition file (#1250) Changed paths: A openapi.yml Diff: diff --git a/openapi.yml b/openapi.yml new file mode 100644 index 0000000000..5d2d6da9cd --- /dev/null +++ b/openapi.yml @@ -0,0 +1,94 @@ +openapi: 3.1.0 +info: + title: "PHP Website API" + description: "APIs available for use on the www.php.net website." + version: 2025.4.1 + +servers: + - url: "https://www.php.net" + description: "The php.net website." + +components: + pathItems: + releases: + get: + summary: "Atom feed of php.net news and announcements." + responses: + "200": + description: "Atom feed of php.net news and announcements." + content: + "application/atom+xml": + schema: + readOnly: true + externalDocs: + description: "Standard Atom feed with additional fields in the php: xml namespace." + url: http://php.net/ns/releases + +paths: + "/mirror-info.php": + get: + summary: >- + Returns information about the host running php.net. + Historically, this was unique per mirror. + With the move to a CDN model in 2019, there is now only one canonical source, and thus only one relevant configuration. + Refer to https://github.com/php/web-php/blob/master/mirror-info.php for the serialization format of the response. + responses: + "200": + description: "Successful response of host configuration. This API does not error." + content: + "text/plain": + schema: + type: string + readOnly: true + externalDocs: + description: "This pipe delimited string's contents are described in the source code for this file." + url: "https://github.com/php/web-php/blob/master/mirror-info.php" + example: "https://www.php.net/|8.4.5|1743832640|0|0|en|manual-noalias|1|Core,date,libxml,json,SPL,Zend OPcache|php-web4|169.254.12.255" + + "/releases/feed.php": + "$ref": "#/components/pathItems/releases" + + # Redirects to /releases/feed.php + "/relases.atom": + "$ref": "#/components/pathItems/releases" + + "/releases/branches.php": + get: + summary: "Currently active versions of PHP." + responses: + "200": + description: "Actively supported per-branch versions of PHP." + content: + "application/json": + schema: + type: array + items: + type: object + properties: + branch: + description: "Major.Minor branch identifier, e.g. (8.4, 5.6, etc...)" + type: string + latest: + description: "Most recent release on this branch (e.g. 8.4.5, 5.6.40, etc...)" + type: string + state: + description: "Overall release readiness of the branch." + type: string + enum: + - stable + - security + - eol + - future + initial_release: + description: "Date on which first GA release of the branch was announced." + type: string + format: date-time + active_support_end: + description: "Date on which general bugfix support for this branch ends." + type: string + format: date-time + security_support_end: + description: "Date on which all support for this branch ends." + type: string + format: date-time +