D&D 5th Edition API Documentation

Documentation

Introduction

Welcome to the dnd5eapi, the Dungeons & Dragons 5th Edition API! This documentation should help you familiarise yourself with the resources available and how to consume them with HTTP requests. Read through the getting started section before you dive in. Most of your problems should be solved just by reading through it.

Getting started

Let's make our first API request to the D&D 5th Edition API!

Open up a terminal and use curl or httpie to make an API request for a resource. In the example below, we're trying to get the first spell, Acid Arrow:

https://www.dnd5eapi.co/api/spells/acid-arrow/

We'll use httpie for our examples as it displays responses nicely and gives us a whole lot more useful information. If you don't want to download httpie, just use the curl command instead.

Here is the response we get:

{
    "index": "acid-arrow",
    "name": "Acid Arrow",
    "desc": [
      "A shimmering green arrow streaks toward a target within range and bursts in a spray of acid. Make a ranged spell attack against the target. On a hit, the target takes 4d4 acid damage immediately and 2d4 acid damage at the end of its next turn. On a miss, the arrow splashes the target with acid for half as much of the initial damage and no damage at the end of its next turn."
    ],
    "higher_level": [
      "When you cast this spell using a spell slot of 3rd level or higher, the damage (both initial and later) increases by 1d4 for each slot level above 2nd."
    ],
    "range": "90 feet",
    "components": [
      "V",
      "S",
      "M"
    ],
    "material": "Powdered rhubarb leaf and an adder's stomach.",
    "ritual": false,
    "duration": "Instantaneous",
    "concentration": false,
    "casting_time": "1 action",
    "level": 2,
    "attack_type": "ranged",

    "damage": {
      damage_type: {
        name: "Acid",
        url: "/api/damage-types/acid",
      },
      damage_at_slot_level: {
        2: "4d4",
        3: "5d4",
        4: "6d4",
        5: "7d4",
        6: "8d4",
        7: "9d4",
        8: "10d4",
        9: "11d4",
      },
    },

    "school": {
      "name": "Evocation",
      "url": "/api/magic-schools/evocation"
    },
    "classes": [
      {
        "name": "Wizard",
        "url": "/api/classes/wizard"
      }
    ],
    "subclasses": [
      {
        "name": "Lore",
        "url": "/api/subclasses/lore"
      },
      {
        "name": "Land",
        "url": "/api/subclasses/land"
      }
    ],
    "url": "/api/spells/acid-arrow"
  }

If your response looks slightly different don't panic. This is probably because more data has been added to dnd5eapi since we made this documentation.

Base URL

The Base URL is the root URL for all of the API, if you ever make a request to dnd5eapi and you get back a 404 NOT FOUND response then check the Base URL first.

The Base URL for dnd5eapi is:

https://www.dnd5eapi.co/api/

The documentation below assumes you are prepending the Base URL to the endpoints in order to make requests.

Authentication

dnd5eapi is a completely open API. No authentication is required to query and get data. This also means that we've limited what you can do to just GET-ing the data. If you find a mistake in the data, feel free to message me.

GraphQL

This API supports GraphQL.

The GraphQL URL for dnd5eapi is:

https://www.dnd5eapi.co/graphql

Resource Lists

Calling any API endpoint without a resource index or name will return a list of available resources for that API.

GET api/{endpoint}

{
  "count": 319,
  "results": [
    {
      "index": "acid-arrow",
      "name": "Acid Arrow",
      "url": "/api/spells/acid-arrow"
    },
    {
      "index": "acid-splash",
      "name": "Acid Splash",
      "url": "/api/spells/acid-splash"
    },
    {
      "index": "aid",
      "name": "Aid",
      "url": "/api/spells/aid"
    },
    {
      "index": "alarm",
      "name": "Alarm",
      "url": "/api/spells/alarm"
    },
    {
      "index": "alter-self",
      "name": "Alter Self",
      "url": "/api/spells/alter-self"
    },
    {
      "index": "animal-friendship",
      "name": "Animal Friendship",
      "url": "/api/spells/animal-friendship"
    },
    {
      "index": "animal-messenger",
      "name": "Animal Messenger",
      "url": "/api/spells/animal-messenger"
    },
    {
      "index": "animal-shapes",
      "name": "Animal Shapes",
      "url": "/api/spells/animal-shapes"
    },

    ...

  ]
}

GET params

Name Description
name A case insensitive query parameter for the name.

APIReferenceList

Name Description Data Type
count Total number of resource available from this API. integer
results A list of named API resource lists. list APIReference
{
  "count": 8,
  "results": [
    {
      "index": "barbarian",
      "name": "Barbarian",
      "url": "/api/classes/barbarian"
    },
    {
      "index": "bard",
      "name": "Bard",
      "url": "/api/classes/bard"
    },
    {
      "index": "cleric",
      "name": "Cleric",
      "url": "/api/classes/cleric"
    },
    {
      "index": "druid",
      "name": "Druid",
      "url": "/api/classes/druid"
    },

    ...

  ]
}

ClassAPIResourceList

Name Description Data Type
count Total number of resource available from this API. integer
results A list of class API resource lists. list ClassAPIResource

Character Data

Ability Scores

Each of a creature’s abilities has a score, a number that defines the magnitude of that ability. An ability score is not just a measure of innate capabilities, but also encompasses a creature’s training and competence in activities related to that ability.

GET api/ability-scores/{index}

{
  "index": "str",
  "name": "STR",
  "full_name": "Strength",
  "desc": [
  "Strength measures bodily power, athletic training, and the extent to which you can exert raw physical force.",
  "A Strength check can model any attempt to lift, push, pull, or break something, to force your body through a space, or to otherwise apply brute force to a situation. The Athletics skill reflects aptitude in certain kinds of Strength checks.",
  ],
  "skills": [
  {
    "name": "Athletics",
    "index": "athletics",
    "url": "/api/skills/athletics"
  }
  ],
  "url": "/api/ability-scores/str",
  }

Ability Score

Name Description Data Type
index The ability score index for shorthand searching. string
name The abbreviated name for this ability score. string
full_name The full name for this ability score. string
desc A brief description of this ability score and its uses. list string
skills A list of skills that use this ability score. list APIReference (Skills)
url The URL of the referenced resource. string

Skills

Each ability covers a broad range of capabilities, including skills that a character or a monster can be proficient in. A skill represents a specific aspect of an ability score, and an individual’s proficiency in a skill demonstrates a focus on that aspect.

GET api/skills/{index}

{
  "index": "arcana",
  "name": "Arcana",
  "desc": [
    "Your Intelligence (Arcana) check measures your ability to recall lore about spells, magic items, eldritch symbols, magical traditions, the planes of existence, and the inhabitants of those planes."
  ],
  "ability_score": {
    "name": "INT",
    "index": "int",
    "url": "/api/ability-scores/int"
  },
  "url": "/api/skills/arcana"
}

Skill

Name Description Data Type
index The skill index for shorthand searching. string
name The abbreviated name for this skill. string
desc A brief description of this skill and its uses. list string
ability_score The ability score associated with this skill. APIReference (Ability Score)
url The URL of the referenced resource. string

Proficiencies

By virtue of your race, your character can speak, read, and write certain Proficiencies.

GET api/proficiencies/{index}

{
  "index": "medium-armor",
  "type": "Armor",
  "name": "Medium armor",
  "classes": [
    {
      "name": "Barbarian",
      "index": "barbarian",
      "url": "/api/classes/barbarian"
    },
    {
      "name": "Cleric",
      "index": "cleric",
      "url": "/api/classes/cleric"
    },
    {
      "name": "Druid",
      "index": "druid",
      "url": "/api/classes/druid"
    },
    {
      "name": "Ranger",
      "index": "ranger",
      "url": "/api/classes/ranger",
    }
  ],
  "races": [],
  "url": "/api/proficiencies/medium-armor",
  "references": [
    {
      "name": "Medium armor",
      "index": "medium-armor",
      "type": "equipment-categories",
      "url": "/api/equipment-categories/medium-armor"
    }
  ],
}

Proficiency

Name Description Data Type
index The proficiency index for shorthand searching. string
type The general category of the proficiency. string
name The name of this proficiency resource. string
classes Classes that start with this proficiency. list APIReference (Class)
races Races that start with this proficiency. list APIReference (Race)
url The URL of the referenced resource. string
reference Reference to the related resource APIReference (Equipment Categories, Equipment, Skills, or Ability Scores )

Languages

By virtue of your race, your character can speak, read, and write certain languages.

GET api/languages/{index}

{
  "index": "common",
  "name": "Common",
  "type": "Standard",
  "typical_speakers": [
    "Humans"
  ],
  "script": "Common",
  "url": "/api/languages/common"
}

Language

Name Description Data Type
index The language index for shorthand searching. string
name The name of this language resource. string
type Whether the language is standard or exotic. string
typical_speakers Races that tend to speak this language. list string
script The script used for writing in this language. string
url The URL of the referenced resource. string

Alignments

A typical creature in the game world has an alignment, which broadly describes its moral and personal attitudes. Alignment is a combination of two factors: one identifies morality (good, evil, or neutral), and the other describes attitudes toward society and order (lawful, chaotic, or neutral). Thus, nine distinct alignments define the possible combinations.

GET api/alignment/{index}

{
    "index": "lawful-good",
    "name": "Lawful Good",
    "abbreviation": "LG",
    "desc": "Lawful good (LG) creatures can be counted on to do the right thing as expected by society. Gold dragons, paladins, and most dwarves are lawful good.",
    "url": "api/alignments/lawful-good"
  }

Alignment

Name Description Data Type
index The alignment index for shorthand searching. string
name The name for this alignment resource. string
abbreviation The abbreviation/initials/acronym for this alignment resource. string
desc A brief description of this alignment, including some examples of creatures which have it. list string
url The URL of the referenced resource. string

Backgrounds

Backgrounds

Every story has a beginning. Your character’s background reveals where you came from, how you became an adventurer, and your place in the world. Your fighter might have been a courageous knight or a grizzled soldier. Your wizard could have been a sage or an artisan. Your rogue might have gotten by as a guild thief or commanded audiences as a jester.

GET api/backgrounds/{index}

