GitHub Raw JSON API

PokeAPI / pokeapi

5,289 Python

The Pokémon API

pokeapi Specification

Located in openapi.yml on branch HEAD

3.x (YAML) YAML 268.3 KB
Raw YAML Specification
openapi: 3.1.0
info:
  title: PokéAPI
  version: 2.10.0
  description: "All the Pokémon data you'll ever need in one place, easily accessible
    through a modern free open-source RESTful API.\n\n## What is this?\n\nThis is
    a full RESTful API linked to an extensive database detailing everything about
    the Pokémon main game series.\n\nWe've covered everything from Pokémon to Berry
    Flavors.\n\n## Where do I start?\n\nWe have awesome [documentation](https://pokeapi.co/docs/v2)
    on how to use this API. It takes minutes to get started.\n\nThis API will always
    be publicly available and will never require any extensive setup process to consume.\n\nCreated
    by [**Paul Hallett**](https://github.com/phalt) and other [**PokéAPI contributors**](https://github.com/PokeAPI/pokeapi#contributing)
    around the world. Pokémon and Pokémon character names are trademarks of Nintendo.\n
    \   "
paths:
  /api/v2/meta/:
    get:
      operationId: meta_retrieve
      description: Returns metadata about the current deployed version of the API,
        including the git commit hash, deploy date, and tag (if any).
      summary: Get API metadata
      tags:
      - utility
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  deploy_date:
                    type: string
                    nullable: true
                  hash:
                    type: string
                    nullable: true
                  tag:
                    type: string
                    nullable: true
          description: ''
  /api/v2/ability/:
    get:
      operationId: ability_list
      description: Abilities provide passive effects for Pokémon in battle or in the
        overworld. Pokémon have multiple possible abilities but can have only one
        ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability)
        for greater detail.
      summary: List abilities
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAbilitySummaryList'
          description: ''
  /api/v2/ability/{id}/:
    get:
      operationId: ability_retrieve
      description: Abilities provide passive effects for Pokémon in battle or in the
        overworld. Pokémon have multiple possible abilities but can have only one
        ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability)
        for greater detail.
      summary: Get ability
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbilityDetail'
          description: ''
  /api/v2/berry/:
    get:
      operationId: berry_list
      description: Berries are small fruits that can provide HP and status condition
        restoration, stat enhancement, and even damage negation when eaten by Pokémon.
        Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater
        detail.
      summary: List berries
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBerrySummaryList'
          description: ''
  /api/v2/berry/{id}/:
    get:
      operationId: berry_retrieve
      description: Berries are small fruits that can provide HP and status condition
        restoration, stat enhancement, and even damage negation when eaten by Pokémon.
        Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater
        detail.
      summary: Get a berry
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BerryDetail'
          description: ''
  /api/v2/berry-firmness/:
    get:
      operationId: berry_firmness_list
      description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness)
        for greater detail.
      summary: List berry firmness
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBerryFirmnessSummaryList'
          description: ''
  /api/v2/berry-firmness/{id}/:
    get:
      operationId: berry_firmness_retrieve
      description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness)
        for greater detail.
      summary: Get berry by firmness
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BerryFirmnessDetail'
          description: ''
  /api/v2/berry-flavor/:
    get:
      operationId: berry_flavor_list
      description: Flavors determine whether a Pokémon will benefit or suffer from
        eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor)
        for greater detail.
      summary: List berry flavors
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBerryFlavorSummaryList'
          description: ''
  /api/v2/berry-flavor/{id}/:
    get:
      operationId: berry_flavor_retrieve
      description: Flavors determine whether a Pokémon will benefit or suffer from
        eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor)
        for greater detail.
      summary: Get berries by flavor
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - berries
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BerryFlavorDetail'
          description: ''
  /api/v2/characteristic/:
    get:
      operationId: characteristic_list
      description: Characteristics indicate which stat contains a Pokémon's highest
        IV. A Pokémon's Characteristic is determined by the remainder of its highest
        IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic)
        for greater detail.
      summary: List characteristics
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCharacteristicSummaryList'
          description: ''
  /api/v2/characteristic/{id}/:
    get:
      operationId: characteristic_retrieve
      description: Characteristics indicate which stat contains a Pokémon's highest
        IV. A Pokémon's Characteristic is determined by the remainder of its highest
        IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic)
        for greater detail.
      summary: Get characteristic
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CharacteristicDetail'
          description: ''
  /api/v2/contest-type/:
    get:
      operationId: contest_type_list
      description: Contest types are categories judges used to weigh a Pokémon's condition
        in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition)
        for greater detail.
      summary: List contest types
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedContestTypeSummaryList'
          description: ''
  /api/v2/contest-type/{id}/:
    get:
      operationId: contest_type_retrieve
      description: Contest types are categories judges used to weigh a Pokémon's condition
        in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition)
        for greater detail.
      summary: Get contest type
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContestTypeDetail'
          description: ''
  /api/v2/contest-effect/:
    get:
      operationId: contest_effect_list
      description: Contest effects refer to the effects of moves when used in contests.
      summary: List contest effects
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedContestEffectSummaryList'
          description: ''
  /api/v2/contest-effect/{id}/:
    get:
      operationId: contest_effect_retrieve
      description: Contest effects refer to the effects of moves when used in contests.
      summary: Get contest effect
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContestEffectDetail'
          description: ''
  /api/v2/egg-group/:
    get:
      operationId: egg_group_list
      description: Egg Groups are categories which determine which Pokémon are able
        to interbreed. Pokémon may belong to either one or two Egg Groups. Check out
        [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater
        detail.
      summary: List egg groups
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEggGroupSummaryList'
          description: ''
  /api/v2/egg-group/{id}/:
    get:
      operationId: egg_group_retrieve
      description: Egg Groups are categories which determine which Pokémon are able
        to interbreed. Pokémon may belong to either one or two Egg Groups. Check out
        [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater
        detail.
      summary: Get egg group
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EggGroupDetail'
          description: ''
  /api/v2/encounter-method/:
    get:
      operationId: encounter_method_list
      description: Methods by which the player might can encounter Pokémon in the
        wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.
      summary: List encounter methods
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEncounterMethodSummaryList'
          description: ''
  /api/v2/encounter-method/{id}/:
    get:
      operationId: encounter_method_retrieve
      description: Methods by which the player might can encounter Pokémon in the
        wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.
      summary: Get encounter method
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncounterMethodDetail'
          description: ''
  /api/v2/encounter-condition/:
    get:
      operationId: encounter_condition_list
      description: Conditions which affect what pokemon might appear in the wild,
        e.g., day or night.
      summary: List encounter conditions
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEncounterConditionSummaryList'
          description: ''
  /api/v2/encounter-condition/{id}/:
    get:
      operationId: encounter_condition_retrieve
      description: Conditions which affect what pokemon might appear in the wild,
        e.g., day or night.
      summary: Get encounter condition
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncounterConditionDetail'
          description: ''
  /api/v2/encounter-condition-value/:
    get:
      operationId: encounter_condition_value_list
      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.
      summary: List encounter condition values
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEncounterConditionValueSummaryList'
          description: ''
  /api/v2/encounter-condition-value/{id}/:
    get:
      operationId: encounter_condition_value_retrieve
      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.
      summary: Get encounter condition value
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncounterConditionValueDetail'
          description: ''
  /api/v2/evolution-chain/:
    get:
      operationId: evolution_chain_list
      description: Evolution chains are essentially family trees. They start with
        the lowest stage within a family and detail evolution conditions for each
        as well as Pokémon they can evolve into up through the hierarchy.
      summary: List evolution chains
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - evolution
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEvolutionChainSummaryList'
          description: ''
  /api/v2/evolution-chain/{id}/:
    get:
      operationId: evolution_chain_retrieve
      description: Evolution chains are essentially family trees. They start with
        the lowest stage within a family and detail evolution conditions for each
        as well as Pokémon they can evolve into up through the hierarchy.
      summary: Get evolution chain
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - evolution
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvolutionChainDetail'
          description: ''
  /api/v2/evolution-trigger/:
    get:
      operationId: evolution_trigger_list
      description: Evolution triggers are the events and conditions that cause a Pokémon
        to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution)
        for greater detail.
      summary: List evolution triggers
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - evolution
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEvolutionTriggerSummaryList'
          description: ''
  /api/v2/evolution-trigger/{id}/:
    get:
      operationId: evolution_trigger_retrieve
      description: Evolution triggers are the events and conditions that cause a Pokémon
        to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution)
        for greater detail.
      summary: Get evolution trigger
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - evolution
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvolutionTriggerDetail'
          description: ''
  /api/v2/generation/:
    get:
      operationId: generation_list
      description: A generation is a grouping of the Pokémon games that separates
        them based on the Pokémon they include. In each generation, a new set of Pokémon,
        Moves, Abilities and Types that did not exist in the previous generation are
        released.
      summary: List genrations
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGenerationSummaryList'
          description: ''
  /api/v2/generation/{id}/:
    get:
      operationId: generation_retrieve
      description: A generation is a grouping of the Pokémon games that separates
        them based on the Pokémon they include. In each generation, a new set of Pokémon,
        Moves, Abilities and Types that did not exist in the previous generation are
        released.
      summary: Get genration
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerationDetail'
          description: ''
  /api/v2/gender/:
    get:
      operationId: gender_list
      description: Genders were introduced in Generation II for the purposes of breeding
        Pokémon but can also result in visual differences or even different evolutionary
        lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender)
        for greater detail.
      summary: List genders
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGenderSummaryList'
          description: ''
  /api/v2/gender/{id}/:
    get:
      operationId: gender_retrieve
      description: Genders were introduced in Generation II for the purposes of breeding
        Pokémon but can also result in visual differences or even different evolutionary
        lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender)
        for greater detail.
      summary: Get gender
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenderDetail'
          description: ''
  /api/v2/growth-rate/:
    get:
      operationId: growth_rate_list
      description: Growth rates are the speed with which Pokémon gain levels through
        experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience)
        for greater detail.
      summary: List growth rates
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGrowthRateSummaryList'
          description: ''
  /api/v2/growth-rate/{id}/:
    get:
      operationId: growth_rate_retrieve
      description: Growth rates are the speed with which Pokémon gain levels through
        experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience)
        for greater detail.
      summary: Get growth rate
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrowthRateDetail'
          description: ''
  /api/v2/item/:
    get:
      operationId: item_list
      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 Pokémon, or to access a new area.
      summary: List items
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedItemSummaryList'
          description: ''
  /api/v2/item/{id}/:
    get:
      operationId: item_retrieve
      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 Pokémon, or to access a new area.
      summary: Get item
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemDetail'
          description: ''
  /api/v2/item-category/:
    get:
      operationId: item_category_list
      description: Item categories determine where items will be placed in the players
        bag.
      summary: List item categories
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedItemCategorySummaryList'
          description: ''
  /api/v2/item-category/{id}/:
    get:
      operationId: item_category_retrieve
      description: Item categories determine where items will be placed in the players
        bag.
      summary: Get item category
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemCategoryDetail'
          description: ''
  /api/v2/item-attribute/:
    get:
      operationId: item_attribute_list
      description: Item attributes define particular aspects of items, e.g."usable
        in battle" or "consumable".
      summary: List item attributes
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedItemAttributeSummaryList'
          description: ''
  /api/v2/item-attribute/{id}/:
    get:
      operationId: item_attribute_retrieve
      description: Item attributes define particular aspects of items, e.g."usable
        in battle" or "consumable".
      summary: Get item attribute
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemAttributeDetail'
          description: ''
  /api/v2/item-fling-effect/:
    get:
      operationId: item_fling_effect_list
      description: The various effects of the move"Fling" when used with different
        items.
      summary: List item fling effects
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedItemFlingEffectSummaryList'
          description: ''
  /api/v2/item-fling-effect/{id}/:
    get:
      operationId: item_fling_effect_retrieve
      description: The various effects of the move"Fling" when used with different
        items.
      summary: Get item fling effect
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemFlingEffectDetail'
          description: ''
  /api/v2/item-pocket/:
    get:
      operationId: item_pocket_list
      description: Pockets within the players bag used for storing items by category.
      summary: List item pockets
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedItemPocketSummaryList'
          description: ''
  /api/v2/item-pocket/{id}/:
    get:
      operationId: item_pocket_retrieve
      description: Pockets within the players bag used for storing items by category.
      summary: Get item pocket
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemPocketDetail'
          description: ''
  /api/v2/currency/:
    get:
      operationId: currency_list
      description: Currencies used to buy items.
      summary: List currencies
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCurrencySummaryList'
          description: ''
  /api/v2/currency/{id}/:
    get:
      operationId: currency_retrieve
      description: Currencies used to buy items.
      summary: Get currency
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - items
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrencyDetail'
          description: ''
  /api/v2/language/:
    get:
      operationId: language_list
      description: Languages for translations of API resource information.
      summary: List languages
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - utility
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLanguageSummaryList'
          description: ''
  /api/v2/language/{id}/:
    get:
      operationId: language_retrieve
      description: Languages for translations of API resource information.
      summary: Get language
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - utility
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageDetail'
          description: ''
  /api/v2/location/:
    get:
      operationId: location_list
      description: Locations that can be visited within the games. Locations make
        up sizable portions of regions, like cities or routes.
      summary: List locations
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationSummaryList'
          description: ''
  /api/v2/location/{id}/:
    get:
      operationId: location_retrieve
      description: Locations that can be visited within the games. Locations make
        up sizable portions of regions, like cities or routes.
      summary: Get location
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationDetail'
          description: ''
  /api/v2/location-area/:
    get:
      operationId: location_area_list
      description: Location areas are sections of areas, such as floors in a building
        or cave. Each area has its own set of possible Pokémon encounters.
      summary: List location areas
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationAreaSummaryList'
          description: ''
  /api/v2/location-area/{id}/:
    get:
      operationId: location_area_retrieve
      description: Location areas are sections of areas, such as floors in a building
        or cave. Each area has its own set of possible Pokémon encounters.
      summary: Get location area
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this location area.
        required: true
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationAreaDetail'
          description: ''
  /api/v2/machine/:
    get:
      operationId: machine_list
      description: Machines are the representation of items that teach moves to Pokémon.
        They vary from version to version, so it is not certain that one specific
        TM or HM corresponds to a single Machine.
      summary: List machines
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - machines
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMachineSummaryList'
          description: ''
  /api/v2/machine/{id}/:
    get:
      operationId: machine_retrieve
      description: Machines are the representation of items that teach moves to Pokémon.
        They vary from version to version, so it is not certain that one specific
        TM or HM corresponds to a single Machine.
      summary: Get machine
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - machines
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineDetail'
          description: ''
  /api/v2/move/:
    get:
      operationId: move_list
      description: Moves are the skills of Pokémon in battle. In battle, a Pokémon
        uses one move each turn. Some moves (including those learned by Hidden Machine)
        can be used outside of battle as well, usually for the purpose of removing
        obstacles or exploring new areas.
      summary: List moves
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveSummaryList'
          description: ''
  /api/v2/move/{id}/:
    get:
      operationId: move_retrieve
      description: Moves are the skills of Pokémon in battle. In battle, a Pokémon
        uses one move each turn. Some moves (including those learned by Hidden Machine)
        can be used outside of battle as well, usually for the purpose of removing
        obstacles or exploring new areas.
      summary: Get move
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveDetail'
          description: ''
  /api/v2/move-ailment/:
    get:
      operationId: move_ailment_list
      description: Move Ailments are status conditions caused by moves used during
        battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition)
        for greater detail.
      summary: List move meta ailments
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveMetaAilmentSummaryList'
          description: ''
  /api/v2/move-ailment/{id}/:
    get:
      operationId: move_ailment_retrieve
      description: Move Ailments are status conditions caused by moves used during
        battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition)
        for greater detail.
      summary: Get move meta ailment
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveMetaAilmentDetail'
          description: ''
  /api/v2/move-battle-style/:
    get:
      operationId: move_battle_style_list
      description: Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III))
        for greater detail.
      summary: List move battle styles
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveBattleStyleSummaryList'
          description: ''
  /api/v2/move-battle-style/{id}/:
    get:
      operationId: move_battle_style_retrieve
      description: Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III))
        for greater detail.
      summary: Get move battle style
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveBattleStyleDetail'
          description: ''
  /api/v2/move-category/:
    get:
      operationId: move_category_list
      description: Very general categories that loosely group move effects.
      summary: List move meta categories
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveMetaCategorySummaryList'
          description: ''
  /api/v2/move-category/{id}/:
    get:
      operationId: move_category_retrieve
      description: Very general categories that loosely group move effects.
      summary: Get move meta category
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveMetaCategoryDetail'
          description: ''
  /api/v2/move-damage-class/:
    get:
      operationId: move_damage_class_list
      description: Damage classes moves can have, e.g. physical, special, or non-damaging.
      summary: List move damage classes
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveDamageClassSummaryList'
          description: ''
  /api/v2/move-damage-class/{id}/:
    get:
      operationId: move_damage_class_retrieve
      description: Damage classes moves can have, e.g. physical, special, or non-damaging.
      summary: Get move damage class
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveDamageClassDetail'
          description: ''
  /api/v2/move-learn-method/:
    get:
      operationId: move_learn_method_list
      description: Methods by which Pokémon can learn moves.
      summary: List move learn methods
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveLearnMethodSummaryList'
          description: ''
  /api/v2/move-learn-method/{id}/:
    get:
      operationId: move_learn_method_retrieve
      description: Methods by which Pokémon can learn moves.
      summary: Get move learn method
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveLearnMethodDetail'
          description: ''
  /api/v2/move-target/:
    get:
      operationId: move_target_list
      description: Targets moves can be directed at during battle. Targets can be
        Pokémon, environments or even other moves.
      summary: List move targets
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMoveTargetSummaryList'
          description: ''
  /api/v2/move-target/{id}/:
    get:
      operationId: move_target_retrieve
      description: Targets moves can be directed at during battle. Targets can be
        Pokémon, environments or even other moves.
      summary: Get move target
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - moves
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveTargetDetail'
          description: ''
  /api/v2/nature/:
    get:
      operationId: nature_list
      description: Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature)
        for greater detail.
      summary: List natures
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNatureSummaryList'
          description: ''
  /api/v2/nature/{id}/:
    get:
      operationId: nature_retrieve
      description: Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature)
        for greater detail.
      summary: Get nature
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatureDetail'
          description: ''
  /api/v2/pal-park-area/:
    get:
      operationId: pal_park_area_list
      description: Areas used for grouping Pokémon encounters in Pal Park. They're
        like habitats that are specific to Pal Park.
      summary: List pal park areas
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPalParkAreaSummaryList'
          description: ''
  /api/v2/pal-park-area/{id}/:
    get:
      operationId: pal_park_area_retrieve
      description: Areas used for grouping Pokémon encounters in Pal Park. They're
        like habitats that are specific to Pal Park.
      summary: Get pal park area
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PalParkAreaDetail'
          description: ''
  /api/v2/pokedex/:
    get:
      operationId: pokedex_list
      description: A Pokédex is a handheld electronic encyclopedia device; one which
        is capable of recording and retaining information of the various Pokémon in
        a given region with the exception of the national dex and some smaller dexes
        related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex)
        for greater detail.
      summary: List pokedex
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokedexSummaryList'
          description: ''
  /api/v2/pokedex/{id}/:
    get:
      operationId: pokedex_retrieve
      description: A Pokédex is a handheld electronic encyclopedia device; one which
        is capable of recording and retaining information of the various Pokémon in
        a given region with the exception of the national dex and some smaller dexes
        related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex)
        for greater detail.
      summary: Get pokedex
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokedexDetail'
          description: ''
  /api/v2/pokemon/:
    get:
      operationId: pokemon_list
      description: Pokémon are the creatures that inhabit the world of the Pokémon
        games. They can be caught using Pokéballs and trained by battling with other
        Pokémon. Each Pokémon belongs to a specific species but may take on a variant
        which makes it differ from other Pokémon of the same species, such as base
        stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species))
        for greater detail.
      summary: List pokemon
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonSummaryList'
          description: ''
  /api/v2/pokemon/{id}/:
    get:
      operationId: pokemon_retrieve
      description: Pokémon are the creatures that inhabit the world of the Pokémon
        games. They can be caught using Pokéballs and trained by battling with other
        Pokémon. Each Pokémon belongs to a specific species but may take on a variant
        which makes it differ from other Pokémon of the same species, such as base
        stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species))
        for greater detail.
      summary: Get pokemon
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonDetail'
          description: ''
  /api/v2/pokemon-color/:
    get:
      operationId: pokemon_color_list
      description: Colors used for sorting Pokémon in a Pokédex. The color listed
        in the Pokédex is usually the color most apparent or covering each Pokémon's
        body. No orange category exists; Pokémon that are primarily orange are listed
        as red or brown.
      summary: List pokemon colors
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonColorSummaryList'
          description: ''
  /api/v2/pokemon-color/{id}/:
    get:
      operationId: pokemon_color_retrieve
      description: Colors used for sorting Pokémon in a Pokédex. The color listed
        in the Pokédex is usually the color most apparent or covering each Pokémon's
        body. No orange category exists; Pokémon that are primarily orange are listed
        as red or brown.
      summary: Get pokemon color
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonColorDetail'
          description: ''
  /api/v2/pokemon-form/:
    get:
      operationId: pokemon_form_list
      description: Some Pokémon may appear in one of multiple, visually different
        forms. These differences are purely cosmetic. For variations within a Pokémon
        species, which do differ in more than just visuals, the 'Pokémon' entity is
        used to represent such a variety.
      summary: List pokemon forms
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonFormSummaryList'
          description: ''
  /api/v2/pokemon-form/{id}/:
    get:
      operationId: pokemon_form_retrieve
      description: Some Pokémon may appear in one of multiple, visually different
        forms. These differences are purely cosmetic. For variations within a Pokémon
        species, which do differ in more than just visuals, the 'Pokémon' entity is
        used to represent such a variety.
      summary: Get pokemon form
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonFormDetail'
          description: ''
  /api/v2/pokemon-habitat/:
    get:
      operationId: pokemon_habitat_list
      description: Habitats are generally different terrain Pokémon can be found in
        but can also be areas designated for rare or legendary Pokémon.
      summary: List pokemom habitas
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonHabitatSummaryList'
          description: ''
  /api/v2/pokemon-habitat/{id}/:
    get:
      operationId: pokemon_habitat_retrieve
      description: Habitats are generally different terrain Pokémon can be found in
        but can also be areas designated for rare or legendary Pokémon.
      summary: Get pokemom habita
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonHabitatDetail'
          description: ''
  /api/v2/pokemon-shape/:
    get:
      operationId: pokemon_shape_list
      description: Shapes used for sorting Pokémon in a Pokédex.
      summary: List pokemon shapes
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonShapeSummaryList'
          description: ''
  /api/v2/pokemon-shape/{id}/:
    get:
      operationId: pokemon_shape_retrieve
      description: Shapes used for sorting Pokémon in a Pokédex.
      summary: Get pokemon shape
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonShapeDetail'
          description: ''
  /api/v2/pokemon-species/:
    get:
      operationId: pokemon_species_list
      description: A Pokémon Species forms the basis for at least one Pokémon. Attributes
        of a Pokémon species are shared across all varieties of Pokémon within the
        species. A good example is Wormadam; Wormadam is the species which can be
        found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant.
      summary: List pokemon species
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokemonSpeciesSummaryList'
          description: ''
  /api/v2/pokemon-species/{id}/:
    get:
      operationId: pokemon_species_retrieve
      description: A Pokémon Species forms the basis for at least one Pokémon. Attributes
        of a Pokémon species are shared across all varieties of Pokémon within the
        species. A good example is Wormadam; Wormadam is the species which can be
        found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant.
      summary: Get pokemon species
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokemonSpeciesDetail'
          description: ''
  /api/v2/pokeathlon-stat/:
    get:
      operationId: pokeathlon_stat_list
      description: Pokeathlon Stats are different attributes of a Pokémon's performance
        in Pokéathlons. In Pokéathlons, competitions happen on different courses;
        one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon)
        for greater detail.
      summary: List pokeathlon stats
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPokeathlonStatSummaryList'
          description: ''
  /api/v2/pokeathlon-stat/{id}/:
    get:
      operationId: pokeathlon_stat_retrieve
      description: Pokeathlon Stats are different attributes of a Pokémon's performance
        in Pokéathlons. In Pokéathlons, competitions happen on different courses;
        one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon)
        for greater detail.
      summary: Get pokeathlon stat
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PokeathlonStatDetail'
          description: ''
  /api/v2/region/:
    get:
      operationId: region_list
      description: A region is an organized area of the Pokémon world. Most often,
        the main difference between regions is the species of Pokémon that can be
        encountered within them.
      summary: List regions
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRegionSummaryList'
          description: ''
  /api/v2/region/{id}/:
    get:
      operationId: region_retrieve
      description: A region is an organized area of the Pokémon world. Most often,
        the main difference between regions is the species of Pokémon that can be
        encountered within them.
      summary: Get region
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - location
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionDetail'
          description: ''
  /api/v2/stat/:
    get:
      operationId: stat_list
      description: Stats determine certain aspects of battles. Each Pokémon has a
        value for each stat which grows as they gain levels and can be altered momentarily
        by effects in battles.
      summary: List stats
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStatSummaryList'
          description: ''
  /api/v2/stat/{id}/:
    get:
      operationId: stat_retrieve
      description: Stats determine certain aspects of battles. Each Pokémon has a
        value for each stat which grows as they gain levels and can be altered momentarily
        by effects in battles.
      summary: Get stat
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatDetail'
          description: ''
  /api/v2/super-contest-effect/:
    get:
      operationId: super_contest_effect_list
      description: Super contest effects refer to the effects of moves when used in
        super contests.
      summary: List super contest effects
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSuperContestEffectSummaryList'
          description: ''
  /api/v2/super-contest-effect/{id}/:
    get:
      operationId: super_contest_effect_retrieve
      description: Super contest effects refer to the effects of moves when used in
        super contests.
      summary: Get super contest effect
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - contests
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuperContestEffectDetail'
          description: ''
  /api/v2/type/:
    get:
      operationId: type_list
      description: 'Types are properties for Pokémon and their moves. Each type has
        three properties: which types of Pokémon it is super effective against, which
        types of Pokémon it is not very effective against, and which types of Pokémon
        it is completely ineffective against.'
      summary: List types
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTypeSummaryList'
          description: ''
  /api/v2/type/{id}/:
    get:
      operationId: type_retrieve
      description: 'Types are properties for Pokémon and their moves. Each type has
        three properties: which types of Pokémon it is super effective against, which
        types of Pokémon it is not very effective against, and which types of Pokémon
        it is completely ineffective against.'
      summary: Get types
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - pokemon
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeDetail'
          description: ''
  /api/v2/version/:
    get:
      operationId: version_list
      description: Versions of the games, e.g., Red, Blue or Yellow.
      summary: List versions
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedVersionSummaryList'
          description: ''
  /api/v2/version/{id}/:
    get:
      operationId: version_retrieve
      description: Versions of the games, e.g., Red, Blue or Yellow.
      summary: Get version
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionDetail'
          description: ''
  /api/v2/version-group/:
    get:
      operationId: version_group_list
      description: Version groups categorize highly similar versions of the games.
      summary: List version groups
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: q
        schema:
          type: string
        description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive
          query applied on the `name` property. "
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedVersionGroupSummaryList'
          description: ''
  /api/v2/version-group/{id}/:
    get:
      operationId: version_group_retrieve
      description: Version groups categorize highly similar versions of the games.
      summary: Get version group
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: This parameter can be a string or an integer.
        required: true
      tags:
      - games
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionGroupDetail'
          description: ''
  /api/v2/pokemon/{pokemon_id}/encounters:
    get:
      operationId: pokemon_encounters_retrieve
      description: Handles Pokemon Encounters as a sub-resource.
      summary: Get pokemon encounter
      parameters:
      - in: path
        name: pokemon_id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - encounters
      security:
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                  - location_area
                  - version_details
                  properties:
                    location_area:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          example: cerulean-city-area
                        url:
                          type: string
                          format: uri
                          example: https://pokeapi.co/api/v2/location-area/281/
                    version_details:
                      type: array
                      items:
                        type: object
                        required:
                        - encounter_details
                        - max_chance
                        - version
                        properties:
                          encounter_details:
                            type: array
                            items:
                              type: object
                              required:
                              - chance
                              - condition_values
                              - max_level
                              - method
                              - min_level
                              properties:
                                chance:
                                  type: number
                                  example: 100
                                condition_values:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                    - name
                                    - url
                                    properties:
                                      name:
                                        type: string
                                        example: story-progress-beat-red
                                      url:
                                        type: string
                                        format: uri
                                        example: https://pokeapi.co/api/v2/encounter-condition-value/55/
                                max_level:
                                  type: number
                                  example: 10
                                method:
                                  type: object
                                  required:
                                  - name
                                  - url
                                  properties:
                                    name:
                                      type: string
                                      example: gift
                                    url:
                                      type: string
                                      format: uri
                                      example: https://pokeapi.co/api/v2/encounter-method/18/
                                min_level:
                                  type: number
                                  example: 10
                          max_chance:
                            type: number
                            example: 100
                          version:
                            type: object
                            required:
                            - name
                            - url
                            properties:
                              name:
                                type: string
                                example: red
                              url:
                                type: string
                                format: uri
                                example: https://pokeapi.co/api/v2/version/1/
          description: ''
