3task Doorman decides who may use the REST API of your site: guests, roles, application passwords and AI agents. It shows every open door with the plugin, theme or core part that opened it, counts for two weeks what visitors really use, and then suggests rules that keep your contact forms and shops working.
Everything runs on your own WordPress. No external service, no account, no tracking.
Languages: English, German (formal and informal), Spanish, French and Italian are maintained on translate.wordpress.org and arrive as language packs through the normal WordPress update system.
The REST API is public by default. Without any login, /wp-json/wp/v2/users lists the login names of your authors, and /wp-json/ lists every route, and with it most of your plugins. Newer WordPress versions also bring the Abilities API, and some plugins bring an MCP server along that lets AI agents work on your site. Many site owners do not know that these doors exist.
One click closes a door. The first four are closed after activation, because guests never need them:
/wp/v2/users no longer reveals login names. The block editor keeps working./batch/v1 runs several requests in one. Guests do not need it. Every request inside a batch is checked on its own as well.The namespace overview lists every REST namespace with the plugin, theme or core part that registered it, the number of routes, what the current rules do with a guest request, and how often guests used it in the last 30 days.
Before you close the REST API for guests, the plugin counts which routes are really used: per day, route, method, kind of caller (guest, browser login, application password, other login) and outcome. No IP address, no user agent, no content. Counters older than 30 days are deleted. After two weeks the plugin suggests an allow list for guests that you can apply with one click.
* also covers everything below it: contact-form-7/v1 covers /contact-form-7/v1/contact-forms/5/feedback. * stands for any characters.Cache-Control: no-store. A closed route does not reveal parameter names, even when the request is invalid.LiteSpeed Cache caches REST responses by default, WP REST Cache delivers them before plugins load, and W3 Total Cache can do it when switched on. A cached answer reaches the visitor before any rule runs. The plugin detects these caches, says so on the overview, empties them after every change and keeps refusals out of the LiteSpeed cache. In learning mode it warns that routes answered from the cache are not counted.
When the settings of the plugin “Disable REST API” are found, the overview offers to take over its rules for guests and roles in one step.
Icons: Tabler Icons (https://tabler.io/icons), MIT license, embedded as inline SVG.