{
  "index": "acolyte",
  "name": "Acolyte",
  "starting_proficiencies": [
      {
          "index": "skill-insight",
          "name": "Skill: Insight",
          "url": "/api/proficiencies/skill-insight"
      },
      {
          "index": "skill-religion",
          "name": "Skill: Religion",
          "url": "/api/proficiencies/skill-religion"
      }
  ],
  "language_options": {
      "from": [
          {
              "index": "common",
              "name": "Common",
              "url": "/api/languages/common"
          },
          {
              "index": "dwarvish",
              "name": "Dwarvish",
              "url": "/api/languages/dwarvish"
          },
          {
              "index": "elvish",
              "name": "Elvish",
              "url": "/api/languages/elvish"
          },
          {
              "index": "giant",
              "name": "Giant",
              "url": "/api/languages/giant"
          },
          {
              "index": "gnomish",
              "name": "Gnomish",
              "url": "/api/languages/gnomish"
          },
          {
              "index": "goblin",
              "name": "Goblin",
              "url": "/api/languages/goblin"
          },
          {
              "index": "halfling",
              "name": "Halfling",
              "url": "/api/languages/halfling"
          },
          {
              "index": "orc",
              "name": "Orc",
              "url": "/api/languages/orc"
          },
          {
              "index": "abyssal",
              "name": "Abyssal",
              "url": "/api/languages/abyssal"
          },
          {
              "index": "celestial",
              "name": "Celestial",
              "url": "/api/languages/celestial"
          },
          {
              "index": "draconic",
              "name": "Draconic",
              "url": "/api/languages/draconic"
          },
          {
              "index": "deep-speech",
              "name": "Deep Speech",
              "url": "/api/languages/deep-speech"
          },
          {
              "index": "infernal",
              "name": "Infernal",
              "url": "/api/languages/infernal"
          },
          {
              "index": "primordial",
              "name": "Primordial",
              "url": "/api/languages/primordial"
          },
          {
              "index": "sylvan",
              "name": "Sylvan",
              "url": "/api/languages/sylvan"
          },
          {
              "index": "undercommon",
              "name": "Undercommon",
              "url": "/api/languages/undercommon"
          }
      ],
      "choose": 2,
      "type": "languages"
  },
  "starting_equipment": [
      {
          "equipment": {
              "index": "clothes-common",
              "name": "Clothes, common",
              "url": "/api/equipment/clothes-common"
          },
          "quantity": 1
      },
      {
          "equipment": {
              "index": "pouch",
              "name": "Pouch",
              "url": "/api/equipment/pouch"
          },
          "quantity": 1
      }
  ],
  "starting_equipment_options": [
      {
          "choose": 1,
          "type": "equipment",
          "from": [
              {
                  "equipment_category": {
                      "index": "holy-symbols",
                      "name": "Holy Symbols",
                      "url": "/api/equipment-categories/holy-symbols"
                  }
              }
          ]
      }
  ],
  "feature": {
      "desc": [
          "As an acolyte, you command the respect of those who share your faith, and you can perform the religious ceremonies of your deity. You and your adventuring companions can expect to receive free healing and care at a temple, shrine, or other established presence of your faith, though you must provide any material components needed for spells. Those who share your religion will support you (but only you) at a modest lifestyle.",
          "You might also have ties to a specific temple dedicated to your chosen deity or pantheon, and you have a residence there. This could be the temple where you used to serve, if you remain on good terms with it, or a temple where you have found a new home. While near your temple, you can call upon the priests for assistance, provided the assistance you ask for is not hazardous and you remain in good standing with your temple."
      ],
      "name": "Shelter of the Faithful"
  },
  "personality_traits": {
      "from": [
          "I idolize a particular hero of my faith, and constantly refer to that person's deeds and example.",
          "I can find common ground between the fiercest enemies, empathizing with them and always working toward peace.",
          "I see omens in every event and action. The gods try to speak to us, we just need to listen.",
          "Nothing can shake my optimistic attitude.",
          "I quote (or misquote) sacred texts and proverbs in almost every situation.",
          "I am tolerant (or intolerant) of other faiths and respect (or condemn) the worship of other gods.",
          "I've enjoyed fine food, drink, and high society among my temple's elite. Rough living grates on me.",
          "I've spent so long in the temple that I have little practical experience dealing with people in the outside world."
      ],
      "choose": 2,
      "type": "personality_traits"
  },
  "ideals": {
      "from": [
          {
              "desc": "Tradition. The ancient traditions of worship and sacrifice must be preserved and upheld.",
              "alignments": [
                  {
                      "index": "lawful-good",
                      "name": "Lawful Good",
                      "url": "api/alignments/lawful-good"
                  },
                  {
                      "index": "lawful-neutral",
                      "name": "Lawful Neutral",
                      "url": "api/alignments/lawful-neutral"
                  },
                  {
                      "index": "lawful-evil",
                      "name": "Lawful Evil",
                      "url": "api/alignments/lawful-evil"
                  }
              ]
          },
          {
              "desc": "Charity. I always try to help those in need, no matter what the personal cost.",
              "alignments": [
                  {
                      "index": "lawful-good",
                      "name": "Lawful Good",
                      "url": "api/alignments/lawful-good"
                  },
                  {
                      "index": "neutral-good",
                      "name": "Neutral Good",
                      "url": "api/alignments/neutral-good"
                  },
                  {
                      "index": "chaotic-good",
                      "name": "Chaotic Good",
                      "url": "api/alignments/chaotic-good"
                  }
              ]
          },
          {
              "desc": "Change. We must help bring about the changes the gods are constantly working in the world.",
              "alignments": [
                  {
                      "index": "chaotic-good",
                      "name": "Chaotic Good",
                      "url": "api/alignments/chaotic-good"
                  },
                  {
                      "index": "chaotic-neutral",
                      "name": "Chaotic Neutral",
                      "url": "api/alignments/chaotic-neutral"
                  },
                  {
                      "index": "chaotic-evil",
                      "name": "Chaotic Evil",
                      "url": "api/alignments/chaotic-evil"
                  }
              ]
          },
          {
              "desc": "Power. I hope to one day rise to the top of my faith's religious hierarchy.",
              "alignments": [
                  {
                      "index": "lawful-good",
                      "name": "Lawful Good",
                      "url": "api/alignments/lawful-good"
                  },
                  {
                      "index": "lawful-neutral",
                      "name": "Lawful Neutral",
                      "url": "api/alignments/lawful-neutral"
                  },
                  {
                      "index": "lawful-evil",
                      "name": "Lawful Evil",
                      "url": "api/alignments/lawful-evil"
                  }
              ]
          },
          {
              "desc": "Faith. I trust that my deity will guide my actions. I have faith that if I work hard, things will go well.",
              "alignments": [
                  {
                      "index": "lawful-good",
                      "name": "Lawful Good",
                      "url": "api/alignments/lawful-good"
                  },
                  {
                      "index": "lawful-neutral",
                      "name": "Lawful Neutral",
                      "url": "api/alignments/lawful-neutral"
                  },
                  {
                      "index": "lawful-evil",
                      "name": "Lawful Evil",
                      "url": "api/alignments/lawful-evil"
                  }
              ]
          },
          {
              "desc": "Aspiration. I seek to prove myself worthy of my god's favor by matching my actions against his or her teachings.",
              "alignments": [
                  {
                      "index": "lawful-good",
                      "name": "Lawful Good",
                      "url": "api/alignments/lawful-good"
                  },
                  {
                      "index": "neutral-good",
                      "name": "Neutral Good",
                      "url": "api/alignments/neutral-good"
                  },
                  {
                      "index": "chaotic-good",
                      "name": "Chaotic Good",
                      "url": "api/alignments/chaotic-good"
                  },
                  {
                      "index": "lawful-neutral",
                      "name": "Lawful Neutral",
                      "url": "api/alignments/lawful-neutral"
                  },
                  {
                      "index": "neutral",
                      "name": "Neutral",
                      "url": "api/alignments/neutral"
                  },
                  {
                      "index": "chaotic-neutral",
                      "name": "Chaotic Neutral",
                      "url": "api/alignments/chaotic-neutral"
                  },
                  {
                      "index": "lawful-evil",
                      "name": "Lawful Evil",
                      "url": "api/alignments/lawful-evil"
                  },
                  {
                      "index": "neutral-evil",
                      "name": "Neutral Evil",
                      "url": "api/alignments/neutral-evil"
                  },
                  {
                      "index": "chaotic-evil",
                      "name": "Chaotic Evil",
                      "url": "api/alignments/chaotic-evil"
                  }
              ]
          }
      ],
      "choose": 1,
      "type": "ideals"
  },
  "bonds": {
      "from": [
          "I would die to recover an ancient relic of my faith that was lost long ago.",
          "I will someday get revenge on the corrupt temple hierarchy who branded me a heretic.",
          "I owe my life to the priest who took me in when my parents died.",
          "Everything I do is for the common people.",
          "I will do anything to protect the temple where I served.",
          "I seek to preserve a sacred text that my enemies consider heretical and seek to destroy."
      ],
      "choose": 1,
      "type": "bonds"
  },
  "flaws": {
      "from": [
          "I judge others harshly, and myself even more severely.",
          "I put too much trust in those who wield power within my temple's hierarchy.",
          "My piety sometimes leads me to blindly trust those that profess faith in my god.",
          "I am inflexible in my thinking.",
          "I am suspicious of strangers and expect the worst of them.",
          "Once I pick a goal, I become obsessed with it to the detriment of everything else in my life."
      ],
      "choose": 1,
      "type": "flaws"
  }
}

Backgrounds

Name Description Data Type
index The background index for shorthand searching. string
name The name for this background resource. string
starting_proficiencies Starting proficiencies for all new characters of this background. list APIReference (Proficiencies)
language_options The starting languages to choose from for this background. Choice (Language)
starting_equipment The starting equipment a character automatically gets. list APIReference (Equipment)
starting_equipment_options Starting equipment where the player must choose a certain number from the given list of equipment. list Choice (Equipment)
feature A special feature granted to new characters of this background. BackgroundFeature
personality_traits The personality traits to choose from for this background. Choice (string)
ideals The ideals to choose from for this background. Choice (Ideal)
bonds The bonds to choose from for this background. Choice (string)
flaws The flaws to choose from for this background. Choice (string)
url The URL reference of this resource. string

Classes

Classes

A character class is a fundamental part of the identity and nature of characters in the Dungeons & Dragons role-playing game. A character's capabilities, strengths, and weaknesses are largely defined by its class. A character's class affects a character's available skills and abilities.

GET api/classes/{index}

