{"id":289392,"date":"2026-03-24T13:12:01","date_gmt":"2026-03-24T13:12:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/acf-rest-bridge\/"},"modified":"2026-03-24T13:23:34","modified_gmt":"2026-03-24T13:23:34","slug":"sekura-rest-bridge-for-acf","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sekura-rest-bridge-for-acf\/","author":23464729,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Sekura REST Bridge for ACF","header_author":"CW Dekker","header_description":"Exposes Advanced Custom Fields in the WordPress REST API with proper access control.","assets_banners_color":"1e222a","last_updated":"2026-03-24 13:23:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/cwdekker.com","rating":0,"author_block_rating":0,"active_installs":40,"downloads":319,"num_ratings":0,"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":"cwdekker","date":"2026-03-24 13:23:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3490038,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3490038,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3490038,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3490038,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2211,2010,1118,23853,2300],"plugin_category":[59],"plugin_contributors":[258530],"plugin_business_model":[],"class_list":["post-289392","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-custom-fields","plugin_tags-json","plugin_tags-rest-api","plugin_tags-wp-api","plugin_category-utilities-and-tools","plugin_contributors-cwdekker","plugin_committers-cwdekker"],"banners":{"banner":"https:\/\/ps.w.org\/sekura-rest-bridge-for-acf\/assets\/banner-772x250.png?rev=3490038","banner_2x":"https:\/\/ps.w.org\/sekura-rest-bridge-for-acf\/assets\/banner-1544x500.png?rev=3490038","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sekura-rest-bridge-for-acf\/assets\/icon-128x128.png?rev=3490038","icon_2x":"https:\/\/ps.w.org\/sekura-rest-bridge-for-acf\/assets\/icon-256x256.png?rev=3490038","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Sekura REST Bridge for ACF securely exposes Advanced Custom Fields in the WordPress REST API. Based on <a href=\"https:\/\/github.com\/airesvsg\/acf-to-rest-api\">ACF to REST API<\/a> by Aires Goncalves, rebuilt with security as a first-class concern.<\/p>\n\n<p>The original ACF to REST API plugin exposes all ACF field data to unauthenticated requests, including options pages (which often contain API keys and secrets), user profile fields, and fields on private\/draft posts. This plugin fixes that with proper WordPress capability checks on every endpoint.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Proper permission checks on every endpoint<\/li>\n<li>Per-field Show in REST API \/ Edit in REST API toggles<\/li>\n<li>Works alongside ACF Pro's native REST support<\/li>\n<li>Drop-in replacement for ACF to REST API (same acf\/v3 namespace)<\/li>\n<li>Filterable permissions for custom access control<\/li>\n<\/ul>\n\n<h4>Endpoints<\/h4>\n\n<ul>\n<li><code>GET \/wp-json\/acf\/v3\/{post_type}\/{id}<\/code> - Get ACF fields for a post<\/li>\n<li><code>GET \/wp-json\/acf\/v3\/{post_type}\/{id}\/{field}<\/code> - Get a specific field<\/li>\n<li><code>PUT \/wp-json\/acf\/v3\/{post_type}\/{id}<\/code> - Update ACF fields<\/li>\n<li><code>GET \/wp-json\/acf\/v3\/options\/{id}<\/code> - Get ACF options page fields<\/li>\n<li><code>GET \/wp-json\/acf\/v3\/users\/{id}<\/code> - Get ACF fields for a user<\/li>\n<li><code>GET \/wp-json\/acf\/v3\/comments\/{id}<\/code> - Get ACF fields for a comment<\/li>\n<\/ul>\n\n<p>ACF data is also appended as an <code>acf<\/code> key on standard WP REST API responses.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sekura-rest-bridge-for-acf<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the Plugins menu in WordPress<\/li>\n<li>Ensure Advanced Custom Fields is installed and active<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20acf%20pro%3F\"><h3>Does this work with ACF Pro?<\/h3><\/dt>\n<dd><p>Yes. Sekura REST Bridge for ACF works alongside ACF Pro's native REST support and overrides it to provide consistent access control.<\/p><\/dd>\n<dt id=\"is%20this%20a%20drop-in%20replacement%20for%20acf%20to%20rest%20api%3F\"><h3>Is this a drop-in replacement for ACF to REST API?<\/h3><\/dt>\n<dd><p>Yes. It uses the same <code>acf\/v3<\/code> namespace and <code>acf<\/code> response key. Deactivate the old plugin and activate this one.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Secure permission checks on all endpoints<\/li>\n<li>Per-field REST API visibility toggles<\/li>\n<li>ACF Pro compatibility<\/li>\n<\/ul>","raw_excerpt":"Expose Advanced Custom Fields in the WordPress REST API with proper access control.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/289392","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=289392"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cwdekker"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=289392"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=289392"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=289392"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=289392"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=289392"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=289392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}