components:
  schemas:
    AbilityChange:
      type: object
      properties:
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
        effect_entries:
          type: array
          items:
            $ref: '#/components/schemas/AbilityChangeEffectText'
          readOnly: true
      required:
      - effect_entries
      - version_group
    AbilityChangeEffectText:
      type: object
      properties:
        effect:
          type: string
          maxLength: 6000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - effect
      - language
    AbilityDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        is_main_series:
          type: boolean
        generation:
          $ref: '#/components/schemas/GenerationSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/AbilityName'
          readOnly: true
        effect_entries:
          type: array
          items:
            $ref: '#/components/schemas/AbilityEffectText'
          readOnly: true
        effect_changes:
          type: array
          items:
            $ref: '#/components/schemas/AbilityChange'
          readOnly: true
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/AbilityFlavorText'
          readOnly: true
        pokemon:
          type: array
          items:
            type: object
            required:
            - is_hidden
            - slot
            - pokemon
            properties:
              is_hidden:
                type: boolean
              slot:
                type: integer
                format: int32
                examples:
                - 3
              pokemon:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - gloom
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon/44/
          readOnly: true
      required:
      - effect_changes
      - effect_entries
      - flavor_text_entries
      - generation
      - id
      - name
      - names
      - pokemon
    AbilityEffectText:
      type: object
      properties:
        effect:
          type: string
          maxLength: 6000
        short_effect:
          type: string
          maxLength: 300
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - effect
      - language
      - short_effect
    AbilityFlavorText:
      type: object
      properties:
        flavor_text:
          type: string
        language:
          $ref: '#/components/schemas/LanguageSummary'
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
      required:
      - flavor_text
      - language
      - version_group
    AbilityName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    AbilitySummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    BerryDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        growth_time:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        max_harvest:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        natural_gift_power:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        size:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        smoothness:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        soil_dryness:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        firmness:
          $ref: '#/components/schemas/BerryFirmnessSummary'
        flavors:
          type: array
          items:
            type: object
            required:
            - potency
            - flavor
            properties:
              potency:
                type: integer
                examples:
                - 10
              flavor:
                type: object
                require:
                - name
                - url
                properties:
                  name:
                    type: string
                    description: The name of the flavor
                    examples:
                    - spicy
                  url:
                    type: string
                    format: uri
                    description: The URL to get more information about the flavor
                    examples:
                    - https://pokeapi.co/api/v2/berry-flavor/1/
          readOnly: true
        item:
          $ref: '#/components/schemas/ItemSummary'
        natural_gift_type:
          $ref: '#/components/schemas/TypeSummary'
      required:
      - firmness
      - flavors
      - id
      - item
      - name
      - natural_gift_type
    BerryFirmnessDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        berries:
          type: array
          items:
            $ref: '#/components/schemas/BerrySummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/BerryFirmnessName'
          readOnly: true
      required:
      - berries
      - id
      - name
      - names
    BerryFirmnessName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    BerryFirmnessSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    BerryFlavorDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        berries:
          type: array
          items:
            type: object
            required:
            - potency
            - berry
            properties:
              potency:
                type: integer
                examples:
                - 10
              berry:
                type: object
                require:
                - name
                - url
                properties:
                  name:
                    type: string
                    description: The name of the berry
                    examples:
                    - rowap
                  url:
                    type: string
                    format: uri
                    description: The URL to get more information about the berry
                    examples:
                    - https://pokeapi.co/api/v2/berry/64/
          readOnly: true
        contest_type:
          $ref: '#/components/schemas/ContestTypeSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/BerryFlavorName'
          readOnly: true
      required:
      - berries
      - contest_type
      - id
      - name
      - names
    BerryFlavorName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    BerryFlavorSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    BerrySummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    CharacteristicDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    CharacteristicDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        gene_modulo:
          type: integer
        possible_values:
          type: array
          items:
            type: integer
            format: int32
          examples:
          - - 0
            - 5
            - 10
            - 15
            - 20
            - 25
            - 30
          readOnly: true
        highest_stat:
          $ref: '#/components/schemas/StatSummary'
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/CharacteristicDescription'
          readOnly: true
      required:
      - descriptions
      - gene_modulo
      - highest_stat
      - id
      - possible_values
    CharacteristicSummary:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
    ContestEffectDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        appeal:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        jam:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        effect_entries:
          type: array
          items:
            $ref: '#/components/schemas/ContestEffectEffectText'
          readOnly: true
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/ContestEffectFlavorText'
          readOnly: true
      required:
      - appeal
      - effect_entries
      - flavor_text_entries
      - id
      - jam
    ContestEffectEffectText:
      type: object
      properties:
        effect:
          type: string
          maxLength: 6000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - effect
      - language
    ContestEffectFlavorText:
      type: object
      properties:
        flavor_text:
          type: string
          maxLength: 500
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - flavor_text
      - language
    ContestEffectSummary:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
    ContestTypeDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        berry_flavor:
          allOf:
          - $ref: '#/components/schemas/BerryFlavorSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/ContestTypeName'
          readOnly: true
      required:
      - berry_flavor
      - id
      - name
      - names
    ContestTypeName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        color:
          type: string
          maxLength: 10
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - color
      - language
      - name
    ContestTypeSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    CurrencyDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/CurrencyName'
          readOnly: true
      required:
      - id
      - name
      - names
    CurrencyName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    CurrencySummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    EggGroupDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/EggGroupName'
          readOnly: true
        pokemon_species:
          type: array
          items:
            type: object
            required:
            - potency
            - flavor
            properties:
              name:
                type: string
                description: Pokemon species name.
                examples:
                - bulbasaur
              url:
                type: string
                format: uri
                description: The URL to get more information about the species
                examples:
                - https://pokeapi.co/api/v2/pokemon-species/1/
          readOnly: true
      required:
      - id
      - name
      - names
      - pokemon_species
    EggGroupName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    EggGroupSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    EncounterConditionDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        values:
          type: array
          items:
            $ref: '#/components/schemas/EncounterConditionValueSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/EncounterConditionName'
          readOnly: true
      required:
      - id
      - name
      - names
      - values
    EncounterConditionName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    EncounterConditionSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    EncounterConditionValueDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        condition:
          $ref: '#/components/schemas/EncounterConditionSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/EncounterConditionValueName'
          readOnly: true
      required:
      - condition
      - id
      - name
      - names
    EncounterConditionValueName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    EncounterConditionValueSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    EncounterMethodDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        names:
          type: array
          items:
            $ref: '#/components/schemas/EncounterMethodName'
          readOnly: true
      required:
      - id
      - name
      - names
    EncounterMethodName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    EncounterMethodSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    EvolutionChainDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        baby_trigger_item:
          $ref: '#/components/schemas/ItemSummary'
        chain:
          type: object
          required:
          - evolution_details
          - evolves_to
          - is_baby
          - species
          properties:
            evolution_details:
              type: array
              items: {}
              examples: []
            evolves_to:
              type: array
              items:
                type: object
                required:
                - evolution_details
                - evolves_to
                - is_baby
                - species
                properties:
                  evolution_details:
                    type: array
                    items:
                      type: object
                      required:
                      - version_group
                      - is_default
                      - gender
                      - held_item
                      - item
                      - known_move
                      - known_move_type
                      - location
                      - min_affection
                      - min_beauty
                      - min_damage_taken
                      - min_happiness
                      - min_level
                      - min_move_count
                      - min_steps
                      - near_special_rock
                      - needs_multiplayer
                      - needs_overworld_rain
                      - party_species
                      - party_type
                      - relative_physical_stats
                      - time_of_day
                      - trade_species
                      - trigger
                      - turn_upside_down
                      - used_move
                      - region
                      - base_form
                      - evolved_form
                      properties:
                        version_group:
                          type: object
                          nullable: false
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - 1
                            url:
                              type: string
                              format: uri
                              examples:
                              - 2
                        is_default:
                          type: boolean
                        gender:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - 1
                            url:
                              type: string
                              format: uri
                              examples:
                              - 2
                        held_item:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - 1
                            url:
                              type: string
                              format: uri
                              examples:
                              - 2
                        item:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - 1
                            url:
                              type: string
                              format: uri
                              examples:
                              - 2
                        known_move:
                          type: ''
                          nullable: true
                        known_move_type:
                          type: ''
                          nullable: true
                        location:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                            url:
                              type: string
                              format: uri
                        min_affection:
                          type: integer
                          format: int32
                          nullable: true
                        min_beauty:
                          type: integer
                          format: int32
                          nullable: true
                        min_damage_taken:
                          type: integer
                          format: int32
                          nullable: true
                        min_happiness:
                          type: integer
                          format: int32
                          nullable: true
                        min_level:
                          type: integer
                          format: int32
                          nullable: true
                        min_move_count:
                          type: integer
                          format: int32
                          nullable: true
                        min_steps:
                          type: integer
                          format: int32
                          nullable: true
                        near_special_rock:
                          type: boolean
                          nullable: true
                        needs_multiplayer:
                          type: boolean
                          nullable: true
                        needs_overworld_rain:
                          type: boolean
                          nullable: true
                        party_species:
                          type: string
                          nullable: true
                        party_type:
                          type: string
                          nullable: true
                        relative_physical_stats:
                          type: string
                          nullable: true
                        time_of_day:
                          type: string
                        trade_species:
                          type: string
                          nullable: true
                        trigger:
                          type: object
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                            url:
                              type: string
                              format: uri
                        turn_upside_down:
                          type: boolean
                        used_move:
                          type: ''
                          nullable: true
                        region:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                            url:
                              type: string
                              format: uri
                        base_form:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                            url:
                              type: string
                              format: uri
                        evolved_form:
                          type: object
                          nullable: true
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                            url:
                              type: string
                              format: uri
                  is_baby:
                    type: boolean
                  species:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - happiny
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/pokemon-species/440/
            is_baby:
              type: boolean
            species:
              type: object
              required:
              - name
              - url
              properties:
                name:
                  type: string
                  examples:
                  - happiny
                url:
                  type: string
                  format: uri
                  examples:
                  - https://pokeapi.co/api/v2/pokemon-species/440/
          readOnly: true
      required:
      - baby_trigger_item
      - chain
      - id
    EvolutionChainSummary:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
    EvolutionTriggerDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/EvolutionTriggerName'
          readOnly: true
        pokemon_species:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - ivysaur
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/pokemon-species/2/
          readOnly: true
      required:
      - id
      - name
      - names
      - pokemon_species
    EvolutionTriggerName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    EvolutionTriggerSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    Experience:
      type: object
      properties:
        level:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        experience:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
      required:
      - experience
      - level
    GenderDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        pokemon_species_details:
          type: array
          items:
            type: object
            required:
            - rate
            - pokemon_species
            properties:
              rate:
                type: integer
                format: int32
                examples:
                - 1
              pokemon_species:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bulbasaur
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon-species/1/
          readOnly: true
        required_for_evolution:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - wormadam
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/pokemon-species/413/
          readOnly: true
      required:
      - id
      - name
      - pokemon_species_details
      - required_for_evolution
    GenderSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    GenerationDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        abilities:
          type: array
          items:
            $ref: '#/components/schemas/AbilitySummary'
          readOnly: true
        main_region:
          $ref: '#/components/schemas/RegionSummary'
        moves:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/GenerationName'
          readOnly: true
        pokemon_species:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
          readOnly: true
        types:
          type: array
          items:
            $ref: '#/components/schemas/TypeSummary'
          readOnly: true
        version_groups:
          type: array
          items:
            $ref: '#/components/schemas/VersionGroupSummary'
          readOnly: true
      required:
      - abilities
      - id
      - main_region
      - moves
      - name
      - names
      - pokemon_species
      - types
      - version_groups
    GenerationName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    GenerationSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    GrowthRateDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    GrowthRateDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        formula:
          type: string
          maxLength: 500
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/GrowthRateDescription'
          readOnly: true
        levels:
          type: array
          items:
            $ref: '#/components/schemas/Experience'
          readOnly: true
        pokemon_species:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
          readOnly: true
      required:
      - descriptions
      - formula
      - id
      - levels
      - name
      - pokemon_species
    GrowthRateSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    ItemAttributeDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    ItemAttributeDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/ItemAttributeDescription'
          readOnly: true
        items:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - master-ball
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/item/1/
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/ItemAttributeName'
          readOnly: true
      required:
      - descriptions
      - id
      - items
      - name
      - names
    ItemAttributeName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    ItemAttributeSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    ItemCategoryDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/ItemCategoryName'
          readOnly: true
        pocket:
          $ref: '#/components/schemas/ItemPocketSummary'
      required:
      - id
      - items
      - name
      - names
      - pocket
    ItemCategoryName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    ItemCategorySummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    ItemDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        fling_power:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        fling_effect:
          $ref: '#/components/schemas/ItemFlingEffectSummary'
        attributes:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - countable
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/item-attribute/1/
          readOnly: true
        category:
          $ref: '#/components/schemas/ItemCategorySummary'
        effect_entries:
          type: array
          items:
            $ref: '#/components/schemas/ItemEffectText'
          readOnly: true
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/ItemFlavorText'
          readOnly: true
        game_indices:
          type: array
          items:
            $ref: '#/components/schemas/ItemGameIndex'
          readOnly: true
        prices:
          type: array
          items:
            $ref: '#/components/schemas/ItemPrice'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/ItemName'
          readOnly: true
        held_by_pokemon:
          type: array
          items:
            type: object
            required:
            - pokemon
            - version-details
            properties:
              pokemon:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - farfetchd
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon/83/
              version-details:
                type: array
                items:
                  type: object
                  required:
                  - rarity
                  - version
                  properties:
                    rarity:
                      type: integer
                      format: int32
                      examples:
                      - 5
                    version:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - ruby
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/version/7/
          readOnly: true
        sprites:
          type: object
          required:
          - default
          properties:
            default:
              type: string
              format: uri
              examples:
              - https://pokeapi.co/media/sprites/items/master-ball.png
          readOnly: true
        baby_trigger_for:
          type: object
          required:
          - url
          properties:
            url:
              type: string
              format: uri
              examples:
              - https://pokeapi.co/api/v2/evolution-chain/51/
          readOnly: true
        machines:
          type: array
          items:
            type: object
            required:
            - machine
            - version_group
            properties:
              machine:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/machine/1/
              version_group:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - sword-shield
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/version-group/20/
          readOnly: true
      required:
      - attributes
      - baby_trigger_for
      - category
      - effect_entries
      - flavor_text_entries
      - fling_effect
      - game_indices
      - held_by_pokemon
      - id
      - machines
      - name
      - names
      - prices
      - sprites
    ItemEffectText:
      type: object
      properties:
        effect:
          type: string
          maxLength: 6000
        short_effect:
          type: string
          maxLength: 300
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - effect
      - language
      - short_effect
    ItemFlavorText:
      type: object
      properties:
        text:
          type: string
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - text
      - version_group
    ItemFlingEffectDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        effect_entries:
          type: array
          items:
            $ref: '#/components/schemas/ItemFlingEffectEffectText'
          readOnly: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemSummary'
          readOnly: true
      required:
      - effect_entries
      - id
      - items
      - name
    ItemFlingEffectEffectText:
      type: object
      properties:
        effect:
          type: string
          maxLength: 6000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - effect
      - language
    ItemFlingEffectSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    ItemGameIndex:
      type: object
      properties:
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        generation:
          $ref: '#/components/schemas/GenerationSummary'
      required:
      - game_index
      - generation
    ItemName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    ItemPocketDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        categories:
          type: array
          items:
            $ref: '#/components/schemas/ItemCategorySummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/ItemPocketName'
          readOnly: true
      required:
      - categories
      - id
      - name
      - names
    ItemPocketName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    ItemPocketSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    ItemPrice:
      type: object
      properties:
        purchase_price:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        sell_price:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        currency:
          $ref: '#/components/schemas/CurrencySummary'
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
      required:
      - currency
      - version_group
    ItemSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    LanguageDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        official:
          type: boolean
        iso639:
          type: string
          maxLength: 10
        iso3166:
          type: string
          maxLength: 2
        names:
          type: array
          items:
            $ref: '#/components/schemas/LanguageName'
          readOnly: true
      required:
      - id
      - iso3166
      - iso639
      - name
      - names
    LanguageName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    LanguageSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    LocationAreaDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        encounter_method_rates:
          type: array
          items:
            type: object
            required:
            - encounter_method
            - version_details
            properties:
              encounter_method:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - old-rod
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/encounter-method/2/
              version_details:
                type: array
                items:
                  type: object
                  required:
                  - rate
                  - version
                  properties:
                    rate:
                      type: integer
                      format: int32
                      examples:
                      - 5
                    version:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - platinum
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/version/14/
          readOnly: true
        location:
          $ref: '#/components/schemas/LocationSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/LocationAreaName'
          readOnly: true
        pokemon_encounters:
          type: array
          items:
            type: object
            required:
            - pokemon
            - version_details
            properties:
              pokemon:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - tentacool
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon/72/
              version_details:
                type: array
                items:
                  type: object
                  required:
                  - version
                  - max_chance
                  - encounter_details
                  properties:
                    version:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - diamond
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/version/12/
                    max_chance:
                      type: integer
                      format: int32
                      examples:
                      - 60
                    encounter_details:
                      type: object
                      required:
                      - min_level
                      - max_level
                      - condition_value
                      - chance
                      - method
                      properties:
                        min_level:
                          type: integer
                          format: int32
                          examples:
                          - 20
                        max_level:
                          type: integer
                          format: int32
                          examples:
                          - 30
                        condition_values:
                          type: object
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - slot2-sapphire
                            url:
                              type: string
                              format: uri
                              examples:
                              - https://pokeapi.co/api/v2/encounter-condition-value/10/
                        chance:
                          type: integer
                          format: int32
                          examples:
                          - 60
                        method:
                          type: object
                          required:
                          - name
                          - url
                          properties:
                            name:
                              type: string
                              examples:
                              - surf
                            url:
                              type: string
                              format: uri
                              examples:
                              - https://pokeapi.co/api/v2/encounter-method/5/
          readOnly: true
      required:
      - encounter_method_rates
      - game_index
      - id
      - location
      - name
      - names
      - pokemon_encounters
    LocationAreaName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    LocationAreaSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    LocationDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        region:
          $ref: '#/components/schemas/RegionSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/LocationName'
          readOnly: true
        game_indices:
          type: array
          items:
            $ref: '#/components/schemas/LocationGameIndex'
          readOnly: true
        areas:
          type: array
          items:
            $ref: '#/components/schemas/LocationAreaSummary'
          readOnly: true
      required:
      - areas
      - game_indices
      - id
      - name
      - names
      - region
    LocationGameIndex:
      type: object
      properties:
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        generation:
          $ref: '#/components/schemas/GenerationSummary'
      required:
      - game_index
      - generation
    LocationName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    LocationSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MachineDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        item:
          $ref: '#/components/schemas/ItemSummary'
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
        move:
          $ref: '#/components/schemas/MoveSummary'
      required:
      - id
      - item
      - move
      - version_group
    MachineSummary:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
    MoveBattleStyleDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveBattleStyleName'
          readOnly: true
      required:
      - id
      - name
      - names
    MoveBattleStyleName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveBattleStyleSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveChange:
      type: object
      properties:
        accuracy:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        power:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        pp:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        effect_chance:
          type: integer
        effect_entries:
          type: array
          items:
            type: object
            required:
            - effect
            - short_effect
            - language
            properties:
              effect:
                type: string
                examples:
                - Inflicts regular damage.
              short_effect:
                type: string
                examples:
                - Inflicts regular damage with no additional effect.
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
          readOnly: true
        type:
          $ref: '#/components/schemas/TypeSummary'
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
      required:
      - effect_chance
      - effect_entries
      - type
      - version_group
    MoveDamageClassDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    MoveDamageClassDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/MoveDamageClassDescription'
          readOnly: true
        moves:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveDamageClassName'
          readOnly: true
      required:
      - descriptions
      - id
      - moves
      - name
      - names
    MoveDamageClassName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveDamageClassSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        accuracy:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        effect_chance:
          type: integer
        pp:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        priority:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        power:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        contest_combos:
          type: object
          required:
          - normal
          - super
          properties:
            normal:
              type: object
              required:
              - use_before
              - use_after
              properties:
                use_before:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - fire-punch
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/7/
                use_after:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - ice-punch
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/8/
            super:
              type: object
              required:
              - use_before
              - use_after
              properties:
                use_before:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - night-slash
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/400/
                use_after:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - focus-energy
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/116/
          readOnly: true
        contest_type:
          $ref: '#/components/schemas/ContestTypeSummary'
        contest_effect:
          $ref: '#/components/schemas/ContestEffectSummary'
        damage_class:
          $ref: '#/components/schemas/MoveDamageClassSummary'
        effect_entries:
          type: array
          items:
            type: object
            required:
            - effect
            - short_effect
            - language
            properties:
              effect:
                type: string
                examples:
                - Inflicts regular damage.
              short_effect:
                type: string
                examples:
                - Inflicts regular damage with no additional effect.
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
          readOnly: true
        effect_changes:
          type: array
          items:
            type: object
            required:
            - effect_entries
            - version_group
            properties:
              effect_entries:
                type: array
                items:
                  type: object
                  required:
                  - effect
                  - language
                  properties:
                    effect:
                      type: string
                      examples:
                      - Hits Pokémon under the effects of dig and fly.
                    language:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - en
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/language/9/
              version_group:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - gold-silver
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/version-group/3/
          readOnly: true
        generation:
          $ref: '#/components/schemas/GenerationSummary'
        meta:
          allOf:
          - $ref: '#/components/schemas/MoveMeta'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveName'
          readOnly: true
        past_values:
          type: array
          items:
            $ref: '#/components/schemas/MoveChange'
          readOnly: true
        stat_changes:
          type: array
          items:
            type: object
            required:
            - change
            - stat
            properties:
              change:
                type: integer
                format: int32
                examples:
                - 2
              stat:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - attack
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/stat/1/
          readOnly: true
        super_contest_effect:
          $ref: '#/components/schemas/SuperContestEffectSummary'
        target:
          $ref: '#/components/schemas/MoveTargetSummary'
        type:
          $ref: '#/components/schemas/TypeSummary'
        machines:
          type: array
          items:
            type: object
            required:
            - machine
            - version_group
            properties:
              machine:
                type: object
                required:
                - url
                properties:
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/machine/1/
              version_group:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - sword-shield
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/version-group/1/
          readOnly: true
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/MoveFlavorText'
          readOnly: true
        learned_by_pokemon:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - clefairy
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/pokemon/35/
          readOnly: true
      required:
      - contest_combos
      - contest_effect
      - contest_type
      - damage_class
      - effect_chance
      - effect_changes
      - effect_entries
      - flavor_text_entries
      - generation
      - id
      - learned_by_pokemon
      - machines
      - meta
      - name
      - names
      - past_values
      - stat_changes
      - super_contest_effect
      - target
      - type
    MoveFlavorText:
      type: object
      properties:
        flavor_text:
          type: string
        language:
          $ref: '#/components/schemas/LanguageSummary'
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
      required:
      - flavor_text
      - language
      - version_group
    MoveLearnMethodDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    MoveLearnMethodDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveLearnMethodName'
          readOnly: true
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/MoveLearnMethodDescription'
          readOnly: true
        version_groups:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - red-blue
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/version-group/1/
          readOnly: true
      required:
      - descriptions
      - id
      - name
      - names
      - version_groups
    MoveLearnMethodName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveLearnMethodSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveMeta:
      type: object
      properties:
        ailment:
          $ref: '#/components/schemas/MoveMetaAilmentSummary'
        category:
          $ref: '#/components/schemas/MoveMetaCategorySummary'
        min_hits:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        max_hits:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        min_turns:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        max_turns:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        drain:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        healing:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        crit_rate:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        ailment_chance:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        flinch_chance:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        stat_chance:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
      required:
      - ailment
      - category
    MoveMetaAilmentDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        moves:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - thunder-punch
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/move/9/
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveMetaAilmentName'
          readOnly: true
      required:
      - id
      - moves
      - name
      - names
    MoveMetaAilmentName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveMetaAilmentSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveMetaCategoryDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    MoveMetaCategoryDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/MoveMetaCategoryDescription'
          readOnly: true
        moves:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - sing
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/move/47/
          readOnly: true
      required:
      - descriptions
      - id
      - moves
      - name
    MoveMetaCategorySummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    MoveTargetDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    MoveTargetDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/MoveTargetDescription'
          readOnly: true
        moves:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/MoveTargetName'
          readOnly: true
      required:
      - descriptions
      - id
      - moves
      - name
      - names
    MoveTargetName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    MoveTargetSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    NatureBattleStylePreference:
      type: object
      properties:
        low_hp_preference:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        high_hp_preference:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        move_battle_style:
          $ref: '#/components/schemas/MoveBattleStyleSummary'
      required:
      - high_hp_preference
      - low_hp_preference
      - move_battle_style
    NatureDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        decreased_stat:
          $ref: '#/components/schemas/StatSummary'
        increased_stat:
          $ref: '#/components/schemas/StatSummary'
        likes_flavor:
          $ref: '#/components/schemas/BerryFlavorSummary'
        hates_flavor:
          $ref: '#/components/schemas/BerryFlavorSummary'
        berries:
          type: array
          items:
            $ref: '#/components/schemas/BerrySummary'
          readOnly: true
        pokeathlon_stat_changes:
          type: array
          items:
            type: object
            required:
            - max_change
            - pokeathlon_stat
            properties:
              max_change:
                type: integer
                format: int32
                examples:
                - 1
              pokeathlon_stat:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - power
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokeathlon-stat/2/
          readOnly: true
        move_battle_style_preferences:
          type: array
          items:
            $ref: '#/components/schemas/NatureBattleStylePreference'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/NatureName'
          readOnly: true
      required:
      - berries
      - decreased_stat
      - hates_flavor
      - id
      - increased_stat
      - likes_flavor
      - move_battle_style_preferences
      - name
      - names
      - pokeathlon_stat_changes
    NatureName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    NatureSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PaginatedAbilitySummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/AbilitySummary'
    PaginatedBerryFirmnessSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BerryFirmnessSummary'
    PaginatedBerryFlavorSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BerryFlavorSummary'
    PaginatedBerrySummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BerrySummary'
    PaginatedCharacteristicSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CharacteristicSummary'
    PaginatedContestEffectSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ContestEffectSummary'
    PaginatedContestTypeSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ContestTypeSummary'
    PaginatedCurrencySummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CurrencySummary'
    PaginatedEggGroupSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EggGroupSummary'
    PaginatedEncounterConditionSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EncounterConditionSummary'
    PaginatedEncounterConditionValueSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EncounterConditionValueSummary'
    PaginatedEncounterMethodSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EncounterMethodSummary'
    PaginatedEvolutionChainSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EvolutionChainSummary'
    PaginatedEvolutionTriggerSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EvolutionTriggerSummary'
    PaginatedGenderSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/GenderSummary'
    PaginatedGenerationSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/GenerationSummary'
    PaginatedGrowthRateSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/GrowthRateSummary'
    PaginatedItemAttributeSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ItemAttributeSummary'
    PaginatedItemCategorySummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ItemCategorySummary'
    PaginatedItemFlingEffectSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ItemFlingEffectSummary'
    PaginatedItemPocketSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ItemPocketSummary'
    PaginatedItemSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ItemSummary'
    PaginatedLanguageSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/LanguageSummary'
    PaginatedLocationAreaSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/LocationAreaSummary'
    PaginatedLocationSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/LocationSummary'
    PaginatedMachineSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MachineSummary'
    PaginatedMoveBattleStyleSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveBattleStyleSummary'
    PaginatedMoveDamageClassSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveDamageClassSummary'
    PaginatedMoveLearnMethodSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveLearnMethodSummary'
    PaginatedMoveMetaAilmentSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveMetaAilmentSummary'
    PaginatedMoveMetaCategorySummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveMetaCategorySummary'
    PaginatedMoveSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
    PaginatedMoveTargetSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/MoveTargetSummary'
    PaginatedNatureSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/NatureSummary'
    PaginatedPalParkAreaSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PalParkAreaSummary'
    PaginatedPokeathlonStatSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokeathlonStatSummary'
    PaginatedPokedexSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokedexSummary'
    PaginatedPokemonColorSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonColorSummary'
    PaginatedPokemonFormSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonFormSummary'
    PaginatedPokemonHabitatSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonHabitatSummary'
    PaginatedPokemonShapeSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonShapeSummary'
    PaginatedPokemonSpeciesSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
    PaginatedPokemonSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSummary'
    PaginatedRegionSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/RegionSummary'
    PaginatedStatSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StatSummary'
    PaginatedSuperContestEffectSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SuperContestEffectSummary'
    PaginatedTypeSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/TypeSummary'
    PaginatedVersionGroupSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/VersionGroupSummary'
    PaginatedVersionSummaryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/VersionSummary'
    PalParkAreaDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/PalParkAreaName'
          readOnly: true
        pokemon_encounters:
          type: array
          items:
            type: object
            required:
            - base_score
            - pokemon-species
            - rate
            properties:
              base_score:
                type: integer
                format: int32
                examples:
                - 50
              pokemon-species:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bulbasaur
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon-species/1/
              rate:
                type: integer
                format: int32
                examples:
                - 30
          readOnly: true
      required:
      - id
      - name
      - names
      - pokemon_encounters
    PalParkAreaName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    PalParkAreaSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokeathlonStatDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        affecting_natures:
          type: object
          required:
          - decrease
          - increase
          properties:
            decrease:
              type: array
              items:
                type: object
                required:
                - max_change
                - nature
                properties:
                  max_change:
                    type: integer
                    format: int32
                    maximum: -1
                    examples:
                    - -1
                  nature:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - hardy
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/nature/1/
            increase:
              type: array
              items:
                type: object
                required:
                - max_change
                - nature
                properties:
                  max_change:
                    type: integer
                    format: int32
                    minimum: 1
                    examples:
                    - 2
                  nature:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - hardy
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/nature/1/
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/PokeathlonStatName'
          readOnly: true
      required:
      - affecting_natures
      - id
      - name
      - names
    PokeathlonStatName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    PokeathlonStatSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokedexDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    PokedexDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        is_main_series:
          type: boolean
        descriptions:
          type: array
          items:
            $ref: '#/components/schemas/PokedexDescription'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/PokedexName'
          readOnly: true
        pokemon_entries:
          type: array
          items:
            type: object
            required:
            - entry_number
            - pokemon_species
            properties:
              entry_number:
                type: integer
                format: int32
                examples:
                - 1
              pokemon_species:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bulbasaur
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon-species/1/
          readOnly: true
        region:
          $ref: '#/components/schemas/RegionSummary'
        version_groups:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - the-teal-mask
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/version-group/26/
          readOnly: true
      required:
      - descriptions
      - id
      - name
      - names
      - pokemon_entries
      - region
      - version_groups
    PokedexName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    PokedexSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonColorDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/PokemonColorName'
          readOnly: true
        pokemon_species:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
          readOnly: true
      required:
      - id
      - name
      - names
      - pokemon_species
    PokemonColorName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    PokemonColorSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        base_experience:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        height:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        is_default:
          type: boolean
        order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        weight:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        abilities:
          type: array
          items:
            type: object
            required:
            - ability
            - is_hidden
            - slot
            properties:
              ability:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - sand-veil
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/ability/8/
              is_hidden:
                type: boolean
              slot:
                type: integer
                format: int32
                examples:
                - 1
          readOnly: true
        past_abilities:
          type: array
          items:
            type: object
            required:
            - abilities
            - generation
            properties:
              abilities:
                type: array
                items:
                  type: object
                  required:
                  - ability
                  - is_hidden
                  - slot
                  properties:
                    ability:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - levitate
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/ability/26/
                    is_hidden:
                      type: boolean
                    slot:
                      type: integer
                      format: int32
                      examples:
                      - 1
              generation:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - generation-vi
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/generation/6/
          readOnly: true
        forms:
          type: array
          items:
            $ref: '#/components/schemas/PokemonFormSummary'
          readOnly: true
        game_indices:
          type: array
          items:
            $ref: '#/components/schemas/PokemonGameIndex'
          readOnly: true
        held_items:
          type: array
          items:
            type: object
            required:
            - item
            - version_details
            properties:
              item:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - soft-sand
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/item/214/
              version_details:
                type: array
                items:
                  type: object
                  required:
                  - rarity
                  - version
                  properties:
                    rarity:
                      type: integer
                      format: int32
                      examples:
                      - 5
                    version:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - diamond
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/version/12/
          readOnly: true
        location_area_encounters:
          type: string
          examples:
          - https://pokeapi.co/api/v2/pokemon/1/encounters
          readOnly: true
        moves:
          type: array
          items:
            type: object
            required:
            - move
            - version_group_details
            properties:
              move:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - scratch
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/move/10/
              version_group_details:
                type: array
                items:
                  type: object
                  required:
                  - level_learned_at
                  - move_learn_method
                  - version_group
                  properties:
                    level_learned_at:
                      type: integer
                      format: int32
                      examples:
                      - 1
                    move_learn_method:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - level-up
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/move-learn-method/1/
                    version_group:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - red-blue
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/version-group/1/
          readOnly: true
        species:
          $ref: '#/components/schemas/PokemonSpeciesSummary'
        sprites:
          type: object
          properties:
            front_default:
              type: string
              format: uri
              exmaple: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/1.png
          additionalProperties:
            type: string
            format: uri
            nullable: true
            examples:
            - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/1.png
          examples:
          - back_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/1.png
            back_female: null
            back_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/1.png
            back_shiny_female: null
            front_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png
            front_female: null
            front_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/1.png
            front_shiny_female: null
          readOnly: true
        cries:
          type: object
          required:
          - latest
          - legacy
          properties:
            latest:
              type: string
              format: uri
              examples:
              - https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/50.ogg
            legacy:
              type: string
              format: uri
              examples:
              - https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/50.ogg
          readOnly: true
        stats:
          type: array
          items:
            $ref: '#/components/schemas/PokemonStat'
          readOnly: true
        past_stats:
          type: array
          items:
            type: object
            required:
            - generation
            - stats
            properties:
              generation:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - generation-vi
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/generation/6/
              stats:
                type: array
                items:
                  type: object
                  required:
                  - base_stat
                  - effort
                  - stat
                  properties:
                    base_stat:
                      type: integer
                      format: int32
                      examples:
                      - 45
                    effort:
                      type: integer
                      format: int32
                      examples:
                      - 0
                    stat:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - speed
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/stat/6/
          readOnly: true
        types:
          type: array
          items:
            type: object
            required:
            - slot
            - type
            properties:
              slot:
                type: integer
                format: int32
                examples:
                - 1
              type:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - ghost
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/8/
          readOnly: true
        past_types:
          type: array
          items:
            type: object
            required:
            - generation
            - types
            properties:
              generation:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - generation-v
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/generation/5/
              types:
                type: array
                items:
                  type: object
                  required:
                  - slot
                  - type
                  properties:
                    slot:
                      type: integer
                      format: int32
                      examples:
                      - 1
                    type:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - normal
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/1/
          readOnly: true
      required:
      - abilities
      - cries
      - forms
      - game_indices
      - held_items
      - id
      - location_area_encounters
      - moves
      - name
      - past_abilities
      - past_stats
      - past_types
      - species
      - sprites
      - stats
      - types
    PokemonDexEntry:
      type: object
      properties:
        entry_number:
          type: integer
        pokedex:
          $ref: '#/components/schemas/PokedexSummary'
      required:
      - entry_number
      - pokedex
    PokemonFormDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        form_order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        is_default:
          type: boolean
        is_battle_only:
          type: boolean
        is_mega:
          type: boolean
        form_name:
          type: string
          maxLength: 30
        pokemon:
          $ref: '#/components/schemas/PokemonSummary'
        sprites:
          type: object
          properties:
            default:
              type: string
              format: uri
              examples:
              - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/412.png
          additionalProperties:
            type: string
            format: uri
            nullable: true
            examples:
            - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/412.png
          examples:
          - back_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/412.png
            back_female: null
            back_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/412.png
            back_shiny_female: null
            front_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/412.png
            front_female: null
            front_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/412.png
            front_shiny_female: null
          readOnly: true
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
        form_names:
          type: array
          items:
            type: object
            required:
            - language
            - name
            properties:
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
              name:
                type: string
                examples:
                - Plant Cloak
          readOnly: true
        names:
          type: array
          items:
            type: object
            required:
            - language
            - name
            properties:
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
              name:
                type: string
                examples:
                - Plant Cloak
          readOnly: true
        types:
          type: array
          items:
            type: object
            required:
            - slot
            - type
            properties:
              slot:
                type: integer
                format: int32
                examples:
                - 1
              type:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bug
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/7/
          readOnly: true
        trigger_conditions:
          type: array
          items:
            type: object
            required:
            - trigger
            - name
            - url
            properties:
              trigger:
                type: string
                examples:
                - held-item
              name:
                type: string
                examples:
                - venusaurite
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/item/698/
              base_form:
                type: object
                nullable: true
                properties:
                  name:
                    type: string
                    examples:
                    - necrozma-dusk
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon-form/10314/
          readOnly: true
      required:
      - form_name
      - form_names
      - id
      - name
      - names
      - pokemon
      - sprites
      - trigger_conditions
      - types
      - version_group
    PokemonFormSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonGameIndex:
      type: object
      properties:
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        version:
          $ref: '#/components/schemas/VersionSummary'
      required:
      - game_index
      - version
    PokemonHabitatDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/PokemonHabitatName'
          readOnly: true
        pokemon_species:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
          readOnly: true
      required:
      - id
      - name
      - names
      - pokemon_species
    PokemonHabitatName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    PokemonHabitatSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonShapeDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        awesome_names:
          type: array
          items:
            type: object
            required:
            - awesome_name
            - language
            properties:
              awesome_name:
                type: string
                examples:
                - Pomaceous
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
          readOnly: true
        names:
          type: array
          items:
            type: object
            required:
            - url
            - name
            properties:
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/language/9/
              name:
                type: string
                examples:
                - Ball
          readOnly: true
        pokemon_species:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesSummary'
          readOnly: true
      required:
      - awesome_names
      - id
      - name
      - names
      - pokemon_species
    PokemonShapeSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonSpeciesDescription:
      type: object
      properties:
        description:
          type: string
          maxLength: 2000
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
    PokemonSpeciesDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        gender_rate:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        capture_rate:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        base_happiness:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        is_baby:
          type: boolean
        is_legendary:
          type: boolean
        is_mythical:
          type: boolean
        hatch_counter:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        has_gender_differences:
          type: boolean
        forms_switchable:
          type: boolean
        growth_rate:
          $ref: '#/components/schemas/GrowthRateSummary'
        pokedex_numbers:
          type: array
          items:
            $ref: '#/components/schemas/PokemonDexEntry'
          readOnly: true
        egg_groups:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - monster
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/egg-group/1/
          readOnly: true
        color:
          $ref: '#/components/schemas/PokemonColorSummary'
        shape:
          $ref: '#/components/schemas/PokemonShapeSummary'
        evolves_from_species:
          $ref: '#/components/schemas/PokemonSpeciesSummary'
        evolution_chain:
          $ref: '#/components/schemas/EvolutionChainSummary'
        habitat:
          $ref: '#/components/schemas/PokemonHabitatSummary'
        generation:
          $ref: '#/components/schemas/GenerationSummary'
        names:
          type: array
          items:
            type: object
            required:
            - language
            - name
            properties:
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
              name:
                type: string
                examples:
                - bulbasaur
          readOnly: true
        pal_park_encounters:
          type: array
          items:
            type: object
            required:
            - area
            - base_score
            - rate
            properties:
              area:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - field
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pal-park-area/2/
              base_score:
                type: integer
                format: int32
                examples:
                - 50
              rate:
                type: integer
                format: int32
                examples:
                - 30
          readOnly: true
        form_descriptions:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesDescription'
          readOnly: true
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/PokemonSpeciesFlavorText'
          readOnly: true
        genera:
          type: array
          items:
            type: object
            required:
            - genus
            - language
            properties:
              genus:
                type: string
                examples:
                - Seed Pokémon
              language:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - en
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/language/9/
          readOnly: true
        varieties:
          type: array
          items:
            type: object
            required:
            - is_default
            - pokemon
            properties:
              is_default:
                type: boolean
              pokemon:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bulbasaur
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/pokemon/1/
          readOnly: true
      required:
      - color
      - egg_groups
      - evolution_chain
      - evolves_from_species
      - flavor_text_entries
      - form_descriptions
      - genera
      - generation
      - growth_rate
      - habitat
      - id
      - name
      - names
      - pal_park_encounters
      - pokedex_numbers
      - shape
      - varieties
    PokemonSpeciesFlavorText:
      type: object
      properties:
        flavor_text:
          type: string
        language:
          $ref: '#/components/schemas/LanguageSummary'
        version:
          $ref: '#/components/schemas/VersionSummary'
      required:
      - flavor_text
      - language
      - version
    PokemonSpeciesSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    PokemonStat:
      type: object
      properties:
        base_stat:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        effort:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        stat:
          $ref: '#/components/schemas/StatSummary'
      required:
      - base_stat
      - effort
      - stat
    PokemonSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    RegionDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        locations:
          type: array
          items:
            $ref: '#/components/schemas/LocationSummary'
          readOnly: true
        main_generation:
          oneOf:
          - $ref: '#/components/schemas/GenerationSummary'
          - type: 'null'
          readOnly: true
        names:
          type: array
          items:
            $ref: '#/components/schemas/RegionName'
          readOnly: true
        pokedexes:
          type: array
          items:
            $ref: '#/components/schemas/PokedexSummary'
          readOnly: true
        version_groups:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - red-blue
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/version-group/1/
          readOnly: true
      required:
      - id
      - locations
      - main_generation
      - name
      - names
      - pokedexes
      - version_groups
    RegionName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    RegionSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    StatDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        is_battle_only:
          type: boolean
        affecting_moves:
          type: object
          required:
          - decrease
          - increase
          properties:
            increase:
              type: array
              items:
                type: object
                required:
                - change
                - move
                properties:
                  change:
                    type: integer
                    format: int32
                    examples:
                    - -1
                  move:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - swords-dance
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/14/
            decrease:
              type: array
              items:
                type: object
                required:
                - change
                - move
                properties:
                  change:
                    type: integer
                    format: int32
                    examples:
                    - 5
                  move:
                    type: object
                    required:
                    - name
                    - url
                    properties:
                      name:
                        type: string
                        examples:
                        - growl
                      url:
                        type: string
                        format: uri
                        examples:
                        - https://pokeapi.co/api/v2/move/45/
          readOnly: true
        affecting_natures:
          type: object
          required:
          - increase
          - decrease
          properties:
            increase:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - lonely
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/nature/6/
            decrease:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bold
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/nature/2/
          readOnly: true
        affecting_items:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - protein
                - x-attack
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/item/46/
          readOnly: true
        characteristics:
          type: array
          items:
            $ref: '#/components/schemas/CharacteristicSummary'
          readOnly: true
        move_damage_class:
          $ref: '#/components/schemas/MoveDamageClassSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/StatName'
          readOnly: true
      required:
      - affecting_items
      - affecting_moves
      - affecting_natures
      - characteristics
      - game_index
      - id
      - move_damage_class
      - name
      - names
    StatName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    StatSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    SuperContestEffectDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        appeal:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        flavor_text_entries:
          type: array
          items:
            $ref: '#/components/schemas/SuperContestEffectFlavorText'
          readOnly: true
        moves:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
          readOnly: true
      required:
      - appeal
      - flavor_text_entries
      - id
      - moves
    SuperContestEffectFlavorText:
      type: object
      properties:
        flavor_text:
          type: string
          maxLength: 500
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - flavor_text
      - language
    SuperContestEffectSummary:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - url
    TypeDetail:
      type: object
      description: Serializer for the Type resource
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        damage_relations:
          type: object
          required:
          - no_damage_to
          - half_damage_to
          - double_damage_to
          - no_damage_from
          - half_damage_from
          - double_damage_from
          properties:
            no_damage_to:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - flying
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/3/
            half_damage_to:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - bug
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/7/
            double_damage_to:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - poison
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/4/
            no_damage_from:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - electric
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/13/
            half_damage_from:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - poison
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/4/
            double_damage_from:
              type: array
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - water
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/type/11/
          readOnly: true
        past_damage_relations:
          type: array
          items:
            type: object
            required:
            - generation
            - damage_relations
            properties:
              generation:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                    examples:
                    - generation-v
                  url:
                    type: string
                    format: uri
                    examples:
                    - https://pokeapi.co/api/v2/generation/5/
              damage_relations:
                type: object
                required:
                - no_damage_to
                - half_damage_to
                - double_damage_to
                - no_damage_from
                - half_damage_from
                - double_damage_from
                properties:
                  no_damage_to:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - flying
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/3/
                  half_damage_to:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - bug
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/7/
                  double_damage_to:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - poison
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/4/
                  no_damage_from:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - electric
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/13/
                  half_damage_from:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - poison
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/4/
                  double_damage_from:
                    type: array
                    items:
                      type: object
                      required:
                      - name
                      - url
                      properties:
                        name:
                          type: string
                          examples:
                          - water
                        url:
                          type: string
                          format: uri
                          examples:
                          - https://pokeapi.co/api/v2/type/11/
          readOnly: true
        game_indices:
          type: array
          items:
            $ref: '#/components/schemas/TypeGameIndex'
          readOnly: true
        generation:
          $ref: '#/components/schemas/GenerationSummary'
        move_damage_class:
          $ref: '#/components/schemas/MoveDamageClassSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/AbilityName'
          readOnly: true
        pokemon:
          type: array
          items:
            type: object
            required:
            - potency
            - flavor
            properties:
              slot:
                type: integer
                examples:
                - 1
              pokemon:
                type: object
                require:
                - name
                - url
                properties:
                  name:
                    type: string
                    description: The name of the pokemon
                    examples:
                    - sandshrew
                  url:
                    type: string
                    format: uri
                    description: The URL to get more information about the pokemon
                    examples:
                    - https://pokeapi.co/api/v2/pokemon/27/
          readOnly: true
        moves:
          type: array
          items:
            $ref: '#/components/schemas/MoveSummary'
          readOnly: true
        sprites:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
              properties:
                name-icon:
                  type: string
                  format: uri
                  examples:
                  - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/colosseum/1.png
              examples:
              - colosseum:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/colosseum/1.png
            examples:
            - generation-ix:
                scarlet-violet:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-ix/scarlet-violet/1.png
          examples:
          - sprites:
              generation-iii:
                colosseum:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/colosseum/1.png
                emerald:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/emerald/1.png
                firered-leafgreen:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/firered-leafgreen/1.png
                ruby-sapphire:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/ruby-sapphire/1.png
                xd:
                  name_icon: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/generation-iii/xd/1.png
          readOnly: true
      required:
      - damage_relations
      - game_indices
      - generation
      - id
      - move_damage_class
      - moves
      - name
      - names
      - past_damage_relations
      - pokemon
      - sprites
    TypeGameIndex:
      type: object
      properties:
        game_index:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        generation:
          $ref: '#/components/schemas/GenerationSummary'
      required:
      - game_index
      - generation
    TypeSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    VersionDetail:
      type: object
      description: |-
        Should have a link to Version Group info but the Circular
        dependency and compilation order fight eachother and I'm
        not sure how to add anything other than a hyperlink
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        names:
          type: array
          items:
            $ref: '#/components/schemas/VersionName'
          readOnly: true
        version_group:
          $ref: '#/components/schemas/VersionGroupSummary'
      required:
      - id
      - name
      - names
      - version_group
    VersionGroupDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        order:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        generation:
          $ref: '#/components/schemas/GenerationSummary'
        move_learn_methods:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - level-up
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/move-learn-method/1/
          readOnly: true
        pokedexes:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - kanto
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/pokedex/2/
          readOnly: true
        regions:
          type: array
          items:
            type: object
            required:
            - name
            - url
            properties:
              name:
                type: string
                examples:
                - kanto
              url:
                type: string
                format: uri
                examples:
                - https://pokeapi.co/api/v2/region/1/
          readOnly: true
        versions:
          type: array
          items:
            $ref: '#/components/schemas/VersionSummary'
          readOnly: true
      required:
      - generation
      - id
      - move_learn_methods
      - name
      - pokedexes
      - regions
      - versions
    VersionGroupSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
    VersionName:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        language:
          $ref: '#/components/schemas/LanguageSummary'
      required:
      - language
      - name
    VersionSummary:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          format: uri
          readOnly: true
      required:
      - name
      - url