{
  "index": "warlock",
  "name": "Warlock",
  "hit_die": 8,
  "proficiency_choices": [
    {
      "choose": 2,
      "type": "proficiencies",
      "from": [
        {
          "index": "skill-arcana",
          "name": "Skill: Arcana",
          "url": "/api/proficiencies/skill-arcana"
        },
        {
          "index": "skill-deception",
          "name": "Skill: Deception",
          "url": "/api/proficiencies/skill-deception"
        },
        {
          "index": "skill-history",
          "name": "Skill: History",
          "url": "/api/proficiencies/skill-history"
        },
        {
          "index": "skill-intimidation",
          "name": "Skill: Intimidation",
          "url": "/api/proficiencies/skill-intimidation"
        },
        {
          "index": "skill-investigation",
          "name": "Skill: Investigation",
          "url": "/api/proficiencies/skill-investigation"
        },
        {
          "index": "skill-nature",
          "name": "Skill: Nature",
          "url": "/api/proficiencies/skill-nature"
        },
        {
          "index": "skill-religion",
          "name": "Skill: Religion",
          "url": "/api/proficiencies/skill-religion"
        }
      ]
    }
  ],
  "proficiencies": [
    {
      "index": "light-armor",
      "name": "Light armor",
      "url": "/api/proficiencies/light-armor"
    },
    {
      "index": "simple-weapons",
      "name": "Simple weapons",
      "url": "/api/proficiencies/simple-weapons"
    }
  ],
  "saving_throws": [
    {
      "index": "wis",
      "name": "WIS",
      "url": "/api/ability-scores/wis"
    },
    {
      "index": "cha",
      "name": "CHA",
      "url": "/api/ability-scores/cha"
    }
  ],
  "starting_equipment": [
    {
      "equipment": {
        "index": "dagger",
        "name": "Dagger",
        "url": "/api/equipment/dagger"
      },
      "quantity": 2
    },
    {
      "equipment": {
        "index": "leather",
        "name": "Leather",
        "url": "/api/equipment/leather"
      },
      "quantity": 1
    }
  ],
  "starting_equipment_options": [
    {
      "choose": 1,
      "type": "equipment",
      "from": [
        [
          {
            "equipment": {
              "index": "crossbow-light",
              "name": "Crossbow, light",
              "url": "/api/equipment/crossbow-light"
            },
            "quantity": 1
          },
          {
            "equipment": {
              "index": "crossbow-bolt",
              "name": "Crossbow bolt",
              "url": "/api/equipment/crossbow-bolt"
            },
            "quantity": 20
          }
        ],
        {
          "equipment_option": {
            "choose": 1,
            "type": "equipment",
            "from": {
              "equipment_category": {
                "index": "simple-weapons",
                "name": "Simple Weapons",
                "url": "/api/equipment-categories/simple-weapons"
              }
            }
          }
        }
      ]
    },
    {
      "choose": 1,
      "type": "equipment",
      "from": [
        {
          "equipment": {
            "index": "component-pouch",
            "name": "Component pouch",
            "url": "/api/equipment/component-pouch"
          },
          "quantity": 1
        },
        {
          "equipment_option": {
            "choose": 1,
            "type": "equipment",
            "from": {
              "equipment_category": {
                "index": "arcane-foci",
                "name": "Arcane foci",
                "url": "/api/equipment-categories/arcane-foci"
              }
            }
          }
        }
      ]
    },
    {
      "choose": 1,
      "type": "equipment",
      "from": [
        {
          "equipment": {
            "index": "scholars-pack",
            "name": "Scholar's Pack",
            "url": "/api/equipment/scholars-pack"
          },
          "quantity": 1
        },
        {
          "equipment": {
            "index": "dungeoneers-pack",
            "name": "Dungeoneer's Pack",
            "url": "/api/equipment/dungeoneers-pack"
          },
          "quantity": 1
        }
      ]
    },
    {
      "choose": 1,
      "type": "equipment",
      "from": {
        "equipment_category": {
          "index": "simple-weapons",
          "name": "Simple Weapons",
          "url": "/api/equipment-categories/simple-weapons"
        }
      }
    }
  ],
  "class_levels": "/api/classes/warlock/levels",
  "multi_classing": {
    "prerequisites": [
      {
        "ability_score": {
          "index": "cha",
          "name": "CHA",
          "url": "/api/ability-scores/cha"
        },
        "minimum_score": 13
      }
    ],
    "proficiencies": [
      {
        "index": "light-armor",
        "name": "Light Armor",
        "url": "/api/proficiencies/light-armor"
      },
      {
        "index": "simple-weapons",
        "name": "Simple Weapons",
        "url": "/api/proficiencies/simple-weapons"
      }
    ]
  },
  "subclasses": [
    {
      "index": "fiend",
      "name": "Fiend",
      "url": "/api/subclasses/fiend"
    }
  ],
  "spellcasting": {
    "level": 1,
    "spellcasting_ability": {
      "index": "cha",
      "name": "CHA",
      "url": "/api/ability-scores/cha"
    },
    "info": [
      {
        "name": "Cantrips",
        "desc": [
          "You know two cantrips of your choice from the warlock spell list. You learn additional warlock cantrips of your choice at higher levels, as shown in the Cantrips Known column of the Warlock table."
        ]
      },
      {
        "name": "Spell Slots",
        "desc": [
          "The Warlock table shows how many spell slots you have. The table also shows what the level of those slots is; all of your spell slots are the same level. To cast one of your warlock spells of 1st level or higher, you must expend a spell slot. You regain all expended spell slots when you finish a short or long rest.",
          "For example, when you are 5th level, you have two 3rd-level spell slots. To cast the 1st-level spell thunderwave, you must spend one of those slots, and you cast it as a 3rd-level spell."
        ]
      },
      {
        "name": "Spells Known of 1st Level and Higher",
        "desc": [
          "At 1st level, you know two 1st-level spells of your choice from the warlock spell list.",
          "The Spells Known column of the Warlock table shows when you learn more warlock spells of your choice of 1st level and higher. ",
          "A spell you choose must be of a level no higher than what's shown in the table's Slot Level column for your level. When you reach 6th level, for example, you learn a new warlock spell, which can be 1st, 2nd, or 3rd level.",
          "Additionally, when you gain a level in this class, you can choose one of the warlock spells you know and replace it with another spell from the warlock spell list, which also must be of a level for which you have spell slots."
        ]
      },
      {
        "name": "Spellcasting Ability",
        "desc": [
          "Charisma is your spellcasting ability for your warlock spells, so you use your Charisma whenever a spell refers to your spellcasting ability. In addition, you use your Charisma modifier when setting the saving throw DC for a warlock spell you cast and when making an attack roll with one."
        ]
      },
      {
        "name": "Spellcasting Focus",
        "desc": [
          "You can use an arcane focus as a spellcasting focus for your warlock spells."
        ]
      }
    ]
  },
  "spells": "/api/classes/warlock/spells",
  "url": "/api/classes/warlock"
}

Class

Name Description Data Type
index The class index for shorthand searching. string
name The name for this class resource. string
hit_die The hit die of the class. (ex: 12 == 1d12). integer
proficiency_choices Starting proficiencies where the player must choose a certain number from the given list of proficiencies. list Choice (Proficiencies)
proficiencies Starting proficiencies all new characters of this class start with. list APIReference (Proficiencies)
saving_throws Saving throws that the class is proficient in. list APIReference (Ability Scores)
starting_equipment An object with the possible choices of equipment for new characters of this class. object (StartingEquipment)
class_levels All possible levels that this class can obtain (excluding subclass-specific features) string (Levels)
multi_classing Information on how to multiclass into this class object (Multi Classing)
subclasses All possible subclasses that this class can specialize in. list APIReference (Subclass)
spellcasting The reference object for the class's spellcasting. Contains information such as spells known, spellcasting ability, and cantrips known. object (Spellcasting)
spells The URL of the class's spell Resource List. Returns a list of all spells that can be learned or cast by the class. string
url The URL reference of this resource. string

GET api/classes/{index}/subclasses/

{
  "count": 1,
  "results": [
    {
      "index": "lore",
      "name": "Lore",
      "url": "/api/subclasses/lore",
    }
  ],
}

Subclasses for Class

Name Description Data Type
count The number of subclasses available to a class. integer
results A list of subclasses available to a class. list APIReference (Subclass)

GET api/classes/{index}/spells/

{
  "count": 111,
  "results": [
    {
      "index": "dancing-lights",
      "name": "Dancing Lights",
      "url": "/api/spells/dancing-lights"
    },
    ...
    {
      "index": "true-polymorph",
      "name": "True Polymorph",
      "url": "/api/spells/true-polymorph"
    }
  ]
}

GET api/classes/{index}/spellcasting

{
    "level": 1,
    "spellcasting_ability": {
      "index": "cha",
      "name": "CHA",
      "url": "/api/ability-scores/cha"
    },
    "info": [
      {
        "name": "Cantrips",
        "desc": [
          "You know two cantrips of your choice from the warlock spell list. You learn additional warlock cantrips of your choice at higher levels, as shown in the Cantrips Known column of the Warlock table."
        ]
      },
      {
        "name": "Spell Slots",
        "desc": [
          "The Warlock table shows how many spell slots you have. The table also shows what the level of those slots is; all of your spell slots are the same level. To cast one of your warlock spells of 1st level or higher, you must expend a spell slot. You regain all expended spell slots when you finish a short or long rest.",
          "For example, when you are 5th level, you have two 3rd-level spell slots. To cast the 1st-level spell thunderwave, you must spend one of those slots, and you cast it as a 3rd-level spell."
        ]
      },
      {
        "name": "Spells Known of 1st Level and Higher",
        "desc": [
          "At 1st level, you know two 1st-level spells of your choice from the warlock spell list.",
          "The Spells Known column of the Warlock table shows when you learn more warlock spells of your choice of 1st level and higher. ",
          "A spell you choose must be of a level no higher than what's shown in the table's Slot Level column for your level. When you reach 6th level, for example, you learn a new warlock spell, which can be 1st, 2nd, or 3rd level.",
          "Additionally, when you gain a level in this class, you can choose one of the warlock spells you know and replace it with another spell from the warlock spell list, which also must be of a level for which you have spell slots."
        ]
      },
      {
        "name": "Spellcasting Ability",
        "desc": [
          "Charisma is your spellcasting ability for your warlock spells, so you use your Charisma whenever a spell refers to your spellcasting ability. In addition, you use your Charisma modifier when setting the saving throw DC for a warlock spell you cast and when making an attack roll with one."
        ]
      },
      {
        "name": "Spellcasting Focus",
        "desc": [
          "You can use an arcane focus as a spellcasting focus for your warlock spells."
        ]
      }
    ]
  }
}

Spellcasting

Name Description Data Type
level The level at which the class can start using its Spellcasting abilities. integer
spellcasting_ability The attribute used for spellcasting by the class. APIReference (Ability Score)
info Descriptions of the class' ability to cast spells. list

Spells for Class

Name Description Data Type
count The number of spells available to a class. integer
results A list of the spells available to a class. list APIReference (Spells)

GET api/classes/{index}/features/

{
  "count": 46,
  "results": [
    {
      "index": "expertise-acrobatics",
      "name": "Expertise: Acrobatics",
      "url": "/api/features/expertise-acrobatics"
    },
    ...
    {
      "index": "superior-inspiration",
      "name": "Superior Inspiration",
      "url": "/api/features/superior-inspiration"
    }
  ]
}

Features for Class

Name Description Data Type
count The number of features available to a class. integer
results A list of features available to a class. list APIReference (Features)

GET api/classes/{index}/proficiencies/

{
  "count": 8,
  "results": [
    {
      "index": "crossbows-hand",
      "name": "Crossbows, hand",
      "url": "/api/proficiencies/crossbows-hand"
    },
    ...
    {
      "index": "simple-weapons",
      "name": "Simple weapons",
      "url": "/api/proficiencies/simple-weapons"
    }
  ]
}

Proficiencies for Class

Name Description Data Type
count The number of proficiencies available to a class. integer
results A list of proficiencies available to a class. list APIReference (Proficiencies)

