🚧 Currently in alpha β€” stable release and Pro licensing coming in 2026. Star the repo to follow progress.

Skip to content

What is WordPress Application Layer? ​

WordPress Application Layer is a plugin that sits between the WordPress REST API and your client applications. It lets you control exactly what data is exposed, who can access it, how it is shaped, and at what rate β€” without touching WordPress core or your theme.

Beyond REST API responses, the plugin can drive your front-end entirely through webhooks: WordPress events (post publish, user register, WooCommerce order, custom CRON…) push data to your application in real time using the same schema as the REST API. You can combine both approaches or rely solely on webhooks to feed your application.

It is designed for:

  • Headless WordPress architectures (Next.js, Nuxt, SvelteKit, React, Vue, mobile apps)
  • Multi-application setups where multiple clients share one WordPress back-end
  • Event-driven architectures fed by webhooks instead of, or alongside, pull-based REST calls
  • Any site that needs security hardening at the REST API layer

Architecture ​

The plugin operates exclusively within REST API contexts. Admin-authenticated requests are forwarded untouched, so it never interferes with the WordPress admin or other plugins.

REST API request pipeline:

Incoming REST request
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Application Matching   β”‚  ← Which application owns this request? (Pro)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Authentication Check   β”‚  ← JWT / WP App Passwords (OAuth: Pro)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    IP / Rate Limiting   β”‚  ← Per-user or global quotas, GeoIP blocking (Pro)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Routes Policy        β”‚  ← Allowed methods, route-level rules (Pro)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  WordPress REST API     β”‚  ← Native WP handler
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Property Transforms    β”‚  ← Models: rename, remove, resolve, remap fields
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
       REST Response

Alongside this pipeline, webhooks and email notifications run independently of REST requests. Any WordPress event (post transitions, user actions, WooCommerce hooks, custom CRON, REST API hits) can trigger an outbound webhook and/or an email notification β€” scoped per application in Pro.

Webhook / push pipeline:

WordPress Event (post publish, order created, cron, …)
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Automation / Trigger   β”‚  ← Conditions, chained actions (Pro)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
       β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
       β–Ό            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Webhook   β”‚  β”‚   Email    β”‚
β”‚  (push)    β”‚  β”‚ Notificationβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Free Features ​

FeatureDescription
AuthenticationWordPress Application Password (hardened to a single authorised user) and JWT. OAuth requires Pro
Rate LimitingGlobal request quotas with configurable time windows
IP FilteringAutomatic and manual IP blacklisting. The plugin detects repeated violations and adds offenders automatically. IPv4 only β€” no CIDR, no country blocking. Read-only GeoIP stats available
RoutesEnforce auth and rate limiting globally. Disable the default /users routes to prevent user enumeration
Properties & ModelsApply sitewide response transforms: resolve attachments, terms & authors, flatten rendered fields, remove domain from URLs. Rules apply globally across all routes β€” individual property control (disable, rename, remap) requires Pro
WordPress SecurityDisable XML-RPC, comments, RSS. Secure files, security headers
WebhookSingle outbound webhook with event triggers
Hooks APIEvery option exposes a WordPress filter for customisation

Pro Features ​

FeatureDescription
ApplicationsIsolate all settings per client β€” auth, routes, data, webhooks
IP FilteringBoth whitelist and blacklist modes. Whitelist mode restricts access to allowed origins only. Blacklist mode with configurable retention time. CIDR range support. Block or allow by country (GeoIP)
CollectionsEnforce per-page limits and drag-and-drop sort order
Routes PolicyPer-route method control, user assignment, rate limiting and redirections. Safely disable any route with fine-grained per-application rules (avoids breaking unrelated plugin requests)
Properties & ModelsDisable, rename or remap any individual property. Remove empty properties to lighten responses. Build fully custom JSON schemas from scratch β€” map existing fields and add new static ones
AutomationsEvent-driven workflows with conditions and chained actions
Multiple WebhooksUnlimited outbound webhooks, scoped per application
Email TemplatesTransactional email templates with SMTP configuration, scoped per application
Settings RouteSchema editor for /wp/v2/settings β€” include ACF options pages and resolved WordPress menus, shaped with per-property control or custom schema
LogsFull request history and audit trail

Requirements ​

  • WordPress 6.0+
  • PHP 7.4+

Released under the GPL-2.0-or-later License.