GET /animals/dogs/breeds
Get a complete list of all recognized dog breeds with sub-breeds where applicable. Returns breed nombres organized hierarchically. Útil para dog breed identification aplicaciones, pet adoption platforms, breed comparison tools, and veterinary reference applications. Data from the Dog CEO API que cubre 100+ breeds.
curl https://nordapi.ee/api/v1/animals/dogs/breeds
HTTP 500: "# CaseClauseError at GET /api/v1/animals/dogs/breeds\n\nException:\n\n ** (CaseClauseError) no case clause matching:\n \n {:ok,\n %Req.Response{\n status: 403,\n headers: %{\n \"access-control-allow-origin\" => [\"*\"],\n \"alt-svc\" => [\"h3=\\\":443\\\"; ma=86400\"],\n \"cf-cache-status\" => [\"DYNAMIC\"],\n \"cf-ray\" => [\"9e98490cda70dcb5-FRA\"],\n \"connection\" => [\"keep-alive\"],\n \"content-type\" => [\"application/json; charset=utf-8\"],\n \"date\" => [\"Thu, 09 Apr 2026 08:54:08 GMT\"],\n \"etag\" => [\"W/\\\"a6-PYwI1SbAb0P+kTVEbcg6g66LuyM\\\"\"],\n \"nel\" => [\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"success_fraction\\\":0.0,\\\"max_age\\\":604800}\"],\n \"report-to\" => [\"{\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800,\\\"endpoints\\\":[{\\\"url\\\":\\\"https://a.nel.cloudflare.com/report/v4?s=pr5yJdJnVgp7X4UQiwFaN1tvmpre7Nti%2Bh7Lrb9YkcjHnHozUOh6ESJDUS3zzPyrENOxxH8k5iPQqvvHV7RQd9OLvPkCuoVYaA037vhuF9WccyMIKlOamDpj4Y0vFSH2Y5VqjQ%3D%3D\\\"}]}\"],\n \"server\" => [\"cloudflare\"],\n \"server-timing\" => [\"cfCacheStatus;desc=\\\"DYNAMIC\\\"\",\n \"cfEdge;dur=2,cfOrigin;dur=126\"],\n \"transfer-encoding\" => [\"chunked\"],\n \"x-cloud-trace-context\" => [\"7e6cef335b7c175ad771c07ca7b78a7b\"]\n },\n body: %{\n \"error\" => \"Forbidden\",\n \"message\" => \"Authentication required. Please provide a valid API key.\",\n \"path\" => \"/v1/breeds\",\n \"statusCode\" => 403,\n \"timestamp\" => \"2026-04-09T08:54:08.201Z\"\n },\n trailers: %{},\n private: %{}\n }}\n \n (app 0.1.0) lib/app/animals.ex:5: App.Animals.dog_breeds/0\n (app 0.1.0) lib/app_web/controllers/api/v1/animals_controller.ex:9: AppWeb.API.V1.AnimalsController.dog_breeds/2\n (app 0.1.0) lib/app_web/controllers/api/v1/animals_controller.ex:1: AppWeb.API.V1.AnimalsController.action/2\n (app 0.1.0) lib/app_web/controllers/api/v1/animals_controller.ex:1: AppWeb.API.V1.AnimalsController.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.3) lib/bandit/pipeline.ex:131: Bandit.Pipeline.call_plug!/2\n (bandit 1.10.3) lib/bandit/pipeline.ex:42: Bandit.Pipeline.run/5\n (bandit 1.10.3) lib/bandit/http1/handler.ex:13: Bandit.HTTP1.Handler.handle_data/3\n (bandit 1.10.3) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3\n (bandit 1.10.3) lib/bandit/delegating_handler.ex:8: Bandit.DelegatingHandler.handle_info/2\n (stdlib 7.1) gen_server.erl:2434: :gen_server.try_handle_info/3\n (stdlib 7.1) gen_server.erl:2420: :gen_server.handle_msg/3\n (stdlib 7.1) proc_lib.erl:333: :proc_lib.init_p_do_apply/3\n \n\n## Connection details\n\n### Params\n\n %{}\n\n### Request info\n\n * URI: http://localhost:4000/api/v1/animals/dogs/breeds\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"