diff --git a/changelog.d/remove-dead-pleroma-api-controllers.skip b/changelog.d/remove-dead-pleroma-api-controllers.skip
new file mode 100644
index 000000000..e69de29bb
diff --git a/lib/pleroma/web/pleroma_api/controllers/password_controller.ex b/lib/pleroma/web/pleroma_api/controllers/password_controller.ex
deleted file mode 100644
index 444477245..000000000
--- a/lib/pleroma/web/pleroma_api/controllers/password_controller.ex
+++ /dev/null
@@ -1,52 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2022 Pleroma Authors
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.PleromaAPI.PasswordController do
- @moduledoc """
- The module contains functions for password reset.
- """
-
- use Pleroma.Web, :controller
-
- require Logger
-
- import Pleroma.Web.ControllerHelper, only: [json_response: 3]
-
- alias Pleroma.PasswordResetToken
- alias Pleroma.Repo
- alias Pleroma.User
- alias Pleroma.Web.Registration
-
- plug(Pleroma.Web.Plugs.RateLimiter, [name: :request] when action == :request)
-
- @doc "POST /auth/password"
- def request(conn, params) do
- nickname_or_email = params["email"] || params["nickname"]
-
- Registration.password_reset(nickname_or_email)
-
- json_response(conn, :no_content, "")
- end
-
- def reset(conn, %{"token" => token}) do
- with %{used: false} = token <- Repo.get_by(PasswordResetToken, %{token: token}),
- false <- PasswordResetToken.expired?(token),
- %User{} = user <- User.get_cached_by_id(token.user_id) do
- render(conn, "reset.html", %{
- token: token,
- user: user
- })
- else
- _e -> render(conn, "invalid_token.html")
- end
- end
-
- def do_reset(conn, %{"data" => data}) do
- with {:ok, _} <- PasswordResetToken.reset_password(data["token"], data) do
- render(conn, "reset_success.html")
- else
- _e -> render(conn, "reset_failed.html")
- end
- end
-end
diff --git a/lib/pleroma/web/pleroma_api/controllers/token_controller.ex b/lib/pleroma/web/pleroma_api/controllers/token_controller.ex
deleted file mode 100644
index 10eeb907e..000000000
--- a/lib/pleroma/web/pleroma_api/controllers/token_controller.ex
+++ /dev/null
@@ -1,59 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2022 Pleroma Authors
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.PleromaAPI.TokenController do
- use Pleroma.Web, :controller
-
- alias Pleroma.User
- alias Pleroma.Web.OAuth.Token
- alias Pleroma.Web.PleromaAPI.TokenView
- alias Pleroma.Web.Plugs.OAuthScopesPlug
-
- require Logger
-
- plug(:skip_auth when action == :confirm_email)
- plug(:skip_plug, OAuthScopesPlug when action in [:oauth_tokens, :revoke_token])
-
- action_fallback(:errors)
-
- def confirm_email(conn, %{"user_id" => uid, "token" => token}) do
- with %User{} = user <- User.get_cached_by_id(uid),
- true <- user.local and !user.is_confirmed and user.confirmation_token == token,
- {:ok, _} <- User.confirm(user) do
- redirect(conn, to: "/")
- end
- end
-
- def oauth_tokens(%{assigns: %{user: user}} = conn, _params) do
- with oauth_tokens <- Token.get_user_tokens(user) do
- conn
- |> put_view(TokenView)
- |> render("index.json", %{tokens: oauth_tokens})
- end
- end
-
- def revoke_token(%{assigns: %{user: user}} = conn, %{"id" => id} = _params) do
- Token.delete_user_token(user, id)
-
- json_reply(conn, 201, "")
- end
-
- defp errors(conn, {:param_cast, _}) do
- conn
- |> put_status(400)
- |> json("Invalid parameters")
- end
-
- defp errors(conn, _) do
- conn
- |> put_status(500)
- |> json("Something went wrong")
- end
-
- defp json_reply(conn, status, json) do
- conn
- |> put_resp_content_type("application/json")
- |> send_resp(status, json)
- end
-end