{"id":300352,"date":"2026-05-17T11:38:20","date_gmt":"2026-05-17T11:38:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/rest-api-manager\/"},"modified":"2026-05-19T02:17:31","modified_gmt":"2026-05-19T02:17:31","slug":"wpbuoy-endpoint-manager","status":"publish","type":"plugin","link":"https:\/\/fr-be.wordpress.org\/plugins\/wpbuoy-endpoint-manager\/","author":2143314,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.4","stable_tag":"1.1.4","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"WPBuoy Endpoint Manager","header_author":"WPBuoy","header_description":"Manage and block REST API endpoints to enhance your site's security and performance.","assets_banners_color":"8299a9","last_updated":"2026-05-19 02:17:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/wpbuoy-endpoint-manager","header_author_uri":"https:\/\/wpbuoy.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":79,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.2":{"tag":"1.1.2","author":"martincipriano","date":"2026-05-17 11:38:08"},"1.1.4":{"tag":"1.1.4","author":"martincipriano","date":"2026-05-19 02:17:31"}},"upgrade_notice":{"1.0.1":"<p>Renamed to WPBuoy Endpoint Manager.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3534898,"resolution":"128x128","location":"assets","locale":"","width":129,"height":129},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3534898,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3534495,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3534495,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.2","1.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3534495,"resolution":"1","location":"assets","locale":"","width":1204,"height":924},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3534495,"resolution":"2","location":"assets","locale":"","width":1200,"height":935},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3534495,"resolution":"3","location":"assets","locale":"","width":1202,"height":926}},"screenshots":{"1":"Main settings page showing REST API endpoints organized by namespace","2":"Toggle endpoints on\/off with a simple switch interface","3":"View disabled endpoints count per namespace"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1556,263239,261900,23853,600],"plugin_category":[54],"plugin_contributors":[237385],"plugin_business_model":[],"class_list":["post-300352","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-disable-endpoints","plugin_tags-rest-api-security","plugin_tags-rest-api","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-martincipriano","plugin_committers-martincipriano"],"banners":{"banner":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/banner-772x250.png?rev=3534495","banner_2x":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/banner-1544x500.png?rev=3534495","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/icon-128x128.png?rev=3534898","icon_2x":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/icon-256x256.png?rev=3534898","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/screenshot-1.png?rev=3534495","caption":"Main settings page showing REST API endpoints organized by namespace"},{"src":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/screenshot-2.png?rev=3534495","caption":"Toggle endpoints on\/off with a simple switch interface"},{"src":"https:\/\/ps.w.org\/wpbuoy-endpoint-manager\/assets\/screenshot-3.png?rev=3534495","caption":"View disabled endpoints count per namespace"}],"raw_content":"<!--section=description-->\n<p>Every plugin and theme you install registers REST API endpoints. Most are public by default \u2014 including the ones your site never uses.<\/p>\n\n<p>Unused endpoints are unnecessary exposure. They reveal information about your stack, invite probing, and become liabilities when a vulnerability is discovered in a plugin you forgot to audit.<\/p>\n\n<p>WPBuoy Endpoint Manager gives you a clear view of every endpoint on your site and a one-click toggle to disable the ones you don't need.<\/p>\n\n<p><strong>See your full API surface<\/strong>\nEvery endpoint from WordPress core, plugins, and themes in one organized view \u2014 grouped by namespace, with a count of how many are currently disabled.<\/p>\n\n<p><strong>Block endpoints instantly<\/strong>\nToggle any endpoint off and it returns a 403. No code, no rules, no guesswork. One click.<\/p>\n\n<p><strong>Preview before you block<\/strong>\nOpen any endpoint's live response in a new tab before making changes. Know exactly what you're disabling.<\/p>\n\n<p><strong>Clean and accessible<\/strong>\nBuilt to WordPress admin standards. Fully keyboard-navigable with screen reader support.<\/p>\n\n<h4>Who it's for<\/h4>\n\n<p>Agencies hardening client sites. Developers locking down staging environments. Site owners running WooCommerce, membership, or any setup where API exposure is a real risk.<\/p>\n\n<h4>Go further with Pro<\/h4>\n\n<p>WPBuoy Endpoint Manager Pro adds:<\/p>\n\n<ul>\n<li>Advanced search with keyboard shortcut and result highlighting<\/li>\n<li>Multi-criteria filtering by status, route type, and namespace<\/li>\n<li>Dynamic route support with regex pattern matching<\/li>\n<li>Security log \u2014 IP address, endpoint, user agent, timestamp<\/li>\n<li>CSV export and automatic 30-day log cleanup<\/li>\n<li>License management and automatic updates<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/wpbuoy.com\/plugins\/endpoint-manager\/\">Learn more about Endpoint Manager Pro<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/wpbuoy-endpoint-manager<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Use the Endpoints screen in the WordPress admin menu to configure the plugin<\/li>\n<li>Toggle endpoints on\/off as needed<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20disabling%20endpoints%20break%20my%20site%3F\"><h3>Will disabling endpoints break my site?<\/h3><\/dt>\n<dd><p>Disabling certain endpoints may affect WordPress functionality, plugins, or themes that depend on the REST API. Always test thoroughly after making changes. We recommend testing on a staging site first.<\/p><\/dd>\n<dt id=\"can%20i%20manage%20endpoints%20from%20plugins%20and%20themes%3F\"><h3>Can I manage endpoints from plugins and themes?<\/h3><\/dt>\n<dd><p>Yes. The plugin shows all registered static REST API endpoints, including those from plugins and themes.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20wordpress%20multisite%3F\"><h3>Does this plugin work with WordPress multisite?<\/h3><\/dt>\n<dd><p>Yes, but the plugin must be activated on each site individually. Network activation is not currently supported.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Updated: WP.org listing copy \u2014 rewritten description, short description, and Pro upsell section<\/li>\n<li>Fixed: incorrect installation directory path in readme.txt<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Updated: tested up to WordPress 6.9<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed: private constructor enforces singleton pattern<\/li>\n<li>Fixed: text domain loaded via init hook to prevent early-load notices<\/li>\n<li>Fixed: comprehensive uninstall cleanup (options, transients, multisite)<\/li>\n<li>Fixed: accessibility improvements (screen-reader-text, rel attributes)<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Updated: sidebar \"Upgrade to Pro\" features list updated to match current pro feature set.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Updated: standardized admin sidebar with shared WPBuoy styling<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added: endpoint preview button for static routes<\/li>\n<li>Removed: \"Endpoint Preview\" from pro upsell (basic preview now free)<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Updated: standardized admin sidebar styling<\/li>\n<li>Removed: FAQ accordion widget from sidebar<\/li>\n<li>Fixed: removed unprefixed global JavaScript functions<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added: support for all registered REST API namespaces including plugins and themes<\/li>\n<li>Fixed: endpoint sanitization uses sanitize_text_field()<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: sanitize POST input at point of reading<\/li>\n<li>Updated: plugin scoped to WordPress core static endpoints<\/li>\n<li>Updated: sidebar links and added FAQ widget<\/li>\n<li>Updated: tested up to WordPress 6.9<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Renamed to WPBuoy Endpoint Manager for clarity and uniqueness.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Manage WordPress core REST API endpoints<\/li>\n<li>Static endpoints support<\/li>\n<li>Simple toggle interface<\/li>\n<li>Organized by namespace<\/li>\n<\/ul>","raw_excerpt":"See every REST API endpoint your WordPress site exposes \u2014 and disable the ones you don&#039;t need. Reduce your attack surface in minutes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300352"}],"author":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/martincipriano"}],"wp:attachment":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300352"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300352"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300352"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300352"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300352"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}