Home

Awesome

<h1 align="center"> <br> <a href="http://Celerium.org"><img src="https://raw.githubusercontent.com/Celerium/PokeAPI-PowerShellWrapper/main/.github/images/Celerium_PoSHGallery_PokeAPI.png" alt="_CeleriumDemo" width="200"></a> <br> Celerium_PokeAPI <br> </h1>

Az_Pipeline GitHub_Pages

PoshGallery_Version PoshGallery_Platforms PoshGallery_Downloads codeSize

Contributors Forks Stargazers Issues

Blog GitHub_License

Buy me a coffee

Whether you use this project, have learned something from it, or just like it, please consider supporting it by buying me a coffee, so I can dedicate more time on open-source projects like this :)

<a href="https://www.buymeacoffee.com/Celerium" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg" alt="Buy Me A Coffee" style="width:150px;height:50px;"></a>


<a name="readme-top"></a>

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://celerium.org"> <img src="https://raw.githubusercontent.com/Celerium/PokeAPI-PowerShellWrapper/main/.github/images/Celerium_PoSHGitHub_PokeAPI.png" alt="Logo"> </a> <p align="center"> <a href="https://www.powershellgallery.com/packages/PokeAPI" target="_blank">PowerShell Gallery</a> · <a href="https://github.com/Celerium/PokeAPI-PowerShellWrapper/issues/new/choose" target="_blank">Report Bug</a> · <a href="https://github.com/Celerium/PokeAPI-PowerShellWrapper/issues/new/choose" target="_blank">Request Feature</a> </p> </div>
<!-- TABLE OF CONTENTS <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">About The Project</a> <ul> <li><a href="#built-with">Built With</a></li> </ul> </li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#installation">Installation</a></li> </ul> </li> <li><a href="#usage">Usage</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#acknowledgments">Acknowledgments</a></li> </ol> </details> -->

About The Project

The PokeAPI offers users the ability to extract data from Poke into third-party reporting tools and aims to abstract away the details of interacting with Poke's API endpoints in such a way that is consistent with PowerShell nomenclature. This gives system administrators and PowerShell developers a convenient and familiar way of using Poke's API to create documentation scripts, automation, and integrations.

Poke features a REST API that makes use of common HTTP request methods. In order to maintain PowerShell best practices, only approved verbs are used.

Additionally, PowerShell's verb-noun nomenclature is respected. Each noun is prefixed with Poke in an attempt to prevent naming problems.

For example, one might access the /pokemon/ endpoint by running the following PowerShell command with the appropriate parameters:

Get-PokePokemon -id 1
<p align="right">(<a href="#readme-top">back to top</a>)</p>

Install

This module can be installed directly from the PowerShell Gallery with the following command:

Install-Module -Name PokeAPI

Project documentation can be found on Github Pages

Get-Help Get-PokePokemon
Get-Help Get-PokePokemon -Full
<p align="right">(<a href="#readme-top">back to top</a>)</p>

Initial Setup

After installing this module, you will need to configure the base URI that are used to talk with the Poke API.

  1. Run Add-PokeBaseURI

    • By default, Poke's https://pokeapi.co/api/v2 URI is used.
    • If you have your own API gateway or proxy, you may put in your own custom URI by specifying the -base_uri parameter:
      • Add-PokeBaseURI -base_uri http://myapi.gateway.celerium.org <br>
  2. [optional] Run Export-PokeModuleSettings

    • This will create a config file at %UserProfile%\PokeAPI that holds the base uri information.
    • Next time you run Import-Module -Name PokeAPI, this configuration file will automatically be loaded.
<p align="right">(<a href="#readme-top">back to top</a>)</p>

Usage

Calling an API resource is as simple as running Get-Poke<resourceName>