GET api/classes/{index}/multi-classing/

{
  "prerequisites": [
    {
      "ability_score": {
        "index": "cha",
        "name": "CHA",
        "url": "/api/ability-scores/cha"
      },
      "minimum_score": 13
    }
  ],
  "prerequisite_options": {
    "type": "ability-scores",
    "choose": 1,
    "from": [
      {
        "ability_score": {
          "index": "str",
          "name": "STR",
          "url": "/api/ability-scores/str"
        },
        "minimum_score": 13
      },
      {
        "ability_score": {
          "index": "dex",
          "name": "DEX",
          "url": "/api/ability-scores/dex"
        },
        "minimum_score": 13
      }
    ]
  },
  "proficiencies": [
    {
      "index": "light-armor",
      "name": "Light Armor",
      "url": "/api/proficiencies/light-armor"
    },
    {
      "index": "simple-weapons",
      "name": "Simple Weapons",
      "url": "/api/proficiencies/simple-weapons"
    }
  ],
  "proficiency_choices": [
    {
      "choose": 1,
      "type": "proficiencies",
      "from": [
        {
          "index": "skill-animal-handling",
          "name": "Skill: Animal Handling",
          "url": "/api/proficiencies/skill-animal-handling"
        },
        {
          "index": "skill-athletics",
          "name": "Skill: Athletics",
          "url": "/api/proficiencies/skill-athletics"
        },
      ]
    }
  ]
}

Multi-Classing Prerequisites

Name Description Data Type
prerequisites An object of APIReferences to ability scores and minimum scores list(Object)
prerequisite_options Choice of prerequisites to meet for list Choice (Prerequisites)
proficiencies Proficiencies available when multiclassing list APIReference (Proficiencies)
proficiency_choices A choice of proficiencies that are given when multiclassing list Choice (Proficiencies)

GET api/classes/{index}/levels/

[
  {
    "level": 1,
    "ability_score_bonuses": 0,
    "prof_bonus": 2,
    "features": [
      {
        "index": "spellcasting-bard",
        "name": "Spellcasting",
        "url": "/api/features/spellcasting-bard"
      },
      {
        "index": "bardic-inspiration-d6",
        "name": "Bardic Inspiration (d6)",
        "url": "/api/features/bardic-inspiration-d6"
      }
    ],
    "spellcasting": {
      "cantrips_known": 2,
      "spells_known": 4,
      "spell_slots_level_1": 2,
      "spell_slots_level_2": 0,
      "spell_slots_level_3": 0,
      "spell_slots_level_4": 0,
      "spell_slots_level_5": 0,
      "spell_slots_level_6": 0,
      "spell_slots_level_7": 0,
      "spell_slots_level_8": 0,
      "spell_slots_level_9": 0
    },
    "class_specific": {
      "bardic_inspiration_die": 6,
      "song_of_rest_die": 0,
      "magical_secrets_max_5": 0,
      "magical_secrets_max_7": 0,
      "magical_secrets_max_9": 0
    },
    "index": "bard-1",
    "class": {
      "name": "Bard",
      "index": "bard",
      "url": "/api/classes/bard"
    },
    "url": "/api/classes/bard/levels/1"
  },
  ...
  {
    "level": 20,
    "ability_score_bonuses": 5,
    "prof_bonus": 6,
    "features": [
      {
        "index": "superior-inspiration",
        "name": "Superior Inspiration",
        "url": "/api/features/superior-inspiration"
      }
    ],
    "spellcasting": {
      "cantrips_known": 4,
      "spells_known": 22,
      "spell_slots_level_1": 4,
      "spell_slots_level_2": 3,
      "spell_slots_level_3": 3,
      "spell_slots_level_4": 3,
      "spell_slots_level_5": 3,
      "spell_slots_level_6": 2,
      "spell_slots_level_7": 2,
      "spell_slots_level_8": 1,
      "spell_slots_level_9": 1
    },
    "class_specific": {
      "bardic_inspiration_die": 12,
      "song_of_rest_die": 12,
      "magical_secrets_max_5": 2,
      "magical_secrets_max_7": 2,
      "magical_secrets_max_9": 2
    },
    "index": "bard-20",
    "class": {
      "name": "Bard",
      "index": "bard",
      "url": "/api/classes/bard"
    },
    "url": "/api/classes/bard/levels/20"
  }
]

Levels for Class

Name Description Data Type
index The level index for shorthand searching. string
level The number value for the current level object. integer
ability_score_bonuses Total number of ability score bonuses gained, added from previous levels. integer
prof_bonus Proficiency bonus for this class at the specified level. integer
features Features automatically gained by players at this level. list APIReference (Features)
spellcasting spells known, spellcasting ability, and cantrips known. object
class_specific Class specific information such as dice values for bard songs and number of warlock invocations. object
class The class which this level refers to. APIReference (Class) Updated ability scores, classes, and conditions
url The URL reference of this resource. string

GET api/classes/{index}/levels/{integer 1-20}

{
  "level": 1,
  "ability_score_bonuses": 0,
  "prof_bonus": 2,
  "features": [
    {
      "name": "Spellcasting",
      "url": "/api/features/spellcasting-cleric"
    },
    {
      "name": "Divine Domain",
      "url": "/api/features/divine-domain"
    },
    {
      "name": "Domain Spells 1",
      "url": "/api/features/domain-spells-1"
    }
  ],
  "spellcasting": {
    "cantrips_known": 3,
    "spells_known": 4,
    "spell_slots_level_1": 2,
    "spell_slots_level_2": 0,
    "spell_slots_level_3": 0,
    "spell_slots_level_4": 0,
    "spell_slots_level_5": 0,
    "spell_slots_level_6": 0,
    "spell_slots_level_7": 0,
    "spell_slots_level_8": 0,
    "spell_slots_level_9": 0
  },
  "class_specific": {
    "channel_divinity_charges": 0,
    "destroy_undead_cr": 0
  },
  "index": "cleric-1",
  "class": {
    "name": "Cleric",
    "url": "/api/classes/cleric"
  },
  "url": "/api/classes/cleric/level/1"
}

Level for Class

Name Description Data Type
index The level index for shorthand searching. string
level The number value for the current level object. integer
ability_score_bonuses Total number of ability score bonuses gained, added from previous levels. integer
prof_bonus Proficiency bonus for this class at the specified level. integer
features Features automatically gained by players at this level. list APIReference (Features)
spellcasting spells known, spellcasting ability, and cantrips known. object
class_specific Class specific information such as dice values for bard songs and number of warlock invocations. object
class The class which this level refers to. APIReference (Class) Updated ability scores, classes, and conditions
url The URL reference of this resource. string

GET api/classes/{index}/levels/{integer 1-20}/features

{
  "count": 2,
  "results": [
    {
      "index": "bardic-inspiration-d6",
      "name": "Bardic Inspiration (d6)",
      "url": "/api/features/bardic-inspiration-d6"
    },
    {
      "index": "spellcasting-bard",
      "name": "Spellcasting: Bard",
      "url": "/api/features/spellcasting-bard"
    }
  ]
}

Features for Class and Level

Name Description Data Type
count The number of features available to a class at the requested level. integer
results A list of features available to a class at the requested level. list APIReference (Features)

GET api/classes/{index}/levels/{integer 1-20}/spells

{
  "count": 19,
  "results": [
    {
      "index": "animal-friendship",
      "name": "Animal Friendship",
      "url": "/api/spells/animal-friendship"
    },
    ...
    {
      "index": "unseen-servant",
      "name": "Unseen Servant",
      "url": "/api/spells/unseen-servant"
    }
  ]
}

Spells for Class and Level

Name Description Data Type
count The number of spells available to a class at the specified level. integer
results A list of spells availabe to a class at the specified level. list APIReference (Spells)

Subclasses

Subclasses reflect the different paths a class may take as levels are gained.

GET api/subclasses/{index}

{
  "index": "devotion",
  "class": {
    "index": "paladin",
    "name": "Paladin",
    "url": "/api/classes/paladin"
  },
  "name": "Devotion",
  "subclass_flavor": "Sacred Oath",
  "desc": [
    "The Oath of Devotion binds a paladin to the loftiest ideals of justice, virtue, and order. Sometimes called cavaliers, white knights, or holy warriors, these paladins meet the ideal of the knight in shining armor, acting with honor in pursuit of justice and the greater good. They hold themselves to the highest standards of conduct, and some, for better or worse, hold the rest of the world to the same standards. Many who swear this oath are devoted to gods of law and good and use their gods' tenets as the measure of their devotion. They hold angels--the perfect servants of good--as their ideals, and incorporate images of angelic wings into their helmets or coats of arms."
  ],
  "spells": [
    {
      "prerequisites": [
        {
          "index": "paladin-3",
          "type": "level",
          "name": "Paladin 3",
          "url": "/api/classes/paladin/levels/3"
        }
      ],
      "spell": {
        "index": "protection-from-evil-and-good",
        "name": "Protection from Evil and Good",
        "url": "/api/spells/protection-from-evil-and-good"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-3",
          "type": "level",
          "name": "Paladin 3",
          "url": "/api/classes/paladin/levels/3"
        }
      ],
      "spell": {
        "index": "sanctuary",
        "name": "Sanctuary",
        "url": "/api/spells/sanctuary"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-5",
          "type": "level",
          "name": "Paladin 5",
          "url": "/api/classes/paladin/levels/5"
        }
      ],
      "spell": {
        "index": "lesser-restoration",
        "name": "Lesser Restoration",
        "url": "/api/spells/lesser-restoration"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-5",
          "type": "level",
          "name": "Paladin 5",
          "url": "/api/classes/paladin/levels/5"
        }
      ],
      "spell": {
        "index": "zone-of-truth",
        "name": "Zone of Truth",
        "url": "/api/spells/zone-of-truth"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-9",
          "type": "level",
          "name": "Paladin 9",
          "url": "/api/classes/paladin/levels/9"
        }
      ],
      "spell": {
        "index": "beacon-of-hope",
        "name": "Beacon of Hope",
        "url": "/api/spells/beacon-of-hope"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-9",
          "type": "level",
          "name": "Paladin 9",
          "url": "/api/classes/paladin/levels/9"
        }
      ],
      "spell": {
        "index": "dispel-magic",
        "name": "Dispel Magic",
        "url": "/api/spells/dispel-magic"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-13",
          "type": "level",
          "name": "Paladin 13",
          "url": "/api/classes/paladin/levels/13"
        }
      ],
      "spell": {
        "index": "freedom-of-movement",
        "name": "Freedom of Movement",
        "url": "/api/spells/freedom-of-movement"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-17",
          "type": "level",
          "name": "Paladin 17",
          "url": "/api/classes/paladin/levels/17"
        }
      ],
      "spell": {
        "index": "commune",
        "name": "Commune",
        "url": "/api/spells/commune"
      }
    },
    {
      "prerequisites": [
        {
          "index": "paladin-17",
          "type": "level",
          "name": "Paladin 17",
          "url": "/api/classes/paladin/levels/17"
        }
      ],
      "spell": {
        "index": "flame-strike",
        "name": "Flame Strike",
        "url": "/api/spells/flame-strike"
      }
    }
  ],
  "subclass_levels": "/api/subclasses/devotion/levels",
  "url": "/api/subclasses/devotion"
}

