Skip to content

Instantly share code, notes, and snippets.

@mhseiden
Last active April 23, 2026 23:32
Show Gist options
  • Select an option

  • Save mhseiden/c51cc91e0151066243ef326dd74d94ad to your computer and use it in GitHub Desktop.

Select an option

Save mhseiden/c51cc91e0151066243ef326dd74d94ad to your computer and use it in GitHub Desktop.
{
"openapi": "3.0.3",
"info": {
"title": "PokéAPI",
"description": "REST API for Pokémon data. Consumption-only — only HTTP GET is available.\nSee https://pokeapi.co/docs/v2 for the full schema of each resource.\n",
"version": "2.0"
},
"servers": [
{
"url": "https://pokeapi.co/api/v2"
}
],
"paths": {
"/berry/": {
"get": {
"summary": "List berries",
"operationId": "listBerries",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"description": "Paginated list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NamedAPIResourceList"
}
}
}
}
}
}
},
"/berry/{idOrName}/": {
"get": {
"summary": "Get berry",
"operationId": "getBerry",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/berry-firmness/": {
"get": {
"summary": "List berry firmnesses",
"operationId": "listBerryFirmnesses",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/berry-firmness/{idOrName}/": {
"get": {
"summary": "Get berry firmness",
"operationId": "getBerryFirmness",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/berry-flavor/": {
"get": {
"summary": "List berry flavors",
"operationId": "listBerryFlavors",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/berry-flavor/{idOrName}/": {
"get": {
"summary": "Get berry flavor",
"operationId": "getBerryFlavor",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/contest-type/": {
"get": {
"summary": "List contest types",
"operationId": "listContestTypes",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/contest-type/{idOrName}/": {
"get": {
"summary": "Get contest type",
"operationId": "getContestType",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/contest-effect/": {
"get": {
"summary": "List contest effects",
"operationId": "listContestEffects",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UnnamedList"
}
}
}
},
"/contest-effect/{id}/": {
"get": {
"summary": "Get contest effect",
"operationId": "getContestEffect",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/super-contest-effect/": {
"get": {
"summary": "List super contest effects",
"operationId": "listSuperContestEffects",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UnnamedList"
}
}
}
},
"/super-contest-effect/{id}/": {
"get": {
"summary": "Get super contest effect",
"operationId": "getSuperContestEffect",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/encounter-method/": {
"get": {
"summary": "List encounter methods",
"operationId": "listEncounterMethods",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/encounter-method/{idOrName}/": {
"get": {
"summary": "Get encounter method",
"operationId": "getEncounterMethod",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/encounter-condition/": {
"get": {
"summary": "List encounter conditions",
"operationId": "listEncounterConditions",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/encounter-condition/{idOrName}/": {
"get": {
"summary": "Get encounter condition",
"operationId": "getEncounterCondition",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/encounter-condition-value/": {
"get": {
"summary": "List encounter condition values",
"operationId": "listEncounterConditionValues",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/encounter-condition-value/{idOrName}/": {
"get": {
"summary": "Get encounter condition value",
"operationId": "getEncounterConditionValue",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/evolution-chain/": {
"get": {
"summary": "List evolution chains",
"operationId": "listEvolutionChains",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UnnamedList"
}
}
}
},
"/evolution-chain/{id}/": {
"get": {
"summary": "Get evolution chain",
"operationId": "getEvolutionChain",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/evolution-trigger/": {
"get": {
"summary": "List evolution triggers",
"operationId": "listEvolutionTriggers",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/evolution-trigger/{idOrName}/": {
"get": {
"summary": "Get evolution trigger",
"operationId": "getEvolutionTrigger",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/generation/": {
"get": {
"summary": "List generations",
"operationId": "listGenerations",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/generation/{idOrName}/": {
"get": {
"summary": "Get generation",
"operationId": "getGeneration",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokedex/": {
"get": {
"summary": "List pokedexes",
"operationId": "listPokedexes",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokedex/{idOrName}/": {
"get": {
"summary": "Get pokedex",
"operationId": "getPokedex",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/version/": {
"get": {
"summary": "List versions",
"operationId": "listVersions",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/version/{idOrName}/": {
"get": {
"summary": "Get version",
"operationId": "getVersion",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/version-group/": {
"get": {
"summary": "List version groups",
"operationId": "listVersionGroups",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/version-group/{idOrName}/": {
"get": {
"summary": "Get version group",
"operationId": "getVersionGroup",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/item/": {
"get": {
"summary": "List items",
"operationId": "listItems",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/item/{idOrName}/": {
"get": {
"summary": "Get item",
"operationId": "getItem",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/item-attribute/": {
"get": {
"summary": "List item attributes",
"operationId": "listItemAttributes",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/item-attribute/{idOrName}/": {
"get": {
"summary": "Get item attribute",
"operationId": "getItemAttribute",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/item-category/": {
"get": {
"summary": "List item categories",
"operationId": "listItemCategories",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/item-category/{idOrName}/": {
"get": {
"summary": "Get item category",
"operationId": "getItemCategory",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/item-fling-effect/": {
"get": {
"summary": "List item fling effects",
"operationId": "listItemFlingEffects",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/item-fling-effect/{idOrName}/": {
"get": {
"summary": "Get item fling effect",
"operationId": "getItemFlingEffect",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/item-pocket/": {
"get": {
"summary": "List item pockets",
"operationId": "listItemPockets",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/item-pocket/{idOrName}/": {
"get": {
"summary": "Get item pocket",
"operationId": "getItemPocket",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/location/": {
"get": {
"summary": "List locations",
"operationId": "listLocations",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/location/{idOrName}/": {
"get": {
"summary": "Get location",
"operationId": "getLocation",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/location-area/": {
"get": {
"summary": "List location areas",
"operationId": "listLocationAreas",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/location-area/{idOrName}/": {
"get": {
"summary": "Get location area",
"operationId": "getLocationArea",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pal-park-area/": {
"get": {
"summary": "List pal park areas",
"operationId": "listPalParkAreas",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pal-park-area/{idOrName}/": {
"get": {
"summary": "Get pal park area",
"operationId": "getPalParkArea",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/region/": {
"get": {
"summary": "List regions",
"operationId": "listRegions",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/region/{idOrName}/": {
"get": {
"summary": "Get region",
"operationId": "getRegion",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/machine/": {
"get": {
"summary": "List machines",
"operationId": "listMachines",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UnnamedList"
}
}
}
},
"/machine/{id}/": {
"get": {
"summary": "Get machine",
"operationId": "getMachine",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move/": {
"get": {
"summary": "List moves",
"operationId": "listMoves",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move/{idOrName}/": {
"get": {
"summary": "Get move",
"operationId": "getMove",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-ailment/": {
"get": {
"summary": "List move ailments",
"operationId": "listMoveAilments",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-ailment/{idOrName}/": {
"get": {
"summary": "Get move ailment",
"operationId": "getMoveAilment",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-battle-style/": {
"get": {
"summary": "List move battle styles",
"operationId": "listMoveBattleStyles",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-battle-style/{idOrName}/": {
"get": {
"summary": "Get move battle style",
"operationId": "getMoveBattleStyle",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-category/": {
"get": {
"summary": "List move categories",
"operationId": "listMoveCategories",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-category/{idOrName}/": {
"get": {
"summary": "Get move category",
"operationId": "getMoveCategory",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-damage-class/": {
"get": {
"summary": "List move damage classes",
"operationId": "listMoveDamageClasses",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-damage-class/{idOrName}/": {
"get": {
"summary": "Get move damage class",
"operationId": "getMoveDamageClass",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-learn-method/": {
"get": {
"summary": "List move learn methods",
"operationId": "listMoveLearnMethods",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-learn-method/{idOrName}/": {
"get": {
"summary": "Get move learn method",
"operationId": "getMoveLearnMethod",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/move-target/": {
"get": {
"summary": "List move targets",
"operationId": "listMoveTargets",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/move-target/{idOrName}/": {
"get": {
"summary": "Get move target",
"operationId": "getMoveTarget",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/ability/": {
"get": {
"summary": "List abilities",
"operationId": "listAbilities",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/ability/{idOrName}/": {
"get": {
"summary": "Get ability",
"operationId": "getAbility",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/characteristic/": {
"get": {
"summary": "List characteristics",
"operationId": "listCharacteristics",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UnnamedList"
}
}
}
},
"/characteristic/{id}/": {
"get": {
"summary": "Get characteristic",
"operationId": "getCharacteristic",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/egg-group/": {
"get": {
"summary": "List egg groups",
"operationId": "listEggGroups",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/egg-group/{idOrName}/": {
"get": {
"summary": "Get egg group",
"operationId": "getEggGroup",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/gender/": {
"get": {
"summary": "List genders",
"operationId": "listGenders",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/gender/{idOrName}/": {
"get": {
"summary": "Get gender",
"operationId": "getGender",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/growth-rate/": {
"get": {
"summary": "List growth rates",
"operationId": "listGrowthRates",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/growth-rate/{idOrName}/": {
"get": {
"summary": "Get growth rate",
"operationId": "getGrowthRate",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/nature/": {
"get": {
"summary": "List natures",
"operationId": "listNatures",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/nature/{idOrName}/": {
"get": {
"summary": "Get nature",
"operationId": "getNature",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokeathlon-stat/": {
"get": {
"summary": "List pokeathlon stats",
"operationId": "listPokeathlonStats",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokeathlon-stat/{idOrName}/": {
"get": {
"summary": "Get pokeathlon stat",
"operationId": "getPokeathlonStat",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon/": {
"get": {
"summary": "List pokemon",
"operationId": "listPokemon",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon/{idOrName}/": {
"get": {
"summary": "Get pokemon",
"operationId": "getPokemon",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon/{idOrName}/encounters": {
"get": {
"summary": "Get pokemon location area encounters",
"operationId": "getPokemonEncounters",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"description": "List of location area encounters",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
}
}
},
"/pokemon-species/": {
"get": {
"summary": "List pokemon species",
"operationId": "listPokemonSpecies",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon-species/{idOrName}/": {
"get": {
"summary": "Get pokemon species",
"operationId": "getPokemonSpecies",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon-color/": {
"get": {
"summary": "List pokemon colors",
"operationId": "listPokemonColors",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon-color/{idOrName}/": {
"get": {
"summary": "Get pokemon color",
"operationId": "getPokemonColor",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon-form/": {
"get": {
"summary": "List pokemon forms",
"operationId": "listPokemonForms",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon-form/{idOrName}/": {
"get": {
"summary": "Get pokemon form",
"operationId": "getPokemonForm",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon-habitat/": {
"get": {
"summary": "List pokemon habitats",
"operationId": "listPokemonHabitats",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon-habitat/{idOrName}/": {
"get": {
"summary": "Get pokemon habitat",
"operationId": "getPokemonHabitat",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/pokemon-shape/": {
"get": {
"summary": "List pokemon shapes",
"operationId": "listPokemonShapes",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/pokemon-shape/{idOrName}/": {
"get": {
"summary": "Get pokemon shape",
"operationId": "getPokemonShape",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/stat/": {
"get": {
"summary": "List stats",
"operationId": "listStats",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/stat/{idOrName}/": {
"get": {
"summary": "Get stat",
"operationId": "getStat",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/type/": {
"get": {
"summary": "List types",
"operationId": "listTypes",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/type/{idOrName}/": {
"get": {
"summary": "Get type",
"operationId": "getType",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
},
"/language/": {
"get": {
"summary": "List languages",
"operationId": "listLanguages",
"parameters": [
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/NamedList"
}
}
}
},
"/language/{idOrName}/": {
"get": {
"summary": "Get language",
"operationId": "getLanguage",
"parameters": [
{
"$ref": "#/components/parameters/IdOrName"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Resource"
}
}
}
}
},
"components": {
"parameters": {
"IdOrName": {
"name": "idOrName",
"in": "path",
"required": true,
"description": "Numeric id or resource name.",
"schema": {
"type": "string"
}
},
"Id": {
"name": "id",
"in": "path",
"required": true,
"description": "Numeric id.",
"schema": {
"type": "integer"
}
},
"Limit": {
"name": "limit",
"in": "query",
"required": false,
"description": "Page size. Defaults to 20.",
"schema": {
"type": "integer",
"default": 20,
"minimum": 1
}
},
"Offset": {
"name": "offset",
"in": "query",
"required": false,
"description": "Zero-based offset into the list.",
"schema": {
"type": "integer",
"default": 0,
"minimum": 0
}
}
},
"responses": {
"Resource": {
"description": "Resource object. Shape varies by endpoint.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"NamedList": {
"description": "Paginated list of named resources.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NamedAPIResourceList"
}
}
}
},
"UnnamedList": {
"description": "Paginated list of unnamed resources.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/APIResourceList"
}
}
}
}
},
"schemas": {
"NamedAPIResource": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"name",
"url"
]
},
"APIResource": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"url"
]
},
"NamedAPIResourceList": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"next": {
"type": "string",
"format": "uri",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NamedAPIResource"
}
}
},
"required": [
"count",
"results"
]
},
"APIResourceList": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"next": {
"type": "string",
"format": "uri",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/APIResource"
}
}
},
"required": [
"count",
"results"
]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment