Title: Disable REST API
Author: Dave McHale
Published: <strong>Ọ̀wàrà 3, 2014</strong>
Last modified: Ọwẹ́wẹ̀  14, 2023

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/disable-json-api/assets/banner-772x250.png?rev=1001011)

Plugin yìí **kò tíì ṣe àyẹ̀wò pẹ̀lú àwọn ìtújáde mẹ́ta pàtàkì tó kẹ́yìn ti WordPress**.
Ó lè jẹ́ pé a kò tọ́jú tàbí ṣe àtìlẹ́yìn fún un mọ́, ó sì lè ní àwọn ọ̀ràn ìbámu
nígbà tí a bá lò ó pẹ̀lú àwọn ẹ̀yà WordPress tuntun.

![](https://ps.w.org/disable-json-api/assets/icon-256x256.png?rev=1001011)

# Disable REST API

 Láti ọwọ́ [Dave McHale](https://profiles.wordpress.org/dmchale/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/disable-json-api.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/disable-json-api/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/disable-json-api/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/disable-json-api/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/disable-json-api/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/disable-json-api/)

## Àpèjúwe

The most comprehensive plugin for controlling access to the WordPress REST API!

Works as a “set it and forget it” install. Just upload and activate, and the entire
REST API will be inaccessible to your general site visitors.

But if you do need to grant access to some endpoints, you can do that too. Go to
the Settings page and you can quickly whitelist individual endpoints (or entire 
branches of endpoints) in the REST API.

You can even do this on a per-user-role basis, so your unauthenticated users have
one set of rules while WooCommerce customers have another while Subscribers and 
Editors and Admins all have their own. NOTE: Out of the box, all defined user roles
will still be granted full access to the REST API until you choose to manage those
settings.

For most versions of WordPress, this plugin will return an authentication error 
if a user is not allowed to access an endpoint. For legacy support, WordPress 4.4,
4.5, and 4.6 use the provided `rest_enabled` filter to disable the entire REST API.

## Àwọn àwòrán ìbòjú

[⌊The JSON returned by a website with the API disabled via filters (WP versions 
4.4, 4.5, 4.6)⌉⌊The JSON returned by a website with the API disabled via filters(
WP versions 4.4, 4.5, 4.6)⌉[

The JSON returned by a website with the API disabled via filters (WP versions 4.4,
4.5, 4.6)

[⌊The JSON returned by a website with the API disabled via authentication methods(
WP versions 4.7+)⌉⌊The JSON returned by a website with the API disabled via authentication
methods (WP versions 4.7+)⌉[

The JSON returned by a website with the API disabled via authentication methods (
WP versions 4.7+)

[⌊The Settings page lets you selectively whitelist endpoints registered with the
REST API, on a per-user-role basis.⌉⌊The Settings page lets you selectively whitelist
endpoints registered with the REST API, on a per-user-role basis.⌉[

The Settings page lets you selectively whitelist endpoints registered with the REST
API, on a per-user-role basis.

## Ìgbéwọlẹ̀

 1. Upload the `disable-json-api` directory to the `/wp-content/plugins/` directory
    via FTP
 2. Alternatively, upload the `disable-json-api_v#.#.zip` file to the ‘Plugins->Add
    New’ page in your WordPress admin area
 3. Activate the plugin through the ‘Plugins’ menu in WordPress

## FAQ

### How do I know if this plugin is working?

While logged into WordPress as any user, the REST API will function as intended.
Because of this, you must use a new browser Ìtumọ̀ Yorùbá: – or ChromeÌtumọ̀ Yorùbá:’
s incognito mode Ìtumọ̀ Yorùbá: – to test your website with a clean session. Go 
to yourdomain.com/wp-json/ (or yourdomain.com/?rest_route=/ if you have pretty permalinks
disabled) while NOT LOGGED IN to test the results. You will see an authentication
error returned if the plugin is active. “DRA: Only authenticated users can access
the REST API.”

### Does this plugin disable every REST API that is installed on my site?

This plugin is ONLY meant to disable endpoints accessible via the core REST API 
that is part of WordPress itself. If a plugin or theme has implemented their own
REST API (not to be confused with implementing their own endpoints within the WordPress
API) this plugin will have no effect.

## Àwọn àgbéyẹ̀wò

![](https://secure.gravatar.com/avatar/cd718b2b1b89af40b305136d24c22af2d8bfd11a113206d562d97467b6ff7862?
s=60&d=retro&r=g)

### 󠀁[Excellent](https://wordpress.org/support/topic/excellent-13544/)󠁿

 [graphicvision1](https://profiles.wordpress.org/graphicvision1/) Ògún 19, 2024

What else can I say, this plugin does exactly what its supposed to do. ItÌtumọ̀ 
Yorùbá: ’s easy to understand and works perfectly. So well done!

![](https://secure.gravatar.com/avatar/28f29c0bd22c800b94380bab32f1d21f509dcfd23c6a04c25d2577971ca70616?
s=60&d=retro&r=g)

### 󠀁[Fantastic](https://wordpress.org/support/topic/fantastic-3276/)󠁿

 [Maarten B](https://profiles.wordpress.org/maartenbelmans/) Ọ̀pẹ 29, 2023

The plugin does what it says on the tin, without being pretentious. Absolutely fantastic!

![](https://secure.gravatar.com/avatar/2575687b68f004ac334b350150c3a0fe3ae1872f5b07bcb28e082ee2d0ba9f73?
s=60&d=retro&r=g)

### 󠀁[One of the must have plugins.](https://wordpress.org/support/topic/one-of-the-must-have-plugins-4/)󠁿

 [ucsendre](https://profiles.wordpress.org/ucsendre/) Ọwẹ́wẹ̀ 14, 2023

I always start my WordPress installations with this plugin (among a few other ones).
A must have on all sites. Thank you.

![](https://secure.gravatar.com/avatar/6ee556d084a00f6d8da3d00fb4abd769110d2c1abefdbe4c0411bda05e1a0826?
s=60&d=retro&r=g)

### 󠀁[Still works on WP 6.2](https://wordpress.org/support/topic/still-works-on-wp-6-2/)󠁿

 [mw815371](https://profiles.wordpress.org/mw815371/) Igbe 3, 2023

The plugin still works for me on WordPress 6.2. ItÌtumọ̀ Yorùbá: ’s great to have
the option to allow API access where I need it and block everything else.

![](https://secure.gravatar.com/avatar/021af8b59a1c6fdd0d92b71f2a1a8d5bf6c40395d059fdbede4bb520af0cb33a?
s=60&d=retro&r=g)

### 󠀁[Just what I was looking for](https://wordpress.org/support/topic/just-what-i-was-looking-for-535/)󠁿

 [Ronny Adsetts](https://profiles.wordpress.org/ronnyadsetts/) Ṣẹrẹ 26, 2023

Allows locking the WP API behind auth and selectively allowing it where needed. 
Despite the lack of plugin updates, the author does have an active github repo so
donÌtumọ̀ Yorùbá: ’t let that put you off.

![](https://secure.gravatar.com/avatar/300547007f18e9a5b8eab3d451fd11f18a1c008b405403387d36656247e2d962?
s=60&d=retro&r=g)

### 󠀁[Excellent solution](https://wordpress.org/support/topic/excellent-solution-67/)󠁿

 [Ben Sibley](https://profiles.wordpress.org/bensibley/) Ṣẹrẹ 20, 2023

Blocking the REST API entirely breaks plugins that require this functionality, so
being able to selectively enable routes is perfect. I recommend this plugin to everyone
who uses Independent Analytics to secure their site while still enabling analytics
to be recorded.

 [ Ka gbogbo àwọn àgbéyẹ̀wò 38 ](https://wordpress.org/support/plugin/disable-json-api/reviews/)

## Àwọn Olùkópa & Olùgbéejáde

“Disable REST API” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa
sí plugin yìí.

Àwọn Olùkópa

 *   [ Dave McHale ](https://profiles.wordpress.org/dmchale/)
 *   [ Tang Rufus ](https://profiles.wordpress.org/tangrufus/)

A ti túmọ̀ “Disable REST API” sí àwọn èdè agbègbè 14. Ọpẹ́lọpẹ́ fún [àwọn atúmọ̀ èdè](https://translate.wordpress.org/projects/wp-plugins/disable-json-api/contributors)
fún àwọn ìkópa wọn.

[Túmọ̀ “Disable REST API” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/disable-json-api)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/disable-json-api/), ṣàyẹ̀wò
[ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/disable-json-api/), tàbí ṣe àgbékalẹ̀
sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/disable-json-api/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/disable-json-api/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.8

 * Tested up to WP v6.3
 * Added `dra_error_message` filter so devs can customize the access error message
 * Fixed bug that caused fatal errors if activating plugin on installations running
   the LearnPress plugin
 * Changed minimum requirements to PHP 5.6 (up from 5.3) and WordPress 4.9 (up from
   4.4). Adding docblock comments to support minimums.

#### 1.7

 * Tested up to WP v5.8
 * Replace use of filemtime() with plugin version number for static file enqueues.
   Props @tangrufus for bringing this up!
 * Fixed logic bug for role-based default_allow rules. Props @msp1974 for the report!
 * Few small code-style updates

#### 1.6

 * Tested up to WP v5.6
 * Added support for managing endpoint access on a per-user-role basis
 * Soooooooo many small changes behind the scenes to support the above

#### 1.5.1

 * Tested up to WP v5.5

#### 1.5

 * Tested up to WP v5.3
 * Added enforcement for WordPress and PHP minimum version requirements
 * Fixed minor bug to prevent unintended empty routes
 * Minor text updates and adding textdomain to translation functions that didnÌtumọ̀
   Yorùbá: ’t have them

#### 1.4.3

 * Added `load_plugin_textdomain()` for i18n

#### 1.4.2

 * Fixed issue causing unintentional unlocking of endpoints when another WP_Error
   existed before this plugin did its job

#### 1.4.1

 * Fixed echo of text URL to primary Plugins page in WP Dashboard

#### 1.4

 * Tested for WP v4.8
 * Tested for PHP 5.3+
 * Added settings screen
 * Site Admins may now whitelist routes that they wish to allow unauthenticated 
   access to
 * Added `dra_allow_rest_api` filter to the is_logged_in() check, so developers 
   can get more granular with permissions
 * Props to @tangrufus for all of the help that went into this release

#### 1.3

 * Tested for WP v4.7
 * Adding new functionality to raise authentication errors in 4.7+ for non-logged-
   in users

#### 1.2

 * Tested for WP v4.5
 * Removal of actions which publish REST info to the head and header

#### 1.1

 * Updated to support the new filters created in the 2.0 beta API

#### 1.0

 * Initial Release

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.8**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **ọdún 3 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **80,000+**
 *  Ẹ̀yà WordPress ** 4.9 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **6.3.8**
 *  Ẹ̀yà PHP ** 5.6 tàbí ju bẹ́ẹ̀ lọ **
 *  Àwọn èdè
 * [Asturian](https://ast.wordpress.org/plugins/disable-json-api/), [Chinese (Taiwan)](https://tw.wordpress.org/plugins/disable-json-api/),
   [Dutch](https://nl.wordpress.org/plugins/disable-json-api/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/disable-json-api/),
   [English (US)](https://wordpress.org/plugins/disable-json-api/), [French (France)](https://fr.wordpress.org/plugins/disable-json-api/),
   [German](https://de.wordpress.org/plugins/disable-json-api/), [Portuguese (Portugal)](https://pt.wordpress.org/plugins/disable-json-api/),
   [Russian](https://ru.wordpress.org/plugins/disable-json-api/), [Spanish (Colombia)](https://es-co.wordpress.org/plugins/disable-json-api/),
   [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/disable-json-api/), [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/disable-json-api/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/disable-json-api/), [Spanish (Venezuela)](https://ve.wordpress.org/plugins/disable-json-api/),
   àti [Swedish](https://sv.wordpress.org/plugins/disable-json-api/).
 *  [Túmọ̀ sí èdè rẹ](https://translate.wordpress.org/projects/wp-plugins/disable-json-api)
 * Àwọn àmì
 * [admin](https://yor.wordpress.org/plugins/tags/admin/)[api](https://yor.wordpress.org/plugins/tags/api/)
   [JSON](https://yor.wordpress.org/plugins/tags/json/)[rest](https://yor.wordpress.org/plugins/tags/rest/)
   [rest-api](https://yor.wordpress.org/plugins/tags/rest-api/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/disable-json-api/advanced/)

## Àwọn ìbò

 4.8 lára àwọn ìràwọ̀ 5.

 *  [  36 5-star reviews     ](https://wordpress.org/support/plugin/disable-json-api/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/disable-json-api/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/disable-json-api/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/disable-json-api/reviews/?filter=2)
 *  [  1 1-star review     ](https://wordpress.org/support/plugin/disable-json-api/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/disable-json-api/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/disable-json-api/reviews/)

## Àwọn Olùkópa

 *   [ Dave McHale ](https://profiles.wordpress.org/dmchale/)
 *   [ Tang Rufus ](https://profiles.wordpress.org/tangrufus/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/disable-json-api/)