hosting

DELETE /v1/sites/{siteId}/wordpress/plugins/{pluginName}

Remove a plugin from a site's WordPress.

All hosting endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the sites.view permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X DELETE https://api.zinndigital.com/v1/sites/{siteId}/wordpress/plugins/{pluginName} \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Deactivates the plugin, then deletes its files. Whatever it stored in the database stays, and whatever it was doing for the site stops — so the client confirms the name back before calling. A must-use plugin or a drop-in (both appear in the listing) is refused 422: they are managed by the platform. ⭐ On our own servers the files are removed by the platform as the site's own user, not by wp plugin delete, which shells out through PHP's proc_open() — disabled on every site by the hosting hardening — and failed 422 on every site until 2026-09-29 (D28100). ⛔ The listing is re-read afterwards and a plugin that survived the removal is reported as a refusal rather than a success: the platform acknowledges a delete it did not perform, and a card that removed the row locally would show the customer a plugin that is still running. 200 and the whole listing, not 204, because the card renders the remaining plugins from this answer. 404 for a site with no vendor hosting package. Requires sites.view and sites.panel_access.

Parameters

NameTypeRequiredWhat it is
siteId (path)UuidYesSite ID (UUIDv7).
pluginName (path)stringYesThe plugin's slug, exactly as listSiteWordPressPlugins reports it. It is WordPress's identifier, not ours, so percent-encode it; a slug containing a slash does not route and…

Response

NameTypeRequiredWhat it is
dataSiteWordPressPlugin[]YesThe installed plugins.
stack_cache_installedbooleanYes⛔ Cannot be derived from data. this platform excludes its own server-side cache plugin from the listing, so a client deriving this flag from the rows would answer "not…

Errors this endpoint can return

401 · 403 · 404 · 409 · 422 · 429 · 503