[
  {
    "name": "get_api",
    "description": "Making a request to the API's base URL returns an object containing available endpoints.",
    "inputSchema": {
      "type": "object",
      "properties": {}
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-10-10"
    }
  },
  {
    "name": "get_api_ability_scores",
    "description": "# Ability Score\n\nRepresents one of the six abilities that describes a creature's physical and mental characteristics. The three main rolls of the game - the ability check, the saving throw, and the attack roll - rely on the ability scores. [[SRD p76](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=76)]",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the ability score to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/ability-scores/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_alignments",
    "description": "# Alignment\n\nA 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.[[SRD p58](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=58)]",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the alignment to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/alignments/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_backgrounds",
    "description": "# Background\n\nEvery story has a beginning. Your character's background reveals where you came from, how you became an adventurer, and your place in the world. Choosing a background provides you with important story cues about your character's identity. [[SRD p60](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=60)]\n\n_Note:_ acolyte is the only background included in the SRD.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the background to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/backgrounds/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_by_endpoint",
    "description": "Currently only the [`/spells`](#get-/api/spells) and [`/monsters`](#get-/api/monsters) endpoints support filtering with query parameters. Use of these query parameters is documented under the respective [Spells](#tag--Spells) and [Monsters](#tag--Monsters) sections.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        }
      },
      "required": [
        "endpoint"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/{endpoint}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes",
    "description": "# Class\n\nA character class is a fundamental part of the identity and nature of\ncharacters in the Dungeons & Dragons role-playing game. A character's\ncapabilities, strengths, and weaknesses are largely defined by its class.\nA character's class affects a character's available skills and abilities. [[SRD p8-55](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=8)]",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_features",
    "description": "Get features available for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/features",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_levels",
    "description": "Get all level resources for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        },
        "subclass": {
          "type": "string",
          "description": "Adds subclasses for class to the response"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/levels",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_levels_by_index_class_level",
    "description": "Get level resource for a class and level.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        },
        "class_level": {
          "type": "number"
        }
      },
      "required": [
        "index",
        "class_level"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/levels/{class_level}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_levels_features",
    "description": "Get features available to a class at the requested level.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        },
        "class_level": {
          "type": "number"
        }
      },
      "required": [
        "index",
        "class_level"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/levels/{class_level}/features",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_levels_spells",
    "description": "Get spells of the requested level available to the class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        },
        "spell_level": {
          "type": "number"
        }
      },
      "required": [
        "index",
        "spell_level"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/levels/{spell_level}/spells",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_multi_classing",
    "description": "Get multiclassing resource for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/multi-classing",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_proficiencies",
    "description": "Get proficiencies available for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/proficiencies",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_spellcasting",
    "description": "Get spellcasting info for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/spellcasting",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_spells",
    "description": "Get spells available for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/spells",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_classes_subclasses",
    "description": "Get subclasses available for a class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the class to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/classes/{index}/subclasses",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_conditions",
    "description": "# Condition\n\nA condition alters a creature’s capabilities in a variety of ways and can \narise as a result of a spell, a class feature, a monster’s attack, or other \neffect. Most conditions, such as blinded, are impairments, but a few, such \nas invisible, can be advantageous.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the condition to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/conditions/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_damage_types",
    "description": "# Damage type\n\nDifferent attacks, damaging spells, and other harmful effects deal different \ntypes of damage. Damage types have no rules of their own, but other rules, \nsuch as damage resistance, rely on the types.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the damage type to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/damage-types/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_equipment",
    "description": "# Equipment\n\nOpportunities abound to find treasure, equipment, weapons, armor, and more \nin the dungeons you explore. Normally, you can sell your treasures and \ntrinkets when you return to a town or other settlement, provided that you \ncan find buyers and merchants interested in your loot.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the equipment to get.\n\nAvailable values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `equipment`.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/equipment/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_equipment_categories",
    "description": "These are the categories that various equipment fall under.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the equipment category score to get.\n\nAvailable values can be found in the resource list for this endpoint.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/equipment-categories/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_feats",
    "description": "# Feat \n\nA feat is a boon a character can receive at level up instead of an ability score increase.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the feat to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/feats/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_features",
    "description": "# Feature \n\nWhen you gain a new level in a class, you get its features for that level. \nYou don’t, however, receive the class’s starting Equipment, and a few \nfeatures have additional rules when you’re multiclassing: Channel Divinity, \nExtra Attack, Unarmored Defense, and Spellcasting.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the feature to get.\n\nAvailable values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `features`.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/features/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_languages",
    "description": "# Language\n\nYour race indicates the languages your character can speak by default, and your background might give you access to one or more additional languages of your choice. [[SRD p59](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=59)]",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the language to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/languages/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_magic_items",
    "description": "These are the various magic items you can find in the game.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the magic item to get.\n\nAvailable values can be found in the resource list for this endpoint.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/magic-items/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_magic_schools",
    "description": "# Magic School\n\nAcademies of magic group spells into eight categories called schools of \nmagic. Scholars, particularly wizards, apply these categories to all spells, \nbelieving that all magic functions in essentially the same way, whether it \nderives from rigorous study or is bestowed by a deity.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the magic school to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/magic-schools/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_monsters",
    "description": "Get list of monsters with optional filtering",
    "inputSchema": {
      "type": "object",
      "properties": {
        "challenge_rating": {
          "type": "array",
          "description": "The challenge rating or ratings to filter on."
        }
      }
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/monsters",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-10-10"
    }
  },
  {
    "name": "get_api_monsters_by_index",
    "description": "Get monster by index.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the `Monster` to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/monsters/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_proficiencies",
    "description": "# Proficiency \n\nBy virtue of race, class, and background a character is proficient at using certain skills, weapons, and equipment. Characters can also gain additional proficiencies at higher levels or by multiclassing. A characters starting proficiencies are determined during character creation.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the proficiency to get.\n\nAvailable values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `proficiencies`.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/proficiencies/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_races",
    "description": "Each race grants your character ability and skill bonuses as well as racial traits.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the race to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/races/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_races_proficiencies",
    "description": "Get proficiencies available for a race.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the race to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/races/{index}/proficiencies",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_races_subraces",
    "description": "Get subraces available for a race.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the race to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/races/{index}/subraces",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_races_traits",
    "description": "Get traits available for a race.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the race to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/races/{index}/traits",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_rule_sections",
    "description": "Rule sections represent a sub-heading and text that can be found underneath a rule heading in the SRD.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the rule section to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/rule-sections/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_rules",
    "description": "# Rule \n\nRules are pages in the SRD that document the mechanics of Dungeons and Dragons. \nRules have descriptions which is the text directly underneath the rule heading \nin the SRD. Rules also have subsections for each heading underneath the rule in the SRD.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the rule to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/rules/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_skills",
    "description": "# Skill\n\nEach 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. [[SRD p77](https://media.wizards.com/2016/downloads/DND/SRD-OGL_V5.1.pdf#page=77)]",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the skill to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/skills/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_spells",
    "description": "Get list of spells with optional filtering.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "level": {
          "type": "array",
          "description": "The level or levels to filter on."
        },
        "school": {
          "type": "array",
          "description": "The magic school or schools to filter on."
        }
      }
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/spells",
      "effect": "reads",
      "verification": "verified",
      "checkedAt": "2026-10-10"
    }
  },
  {
    "name": "get_api_spells_by_index",
    "description": "Get a spell by index.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the `Spell` to get.\n\nAvailable values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `spells`.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/spells/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subclasses",
    "description": "Subclasses reflect the different paths a class may take as levels are gained.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subclass to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subclasses/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subclasses_features",
    "description": "Get features available for a subclass.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subclass to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subclasses/{index}/features",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subclasses_levels",
    "description": "Get all level resources for a subclass.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subclass to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subclasses/{index}/levels",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subclasses_levels_by_index_subclass_level",
    "description": "Get level resources for a subclass and level.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subclass to get.\n"
        },
        "subclass_level": {
          "type": "integer"
        }
      },
      "required": [
        "index",
        "subclass_level"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subclasses/{index}/levels/{subclass_level}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subclasses_levels_features",
    "description": "Get features of the requested spell level available to the class.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subclass to get.\n"
        },
        "subclass_level": {
          "type": "integer"
        }
      },
      "required": [
        "index",
        "subclass_level"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subclasses/{index}/levels/{subclass_level}/features",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subraces",
    "description": "Subraces reflect the different varieties of a certain parent race.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subrace to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subraces/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subraces_proficiencies",
    "description": "Get proficiences available for a subrace.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subrace to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subraces/{index}/proficiencies",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_subraces_traits",
    "description": "Get traits available for a subrace.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the subrace to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/subraces/{index}/traits",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_traits",
    "description": "Get a trait by index.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the `Trait` to get."
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/traits/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  },
  {
    "name": "get_api_weapon_properties",
    "description": "Get a weapon property by index.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "index": {
          "type": "string",
          "description": "The `index` of the weapon property to get.\n"
        }
      },
      "required": [
        "index"
      ]
    },
    "x-dyph": {
      "method": "GET",
      "path": "/api/weapon-properties/{index}",
      "effect": "reads",
      "verification": "unverified",
      "checkedAt": null
    }
  }
]