servers:
- url: https://pokeapi.co
tags:
- name: pokemon
  description: Pokémon are the creatures that inhabit the world of the Pokémon games.
    They can be caught using Pokéballs and trained by battling with other Pokémon.
    Each Pokémon belongs to a specific species but may take on a variant which makes
    it differ from other Pokémon of the same species, such as base stats, available
    abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species))
    for greater detail.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon
- name: evolution
  description: Evolution is a process in which a Pokémon changes into a different
    species of Pokémon.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Evolution
- name: berries
  description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness)
    for greater detail.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Berry
- name: items
  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 Pokémon, or to access a new area.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Item
- name: machines
  description: Machines are the representation of items that teach moves to Pokémon.
    They vary from version to version, so it is not certain that one specific TM or
    HM corresponds to a single Machine.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/TM
- name: location
  description: Locations that can be visited within the games. Locations make up sizable
    portions of regions, like cities or routes.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_index_number
- name: contest
  description: Pokémon Contests are a type of competition often contrasted with Pokémon
    battles and held in Contest Halls
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Contest
- name: moves
  description: Moves are the skills of Pokémon in battle. In battle, a Pokémon uses
    one move each turn. Some moves (including those learned by Hidden Machine) can
    be used outside of battle as well, usually for the purpose of removing obstacles
    or exploring new areas.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_name
- name: encounters
- name: games
  description: The Pokémon games are all video games in the Pokémon franchise.
  externalDocs:
    description: Find more info here
    url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_games
- name: utility
externalDocs:
  url: https://pokeapi.co/docs/v2