Subclass

Name Description Data Type
index The subclass index for shorthand searching. string
class The parent class for this subclass. APIReference (Class)
name The name for this subclass resource. string
subclass_flavor The lore-friendly flavor text for a classes respective subclass. string
desc Description of the subclass resource. list string
spells A list of spells that class can obtain at certain level thresholds. list
subclass_levels A resource url that shows the subclass level progression . string
url The URL reference of this resource. string

GET api/subclasses/{index}/features/

{
  "count": 4,
  "results": [
    {
      "index": "frenzy",
      "name": "Frenzy",
      "url": "/api/features/frenzy"
    },
    ...
    {
      "index": "retaliation",
      "name": "Retaliation",
      "url": "/api/features/retaliation"
    }
  ]
}

Features for Subclass

Name Description Data Type
count the number of features available to a subclass. integer
results A list of the available features for a subclass. list APIReference (Features)

GET api/subclasses/{index}/levels/

[
  {
    "level": 3,
    "features": [
      {
        "name": "Primal Path",
        "index": "primal-path",
        "url": "/api/features/primal-path"
      },
      {
        "name": "Frenzy",
        "index": "frenzy",
        "url": "/api/features/frenzy"
      }
    ],
    "class": {
      "name": "Barbarian",
      "index": "barbarian",
      "url": "/api/classes/barbarian"
    },
    "subclass": {
      "name": "Berserker",
      "index": "berserker",
      "url": "/api/subclasses/berserker"
    },
    "url": "/api/subclasses/berserker/levels/3",
    "index": "berserker-3"
  },
  ...
  {
    "level": 14,
    "features": [
      {
        "name": "Retaliation",
        "index": "retaliation",
        "url": "/api/features/retaliation"
      }
    ],
    "class": {
      "name": "Barbarian",
      "index": "barbarian",
      "url": "/api/classes/barbarian"
    },
    "subclass": {
      "name": "Berserker",
      "index": "berserker",
      "url": "/api/subclasses/berserker"
    },
    "url": "/api/subclasses/berserker/levels/14",
    "index": "berserker-14"
  }
]

Levels for Subclass

Name Description Data Type
level The level that the subclass gets access to this feature. integer
features The feature available for a subclass. list APIReference (Features)
class The class that has access to subclass feature. APIReference (Classes)
subclass The subclass name. APIReference (Subclasses)
url The URL reference of this resource. string
index The index of the subclass feature for shorthand use. string

GET api/subclasses/{index}/levels/{integer 1-20}

{
  "level": 3,
  "features": [
    {
      "name": "Primal Path",
      "index": "primal-path",
      "url": "/api/features/primal-path"
    },
    {
      "name": "Frenzy",
      "index": "frenzy",
      "url": "/api/features/frenzy"
    }
  ],
  "class": {
    "name": "Barbarian",
    "index": "barbarian",
    "url": "/api/classes/barbarian"
  },
  "subclass": {
    "name": "Berserker",
    "index": "berserker",
    "url": "/api/subclasses/berserker"
  },
  "url": "/api/subclasses/berserker/levels/3",
  "index": "berserker-14"
}

Level for Subclass

Name Description Data Type
level The level that the subclass gets access to this feature. integer
features The feature available for a subclass. list APIReference (Features)
class The class that has access to subclass feature. APIReference (Classes)
subclass The subclass name. APIReference (Subclasses)
url The URL reference of this resource. string
index The index of the subclass feature for shorthand use. string

GET api/subclasses/{index}/levels/{integer 1-20}/features

{
  "count": 1,
  "results": [
    {
      "index": "frenzy",
      "name": "Frenzy",
      "url": "/api/features/frenzy"
    }
  ]
}

Features for Subclass and Level

Name Description Data Type
count The number of features available at the requested level. integer
results A list of the available features for a subclass at the requested level. list APIReference (Features)

Features

When you gain a new level in a class, you get its features for that level. You don’t, however, receive the class’s starting Equipment, and a few features have additional rules when you’re multiclassing: Channel Divinity, Extra Attack, Unarmored Defense, and Spellcasting.

GET api/features/{index}

{
  "index": "action-surge-1-use",
  "class": {
    "name": "Fighter",
    "index": "fighter",
    "url": "/api/classes/fighter"
  },
  "name": "Action Surge (1 use)",
  "level": 2,
  "desc": [
    "Starting at 2nd level, you can push yourself beyond your normal limits for a moment. On your turn, you can take one additional action on top of your regular action and a possible bonus action.",
    "Once you use this feature, you must finish a short or long rest before you can use it again. Starting at 17th level, you can use it twice before a rest, but only once on the same turn."
  ],
  "url": "/api/features/action-surge-1-use"
}

Feature

Name Description Data Type
index The feature index for shorthand searching. string
name The name for this feature resource. string
level The level this feature is gained. integer
class The class that gains this feature. APIReference (Class)
subclass The subclass that gains feature resource. APIReference (Subclass)
desc A brief description of the feature. list string
feature_specific Information specific to this feature. Feature Specific
url The URL of the referenced resource. string

Feature Specific

Name Description Data Type Features Used By
subfeature_options Subfeature options for a parent feature Choice (Features) [1]
expertise_options Expertise options for features that grant expertise Choice (Proficiencies) Bard Expertise, Rogue Expertise

[1] - subfeature_options is included in all Features that offer a choice between more than one sub-feature.

Races

Races

Each race grants your character ability and skill bonuses as well as racial traits.

GET api/races/{index}

{
  "index": "dwarf",
  "name": "Dwarf",
  "speed": 25,
  "ability_bonuses": [
    {
      "bonus": 2,
      "ability_score": {
        "name": "CON",
        "index": "con",
        "url": "/api/ability-scores/con"
      }
    }
  ],
  "alignment": "Most dwarves are lawful, believing firmly in the benefits of a well-ordered society. They tend toward good as well, with a strong sense of fair play and a belief that everyone deserves to share in the benefits of a just order.",
  "age": "Dwarves mature at the same rate as humans, but they're considered young until they reach the age of 50. On average, they live about 350 years.",
  "size": "Medium",
  "size_description": "Dwarves stand between 4 and 5 feet tall and average about 150 pounds. Your size is Medium.",
  "starting_proficiencies": [
    {
      "name": "Battleaxes",
      "index": "battleaxes",
      "url": "/api/proficiencies/battleaxes"
    },
    {
      "name": "Handaxes",
      "index": "handaxes",
      "url": "/api/proficiencies/handaxes"
    },
    {
      "name": "Light hammers",
      "index": "light-hammers",
      "url": "/api/proficiencies/light-hammers"
    },
    {
      "name": "Warhammers",
      "index": "warhammers",
      "url": "/api/proficiencies/warhammers"
    }
  ],
  "starting_proficiency_options": {
    "choose": 1,
    "type": "proficiencies",
    "from": [
      {
        "name": "Smith's tools",
        "index": "smiths-tools",
        "url": "/api/proficiencies/smiths-tools"
      },
      {
        "name": "Brewer's supplies",
        "index": "brewers-supplies",
        "url": "/api/proficiencies/brewers-supplies",
      },
      {
        "name": "Mason's tools",
        "index": "masons-tools",
        "url": "/api/proficiencies/masons-tools"
      }
    ]
  },
  "languages": [
    {
      "name": "Common",
      "index": "common",
      "url": "/api/languages/common"
    },
    {
      "name": "Dwarvish",
      "index": "dwarvish",
      "url": "/api/languages/dwarvish"
    }
  ],
  "language_desc": "You can speak, read, and write Common and Dwarvish. Dwarvish is full of hard consonants and guttural sounds, and those characteristics spill over into whatever other language a dwarf might speak.",
  "traits": [
    {
      "name": "Darkvision",
      "index": "darkvision",
      "url": "/api/traits/darkvision"
    },
    {
      "name": "Dwarven Resilience",
      "index": "dwarven-resilience",
      "url": "/api/traits/dwarven-resilience"
    },
    {
      "name": "Stonecunning",
      "index": "stonecunning",
      "url": "/api/traits/stonecunning"
    }
    {
      "name": "Dwarven Combat Training",
      "index": "dwarven-combat-training",
      "url": "/api/traits/dwarven-combat-training"
    }
  ],
  "subraces": [
    {
      "url": "/api/subraces/hill-dwarf",
      "index": "hill-dwarf",
      "name": "Hill Dwarf"
    }
  ],
  "url": "/api/races/dwarf"
}

Races

Name Description Data Type
index The race index for shorthand searching. string
name The name for this race resource. string
speed Base move speed for this race (in feet per round). integer
ability_bonuses Racial bonuses to ability scores. list (AbilityBonus)
alignment Flavor description of likely alignments this race takes. string
age Flavor description of possible ages for this race. string
size Size class of this race. string
size_description Flavor description of height and weight for this race. string
starting_proficiencies Starting proficiencies for all new characters of this race. list APIReference (Proficiencies)
starting_proficiency_options Starting proficiency options for all new characters of this race. Choice (Proficiencies)
languages Starting languages for all new characters of this race. list APIReference (Proficiencies)
language_desc Flavor description of the languages this race knows. string
traits Racial traits that provide benefits to its members. list APIReference (Trait)
subraces All possible subraces that this race includes list APIReference (Subrace)
url The URL reference of this resource. string

GET api/races/{index}/subraces/

{
  "count": 1,
  "results": [
    {
      "index": "high-elf",
      "name": "High Elf",
      "url": "/api/subraces/high-elf"
    }
  ]
}

Subraces for Race

Name Description Data Type
count the number of available subraces. integer
results A list of the subrace and its reference url. list APIReference (Subrace)

GET api/races/{index}/proficiencies/

{
  "count": 1,
  "results": [
    {
      "index": "skill-perception",
      "name": "Skill: Perception",
      "url": "/api/proficiencies/skill-perception"
    }
  ]
}

Proficiencies for Race

Name Description Data Type
count the number of proficiencies available to a race. integer
results A list of the available proficiencies for a race. list APIReference (Proficiencies)

GET api/races/{index}/traits/

{
  "count": 5,
  "results": [
    {
      "index": "darkvision",
      "name": "Darkvision",
      "url": "/api/traits/darkvision"
    },
    ...
    {
      "index": "trance",
      "name": "Trance",
      "url": "/api/traits/trance"
    }
  ]
}

Traits for Race

Name Description Data Type
count the number of traits available to a race. integer
results A list of the available traits for a race. list APIReference (Traits)

Subraces

Subraces reflect the different varieties of a certain parent race

GET api/subraces/{index}

