PokéAPI Moves API
Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
openapi: 3.1.0
info:
title: Poké Berries Moves API
description: PokéAPI v2 is a free, open-source RESTful API serving comprehensive Pokémon data — species, abilities, moves, items, types, locations, evolution chains, encounters, berries, contests, games, and machines. All endpoints are GET-only and require no authentication. Please cache resources locally; rate limits were removed in 2018 but persistent abusers may be IP-banned.
version: '2'
contact:
name: PokéAPI Maintainers
url: https://pokeapi.co
license:
name: BSD-3-Clause
url: https://github.com/PokeAPI/pokeapi/blob/master/LICENSE.md
servers:
- url: https://pokeapi.co/api/v2
description: PokéAPI v2 production base URL
tags:
- name: Moves
description: Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
paths:
/move:
get:
tags:
- Moves
summary: List Moves
description: List all moves.
operationId: listMoves
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move/{id}:
get:
tags:
- Moves
summary: Get Move
description: Retrieve a single move by id or name.
operationId: getMove
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Move'
/move-ailment:
get:
tags:
- Moves
summary: List Move Ailments
description: List all move ailments.
operationId: listMoveAilments
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move ailment resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-ailment/{id}:
get:
tags:
- Moves
summary: Get Move Ailment
description: Retrieve a single move ailment by id or name.
operationId: getMoveAilment
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move ailment resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveAilment'
/move-battle-style:
get:
tags:
- Moves
summary: List Move Battle Styles
description: List all move battle styles.
operationId: listMoveBattleStyles
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move battle style resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-battle-style/{id}:
get:
tags:
- Moves
summary: Get Move Battle Style
description: Retrieve a single move battle style by id or name.
operationId: getMoveBattleStyle
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move battle style resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveBattleStyle'
/move-category:
get:
tags:
- Moves
summary: List Move Categories
description: List all move categories.
operationId: listMoveCategories
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move category resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-category/{id}:
get:
tags:
- Moves
summary: Get Move Category
description: Retrieve a single move category by id or name.
operationId: getMoveCategory
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move category resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveCategory'
/move-damage-class:
get:
tags:
- Moves
summary: List Move Damage Classes
description: List all move damage classes.
operationId: listMoveDamageClasses
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move damage class resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-damage-class/{id}:
get:
tags:
- Moves
summary: Get Move Damage Class
description: Retrieve a single move damage class by id or name.
operationId: getMoveDamageClass
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move damage class resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDamageClass'
/move-learn-method:
get:
tags:
- Moves
summary: List Move Learn Methods
description: List all move learn methods.
operationId: listMoveLearnMethods
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move learn method resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-learn-method/{id}:
get:
tags:
- Moves
summary: Get Move Learn Method
description: Retrieve a single move learn method by id or name.
operationId: getMoveLearnMethod
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move learn method resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveLearnMethod'
/move-target:
get:
tags:
- Moves
summary: List Move Targets
description: List all move targets.
operationId: listMoveTargets
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move target resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-target/{id}:
get:
tags:
- Moves
summary: Get Move Target
description: Retrieve a single move target by id or name.
operationId: getMoveTarget
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move target resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveTarget'
components:
schemas:
NamedAPIResource:
type: object
properties:
name:
type: string
description: Slug name of the referenced resource.
url:
type: string
format: uri
description: Canonical URL of the referenced resource.
MoveBattleStyle:
type: object
properties:
id:
type: integer
name:
type: string
names:
type: array
items:
$ref: '#/components/schemas/Name'
MoveTarget:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
MoveDamageClass:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
Description:
type: object
properties:
description:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
Name:
type: object
properties:
name:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
FlavorText:
type: object
properties:
flavor_text:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
version:
$ref: '#/components/schemas/NamedAPIResource'
NamedAPIResourceList:
type: object
properties:
count:
type: integer
next:
type: string
nullable: true
format: uri
previous:
type: string
nullable: true
format: uri
results:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
Move:
type: object
properties:
id:
type: integer
name:
type: string
accuracy:
type: integer
nullable: true
effect_chance:
type: integer
nullable: true
pp:
type: integer
priority:
type: integer
power:
type: integer
nullable: true
contest_combos:
type: object
nullable: true
contest_type:
$ref: '#/components/schemas/NamedAPIResource'
nullable: true
contest_effect:
$ref: '#/components/schemas/NamedAPIResource'
nullable: true
damage_class:
$ref: '#/components/schemas/NamedAPIResource'
effect_entries:
type: array
items:
type: object
flavor_text_entries:
type: array
items:
$ref: '#/components/schemas/FlavorText'
generation:
$ref: '#/components/schemas/NamedAPIResource'
meta:
type: object
names:
type: array
items:
$ref: '#/components/schemas/Name'
target:
$ref: '#/components/schemas/NamedAPIResource'
type:
$ref: '#/components/schemas/NamedAPIResource'
MoveCategory:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
MoveAilment:
type: object
properties:
id:
type: integer
name:
type: string
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
MoveLearnMethod:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
names:
type: array
items:
$ref: '#/components/schemas/Name'
version_groups:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
parameters:
Limit:
name: limit
in: query
required: false
description: Number of items to return per page.
schema:
type: integer
minimum: 1
maximum: 100000
default: 20
IdOrName:
name: id
in: path
required: true
description: Resource id (integer) or name (slug).
schema:
type: string
Offset:
name: offset
in: query
required: false
description: Number of items to skip before starting to collect the result set.
schema:
type: integer
minimum: 0
default: 0