---
title: "Get ability"
method: GET
path: "/api/v2/ability/{id}/"
tags: ["pokemon"]
---

# Get ability

`GET /api/v2/ability/{id}/`

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.

## Path parameters

- `id` string, required

## Response `200`

- AbilityDetail
  - `id` integer, required
  - `name` string, required
  - `is_main_series` boolean
  - `generation` GenerationSummary, required
    - `name` string, required
    - `url` string, uri, required
  - `names` AbilityName[], required
    - `name` string, required
    - `language` LanguageSummary, required
      - `name` string, required
      - `url` string, uri, required
  - `effect_entries` AbilityEffectText[], required
    - `effect` string, required
    - `short_effect` string, required
    - `language` LanguageSummary, required
      - `name` string, required
      - `url` string, uri, required
  - `effect_changes` AbilityChange[], required
    - `version_group` VersionGroupSummary, required
      - `name` string, required
      - `url` string, uri, required
    - `effect_entries` AbilityChangeEffectText[], required
      - `effect` string, required
      - `language` LanguageSummary, required
        - `name` string, required
        - `url` string, uri, required
  - `flavor_text_entries` AbilityFlavorText[], required
    - `flavor_text` string, required
    - `language` LanguageSummary, required
      - `name` string, required
      - `url` string, uri, required
    - `version_group` VersionGroupSummary, required
      - `name` string, required
      - `url` string, uri, required
  - `pokemon` AbilityPokemonDetail[], required
    - `is_hidden` boolean
    - `slot` integer, required
    - `pokemon` PokemonSummary, required
      - `name` string, required
      - `url` string, uri, required

## Changes

- **2026-08-08** `fe58d471586f` — 2 breaking, 1 info
  - the response property `pokemon/items/is_hidden` became optional for the status `200`
  - the `pokemon/items/slot` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - the response required property `pokemon/items/pokemon/url` became read-only for the status `200`
- **2026-08-07** `7576ffb3390c` — 1 breaking, 2 info
  - the `pokemon/items/pokemon/name` response property's maxLength was unset from `200` for the response status `200`
  - the response property `pokemon/items/is_hidden` became required for the status `200`
  - the response required property `pokemon/items/pokemon/url` became not read-only for the status `200`
- **2026-08-07** `61a1e9796887` — 2 breaking, 1 info
  - the response property `pokemon/items/is_hidden` became optional for the status `200`
  - the `pokemon/items/slot` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - the response required property `pokemon/items/pokemon/url` became read-only for the status `200`
- **2026-07-17** `dc32de6001cf` — 2 info
  - the endpoint scheme security `basicAuth` was removed from the API
  - the endpoint scheme security `cookieAuth` was removed from the API
- **2026-04-29** `650bc9dd2efe` — 1 info
  - api operation id `api_v2_ability_retrieve` removed and replaced with `ability_retrieve`

[Full history](https://skmtc.dev/pokeapi/apis/poke-api/changes/api/v2/ability/:id/get.md)

---

[API](https://skmtc.dev/pokeapi/apis/poke-api.md) · [All operations](https://skmtc.dev/pokeapi/apis/poke-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pokeapi/poke-api/revisions/05e384460041/schema)