{
  "index": "hill-dwarf",
  "name": "Hill Dwarf",
  "race": {
    "name": "Dwarf",
    "index": "dwarf",
    "url": "/api/races/dwarf",
  },
  "desc": "As a hill dwarf, you have keen senses, deep intuition, and remarkable resilience.",
  "ability_bonuses": [
    {
      "ability_score": {
        "index": "wis",
        "name": "WIS",
        "url": "/api/ability-scores/wis"
      },
      "bonus": 1
    }
  ],
  "starting_proficiencies": [],
  "languages": [],
  "racial_traits": [
    {
      "name": "Dwarven Toughness",
      "index": "dwarven-toughness",
      "url": "/api/traits/stonecunning"
    }
  ],
  "url": "/api/subraces/hill-dwarf"
}

subrace

Name Description Data Type
index The subrace index for shorthand searching. integer
name The name for this subrace resource. string
race The parent race for this subrace. APIReference (Race)
desc Flavor description of this subrace. string
ability_bonuses Additional ability bonuses granted by this sub race. list (AbilityBonus)
starting_proficiencies Starting proficiencies for all new characters of this subrace. list APIReference (Proficiencies)
languages Starting languages for all new characters of this subrace. list APIReference (Proficiencies)
language_options The starting languages to choose from for this subrace. Choice (Language)
racial_traits Racial traits that provide benefits to its members. list APIReference (Trait)
url The URL reference of this resource. string

GET api/subraces/{index}/traits/

{
  "count": 5,
  "results": [
    {
      "index": "dwarven-resilience",
      "name": "Dwarven Resilience",
      "url": "/api/traits/dwarven-resilience"
    },
    ...
    {
      "index": "stonecunning",
      "name": "Stonecunning",
      "url": "/api/traits/stonecunning"
    }
  ]
}

Traits for Subrace

Name Description Data Type
count The number of traits that apply to a subrace. integer
results Subracial traits that provide benefits to its members. list APIReference (Traits)

GET api/subraces/{index}/proficiencies/

{
  "count": 4,
  "results": [
    {
      "index": "longbows",
      "name": "Longbows",
      "url": "/api/proficiencies/longbows"
    },
    ...
    {
      "index": "shortswords",
      "name": "Shortswords",
      "url": "/api/proficiencies/shortswords"
    }
  ]
}

Proficiencies for Subrace

Name Description Data Type
count The number of proficiences that apply to a subrace. integer
results Subracial proficiences that provide benefits to its members. list APIReference (Proficiencies)

Traits

Traits for races in D&D.

GET api/traits/{index}

{
  "index": "brave",
  "races": [
    {
      "name": "Halfling",
      "index": "halfling",
      "url": "/api/races/halfling"
    }
  ],
  "subraces": [],
  "name": "Brave",
  "desc": [
    "You have advantage on saving throw against being frightened."
  ],
  "proficiencies": [],
  "proficiency_choices": {},
  "url": "/api/traits/brave"
}

Trait

Name Description Data Type
index The trait index for shorthand searching. integer
races Races that have access to the trait. list APIReference (Proficiencies)
subraces Subraces that have access to the trait. list APIReference (Proficiencies)
name The name of the trait. string
desc The description of the trait. list string
proficiencies Proficiencies this trait grants. list APIReference (Proficiencies)
proficiency_choices A choice of proficiencies this trait grants. Choice (Proficiencies)
trait_specific Information specific to this trait Trait Specific
url The URL reference of this resource. string

Trait Specific

Name Description Data Type Features Used By
subtrait_options Sub-trait options for a parent trait Choice (Traits) [1]
spell_options Spell options for traits that grant spells Choice (Spells) High Elf Cantrip
damage_type A damage type associated with this trait. APIReference (Damage Type) Draconic Ancestry (any color)
breath_weapon The breath weapon action associated with a draconic ancestry object Draconic Ancestry (any color)

[1] - subtrait_options is included in all Traits that offer a choice between more than one sub-trait.

Equipment

Equipment Categories

These are the categories that various equipment fall under.

GET api/equipment-categories/{index}

{
  "index": "armor",
  "name": "Armor",
  "equipment": [
    {
      "index": "padded",
      "name": "Padded",
      "url": "/api/equipment/padded"
    },
    ...
    {
      "index": "shield",
      "name": "Shield",
      "url": "/api/equipment/shield"
    }
  ],
  "url": "/api/equipment-categories/armor"
}

Equipment Category

Name Description Data Type
index The equipment category index for shorthand searching. string
name The name of the equipment category. string
equipment A list of the equipment that falls into this category. list APIReference (Equipment)

Equipment

Opportunities abound to find treasure, equipment, weapons, armor, and more in the dungeons you explore. Normally, you can sell your treasures and trinkets when you return to a town or other settlement, provided that you can find buyers and merchants interested in your loot.

GET api/equipment/{index}

The following is a response example for a weapon

{
  "index": "club",
  "name": "Club",
  "equipment_category": {
    "name": "Weapon",
    "url": "/api/equipment-categories/weapon",
  },
  "weapon_category": "Simple",
  "weapon_range": "Melee",
  "category_range": "Simple Melee",
  "cost": {
    "quantity": 1,
    "unit": "sp"
  },
  "damage": {
    "damage_dice": "1d4",
    "damage_type": {
      "name": "Bludgeoning",
      "index": "bludgeoning",
      "url": "/api/damage-types/bludgeoning"
    }
  },
  "range": {
    "normal": 5,
    "long": null
  },
  "weight": 2,
  "properties": [
    {
      "name": "Light",
      "index": "light",
      "url": "/api/weapon-properties/light"
    },
    {
      "name": "Monk",
      "index": "light",
      "url": "/api/weapon-properties/monk"
    }
  ],
  "url": "/api/equipment/club"
}

Weapon

Name Description Data Type
index The damage type index for shorthand searching. string
name The name for this equipment resource. string
equipment_category The category of equipment this falls into. APIReference (Equipment Categories)
weapon_category The category of weapon this falls into. string
weapon_range Whether this is a Melee or Ranged weapon. string
category_range A combination of weapon_category and weapon_range. string
cost The cost of the equipment. Cost
damage Includes data on dice, bonus, and damage type. object
two_handed_damage Damage when weilded with two hands. It includes data on dice, bonus, and damage type. object
range Includes the normal and long range for a weapon, only pertains to Ranged weapons object
weight How much the equipment weighs. integer
properties A list of the properties this weapon has. list APIReference (Weapon Properties)
url The URL of the referenced resource. string

GET api/equipment/{index}

The following is a response example for a piece of armor

{
  "index": "padded",
  "name": "Padded",
  "equipment_category": {
    "name": "Armor",
    "index": "armor",
    "url": "/api/equipment-categories/armor"
    },
  "armor_category": "Light",
  "armor_class": {
    "base": 11,
    "dex_bonus": true,
    "max_bonus": null
  },
  "str_minimum": 0,
  "stealth_disadvantage": true,
  "weight": 8,
  "cost": {
    "quantity": 5,
    "unit": "gp"
  },
  "url": "/api/equipment/padded"
}

Armor

Name Description Data Type
index The damage type index for shorthand searching. string
name The name for this equipment resource. string
equipment_category The category of equipment this falls into. APIReference (Equipment Categories)
armor_category The category of armor this falls into. string
armor_class Details on how to calculate armor class. object
str_minimum Minimum STR required to use this armor. integer
stealth_disadvantage Whether the armor gives disadvantage for Stealth. boolean
weight How much the equipment weighs. integer
cost The cost of the equipment. Cost
url The URL of the referenced resource. string

GET api/equipment/{index}

The following is a response example for a piece of adventuring gear

{
  "index": "abacus",
  "name": "Abacus",
  "equipment_category": {
    "index": "adventuring-gear",
    "name": "Adventuring Gear",
    "url": "/api/equipment-categories/adventuring-gear"
  },
  "gear_category": {
    "index": "standard-gear",
    "name": "Standard Gear",
    "url": "/api/equipment-categories/standard-gear"
  },
  "cost": {
    "quantity": 2,
    "unit": "gp"
  },
  "weight": 2,
  "url": "/api/equipment/abacus"
}

Gear

Name Description Data Type
index The damage type index for shorthand searching. string
name The name for this equipment resource. string
equipment_category The category of equipment this falls into. APIReference (Equipment Categories)
gear_category The category of adventuring gear this falls into. APIReference (Equipment Categories)
cost The cost of the equipment. Cost
weight How much the equipment weighs. integer
url The URL of the referenced resource. string

GET api/equipment/{index}

The following is a response example for an equipment pack

{
  "index": "burglars-pack",
  "name": "Burglar's Pack",
  "equipment_category": {
    "index": "adventuring-gear",
    "name": "Adventuring Gear",
    "url": "/api/equipment-categories/adventuring-gear"
  },
  "gear_category": {
    "index": "equipment-packs",
    "name": "Equipment Packs",
    "url": "/api/equipment-categories/equipment-packs"
  },
  "cost": {
    "quantity": 16,
    "unit": "gp"
  },
  "contents": [
    {
      "item": {
        "index": "backpack",
        "name": "Backpack",
        "url": "/api/equipment/backpack"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "ball-bearings-bag-of-1000",
        "name": "Ball bearings (bag of 1,000)",
        "url": "/api/equipment/ball-bearings-bag-of-1000"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "candle",
        "name": "Candle",
        "url": "/api/equipment/candle"
      },
      "quantity": 5
    },
    {
      "item": {
        "index": "crowbar",
        "name": "Crowbar",
        "url": "/api/equipment/crowbar"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "hammer",
        "name": "Hammer",
        "url": "/api/equipment/hammer"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "piton",
        "name": "Piton",
        "url": "/api/equipment/piton"
      },
      "quantity": 10
    },
    {
      "item": {
        "index": "lantern-hooded",
        "name": "Lantern, hooded",
        "url": "/api/equipment/lantern-hooded"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "oil-flask",
        "name": "Oil (flask)",
        "url": "/api/equipment/oil-flask"
      },
      "quantity": 2
    },
    {
      "item": {
        "index": "rations-1-day",
        "name": "Rations (1 day)",
        "url": "/api/equipment/rations-1-day"
      },
      "quantity": 5
    },
    {
      "item": {
        "index": "tinderbox",
        "name": "Tinderbox",
        "url": "/api/equipment/tinderbox"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "waterskin",
        "name": "Waterskin",
        "url": "/api/equipment/waterskin"
      },
      "quantity": 1
    },
    {
      "item": {
        "index": "rope-hempen-50-feet",
        "name": "Rope, hempen (50 feet)",
        "url": "/api/equipment/rope-hempen-50-feet"
      },
      "quantity": 1
    }
  ],
  "url": "/api/equipment/burglars-pack"
}

Equipment pack

Name Description Data Type
index The damage type index for shorthand searching. string
name The name for this equipment resource. string
equipment_category The category of equipment this falls into. APIReference (Equipment Categories)
gear_category The category of adventuring gear this falls into. APIReference (Equipment Categories)
cost The cost of the equipment. Cost
contents The list of adventuring gear in the pack. list APIReference (Equipment)
url The URL of the referenced resource. string

