Difference between revisions of "MySwaggerJsonSpec"

From PKC
Jump to navigation Jump to search
Line 15: Line 15:
     }
     }
   },
   },
   "x-host-basePath" : "/api/rest_v1",
   "x-host-basePath" : "/rest.php/v1",
   "paths" : {
   "paths" : {
     "/page/" : {
     "/page/" : {

Revision as of 14:16, 13 September 2022

{

 "openapi" : "3.0.1",
 "info" : {
   "version" : "1.0.0",
   "title" : "Wikimedia REST API",
   "description" : "This API provides cacheable and straightforward access to Wikimedia content and data, in machine-readable formats.\n### Global Rules\n- Limit your clients to no more than 200 requests/s to this API.\n  Each API endpoint's documentation may detail more specific usage limits.\n- Set a unique `User-Agent` or `Api-User-Agent` header that\n  allows us to contact you quickly. Email addresses or URLs\n  of contact pages work well.\n\nBy using this API, you agree to Wikimedia's [Terms of Use](https://wikimediafoundation.org/wiki/Terms_of_Use) and [Privacy Policy](https://wikimediafoundation.org/wiki/Privacy_policy). Unless otherwise specified in the endpoint documentation below, content accessed via this API is licensed under the [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) and [GFDL](https://www.gnu.org/copyleft/fdl.html) licenses, and you irrevocably agree to release modifications or additions made through this API under these licenses. See https://www.mediawiki.org/wiki/REST_API for background and details.\n### Endpoint documentation\nPlease consult each endpoint's documentation for details on:\n- Licensing information for the specific type of content\n  and data served via the endpoint.\n- Stability markers to inform you about development status and\n  change policy, according to\n  [our API version policy](https://www.mediawiki.org/wiki/API_versioning).\n- Endpoint specific usage limits.\n",
   "termsOfService" : "https://wikimediafoundation.org/wiki/Terms_of_Use",
   "contact" : {
     "name" : "the Wikimedia Services team",
     "url" : "http://mediawiki.org/wiki/REST_API"
   },
   "license" : {
     "name" : "Apache2",
     "url" : "http://www.apache.org/licenses/LICENSE-2.0"
   }
 },
 "x-host-basePath" : "/rest.php/v1",
 "paths" : {
   "/page/" : {
     "get" : {
       "tags" : [ "Page content" ],
       "summary" : "List page-related API entry points.",
       "description" : "Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable)\n",
       "responses" : {
         "200" : {
           "description" : "A list of page-related API end points.",
           "content" : {
             "application/json" : {
               "schema" : {
                 "$ref" : "#/components/schemas/listing"
               }
             }
           }
         },
         "default" : {
           "description" : "Error",
           "content" : {
             "application/problem+json" : {
               "schema" : {
                 "$ref" : "#/components/schemas/problem"
               }
             }
           }
         }
       }
     }
   },
   "/page/pdf/{title}" : {
     "get" : {
       "tags" : [ "Page content" ],
       "summary" : "Get a page as PDF",
       "description" : "Renders the page content as PDF. Format and type are optional parameters and\nthe default values are \"a4\" for format and \"desktop\" for type.\n\nStability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)\n",
       "parameters" : [ {
         "name" : "title",
         "in" : "path",
         "description" : "Page title. Use underscores instead of spaces. Example: `Main_Page`.",
         "required" : true,
         "schema" : {
           "type" : "string"
         }
       } ],
       "responses" : {
         "200" : {
           "description" : "The PDF render of an article",
           "headers" : {
             "ETag" : {
               "description" : "Syntax: \"{revision}/{tid}\". Example: \"701384379/154d7bca-c264-11e5-8c2f-1b51b33b59fc\"\n",
               "schema" : {
                 "type" : "string"
               }
             }
           },
           "content" : {
             "application/pdf" : {
               "schema" : {
                 "type" : "string"
               }
             }
           }
         },
         "404" : {
           "description" : "Unknown page title",
           "content" : {
             "application/problem+json" : {
               "schema" : {
                 "$ref" : "#/components/schemas/problem"
               }
             }
           }
         },
         "503" : {
           "description" : "A response is unavailable because service queue is busy or full",
           "content" : {
             "application/json" : {
               "schema" : {
                 "$ref" : "#/components/schemas/problem"
               }
             }
           }
         },
         "default" : {
           "description" : "Error",
           "content" : {
             "application/problem+json" : {
               "schema" : {
                 "$ref" : "#/components/schemas/problem"
               }
             }
           }
         }
       }
     }
   }
 },
 "components" : {
   "schemas" : {
     "listing" : {
       "description" : "The result format for listings",
       "required" : [ "items" ],
       "type" : "object",
       "properties" : {
         "items" : {
           "type" : "array",
           "items" : {
             "type" : "string"
           }
         },
         "_links" : {
           "type" : "object",
           "properties" : {
             "next" : {
               "type" : "object",
               "properties" : {
                 "href" : {
                   "type" : "string",
                   "description" : "Relative link to next result page."
                 }
               }
             }
           }
         }
       }
     },
     "problem" : {
       "required" : [ "type" ],
       "type" : "object",
       "properties" : {
         "type" : {
           "type" : "string"
         },
         "title" : {
           "type" : "string"
         },
         "detail" : {
           "type" : "string"
         },
         "instance" : {
           "type" : "string"
         }
       }
     }
   }
 },
 "servers" : [ {
   "url" : "/api/rest_v1"
 } ]

}