list: API endpoint for returning a list of spells.
retrieve: API endpoint for returning a particular spell.

GET /v2/spells/a5e-ag_counterspell/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "url": "https://api-beta.open5e.com/v2/spells/a5e-ag_counterspell/?format=api",
    "document": {
        "name": "Adventurer's Guide",
        "key": "a5e-ag",
        "display_name": "Adventurer's Guide",
        "publisher": {
            "name": "EN Publishing",
            "key": "en-publishing",
            "url": "https://api-beta.open5e.com/v2/publishers/en-publishing/?format=api"
        },
        "gamesystem": {
            "name": "Advanced 5th Edition",
            "key": "a5e",
            "url": "https://api-beta.open5e.com/v2/gamesystems/a5e/?format=api"
        },
        "permalink": "https://a5esrd.com/a5esrd"
    },
    "key": "a5e-ag_counterspell",
    "casting_options": [
        {
            "type": "default",
            "damage_roll": null,
            "target_count": null,
            "duration": null,
            "range": null,
            "concentration": null,
            "shape_size": null,
            "desc": null
        }
    ],
    "school": {
        "name": "Abjuration",
        "key": "abjuration",
        "url": "https://api-beta.open5e.com/v2/spellschools/abjuration/?format=api"
    },
    "classes": [],
    "range_unit": "feet",
    "shape_size_unit": "feet",
    "name": "Counterspell",
    "desc": "You attempt to interrupt a creature in the process of casting a spell. If the creature is casting a spell of 2nd-level or lower, its spell fails and has no effect.\n\nIf it is casting a spell of 3rd-level or higher, make an ability check using your spellcasting ability (DC 10 + the spell's level). On a success, the creature's spell fails and has no effect, but the creature can use its reaction to reshape the fraying magic and cast another spell with the same casting time as the original spell.\n\nThis new spell must be cast at a spell slot level equal to or less than half the original spell slot.",
    "level": 3,
    "higher_level": "The interrupted spell has no effect if its level is less than the level of the spell slot used to cast this spell, or if both spells use the same level spell slot an opposed spellcasting ability check is made.",
    "target_type": "creature",
    "range_text": "60 feet",
    "range": 60.0,
    "ritual": false,
    "casting_time": "reaction",
    "reaction_condition": "which you take when you see a creature within range cast a spell",
    "verbal": false,
    "somatic": true,
    "material": false,
    "material_specified": "",
    "material_cost": null,
    "material_consumed": false,
    "target_count": 1,
    "saving_throw_ability": "",
    "attack_roll": false,
    "damage_roll": "",
    "damage_types": [],
    "duration": "instantaneous",
    "shape_type": null,
    "shape_size": null,
    "concentration": false
}