{"id":287551,"date":"2026-03-24T05:33:05","date_gmt":"2026-03-24T05:33:05","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/headless-engine\/"},"modified":"2026-06-12T11:25:56","modified_gmt":"2026-06-12T11:25:56","slug":"infospica-headless-api","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/infospica-headless-api\/","author":23461441,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Infospica Headless API","header_author":"Pushpasharmila S","header_description":"Transform WordPress into a secure headless CMS with a custom REST API namespace, full CRUD support, CPT integration, and authentication-aware access control.","assets_banners_color":"0d0f1e","last_updated":"2026-06-12 11:25:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":382,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"icssubscriptions","date":"2026-03-24 12:45:03"},"1.0.1":{"tag":"1.0.1","author":"icssubscriptions","date":"2026-06-12 11:25:56"}},"upgrade_notice":{"1.0.1":"<p>WordPress 7.0 compatibility update and PHP 8.x improvements.<\/p>","1.0.0":"<p>Initial stable release. No upgrade steps required.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3489831,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3490496,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3574452,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3489831,"resolution":"1","location":"assets","locale":"","width":1683,"height":922},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3489831,"resolution":"2","location":"assets","locale":"","width":1683,"height":922}},"screenshots":{"1":"Plugin settings page \u2014 configure namespace, version, and content types","2":"REST API endpoints overview \u2014 auto-generated URLs with copy button"}},"plugin_section":[],"plugin_tags":[2211,141196,167388,23853,14286],"plugin_category":[59],"plugin_contributors":[258482],"plugin_business_model":[],"class_list":["post-287551","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-headless","plugin_tags-headless-cms","plugin_tags-rest-api","plugin_tags-wordpress-api","plugin_category-utilities-and-tools","plugin_contributors-pushpasharmila","plugin_committers-icssubscriptions"],"banners":{"banner":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/banner-772x250.png?rev=3574452","banner_2x":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/banner-1544x500.png?rev=3490496","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/icon-256x256.png?rev=3489831","icon_2x":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/icon-256x256.png?rev=3489831","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/screenshot-1.png?rev=3489831","caption":"Plugin settings page \u2014 configure namespace, version, and content types"},{"src":"https:\/\/ps.w.org\/infospica-headless-api\/assets\/screenshot-2.png?rev=3489831","caption":"REST API endpoints overview \u2014 auto-generated URLs with copy button"}],"raw_content":"<!--section=description-->\n<p><strong>Infospica Headless API<\/strong> is a WordPress REST API plugin that transforms your WordPress site into a secure, scalable headless CMS with fully isolated custom REST API endpoints.<\/p>\n\n<p>Build modern frontend applications using Next.js, React, Vue, Angular, or mobile apps \u2014 powered by WordPress as a backend API, without touching the default WordPress REST API.<\/p>\n\n<p><strong>Looking for a secure WordPress REST API plugin for headless CMS?<\/strong> Infospica Headless API gives you a custom namespace, full CRUD support, ACF field access, and authentication control \u2014 all from a clean WordPress admin UI.<\/p>\n\n<h3>Why use Infospica Headless API?<\/h3>\n\n<p>Most developers using WordPress as a headless CMS face the same problems: the default REST API exposes too much data publicly, offers no namespace control, and has weak write protection.<\/p>\n\n<p>Infospica Headless API solves all of that with a dedicated, configurable API layer purpose-built for modern headless WordPress architectures.<\/p>\n\n<p><strong>Key advantages:<\/strong><\/p>\n\n<ul>\n<li>Fully isolated API namespace \u2014 no interference with default WordPress REST API<\/li>\n<li>Every endpoint requires authentication \u2014 no accidental public data exposure<\/li>\n<li>Write operations are locked to WordPress capability checks<\/li>\n<li>Works with any headless frontend: Next.js, Nuxt, React, Vue, Angular, or mobile<\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Custom WordPress REST API namespace<\/strong> with version control (<code>\/wp-json\/my-api\/v1\/<\/code>)<\/li>\n<li><strong>Full CRUD endpoints<\/strong> \u2014 GET, POST, PUT, PATCH, DELETE<\/li>\n<li><strong>Supports Pages, Posts, and Custom Post Types (CPT)<\/strong><\/li>\n<li><strong>ACF field support<\/strong> \u2014 include Advanced Custom Fields in API responses<\/li>\n<li><strong>Authentication-aware<\/strong> \u2014 all endpoints require authentication; write operations require capabilities<\/li>\n<li><strong>CSRF protection<\/strong> \u2014 nonce validation enforced for cookie-based authentication<\/li>\n<li><strong>Pagination<\/strong> \u2014 <code>?page<\/code> and <code>?per_page<\/code> on all list endpoints (max 50 per page)<\/li>\n<li><strong>WooCommerce-safe<\/strong> \u2014 core WooCommerce pages automatically excluded<\/li>\n<li><strong>Clean admin UI<\/strong> \u2014 manage namespace, version, and enabled content types<\/li>\n<li><strong>Clean uninstall<\/strong> \u2014 removes all plugin options on uninstall<\/li>\n<\/ul>\n\n<h3>Use Cases<\/h3>\n\n<ul>\n<li><strong>Headless WordPress with Next.js<\/strong> \u2014 fetch posts, pages, and CPTs via secure REST API<\/li>\n<li><strong>WordPress REST API for React or Vue<\/strong> \u2014 isolated namespace, no public data leakage<\/li>\n<li><strong>Mobile app backend<\/strong> \u2014 use WordPress as a content API for iOS or Android apps<\/li>\n<li><strong>SaaS platforms<\/strong> \u2014 use WordPress as a headless CMS for multi-tenant applications<\/li>\n<li><strong>ACF API<\/strong> \u2014 expose Advanced Custom Fields data via authenticated REST endpoints<\/li>\n<li><strong>CPT API<\/strong> \u2014 serve Custom Post Type data to any external frontend or service<\/li>\n<\/ul>\n\n<h3>Security<\/h3>\n\n<ul>\n<li>All endpoints require authentication \u2014 including read (GET) requests<\/li>\n<li>Write operations require WordPress capability checks (<code>edit_posts<\/code>, <code>delete_posts<\/code>)<\/li>\n<li>Nonce validation enforced for all cookie-based write requests (CSRF protection)<\/li>\n<li>Email addresses and sensitive user data never included in API responses<\/li>\n<li>WooCommerce core pages (Shop, Cart, Checkout, My Account) excluded automatically<\/li>\n<\/ul>\n\n<h3>Authentication<\/h3>\n\n<p>All endpoints require authentication.<\/p>\n\n<p><strong>Supported methods:<\/strong><\/p>\n\n<ul>\n<li><strong>Application Passwords<\/strong> (recommended) \u2014 available since WordPress 5.6; generate under Users \u2192 Profile and send as Basic Auth header<\/li>\n<li><strong>WordPress login cookies<\/strong> \u2014 for browser or admin usage; write requests require <code>X-WP-Nonce<\/code> header or <code>_wpnonce<\/code> parameter<\/li>\n<li>Any authentication method that correctly sets the WordPress user context<\/li>\n<\/ul>\n\n<p>Write operations are additionally restricted by WordPress user capabilities.<\/p>\n\n<h3>Available Endpoints<\/h3>\n\n<p>Base URL structure:<\/p>\n\n<pre><code>\/wp-json\/{namespace}\/{version}\/\n<\/code><\/pre>\n\n<p>Example:<\/p>\n\n<pre><code>\/wp-json\/my-api\/v1\/\n<\/code><\/pre>\n\n<h4>Status<\/h4>\n\n<pre><code>GET \/status\n<\/code><\/pre>\n\n<h4>Pages<\/h4>\n\n<pre><code>GET \/pages\nGET \/pages\/{id}\nPOST \/pages\nPUT \/pages\/{id}\nPATCH \/pages\/{id}\nDELETE \/pages\/{id}\n<\/code><\/pre>\n\n<h4>Posts<\/h4>\n\n<pre><code>GET \/posts\nGET \/posts\/{id}\nPOST \/posts\nPUT \/posts\/{id}\nPATCH \/posts\/{id}\nDELETE \/posts\/{id}\n<\/code><\/pre>\n\n<h4>Custom Post Types<\/h4>\n\n<pre><code>GET \/{post-type}\nGET \/{post-type}\/{id}\nPOST \/{post-type}\nPUT \/{post-type}\/{id}\nPATCH \/{post-type}\/{id}\nDELETE \/{post-type}\/{id}&lt;h3&gt;Pagination&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>All list endpoints support pagination parameters:<\/p>\n\n<pre><code>?page=1&amp;per_page=10 (maximum 50 results per page)\n<\/code><\/pre>\n\n<p>Example:<\/p>\n\n<pre><code>\/wp-json\/my-api\/v1\/posts?page=2&amp;per_page=5&lt;h3&gt;License&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>This plugin is licensed under GPLv2 or later.\nSee: https:\/\/www.gnu.org\/licenses\/gpl-2.0.html<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/infospica-headless-api\/<\/code><\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> screen in WordPress admin<\/li>\n<li>Navigate to <strong>Infospica Headless API<\/strong> in the admin menu<\/li>\n<li>Set your API namespace, version, and enable the content types you need<\/li>\n<li>Save settings<\/li>\n<li>Use the generated endpoint URLs in your headless frontend or mobile app<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20a%20headless%20wordpress%20rest%20api%20plugin%3F\"><h3>What is a headless WordPress REST API plugin?<\/h3><\/dt>\n<dd><p>A headless WordPress REST API plugin lets you use WordPress purely as a content backend, serving data to any frontend \u2014 Next.js, React, Vue, Angular, or a mobile app \u2014 via REST API endpoints. Infospica Headless API creates a secure, isolated custom namespace for this purpose, separate from the default WordPress REST API.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20the%20default%20wordpress%20rest%20api%3F\"><h3>Does this replace the default WordPress REST API?<\/h3><\/dt>\n<dd><p>No. Infospica Headless API creates a completely separate custom REST namespace. The default WordPress REST API at <code>\/wp-json\/wp\/v2\/<\/code> remains fully unchanged and unaffected.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20the%20default%20wordpress%20rest%20api%3F\"><h3>How is this different from the default WordPress REST API?<\/h3><\/dt>\n<dd><p>The default REST API exposes data publicly without authentication. Infospica Headless API creates an isolated namespace where every endpoint requires authentication, write operations are capability-checked, and you control exactly which content types are exposed.<\/p><\/dd>\n<dt id=\"is%20authentication%20required%20for%20all%20endpoints%3F\"><h3>Is authentication required for all endpoints?<\/h3><\/dt>\n<dd><p>Yes. Every endpoint \u2014 including GET (read) requests \u2014 requires authentication. Write operations additionally require the appropriate WordPress capability (<code>edit_posts<\/code>, <code>delete_posts<\/code>, etc.).<\/p><\/dd>\n<dt id=\"how%20do%20i%20authenticate%20api%20requests%20from%20a%20next.js%20or%20react%20app%3F\"><h3>How do I authenticate API requests from a Next.js or React app?<\/h3><\/dt>\n<dd><p>Use WordPress Application Passwords (available since WordPress 5.6). Generate one under Users \u2192 Profile, then send it as a Basic Auth header with every API request. This is the recommended method for all headless frontend applications.<\/p><\/dd>\n<dt id=\"does%20it%20support%20acf%20%28advanced%20custom%20fields%29%3F\"><h3>Does it support ACF (Advanced Custom Fields)?<\/h3><\/dt>\n<dd><p>Yes. Enable ACF support in the plugin settings to include ACF custom fields in API responses. Advanced Custom Fields must be installed and active.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%20%28cpt%29%3F\"><h3>Does it support Custom Post Types (CPT)?<\/h3><\/dt>\n<dd><p>Yes. Any public CPT with <code>show_in_rest<\/code> enabled will automatically get REST API endpoints once CPT support is enabled in the plugin settings.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>WooCommerce core pages (Shop, Cart, Checkout, My Account) are automatically excluded from page responses to prevent conflicts. Full WooCommerce product API support may be added in a future release.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20for%20a%20next.js%20headless%20wordpress%20site%3F\"><h3>Can I use this for a Next.js headless WordPress site?<\/h3><\/dt>\n<dd><p>Yes. This plugin is built specifically for headless WordPress architectures. Use Application Passwords for authentication and call the REST API endpoints from your Next.js <code>getStaticProps<\/code>, <code>getServerSideProps<\/code>, or App Router server components.<\/p><\/dd>\n<dt id=\"what%20is%20the%20best%20wordpress%20rest%20api%20plugin%20for%20headless%20cms%3F\"><h3>What is the best WordPress REST API plugin for headless CMS?<\/h3><\/dt>\n<dd><p>If you need a secure, isolated REST API namespace with full CRUD support, CPT integration, ACF compatibility, and authentication control \u2014 Infospica Headless API is purpose-built for exactly that use case.<\/p><\/dd>\n<dt id=\"does%20it%20support%20pagination%3F\"><h3>Does it support pagination?<\/h3><\/dt>\n<dd><p>Yes. All list endpoints support <code>?page=1&amp;per_page=10<\/code>. The maximum is 50 results per page.<\/p><\/dd>\n<dt id=\"is%20there%20a%20status%20endpoint%20to%20verify%20the%20api%20is%20working%3F\"><h3>Is there a status endpoint to verify the API is working?<\/h3><\/dt>\n<dd><p>Yes. Send an authenticated <code>GET<\/code> request to <code>\/wp-json\/{namespace}\/{version}\/status<\/code> to confirm the API is active and check the current plugin version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Tested compatibility with WordPress 7.0<\/li>\n<li>Improved PHP 8.x compatibility for REST API content handling<\/li>\n<li>Added 772x250 plugin banner asset<\/li>\n<li>Minor code quality improvements<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial stable release<\/li>\n<li>Custom namespace-based REST API<\/li>\n<li>Full CRUD support for Pages, Posts, and CPTs<\/li>\n<li>ACF field integration<\/li>\n<li>Pagination support<\/li>\n<li>Admin UI with endpoint reference<\/li>\n<li>Clean uninstall<\/li>\n<\/ul>","raw_excerpt":"WordPress REST API plugin for headless CMS \u2014 custom namespace, full CRUD, CPT support, ACF integration, and secure authentication.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/287551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=287551"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/icssubscriptions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=287551"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=287551"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=287551"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=287551"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=287551"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=287551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}