A&B D&D 5e API documentation version 1
http://arrowsnbread.com/dnd/api/{version}
- version: required (1)
Classes
Data about classes in D&D 5e
Get a list of classes
Add a new class to the list
Delete a class
Edit a current class
Return this documentation in json format
get /classes.php
Get a list of classes
Query Parameters
- id: (integer)
Get the class with that id
Example:
1
- name: (string)
Get classes containing this string in their name
Example:
Fighter
- hd: (string)
Get classes that have this hit die (1d4, 1d6, 1d8, 1d10, or 1d12)
Example:
1d10
- armor: (string)
Get classes with proficiency in all of the passed armor types (comma seperated values)
Example:
Light, Medium, Shields
- weapons: (string)
Get classes with proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple, Rapier, Scimitar
- tools: (string)
Get classes with proficiency in all of the passed tool types (comma seperated values)
Example:
Instrument, Thieves' Tools
- skills_num_min: (integer)
Get classes that get at least this number of skills (set equal to skills_num_max to get only classes with that number of skills exactly)
Example:
2
- skills_num_max: (integer)
Get classes that get at most this number of skills (set equal to skills_num_min to get only classes with that number of skills exactly)
Example:
3
- skills_list: (string)
Get classes that have access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- saves: (string)
Get classes that have proficiency in all the passed saving throws (comma seperated values)
Example:
CON, Strength
- dependencies: (string)
Get classes that depend on all the passed ability scores (comma seperated values)
Example:
CON, Strength
- features: (string)
Get classes that have all the passed class features (comma seperated values)
Example:
Spellcasting, Channel Divinity
- fighting_styles: (string)
Get classes that have all the passed fighting styles (comma seperated values)
Example:
Defense, Great Weapon
- has_fighting_styles: (boolean)
Get classes that have access to any fighting styles
Example:
true
- asis: (integer)
Get classes with at least this many ability score increases
Example:
5
- source: (string)
Get classes that come from a source containing this string
Example:
Player's Handbook
- page_min: (integer)
Get classes that start on this page or later (set equal to page_min to get only classesthat start on that page exactly)
Example:
40
- page_max: (integer)
Get classes that start on this page or earlier (set equal to page_min to get only classesthat start on that page exactly)
Example:
80
- orderby: (string - default: name)
Order reponse according to these columns (name, hd, armor, weapons, tools, skills, saves, dependencies, features, fighting_styles, asis, source, page)
Example:
source
post /classes.php
Add a new class to the list
Query Parameters
- name: required (string)
The name of the new class
Example:
Fighter
- hd: required (string)
This class has this hit die (1d4, 1d6, 1d8, 1d10, or 1d12)
Example:
1d10
- source: required (string)
This class comes from a source containing this string
Example:
Player's Handbook
- page: (integer - default: 0)
This class starts on this page
Example:
126
- armor: (string - default: none)
This class has proficiency in all of the passed armor types (comma seperated values)
Example:
Light armor, Medium armor, Shields
- weapons: (string - default: none)
This class has proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple weapons, Rapier, Scimitar
- tools: (string - default: none)
This class has proficiency in all of the passed tool types (comma seperated values)
Example:
3 Instruments, Thieves' Tools
- skills_num: (integer - default: 0)
This class has gets athis number of skills
Example:
2
- skills_list: (string - default: none)
This class has access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- saves: (string - default: none)
This class has proficiency in all the passed saving throws (comma seperated values)
Example:
CON, STR
- dependencies: (string - default: none)
This class depends on all the passed ability scores (comma seperated values)
Example:
CON, STR
- features: (string - default: none)
This class has all the passed core class features (comma seperated values)
Example:
Spellcasting (full), Channel Divinity
- fighting_styles: (string - default: none)
This class has all the passed fighting styles (comma seperated values)
Example:
Defense, Great Weapon Fighting
- asis: (integer - default: 0)
This class has this many ability score increases
Example:
5
put /classes.php
Edit a current class
Query Parameters
- id: required (integer)
Edit the class with this id (overwriting any passed values)
Example:
1
- name: (string)
The name of the class
Example:
Fighter
- hd: (string)
This class has this hit die (1d4, 1d6, 1d8, 1d10, or 1d12)
Example:
1d10
- source: (string)
This class comes from a source containing this string
Example:
Player's Handbook
- page: (integer)
This class starts on this page
Example:
126
- armor: (string)
This class has proficiency in all of the passed armor types (comma seperated values)
Example:
Light armor, Medium armor, Shields
- weapons: (string)
This class has proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple weapons, Rapier, Scimitar
- tools: (string)
This class has proficiency in all of the passed tool types (comma seperated values)
Example:
3 Instruments, Thieves' Tools
- skills_num: (integer)
This class gets this number of skills
Example:
2
- skills_list: (string)
This class has access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- saves: (string)
This class has proficiency in all the passed saving throws (comma seperated values)
Example:
CON, STR
- dependencies: (string)
This class depends on all the passed ability scores (comma seperated values)
Example:
CON, STR
- features: (string)
This class has all the passed core class features (comma seperated values)
Example:
Spellcasting (full), Channel Divinity
- fighting_styles: (string)
This class has all the passed fighting styles (comma seperated values)
Example:
Defense, Great Weapon Fighting
- asis: (integer)
This class has this many ability score increases
Example:
5
Subclasses
Data about subclasses in D&D 5e
Get a list of subclasses
Add a new subclass to the list
Delete a subclass
Edit a current subclass
Return this documentation in json format
get /subclasses.php
Get a list of subclasses
Query Parameters
- id: (integer)
Get the subclass with that id
Example:
1
- name: (string)
Get subclasses containing this string in their name
Example:
Berserker
- class: (string)
Get subclasses connected to class containing this string in their name
Example:
Berserker
- armor: (string)
Get subclasses with proficiency in all of the passed armor types (comma seperated values)
Example:
Light, Medium, Shields
- weapons: (string)
Get subclasses with proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple, Rapier, Scimitar
- tools: (string)
Get subclasses with proficiency in all of the passed tool types (comma seperated values)
Example:
Instrument, Thieves' Tools
- skills_num_min: (integer)
Get subclasses that get at least this number of skills (set equal to skills_num_max to get only classes with that number of skills exactly)
Example:
2
- skills_num_max: (integer)
Get subclasses that get at most this number of skills (set equal to skills_num_min to get only classes with that number of skills exactly)
Example:
3
- skills_list: (string)
Get subclasses that have access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- dependencies: (string)
Get subclasses that depend on all the passed ability scores (comma seperated values)
Example:
CON, Strength
- features: (string)
Get subclasses that have all the passed class features (comma seperated values)
Example:
Spellcasting, Channel Divinity
- source: (string)
Get subclasses that come from a source containing this string
Example:
Player's Handbook
- page_min: (integer)
Get subclasses that start on this page or later (set equal to page_min to get only classesthat start on that page exactly)
Example:
40
- page_max: (integer)
Get subclasses that start on this page or earlier (set equal to page_min to get only classesthat start on that page exactly)
Example:
80
- orderby: (string - default: class, name)
Order reponse according to these columns (name, class, armor, weapons, tools, skills, dependencies, features, source, page)
Example:
source
post /subclasses.php
Add a new subclass to the list
Query Parameters
- name: required (string)
The name of the new subclass
Example:
Berserker
- class: required (string)
The name of the class that the subclass tied to
Example:
Barbarian
- source: required (string)
This subclass comes from a source containing this string
Example:
Player's Handbook
- page: (integer - default: 0)
This subclass starts on this page
Example:
126
- armor: (string)
This subclass has proficiency in all of the passed armor types (comma seperated values)
Example:
Light armor, Medium armor, Shields
- weapons: (string)
This subclass has proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple weapons, Rapier, Scimitar
- tools: (string)
This subclass has proficiency in all of the passed tool types (comma seperated values)
Example:
3 Instruments, Thieves' Tools
- skills_num: (integer - default: 0)
This subclass has gets athis number of skills
Example:
2
- skills_list: (string)
This subclass has access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- dependencies: (string)
This subclass depends on all the passed ability scores (comma seperated values)
Example:
CON, STR
- features: (string)
This subclass has all the passed in notable subclass features (comma seperated values)
Example:
Spellcasting (third), Mage Hand Legerdemain
put /subclasses.php
Edit a current subclass
Query Parameters
- id: required (integer)
Edit the subclass with this id (overwriting any other passed values)
Example:
1
- name: required (string)
The name of the new subclass
Example:
Berserker
- class: required (string)
The name of the class that the subclass tied to
Example:
Barbarian
- source: required (string)
This subclass comes from a source containing this string
Example:
Player's Handbook
- page: (integer)
This subclass starts on this page
Example:
126
- armor: (string)
This subclass has proficiency in all of the passed armor types (comma seperated values)
Example:
Light armor, Medium armor, Shields
- weapons: (string)
This subclass has proficiency in all of the passed weapon types (comma seperated values)
Example:
Simple weapons, Rapier, Scimitar
- tools: (string)
This subclass has proficiency in all of the passed tool types (comma seperated values)
Example:
3 Instruments, Thieves' Tools
- skills_num: (integer)
This subclass has gets athis number of skills
Example:
2
- skills_list: (string)
This subclass has access to all the passed in skills (comma seperated values)
Example:
Perception, Insight
- dependencies: (string)
This subclass depends on all the passed ability scores (comma seperated values)
Example:
CON, STR
- features: (string)
This subclass has all the passed in notable subclass features (comma seperated values)
Example:
Spellcasting (third), Mage Hand Legerdemain
Races
Data about races and subraces in D&D 5e
Get a list of races
Add a new race to the list
Delete a race
Edit an existing race
Return this documentation in json format
get /races.php
Get a list of races
Query Parameters
- id: (integer)
Get the races with that id
Example:
1
- race: (string)
Get races containing this string in their name
Example:
Elf
- subrace: (string)
Get subraces connected to races containing this string in their name
Example:
Wood Elf
- is_subrace: (boolean)
Get only subraces if true, and only non-subraces if false
Example:
true
- size: (string)
Get races of this size
Example:
Medium
- speed_min: (integer)
Get races with least this much speed (set equal to speed_max to get only races with that speed exactly)
Example:
30
- speed_max: (integer)
Get races with no greater than this much speed (set equal to speed_min to get only races with that speed exactly)
Example:
30
- languages: (string)
Get races that know all of these languages (comma seperated values)
Example:
Common, Elven
- strength_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to strength_max to get only races with that bonus exactly)
Example:
1
- strength_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to strength_min to get only races with that bonus exactly)
Example:
2
- dexterity_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to dexterity_max to get only races with that bonus exactly)
Example:
1
- dexterity_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to dexterity_min to get only races with that bonus exactly)
Example:
2
- constitution_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to constitution_max to get only races with that bonus exactly)
Example:
1
- constitution_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to constitution_min to get only races with that bonus exactly)
Example:
2
- intelligence_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to intelligence_max to get only races with that bonus exactly)
Example:
1
- intelligence_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to intelligence_min to get only races with that bonus exactly)
Example:
2
- wisdom_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to wisdom_max to get only races with that bonus exactly)
Example:
1
- wisdom_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to wisdom_min to get only races with that bonus exactly)
Example:
2
- charisma_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to charisma_max to get only races with that bonus exactly)
Example:
1
- charisma_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to charisma_min to get only races with that bonus exactly)
Example:
2
- skills: (string)
Get races that have proficiency in all of these skills (comma seperated values)
Example:
Perception, Survival
- proficiencies: (string)
Get races that have proficiency in all of these tools, weapons, and armors (comma seperated values)
Example:
Battleaxe, Light armor, Brewer's supplies
- darkvision_min: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to darkvision_max to get only races with that darkvision range exactly)
Example:
30
- darkvision_max: (integer)
Get races that give at least this much of a bonus to this ability score (set equal to darkvision_min to get only races with that darkvision range exactly, or set equal to 0 to get races without darkvision)
Example:
0
- extra_traits: (string)
Get races have all of the listed racial traits (comma seperated values)
Example:
Fey Ancestry, Bonus Cantrip
- source: (string)
Get races that come from a source containing this string
Example:
Player's Handbook
- page_min: (integer)
Get races that start on this page or later (set equal to page_min to get only classesthat start on that page exactly)
Example:
10
- page_max: (integer)
Get races that start on this page or earlier (set equal to page_min to get only classesthat start on that page exactly)
Example:
20
- orderby: (string - default: races, subrace)
Order reponse according to these columns (race, subrace, size,speed, languages, strength, dexterity, constitution, intelligence, wisdom, charisma, skills, proficiencies, darkvision, extra_traits, source, page)
Example:
source
post /races.php
Add a new race to the list
Query Parameters
- race: required (string)
The name of the new race
Example:
Elf
- source: required (string)
This race comes from a source containing this string
Example:
Player's Handbook
- page: (integer - default: 0)
This race starts on this page
Example:
126
- subrace: (string - default: --)
The name of the new subrace (or -- if it is not a subrace)
Example:
Wood Elf
- size: (string)
The size of the new race
Example:
Medium
- speed: (integer - default: 0)
The speed of the new race
Example:
30
- languages: (string)
The languages spoken by the new race (comma seperated values)
Example:
Common, Elven
- strength: (integer - default: 0)
The strength bonus of the new race
Example:
2
- dexterity: (integer - default: 0)
The dexterity bonus of the new race
Example:
2
- constitution: (integer - default: 0)
The constitution bonus of the new race
Example:
2
- intelligence: (integer - default: 0)
The intelligence bonus of the new race
Example:
2
- wisdom: (integer - default: 0)
The wisdom bonus of the new race
Example:
2
- charisma: (integer - default: 0)
The charisma bonus of the new race
Example:
2
- skills: (string)
Skills the new race gets proficiency in (comma seperated values)
Example:
Perception, Survival
- proficiencies: (string)
Tools, weapons, and armors the new race gets proficiency in (comma seperated values)
Example:
Battleaxe, Light armor, Brewer's supplies
- darkvision: (integer - default: 0)
The range of the darkvision of the new race (0 if they don't have darkvision)
Example:
30
- extra_traits: (string)
Other ratial traits the new race gets (comma seperated values)
Example:
Bonus feat, +1 in two ability scores of your choice
put /races.php
Edit an existing race
Query Parameters
- id: required (integer)
Edit the race with this id (overwriting any other passed values)
Example:
1
- race: (string)
The name of the race
Example:
Elf
- subrace: (string)
The name of the subrace (or -- if it is not a subrace)
Example:
Wood Elf
- is_subrace: (boolean)
Whether the race is a subrace or not
Example:
true
- size: (string)
The size of the race
Example:
Medium
- speed: (integer)
The speed of the race
Example:
30
- languages: (string)
The languages spoken by the race (comma seperated values)
Example:
Common, Elven
- strength: (integer)
The strength bonus of the race
Example:
2
- dexterity: (integer)
The dexterity bonus of the race
Example:
2
- constitution: (integer)
The constitution bonus of the race
Example:
2
- intelligence: (integer)
The intelligence bonus of the race
Example:
2
- wisdom: (integer)
The wisdom bonus of the race
Example:
2
- charisma: (integer)
The charisma bonus of the race
Example:
2
- skills: (string)
Skills the race gets proficiency in (comma seperated values)
Example:
Perception, Survival
- proficiencies: (string)
Tools, weapons, and armors the race gets proficiency in (comma seperated values)
Example:
Battleaxe, Light armor, Brewer's supplies
- darkvision: (integer)
The range of the darkvision of the race (0 if they don't have darkvision)
Example:
30
- extra_traits: (string)
Other ratial traits the race gets (comma seperated values)
Example:
Bonus feat, +1 in two ability scores of your choice
- source: required (string)
This race comes from a source containing this string
Example:
Player's Handbook
- page: (integer - default: 0)
This race starts on this page
Example:
126