Magic Items

These are the various magic items you can find in the game.

GET api/magic-items/{index}

{
  "index": "adamantine-armor",
  "name": "Adamantine Armor",
  "equipment_category": {
    "index": "armor",
    "name": "Armor",
    "url": "/api/equipment-categories/armor"
  },
  "desc": [
    "Armor (medium or heavy, but not hide), uncommon",
    "This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any critical hit against you becomes a normal hit."
  ],
  "url": "/api/magic-items/adamantine-armor"
}

Magic Item

Name Description Data Type
index The magic item index for shorthand searching. string
name The name of the magic item. string
equipment_category The associated Equipment Category for this magic item. APIReference (Equipment Categories)
desc A description of the magic item. list string

Weapon Properties

Properties for weapons of D&D.

GET api/weapon-properties/{index}

{
  "index": "ammunition",
  "name": "Ammunition",
  "desc": [
    "You can use a weapon that has the ammunition property to make a ranged attack only if you have ammunition to fire from the weapon. Each time you attack with the weapon, you expend one piece of ammunition. Drawing the ammunition from a quiver, case, or other container is part of the attack (you need a free hand to load a one-handed weapon).",
    "At the end of the battle, you can recover half your expended ammunition by taking a minute to search the battlefield. If you use a weapon that has the ammunition property to make a melee attack, you treat the weapon as an improvised weapon (see \"Improvised Weapons\" later in the section). A sling must be loaded to deal any damage when used in this way."
  ],
  "url": "/api/weapon-properties/ammunition"
}

Weapon Property

Name Description Data Type
index The weapon property index for shorthand searching. string
name The name of the weapon property. string
desc The description of the weapon property. list string
url The URL reference of this resource. string

Spells

Spells

These are the spells of D&D.

GET api/spells/{index}

{
  "index": "acid-arrow",
  "name": "Acid Arrow",
  "desc": [
    "A shimmering green arrow streaks toward a target within range and bursts in a spray of acid. Make a ranged spell attack against the target. On a hit, the target takes 4d4 acid damage immediately and 2d4 acid damage at the end of its next turn. On a miss, the arrow splashes the target with acid for half as much of the initial damage and no damage at the end of its next turn."
  ],
  "higher_level": [
    "When you cast this spell using a spell slot of 3rd level or higher, the damage (both initial and later) increases by 1d4 for each slot level above 2nd."
  ],
  "range": "90 feet",
  "components": [
    "V",
    "S",
    "M"
  ],
  "material": "Powdered rhubarb leaf and an adder's stomach.",
  "ritual": false,
  "duration": "Instantaneous",
  "concentration": false,
  "casting_time": "1 action",
  "level": 2,
  "attack_type": "ranged",

  "damage": {
    "damage_type": {
      "name": "Acid",
      "index": "acid",
      "url": "/api/damage-types/acid"
    },
    "damage_at_slot_level": {
      "2": "4d4",
      "3": "5d4",
      "4": "6d4",
      "5": "7d4",
      "6": "8d4",
      "7": "9d4",
      "8": "10d4",
      "9": "11d4",
    },
  },

  "school": {
    "name": "Evocation",
    "index": "evocation",
    "url": "/api/magic-schools/evocation"
  },
  "classes": [
    {
      "name": "Wizard",
      "index": "wizard",
      "url": "/api/classes/wizard"
    }
  ],
  "subclasses": [
    {
      "name": "Lore",
      "index": "lore",
      "url": "/api/subclasses/lore"
    },
    {
      "name": "Land",
      "index": "land",
      "url": "/api/subclasses/land"
    }
  ],
  "url": "/api/spells/acid-arrow"
}

GET params

Name Description Examples
level Lets you filter spells for specific levels. It returns a list with all the spells which have this level or an empty list if none can be found. Multiple levels are supported. /spells?level=2 /spells?level=2,4
school Lets you filter spells for specific schools. It returns a list with all the spells which have this school or an empty list if none can be found. Multiple or partial schools are supported. /spells?school=Evocation /spells?school=Evo /spells?school=evocation,illusion

Spell

Name Description Data Type
index The spell index for shorthand searching. string
name The spell name. string
desc A description of the spell. list
higher_level description for casting the spell at a higher level. list
range The range of the spell. string
components The required components for a spell are shorthanded to V,S, and M which stand for verbal, somatic, and material. list
material The material component for the spell to be cast. string
ritual Determines if a spell can be cast in a 10-min(in-game) ritual. boolean
duration How long the spell effect lasts. string
concentration Determines if a spell needs concentration to persist. boolean
casting_time How long it takes for the spell to activate. string
level The level of the spell. integer
attack_type The attack type of the spell. string
damage The damage type and the damage dice for the spell at each spell slot level object
school The magic school this spell belongs to. APIReference (Magic Schools)
classes The classes that are able to learn this spell. APIReference (Classes)
subclasses A list of subclasses that have access to this spell. listAPIReference (Classes)
url The URL reference of this resource. string

Feats

Feats

Feats are boons a character can receive at level up instead of an ability score increase.

GET api/feats/{index}

{
    "index": "grappler",
    "name": "Grappler",
    "prerequisites": [
        {
        "ability_score": {
            "index": "str",
            "name": "STR",
            "url": "/api/ability-scores/str"
        },
        "minimum_score": 13
        }
    ],
    "desc": [
        "You’ve developed the Skills necessary to hold your own in close--quarters Grappling. You gain the following benefits:",
        "- You have advantage on Attack Rolls against a creature you are Grappling.",
        "- You can use your action to try to pin a creature Grappled by you. To do so, make another grapple check. If you succeed, you and the creature are both Restrained until the grapple ends."
    ],
    "url": "/api/feats/grappler"
}

GET params

Name Description Examples
name Lets you filter feats for a specific name. It returns a list with all the feast which have this name or an empty list if none can be found. /feats?name=Grappler

Feat

Name Description Data Type
index The feat index for shorthand searching. string
name The feat's name string
prerequisites An object of APIReferences to ability scores and minimum scores. list(Object)
desc Description of the feat resource. list(string)
url The URL reference of this resource. string

Monsters

Monsters

These are the monsters of D&D.

GET api/monsters/{index}

{
  "index": "aboleth",
  "name": "Aboleth",
  "size": "Large",
  "type": "aberration",
  "subtype": null,
  "alignment": "lawful evil",
  "armor_class": 17,
  "hit_points": 135,
  "hit_dice": "18d10",
  "speed": {
    "walk": "10 ft.",
    "swim": "40 ft."
  },
  "strength": 21,
  "dexterity": 9,
  "constitution": 15,
  "intelligence": 18,
  "wisdom": 15,
  "charisma": 18,
  "proficiencies": [
    {
      "value": 6
      "proficiency" : {
        "index": "saving-throw-con"
        "name": "Saving Throw: CON",
        "url": "/api/proficiencies/saving-throw-con",
      }
    },
    {
      "value": 8
      "proficiency" : {
        "index": "saving-throw-int"
        "name": "Saving Throw: INT",
        "url": "/api/proficiencies/saving-throw-int",
      }
    },
    {
      "value": 6
      "proficiency" : {
        "index": "saving-throw-wis"
        "name": "Saving Throw: WIS",
        "url": "/api/proficiencies/saving-throw-wis",
      }
    },
    {
      "value": 12
      "proficiency" : {
        "index": "skill-history"
        "name": "Skill: History",
        "url": "/api/proficiencies/skill-history",
      }
    },
    {
      "value": 10
      "proficiency" : {
        "index": "skill-perception"
        "name": "Skill: Perception",
        "url": "/api/proficiencies/skill-perception",
      }
    }
  ],
  "damage_vulnerabilities": [],
  "damage_resistances": [],
  "damage_immunities": [],
  "condition_immunities": [],
  "senses": {
    "darkvision": "120 ft.",
    "passive_perception": 20,
  },
  "languages": "Deep Speech, telepathy 120 ft.",
  "challenge_rating": 10,
  "special_abilities": [
    {
      "name": "Amphibious",
      "desc": "The aboleth can breathe air and water."
    },
    {
      "name": "Mucous Cloud",
      "desc": "While underwater, the aboleth is surrounded by transformative mucus. A creature that touches the aboleth or that hits it with a melee attack while within 5 ft. of it must make a DC 14 Constitution saving throw. On a failure, the creature is diseased for 1d4 hours. The diseased creature can breathe only underwater.",
      "dc": {
        "dc_type": {
          "name": "CON",
          "url": "/api/ability-scores/con"
        },
        "dc_value": 14,
        "success_type": "none"
      }
    },
    {
      "name": "Probing Telepathy",
      "desc": "If a creature communicates telepathically with the aboleth, the aboleth learns the creature's greatest desires if the aboleth can see the creature."
    }
  ],
  "actions": [
    {
      "name": "Multiattack",
      "desc": "The aboleth makes three tentacle attacks."
    },
    {
      "name": "Tentacle",
      "desc": "Melee Weapon Attack: +9 to hit, reach 10 ft., one target. Hit: 12 (2d6 + 5) bludgeoning damage. If the target is a creature, it must succeed on a DC 14 Constitution saving throw or become diseased. The disease has no effect for 1 minute and can be removed by any magic that cures disease. After 1 minute, the diseased creature's skin becomes translucent and slimy, the creature can't regain hit points unless it is underwater, and the disease can be removed only by heal or another disease-curing spell of 6th level or higher. When the creature is outside a body of water, it takes 6 (1d12) acid damage every 10 minutes unless moisture is applied to the skin before 10 minutes have passed.",
      "attack_bonus": 9,
      "dc": {
        "dc_type": {
          "name": "CON",
          "url": "/api/ability-scores/con"
        },
        "dc_value": 14,
        "success_type": "none"
      },
      "damage": [
        {
          "damage_type": {
            "name": "Acid",
            "url": "/api/damage-types/acid"
          },
          "damage_dice": "2d6",
          "damage_bonus": 5
        }
      ]
    },
    {
      "name": "Tail",
      "desc": "Melee Weapon Attack: +9 to hit, reach 10 ft. one target. Hit: 15 (3d6 + 5) bludgeoning damage.",
      "attack_bonus": 9,
      "damage": [
        {
          "damage_type": {
            "name": "Bludgeoning",
            "url": "/api/damage-types/bludgeoning"
          },
          "damage_dice": "3d6",
          "damage_bonus": 5
        }
      ]
    },
    {
      "name": "Enslave",
      "desc": "The aboleth targets one creature it can see within 30 ft. of it. The target must succeed on a DC 14 Wisdom saving throw or be magically charmed by the aboleth until the aboleth dies or until it is on a different plane of existence from the target. The charmed target is under the aboleth's control and can't take reactions, and the aboleth and the target can communicate telepathically with each other over any distance.\nWhenever the charmed target takes damage, the target can repeat the saving throw. On a success, the effect ends. No more than once every 24 hours, the target can also repeat the saving throw when it is at least 1 mile away from the aboleth.",
      "usage": {
        "type": "per day",
        "times": 3
      },
      "dc": {
        "dc_type": {
          "name": "WIS",
          "url": "/api/ability-scores/wis"
        },
        "dc_value": 14,
        "success_type": "none"
      }
    }
  ],
  "legendary_actions": [
    {
      "name": "Detect",
      "desc": "The aboleth makes a Wisdom (Perception) check."
    },
    {
      "name": "Tail Swipe",
      "desc": "The aboleth makes one tail attack."
    },
    {
      "name": "Psychic Drain (Costs 2 Actions)",
      "desc": "One creature charmed by the aboleth takes 10 (3d6) psychic damage, and the aboleth regains hit points equal to the damage the creature takes.",
      "attack_bonus": 0,
      "damage": [
        {
          "damage_type": {
            "name": "Psychic",
            "url": "/api/damage-types/psychic"
          },
          "damage_dice": "3d6",
          "damage_bonus": 0
        }
      ]
    }
  ],
  "url": "/api/monsters/aboleth"
}

