From 135f7dbd6f52d8f08f6e088b6ab360e17fc0a376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=B6rd=C5=91s=20Andr=C3=A1s?= Date: Tue, 13 May 2025 11:28:51 +0200 Subject: [PATCH] Init PokeAPI World --- .../PokeAPI World/apiDefinition.swagger.json | 1296 +++++++++++++++++ .../PokeAPI World/apiProperties.json | 9 + .../PokeAPI World/readme.md | 70 + 3 files changed, 1375 insertions(+) create mode 100644 independent-publisher-connectors/PokeAPI World/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/PokeAPI World/apiProperties.json create mode 100644 independent-publisher-connectors/PokeAPI World/readme.md diff --git a/independent-publisher-connectors/PokeAPI World/apiDefinition.swagger.json b/independent-publisher-connectors/PokeAPI World/apiDefinition.swagger.json new file mode 100644 index 0000000000..06a4874b90 --- /dev/null +++ b/independent-publisher-connectors/PokeAPI World/apiDefinition.swagger.json @@ -0,0 +1,1296 @@ +{ + "swagger": "2.0", + "info": { + "title": "PokeAPI World", + "description": "Access Pokemon world data including machines, locations, regions, and berries.", + "version": "1.0", + "contact": { + "name": "Fördős András", + "email": "fordosa90+ipc_pokewor@gmail.com" + } + }, + "host": "pokeapi.co", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/api/v2/machine/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List machines", + "operationId": "ListMachines", + "description": "Machines are the representation of items that teach moves to Pokemon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/machine/{id}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "item": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The TM or HM item that corresponds to this machine.", + "title": "Item" + }, + "move": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The move that is taught by this machine.", + "title": "Move" + }, + "version_group": { + "$ref": "#/definitions/VersionGroupType" + } + } + } + } + }, + "summary": "Get machine", + "operationId": "GetMachine", + "description": "Machines are the representation of items that teach moves to Pokemon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.", + "parameters": [ + { + "$ref": "#/parameters/idParam" + } + ] + } + }, + "/api/v2/location/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List locations", + "operationId": "ListLocations", + "description": "Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/location/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "region": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The region this location can be found in.", + "title": "Region" + }, + "names": { + "$ref": "#/definitions/NamesType" + }, + "game_indices": { + "$ref": "#/definitions/GameIndexType" + }, + "areas": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "Areas that can be found within this location.", + "title": "Areas" + } + } + } + } + }, + "summary": "Get location", + "description": "Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.", + "operationId": "GetLocation", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/location-area/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List location areas", + "operationId": "ListLocationAreas", + "description": "Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokemon encounters.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/location-area/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "game_index": { + "$ref": "#/definitions/gameIndexProperty" + }, + "encounter_method_rates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "encounter_method": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The method in which Pokemon may be encountered in an area..", + "title": "Encounter Method" + }, + "version_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rate": { + "type": "integer", + "format": "int32", + "description": "The chance of an encounter to occur.", + "title": "Rate" + }, + "version": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The version of the game in which the encounter can occur with the given chance.", + "title": "Version" + } + } + }, + "description": "The chance of the encounter to occur on a version of the game.", + "title": "Version Details" + } + } + }, + "description": "A list of methods in which Pokemon may be encountered in this area and how likely the method will occur depending on the version of the game.", + "title": "Encounter Method Rates" + }, + "location": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The region this location area can be found in.", + "title": "Location" + }, + "names": { + "$ref": "#/definitions/NamesType" + }, + "pokemon_encounters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pokemon": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The Pokemon being encountered.", + "title": "Pokemon" + }, + "version_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "version": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The game version this encounter happens in.", + "title": "Version" + }, + "max_chance": { + "type": "integer", + "format": "int32", + "description": "The total percentage of all encounter potential.", + "title": "Max Chance" + }, + "encounter_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "min_level": { + "type": "integer", + "format": "int32", + "description": "The lowest level the Pokemon could be encountered at.", + "title": "Min Level" + }, + "max_level": { + "type": "integer", + "format": "int32", + "description": "The highest level the Pokemon could be encountered at.", + "title": "Max Level" + }, + "condition_values": { + "type": "array", + "items": {}, + "description": "A list of condition values that must be in effect for this encounter to occur.", + "title": "Condition Values" + }, + "chance": { + "type": "integer", + "format": "int32", + "description": "Percent chance that this encounter will occur.", + "title": "Chance" + }, + "method": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The method by which this encounter happens.", + "title": "Method" + } + } + }, + "description": "A list of encounters and their specifics.", + "title": "Encounter Details" + } + } + }, + "description": "A list of versions and encounters with Pokemon that might happen in the referenced location area.", + "title": "Version Details" + } + } + }, + "description": "A list of Pokemon that can be encountered in this area along with version specific details about the encounter.", + "title": "Pokemon Encounters" + } + } + } + } + }, + "summary": "Get location area", + "description": "Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokemon encounters.", + "operationId": "GetLocationArea", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/region/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List regions", + "operationId": "ListRegions", + "description": "A region is an organized area of the Pokemon world. Most often, the main difference between regions is the species of Pokemon that can be encountered within them.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/region/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "locations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "A list of locations that can be found in this region.", + "title": "Locations" + }, + "main_generation": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The generation this region was introduced in.", + "title": "Main Generation" + }, + "names": { + "$ref": "#/definitions/NamesType" + }, + "pokedexes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "A list of pokedexes that catalogue Pokemon in this region.", + "title": "Pokedexes" + }, + "version_groups": { + "$ref": "#/definitions/VersionGroupType" + } + } + } + } + }, + "summary": "Get region", + "operationId": "GetRegion", + "description": "A region is an organized area of the Pokemon world. Most often, the main difference between regions is the species of Pokemon that can be encountered within them.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/encounter-method/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List encounter methods", + "operationId": "ListEncounterMethods", + "description": "Methods by which the player might can encounter Pokemon in the wild, e.g., walking in tall grass.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/encounter-method/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "order": { + "type": "integer", + "format": "int32", + "description": "A good value for sorting.", + "title": "Order" + }, + "names": { + "$ref": "#/definitions/NamesType" + } + } + } + } + }, + "summary": "Get encounter", + "operationId": "GetEncounter", + "description": "Methods by which the player might can encounter Pokemon in the wild, e.g., walking in tall grass.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/encounter-condition/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List encounter conditions", + "operationId": "ListEncounterConditions", + "description": "Conditions which affect what pokemon might appear in the wild, e.g., day or night.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/encounter-condition/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "values": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "A list of possible values for this encounter condition.", + "title": "Values" + }, + "names": { + "$ref": "#/definitions/NamesType" + } + } + } + } + }, + "summary": "Get encounter condition", + "operationId": "GetEncounterCondition", + "description": "Conditions which affect what pokemon might appear in the wild, e.g., day or night.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/encounter-condition-value/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List encounter condition values", + "operationId": "ListEncounterConditionValues", + "description": "Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/encounter-condition-value/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "condition": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The condition this encounter condition value pertains to.", + "title": "Condition" + }, + "names": { + "$ref": "#/definitions/NamesType" + } + } + } + } + }, + "summary": "Get encounter condition value", + "operationId": "GetEncounterConditionValue", + "description": "Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/berry/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List berries", + "operationId": "ListBerries", + "description": "Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokemon.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/berry/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "growth_time": { + "type": "integer", + "format": "int32", + "description": "Time it takes the tree to grow one stage, in hours. Berry trees go through four of these growth stages before they can be picked.", + "title": "Growth Time" + }, + "max_harvest": { + "type": "integer", + "format": "int32", + "description": "The maximum number of these berries that can grow on one tree in Generation IV.", + "title": "Max Harvest" + }, + "natural_gift_power": { + "type": "integer", + "format": "int32", + "description": "The power of the move 'Natural Gift' when used with this Berry.", + "title": "Natural Gift Power" + }, + "size": { + "type": "integer", + "format": "int32", + "description": "The size of this Berry, in millimeters.", + "title": "Size" + }, + "smoothness": { + "type": "integer", + "format": "int32", + "description": "The smoothness of this Berry, used in making Pokeblocks or Poffins.", + "title": "Smoothness" + }, + "soil_dryness": { + "type": "integer", + "format": "int32", + "description": "The speed at which this Berry dries out the soil as it grows. A higher rate means the soil dries more quickly.", + "title": "Soil Dryness" + }, + "firmness": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The firmness of this berry, used in making Pokeblocks or Poffins.", + "title": "Firmness" + }, + "flavors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "potency": { + "type": "integer", + "format": "int32", + "description": "How powerful the referenced flavor is for this berry.", + "title": "Potency" + }, + "flavor": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The referenced berry flavor.", + "title": "Flavor" + } + } + }, + "description": "flavoA list of references to each flavor a berry can have and the potency of each of those flavors in regard to this berry.rs", + "title": "Flavors" + }, + "item": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "Berries are actually items. This is a reference to the item specific data for this berry.", + "title": "Item" + }, + "natural_gift_type": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The type inherited by 'Natural Gift' when used with this Berry.", + "title": "Natural Gift Type" + } + } + } + } + }, + "summary": "Get berry", + "operationId": "GetBerry", + "description": "Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokemon.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + }, + "/api/v2/item/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListResults" + } + } + }, + "summary": "List items", + "operationId": "ListItems", + "description": "An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokemon, or to access a new area.", + "parameters": [ + { + "$ref": "#/parameters/limitParam" + }, + { + "$ref": "#/parameters/offsetParam" + } + ] + } + }, + "/api/v2/item/{id or name}/": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/idProperty" + }, + "name": { + "$ref": "#/definitions/nameProperty" + }, + "cost": { + "type": "integer", + "format": "int32", + "description": "The price of this item in stores.", + "title": "Cost" + }, + "fling_power": { + "type": "integer", + "format": "int32", + "description": "The power of the move Fling when used with this item.", + "title": "Fling Power" + }, + "fling_effect": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The effect of the move Fling when used with this item.", + "title": "Fling Effect" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "A list of attributes this item has.", + "title": "Attributes" + }, + "category": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The category of items this item falls into.", + "title": "Category" + }, + "effect_entries": { + "type": "array", + "items": { + "type": "object", + "properties": { + "effect": { + "type": "string", + "description": "The localized effect text for an API resource in a specific language.", + "title": "Effect" + }, + "short_effect": { + "type": "string", + "description": "The localized effect text in brief.", + "title": "Short Effect" + }, + "language": { + "$ref": "#/definitions/LanguageType" + } + } + }, + "description": "The effect of this ability listed in different languages.", + "title": "Effect Entries" + }, + "flavor_text_entries": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The localized name for an API resource in a specific language.", + "title": "Text" + }, + "version_group": { + "$ref": "#/definitions/VersionGroupType" + }, + "language": { + "$ref": "#/definitions/LanguageType" + } + } + }, + "description": "The flavor text of this ability listed in different languages.", + "title": "Flavor Text Entries" + }, + "game_indices": { + "$ref": "#/definitions/GameIndexType" + }, + "names": { + "$ref": "#/definitions/NamesType" + }, + "sprites": { + "type": "object", + "properties": { + "default": { + "type": "string", + "description": "The default depiction of this item.", + "title": "Default" + } + }, + "description": "A set of sprites used to depict this item in the game.", + "title": "Sprites" + }, + "held_by_pokemon": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pokemon": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The Pokemon that holds this item.", + "title": "Pokemon" + }, + "version_details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rarity": { + "type": "integer", + "format": "int32", + "description": "How often this Pokemon holds this item in this version.", + "title": "Rarity" + }, + "version": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The version that this item is held in by the Pokemon.", + "title": "Version" + } + } + }, + "description": "The details for the version that this item is held in by the Pokemon.", + "title": "Version Details" + } + } + }, + "description": "A list of Pokemon that might be found in the wild holding this item.", + "title": "Held By Pokemon" + }, + "baby_trigger_for": { + "type": "object", + "properties": { + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "An evolution chain this item requires to produce a bay during mating.", + "title": "Baby Trigger For" + } + } + } + } + }, + "summary": "Get item", + "operationId": "GetItem", + "description": "An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokemon, or to access a new area.", + "parameters": [ + { + "$ref": "#/parameters/idOrNameParam" + } + ] + } + } + }, + "definitions": { + "nameProperty": { + "type": "string", + "description": "The name for this resource.", + "title": "Name" + }, + "urlProperty": { + "type": "string", + "description": "The URL for this resource.", + "title": "Url" + }, + "idProperty": { + "type": "integer", + "format": "int32", + "description": "The identifier for this resource.", + "title": "ID" + }, + "gameIndexProperty": { + "type": "integer", + "format": "int32", + "description": "The internal id of an API resource within game data.", + "title": "Game Index" + }, + "ListResults": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The total number of resources available from this API.", + "title": "Count" + }, + "next": { + "type": "string", + "description": "The URL for the next page in the list.", + "title": "Next" + }, + "previous": { + "type": "string", + "description": "The URL for the previous page in the list.", + "title": "Previous" + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + } + }, + "description": "Results of the query.", + "title": "Results" + } + } + }, + "LanguageType": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + }, + "id": { + "$ref": "#/definitions/idProperty" + }, + "official": { + "type": "boolean", + "description": "Whether or not the games are published in this language.", + "title": "Is official" + }, + "iso639": { + "type": "string", + "description": "The two-letter code of the country where this language is spoken. Note that it is not unique.", + "title": "ISO 639" + }, + "iso3166": { + "type": "string", + "description": "The two-letter code of the language. Note that it is not unique.", + "title": "ISO 3166" + } + }, + "description": "Localization details of this information.", + "title": "Language details" + }, + "NamesType": { + "type": "array", + "items": { + "type": "object", + "properties": { + "language": { + "$ref": "#/definitions/LanguageType" + }, + "name": { + "$ref": "#/definitions/nameProperty" + } + } + }, + "description": "The name of this resource listed in different languages.", + "title": "Names" + }, + "VersionGroupType": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + }, + "id": { + "$ref": "#/definitions/idProperty" + } + }, + "description": "Version group details of this information.", + "title": "Version group details" + }, + "GameIndexType": { + "type": "array", + "items": { + "type": "object", + "properties": { + "game_index": { + "$ref": "#/definitions/gameIndexProperty" + }, + "generation": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/nameProperty" + }, + "url": { + "$ref": "#/definitions/urlProperty" + } + }, + "description": "The generation relevent to this game index.", + "title": "Generation" + } + } + }, + "description": "A list of game indices relevent to this resource by generation.", + "title": "Game Indices" + } + }, + "parameters": { + "idOrNameParam": { + "name": "id or name", + "in": "path", + "required": true, + "type": "string", + "x-ms-summary": "ID or Name", + "description": "Unique ID or Name of the resource.", + "x-ms-url-encoding": "single" + }, + "idParam": { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "x-ms-summary": "ID", + "description": "Unique ID of the resource.", + "x-ms-url-encoding": "single" + }, + "limitParam": { + "name": "limit", + "in": "query", + "required": false, + "type": "integer", + "x-ms-summary": "Limit", + "description": "Limit the results to be returned, default is 20." + }, + "offsetParam": { + "name": "offset", + "in": "query", + "required": false, + "type": "integer", + "x-ms-summary": "Offset", + "description": "Combined with \"limit\", implements pagination." + } + }, + "responses": {}, + "securityDefinitions": {}, + "security": [], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://pokeapi.co" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://pokeapi.co/about" + }, + { + "propertyName": "Categories", + "propertyValue": "Lifestyle and Entertainment" + } + ] +} \ No newline at end of file diff --git a/independent-publisher-connectors/PokeAPI World/apiProperties.json b/independent-publisher-connectors/PokeAPI World/apiProperties.json new file mode 100644 index 0000000000..41abfceb91 --- /dev/null +++ b/independent-publisher-connectors/PokeAPI World/apiProperties.json @@ -0,0 +1,9 @@ +{ + "properties": { + "connectionParameters": {}, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Fördős András", + "stackOwner": "PokeAPI.co" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/PokeAPI World/readme.md b/independent-publisher-connectors/PokeAPI World/readme.md new file mode 100644 index 0000000000..a431f4e373 --- /dev/null +++ b/independent-publisher-connectors/PokeAPI World/readme.md @@ -0,0 +1,70 @@ +# PokéAPI World + +Access Pokemon world data including machines, locations, regions, and berries. + +## Publisher: Fördős András + +## Obtaining Credentials + +The underlying service is opensource and public, hence there is no need for credentials. + +## Supported Operations + +### List berries +Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokemon. + +### Get berry +Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokemon. + +### List enounters +Methods by which the player might can encounter Pokemon in the wild, e.g., walking in tall grass. + +### Get encounter +Methods by which the player might can encounter Pokemon in the wild, e.g., walking in tall grass. + +### List encounter conditions +Conditions which affect what pokemon might appear in the wild, e.g., day or night. + +### Get encounter condition +Conditions which affect what pokemon might appear in the wild, e.g., day or night. + +### List encounter condition values +Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + +### Get encounter condition value +Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + +### List items +An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokemon, or to access a new area. + +### Get item +An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokemon, or to access a new area. + +### List locations +Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + +### Get location +Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + +### List location areas +Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokemon encounters. + +### Get location area +Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokemon encounters. + +### List machines +Machines are the representation of items that teach moves to Pokemon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + +### Get machine +Machines are the representation of items that teach moves to Pokemon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + +### List regions +A region is an organized area of the Pokemon world. Most often, the main difference between regions is the species of Pokemon that can be encountered within them. + +### Get region +A region is an organized area of the Pokemon world. Most often, the main difference between regions is the species of Pokemon that can be encountered within them. + +## Known Issues and Limitations +There are no known issues with the connector, but the latest status can be checked in the repository (issues). As limitations, this specific connector only implements the core endpoints of the underlying API (mainly pokemon related), and other connectors joining endpoints (locations, battles, items).That said, there are also endpoints and data, that arenot foreseen to be implemented. Please reach out and let us collaborate, if you are missing something. + +The underlying service expects a fair use policy, so please don't abuse it with frequent calls, and rather implement resource caching whenever possible. \ No newline at end of file