{"id":236087,"date":"2025-06-07T09:55:02","date_gmt":"2025-06-07T09:55:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vercheck-api\/"},"modified":"2026-03-24T10:25:12","modified_gmt":"2026-03-24T10:25:12","slug":"vercheck-api","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/vercheck-api\/","author":23305187,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.2","requires_php":"7.4","requires_plugins":null,"header_name":"VerCheck API","header_author":"Roland Bende","header_description":"Version check REST API endpoint for WordPress.","assets_banners_color":"","last_updated":"2026-03-24 10:25:12","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/rolandbende.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/rolandbende.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":406,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"rbende","date":"2025-06-07 09:54:48"},"1.0.1":{"tag":"1.0.1","author":"rbende","date":"2025-06-07 16:02:27"},"1.0.2":{"tag":"1.0.2","author":"rbende","date":"2025-06-08 11:44:03"},"1.0.3":{"tag":"1.0.3","author":"rbende","date":"2025-06-08 12:03:07"},"1.1.0":{"tag":"1.1.0","author":"rbende","date":"2026-03-24 10:25:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3307815,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-01.png":{"filename":"screenshot-01.png","revision":3307815,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Admin settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[196269,243433],"plugin_category":[],"plugin_contributors":[243434],"plugin_business_model":[],"class_list":["post-236087","plugin","type-plugin","status-publish","hentry","plugin_tags-healthcheck","plugin_tags-versioncheck","plugin_contributors-rolandbende","plugin_committers-rbende"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vercheck-api\/assets\/icon-256x256.png?rev=3307815","icon_2x":"https:\/\/ps.w.org\/vercheck-api\/assets\/icon-256x256.png?rev=3307815","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/vercheck-api\/assets\/screenshot-01.png?rev=3307815","caption":"Admin settings"}],"raw_content":"<!--section=description-->\n<p>This plugin adds a custom REST API endpoint that returns information about the current versions of the WordPress core, active themes, and active plugins.<\/p>\n\n<p>Useful for remote WordPress site version monitoring &amp; logging, CI\/CD checks, and automated update workflows.<\/p>\n\n<p>Both endpoints require authentication via a Bearer token.<\/p>\n\n\n\n<p><strong>Endpoint 1: Status<\/strong> \u2014 outdated items only<\/p>\n\n<ul>\n<li><strong>HTTP method:<\/strong> <code>GET<\/code><\/li>\n<li><strong>API endpoint:<\/strong> <code>\/wp-json\/vercheck-api\/v1\/status<\/code><\/li>\n<\/ul>\n\n<p>Returns only items that have available updates:\n- WordPress core update status.\n- A list of plugins with available updates.\n- A list of themes with available updates.<\/p>\n\n\n\n<p><strong>Endpoint 2: Audit<\/strong> \u2014 full inventory<\/p>\n\n<ul>\n<li><strong>HTTP method:<\/strong> <code>GET<\/code><\/li>\n<li><strong>API endpoint:<\/strong> <code>\/wp-json\/vercheck-api\/v1\/audit<\/code><\/li>\n<\/ul>\n\n<p>Returns a complete inventory of everything installed:\n- WordPress core version info.\n- All installed themes (active and inactive) with version and update info.\n- All installed plugins (active and inactive) with version and update info.<\/p>\n\n<p><strong>Example response \u2014 \/v1\/status:<\/strong><\/p>\n\n<pre><code>  {\n    \"core\": {\n      \"current_version\": \"6.4.3\",\n      \"new_version\": \"6.5\",\n      \"is_outdated\": true\n    },\n    \"outdated_themes\": [],\n    \"outdated_plugins\": [\n      {\n        \"name\": \"Example Plugin\",\n        \"current_version\": \"1.2.0\",\n        \"new_version\": \"1.3.0\"\n      }\n    ]\n  }\n<\/code><\/pre>\n\n<p><strong>Example response \u2014 \/v1\/audit:<\/strong><\/p>\n\n<pre><code>  {\n    \"core\": {\n      \"current_version\": \"6.4.3\",\n      \"new_version\": \"6.5\",\n      \"is_outdated\": true\n    },\n    \"themes\": [\n      {\n        \"name\": \"Twenty Twenty-Four\",\n        \"slug\": \"twentytwentyfour\",\n        \"current_version\": \"1.3\",\n        \"new_version\": null,\n        \"is_outdated\": false,\n        \"is_active\": true\n      }\n    ],\n    \"plugins\": [\n      {\n        \"name\": \"Example Plugin\",\n        \"slug\": \"example-plugin\/example-plugin.php\",\n        \"current_version\": \"1.2.0\",\n        \"new_version\": \"1.3.0\",\n        \"is_outdated\": true,\n        \"is_active\": true\n      }\n    ]\n  }\n<\/code><\/pre>\n\n<p><strong>Additional info:<\/strong>\nThe unique request ID for each API call is returned in the response header:<\/p>\n\n<pre><code>X-Request-ID: {{unique-request-id}}\n<\/code><\/pre>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Added <code>\/v1\/audit<\/code> endpoint \u2014 full inventory of all installed themes and plugins with version and update info<\/li>\n<li>Improvement: Moved Bearer token authentication to <code>permission_callback<\/code> (WordPress REST API best practice)<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Bugfix: Response themes &amp; plugin order<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Bugfix: Removed unnecessary fnc. call (loadtextdomain)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>PHPCS fixes<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. REST API endpoint and admin token settings.<\/li>\n<\/ul>","raw_excerpt":"A REST API endpoint for checking WordPress core, theme, and plugin versions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/236087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=236087"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rbende"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=236087"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=236087"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=236087"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=236087"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=236087"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=236087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}