GET params

Name Description Examples
challenge_rating Lets you filter monsters for specific challenge ratings. It returns a list with all the monsters which have this rating or an empty list if none can be found. Multiple ratings and fractions are also supported. /monsters?challenge_rating=2 /monsters?challenge_rating=0.25 /monsters?challenge_rating=2,0.25,4

Monster

Name Description Data Type
index The monster index for shorthand searching. string
name The name of the monster. string
size The size of the monster ranging from Tiny to Gargantuan. string
type The type of monster. string
subtype The sub-category of a monster used for classification of monsters. string
alignment A creature's general moral and personal attitudes. string
armor_class The difficulty for a player to successfully deal damage to a monster. integer
hit_points The hit points of a monster determine how much damage it is able to take before it can be defeated integer
hit_dice The hit die of a monster can be used to make a version of the same monster whose hit points are determined by the roll of the die. For example: A monster with 2d6 would have its hit points determine by rolling a 6 sided die twice. string
forms Only applicable to Lycanthropes that have multiple forms. This links to the other related monster entries that are the same. APIReference (Monsters)
speed Speed for a monster determines how fast it can move per turn. object
strength The strength of a monster. How hard a monster can hit a player. integer
dexterity The dexterity of a monster. The monster's ability for swift movement or stealth integer
constitution The constitution of a monster. How sturdy a monster is. integer
intelligence The intelligence of a monster. The monster's ability to outsmart a player integer
wisdom The wisdom of a monster. A monster's ability to ascertain the player's plan integer
charisma The charisma of a monster. A monster's ability to charm or intimidate a player integer
proficiencies A list of proficiencies of a monster. list
damage_vulnerabilities A list of damage types that a monster will take double damage from. list
damage_resistances A list of damage types that a monster will take half damage from. list
damage_immunities A list of damage types that a monster will take zero damage from. list
condition_immunities A list of conditions that a monster is immune to. list
senses Monsters typically have a passive perception but they might also have other senses to detect players object
languages The languages a monster is able to speak. string
challenge_rating A monster's challenge rating is a guideline number that says when a monster becomes an appropriate challenge against the party's average level. For example. A group of 4 players with an average level of 4 would have an appropriate combat challenge against a monster with a challenge rating of 4 but a monster with a challenge rating of 8 against the same group of players would pose a significant threat. Number
special_abilities A list of the monster's special abilities. list
actions A list of actions that is available to the monster to take during combat. list
legendary_actions Certain monsters have a list of actions that can be used outside of the monster's initiative. list
url The URL of the referenced resource. string

Game Mechanics

Conditions

Conditions alter a creature’s capabilities in a variety of ways and can arise as a result of a spell, a class feature, a monster’s attack, or other effect. Most conditions, such as blinded, are impairments, but a few, such as invisible, can be advantageous.

GET api/conditions/{index}

{
  "index": "blinded",
  "name": "Blinded",
  "desc": [
    "- A blinded creature can't see and automatically fails any ability check that requires sight.",
    "- Attack rolls against the creature have advantage, and the creature's attack rolls have disadvantage."
  ],
  "url": "/api/conditions/blinded"
}

Condition

Name Description Data Type
index The condition index for shorthand searching. string
name The name for this condition resource. string
desc A brief description of the condition. list string
url The URL of the referenced resource. string

Damage Types

Different attacks, damaging spells, and other harmful effects deal different types of damage. Damage types have no rules of their own, but other rules, such as damage resistance, rely on the types.

GET api/damage-types/{index}

{
  "index": "acid",
  "name": "Acid",
  "desc": [
    "The corrosive spray of a black dragon's breath and the dissolving enzymes secreted by a black pudding deal acid damage."
  ],
  "url": "/api/damage-types/acid"
}

Damage Type

Name Description Data Type
index The damage type index for shorthand searching. string
name The name for this damage type resource. string
desc A brief description of the damage type. list string
url The URL of the referenced resource. string

Magic Schools

Academies of magic group spells into eight categories called schools of magic. Scholars, particularly wizards, apply these categories to all spells, believing that all magic functions in essentially the same way, whether it derives from rigorous study or is bestowed by a deity.

GET api/magic-schools/{index}

{

  "index": "abjuration",
  "name": "Abjuration",
  "desc": "Abjuration spells are protective in nature, though some of them have aggressive uses. They create magical barriers, negate harmful effects, harm trespassers, or banish creatures to other planes of existence.",
  "url": "/api/magic-schools/abjuration"
}

Magic School

Name Description Data Type
index The magic school index for shorthand searching. string
name The name for this magic school resource. string
desc A brief description of the magic school. string
url The URL of the referenced resource. string

Rules

Rules

Rules are pages in the SRD that document the mechanics of Dungeons and Dragons. Rules have descriptions which is the text directly underneath the rule heading in the SRD. Rules also have subsections for each heading underneath the rule in the SRD.

GET api/rules/{index}

{
    "name": "Using Ability Scores",
    "index": "using-ability-scores",
    "desc": "# Using Ability Scores\n\nSix abilities provide a quick description of every creature's physical and mental characteristics:\n- **Strength**, measuring physical power\n- **Dexterity**, measuring agility\n- **Constitution**, measuring endurance\n- **Intelligence**, measuring reasoning and memory\n- **Wisdom**, measuring perception and insight\n- **Charisma**, measuring force of personality\n\nIs a character muscle-bound and insightful? Brilliant and charming? Nimble and hardy? Ability scores define these qualities-a creature's assets as well as weaknesses.\n\nThe three main rolls of the game-the ability check, the saving throw, and the attack roll-rely on the six ability scores. The book's introduction describes the basic rule behind these rolls: roll a d20, add an ability modifier derived from one of the six ability scores, and compare the total to a target number.\n\n**Ability Scores and Modifiers** Each of a creature's abilities has a score, a number that defines the magnitude of that ability. An ability score is not just a measure of innate capabilities, but also encompasses a creature's training and competence in activities related to that ability.\n\nA score of 10 or 11 is the normal human average, but adventurers and many monsters are a cut above average in most abilities. A score of 18 is the highest that a person usually reaches. Adventurers can have scores as high as 20, and monsters and divine beings can have scores as high as 30.\n\nEach ability also has a modifier, derived from the score and ranging from -5 (for an ability score of 1) to +10 (for a score of 30). The Ability Scores and Modifiers table notes the ability modifiers for the range of possible ability scores, from 1 to 30.\n",
    "subsections": [
      {
        "name": "Ability Scores and Modifiers",
        "index": "ability-scores-and-modifiers",
        "url": "/api/rule-sections/ability-scores-and-modifiers"
      },
      {
        "name": "Advantage and Disadvantage",
        "index": "advantage-and-disadvantage",
        "url": "/api/rule-sections/advantage-and-disadvantage"
      },
      {
        "name": "Proficiency Bonus",
        "index": "proficiency-bonus",
        "url": "/api/rule-sections/proficiency-bonus"
      },
      {
        "name": "Ability Checks",
        "index": "ability-checks",
        "url": "/api/rule-sections/ability-checks"
      },
      {
        "name": "Using Each Ability",
        "index": "using-each-ability",
        "url": "/api/rule-sections/using-each-ability"
      },
      {
        "name": "Saving Throws",
        "index": "saving-throws",
        "url": "/api/rule-sections/saving-throws"
      }
    ],
    "url": "/api/rules/using-ability-scores"
  }

Rule

Name Description Data Type
index The rule index for shorthand searching. string
name The heading of this rule. string
desc Markdown for the text directly underneath the rule heading in the SRD. string
subsections Sections for each subheading underneath the rule in the SRD. list APIReference (Rule Section)
url The URL of the referenced resource. string

Rule Sections

Rule sections represent a sub-heading and text that can be found underneath a rule heading in the SRD.

GET api/rule-sections/{index}

{
    "name": "Saving Throws",
    "index": "saving-throws",
    "desc": "## Saving Throws\n\nA saving throw-also called a save-represents an attempt to resist a spell, a trap, a poison, a disease, or a similar threat. You don't normally decide to make a saving throw; you are forced to make one because your character or monster is at risk of harm.\n\nTo make a saving throw, roll a d20 and add the appropriate ability modifier. For example, you use your Dexterity modifier for a Dexterity saving throw.\n\nA saving throw can be modified by a situational bonus or penalty and can be affected by advantage and disadvantage, as determined by the GM.\n\nEach class gives proficiency in at least two saving throws. The wizard, for example, is proficient in Intelligence saves. As with skill proficiencies, proficiency in a saving throw lets a character add his or her proficiency bonus to saving throws made using a particular ability score. Some monsters have saving throw proficiencies as well.\n\nThe Difficulty Class for a saving throw is determined by the effect that causes it. For example, the DC for a saving throw allowed by a spell is determined by the caster's spellcasting ability and proficiency bonus.\n\nThe result of a successful or failed saving throw is also detailed in the effect that allows the save. Usually, a successful save means that a creature suffers no harm, or reduced harm, from an effect.\n",
    "url": "/api/rule-sections/saving-throws"
  }

Rule Sections

Name Description Data Type
index The rule section index for shorthand searching. string
name The heading of this rule section. string
desc Markdown for the text directly underneath the section heading in the SRD. string
url The URL of the referenced resource. string

Common Models

Common Models

APIReference

Name Description Data Type
index The resource index for shorthand searching. string
name The name of the referenced resource. string
url The URL of the referenced resource. string

ClassAPIResource

Name Description Data Type
index The resource index for shorthand searching. string
class The class of whom the resource belongs to. string
url The URL of the referenced resource. string

Choice

Name Description Data Type
choose The number of items to pick from the list. integer
type The type of the resources to choose from. string
from A list of resources to choose from. list APIReference

Cost

Name Description Data Type
quantity The numerical amount of coins. integer
unit The unit of coinage. string

Ability Bonus

Name Description Data Type
bonus The bonus amount for this ability score. integer
ability_score The ability score for this bonus. APIReference (AbilityScore)