CategoryEndpointUriMethodFunction
berry/berry/GETGet-PokeBerry
berry/berry/{id or name}/GETGet-PokeBerry
berry/berry-firmnessGETGet-PokeBerryFirmness
berry/berry-firmness/{id or name}/GETGet-PokeBerryFirmness
berry/berry-flavor/GETGet-PokeBerryFlavor
berry/berry-flavor/{id or name}/GETGet-PokeBerryFlavor
contest/contest-type/GETGet-PokeContestType
contest/contest-type/{id or name}/GETGet-PokeContestType
contest/contest-effect/GETGet-PokeContestEffect
contest/contest-effect/{id}/GETGet-PokeContestEffect
contest/super-contest-effect/GETGet-PokeContestSuperEffect
contest/super-contest-effect/{id}/GETGet-PokeContestSuperEffect
encounter/encounter-method/GETGet-PokeEncounterMethod
encounter/encounter-method/{id or name}/GETGet-PokeEncounterMethod
encounter/encounter-condition/GETGet-PokeEncounterCondition
encounter/encounter-condition/{id or name}/GETGet-PokeEncounterCondition
encounter/encounter-condition-value/{id or name}/GETGet-PokeEncounterConditionValue
encounter/encounter-condition-value/{id or name}/GETGet-PokeEncounterConditionValue
evolution/evolution-chain/GETGet-PokeEvolutionChain
evolution/evolution-chain/{id}/GETGet-PokeEvolutionChain
evolution/evolution-trigger/GETGet-PokeEvolutionTrigger
evolution/evolution-trigger/{id or name}/GETGet-PokeEvolutionTrigger
game/generation/GETGet-PokeGameGeneration
game/generation/{id or name}/GETGet-PokeGameGeneration
game/pokedex/GETGet-PokeGamePokedex
game/pokedex/{id or name}/GETGet-PokeGamePokedex
game/version/GETGet-PokeGameVersion
game/version/{id or name}/GETGet-PokeGameVersion
game/version-group/GETGet-PokeGameVersionGroup
game/version-group/{id or name}/GETGet-PokeGameVersionGroup
item/item/GETGet-PokeItem
item/item/{id or name}/GETGet-PokeItem
item/item-attribute/GETGet-PokeItemAttribute
item/item-attribute/{id or name}/GETGet-PokeItemAttribute
item/item-category/GETGet-PokeItemCategory
item/item-category/{id or name}/GETGet-PokeItemCategory
item/item-fling-effect/GETGet-PokeItemFlingEffect
item/item-fling-effect/{id or name}/GETGet-PokeItemFlingEffect
item/item-pocket/GETGet-PokeItemPocket
item/item-pocket/{id or name}/GETGet-PokeItemPocket
location/location/GETGet-PokeLocation
location/location/{id or name}/GETGet-PokeLocation
location/location-area/GETGet-PokeLocationArea
location/location-area/{id or name}/GETGet-PokeLocationArea
location/pal-park-area/GETGet-PokeLocationPalParkArea
location/pal-park-area/{id or name}/GETGet-PokeLocationPalParkArea
location/region/GETGet-PokeLocationRegion
location/region/{id or name}/GETGet-PokeLocationRegion
machine/machine/GETGet-PokeMachine
machine/machine/{id}/GETGet-PokeMachine
move/move/GETGet-PokeMove
move/move/{id or name}/GETGet-PokeMove
move/move-ailment/GETGet-PokeMoveAilment
move/move-ailment/{id or name}/GETGet-PokeMoveAilment
move/move-battle-style/GETGet-PokeMoveBattleStyle
move/move-battle-style/{id or name}/GETGet-PokeMoveBattleStyle
move/move-category/GETGet-PokeMoveCategory
move/move-category/{id or name}/GETGet-PokeMoveCategory
move/move-damage-class/GETGet-PokeMoveDamageClass
move/move-damage-class/{id or name}/GETGet-PokeMoveDamageClass
move/move-learn-method/GETGet-PokeMoveLearnMethod
move/move-learn-method/{id or name}/GETGet-PokeMoveLearnMethod
move/move-target/GETGet-PokeMoveTarget
move/move-target/{id or name}/GETGet-PokeMoveTarget
pokemon/ability/GETGet-PokePokemonAbility
pokemon/ability/{id or name}/GETGet-PokePokemonAbility
pokemon/characteristic/GETGet-PokePokemonCharacteristic
pokemon/characteristic/{id}/GETGet-PokePokemonCharacteristic
pokemon/egg-group/GETGet-PokePokemonEggGroup
pokemon/egg-group/{id or name}/GETGet-PokePokemonEggGroup
pokemon/gender/GETGet-PokePokemonGender
pokemon/gender/{id or name}/GETGet-PokePokemonGender
pokemon/growth-rate/GETGet-PokePokemonGrowthRate
pokemon/growth-rate/{id or name}/GETGet-PokePokemonGrowthRate
pokemon/nature/GETGet-PokePokemonNature
pokemon/nature/{id or name}/GETGet-PokePokemonNature
pokemon/pokeathlon-stat/GETGet-PokePokemonPokeathlonStat
pokemon/pokeathlon-stat/{id or name}/GETGet-PokePokemonPokeathlonStat
pokemon/pokemon/GETGet-PokePokemon
pokemon/pokemon/{id or name}/GETGet-PokePokemon
pokemon/pokemon/{id or name}/encountersGETGet-PokePokemonEncounter
pokemon/pokemon-color/GETGet-PokePokemonColor
pokemon/pokemon-color/{id or name}/GETGet-PokePokemonColor
pokemon/pokemon-form/GETGet-PokePokemonForm
pokemon/pokemon-form/{id or name}/GETGet-PokePokemonForm
pokemon/pokemon-habitat/GETGet-PokePokemonHabitat
pokemon/pokemon-habitat/{id or name}/GETGet-PokePokemonHabitat
pokemon/pokemon-shape/GETGet-PokePokemonShape
pokemon/pokemon-shape/{id or name}/GETGet-PokePokemonShape
pokemon/pokemon-species/GETGet-PokePokemonSpecies
pokemon/pokemon-species/{id or name}/GETGet-PokePokemonSpecies
pokemon/stat/GETGet-PokePokemonStat
pokemon/stat/{id or name}/GETGet-PokePokemonStat
pokemon/type/GETGet-PokePokemonType
pokemon/type/{id or name}/GETGet-PokePokemonType
utility/language/GETGet-PokeLanguage
utility/language/{id or name}/GETGet-PokeLanguage
utility/GETGet-PokeEndpoint

Each Get-Poke* function will respond with the raw data that Poke's API provides.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Roadmap

See the open issues for a full list of proposed features (and known issues).

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

See the CONTRIBUTING guide for more information about contributing.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

License

Distributed under the MIT License. See LICENSE for more information.

GitHub_License

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Contact

<div align="left"> <p align="left"> · <a href="https://celerium.org/#/contact" target="_blank">Website</a> · <a href="mailto: celerium@celerium.org">Email</a> · <a href="https://www.reddit.com/user/CeleriumIO" target="_blank">Reddit</a> · </p> </div> <p align="right">(<a href="#readme-top">back to top</a>)</p>

Acknowledgments

Big thank you to the following people and services as they have provided me with lots of helpful information as I continue this project!

<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->