GET /dnd/spells/:name
Get complete details for a specific D&D 5e spell by name or index key. Returns spell level, school of magic, casting time, range, components (verbal, somatic, material), duration, description, damage dice, saving throw type, and which classes can learn it. Data from the official 5e SRD via the D&D 5e API. Essential for digital character sheets, spell slot trackers, and combat reference tools.
name
required
Spell name or index (e.g., fireball, magic-missile)
| Name | Required | Default | Description |
|---|---|---|---|
name |
Yes | - | Spell name or index (e.g., fireball, magic-missile) |
curl https://nordapi.ee/api/v1/dnd/spells/fireball
curl https://nordapi.ee/api/v1/dnd/spells/fireball
curl https://nordapi.ee/api/v1/dnd/spells/magic-missile
curl https://nordapi.ee/api/v1/dnd/spells/healing-word
HTTP 500: "# UndefinedFunctionError at GET /api/v1/dnd/spells/fireball\n\nException:\n\n ** (UndefinedFunctionError) function App.Dnd.get_spell/1 is undefined (module App.Dnd is not available)\n (app 0.1.0) App.Dnd.get_spell(\"fireball\")\n (app 0.1.0) lib/app_web/controllers/api/v1/dnd_controller.ex:36: AppWeb.API.V1.DndController.spell/2\n (app 0.1.0) lib/app_web/controllers/api/v1/dnd_controller.ex:1: AppWeb.API.V1.DndController.action/2\n (app 0.1.0) lib/app_web/controllers/api/v1/dnd_controller.ex:1: AppWeb.API.V1.DndController.phoenix_controller_pipeline/2\n (phoenix 1.8.5) lib/phoenix/router.ex:416: Phoenix.Router.__call__/5\n (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.plug_builder_call/2\n (app 0.1.0) deps/plug/lib/plug/debugger.ex:155: AppWeb.Endpoint.\"call (overridable 3)\"/2\n (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.call/2\n (phoenix 1.8.5) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4\n (bandit 1.10.4) lib/bandit/pipeline.ex:131: Bandit.Pipeline.call_plug!/2\n (bandit 1.10.4) lib/bandit/pipeline.ex:42: Bandit.Pipeline.run/5\n (bandit 1.10.4) lib/bandit/http1/handler.ex:13: Bandit.HTTP1.Handler.handle_data/3\n (bandit 1.10.4) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3\n (bandit 1.10.4) lib/bandit/delegating_handler.ex:8: Bandit.DelegatingHandler.handle_continue/2\n (stdlib 7.3) gen_server.erl:2424: :gen_server.try_handle_continue/3\n (stdlib 7.3) gen_server.erl:2291: :gen_server.loop/4\n (stdlib 7.3) proc_lib.erl:333: :proc_lib.init_p_do_apply/3\n \n\n## Connection details\n\n### Params\n\n %{\"name\" => \"fireball\"}\n\n### Request info\n\n * URI: http://localhost:4000/api/v1/dnd/spells/fireball\n * Query string: \n\n### Headers\n \n * accept-encoding: gzip\n * host: localhost:4000\n * user-agent: req/0.5.17\n\n### Session\n\n %{}\n"