Title: Updates API Inspector
Author: Paul Biron
Published: <strong>August 6, 2020</strong>
Last modified: August 6, 2020

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/updates-api-inspector.svg)

# Updates API Inspector

 By [Paul Biron](https://profiles.wordpress.org/pbiron/)

[Download](https://downloads.wordpress.org/plugin/updates-api-inspector.0.1.1.zip)

 * [Details](https://wordpress.org/plugins/updates-api-inspector/#description)
 * [Reviews](https://wordpress.org/plugins/updates-api-inspector/#reviews)
 *  [Installation](https://wordpress.org/plugins/updates-api-inspector/#installation)
 * [Development](https://wordpress.org/plugins/updates-api-inspector/#developers)

 [Support](https://wordpress.org/support/plugin/updates-api-inspector/)

## Description

The WordPress Updates API is pretty much a mystery to many developers for many reasons,
not least of which is the fact that there is _no documentation_ for it.

For plugins hosted in the [WordPress Plugin Directory](https://wordpress.org/plugins/)
and themes hosted in the [WordPress Theme Directory](https://wordpress.org/themes/)(
and core itself), the API “just works”.

Plugins and themes hosted externally (such as premium plugins/themes) need to hook
into the API and ensure the proper information is populated in the proper site transients
so that core can offer updates for those externally hosted plugins/themes. What 
site transients are those:

 * `update_plugins`
 * `update_themes`

(and of course, `update_core` for core updates).

This plugin attempts to demystify the Updates API by allowing you to inspect:

 * how the API is queried by core
 * what the API returns in respose to a query
 * what’s in the site transients core uses when offering updates to admin users (
   whether manual or auto-updates)

At this point, this plugin is _very preliminary_ (it is version 0.1.1 after all),
but I’m releasing it in it’s current state because of the new [Auto-updates UI in WordPress 5.5.0](https://make.wordpress.org/core/2020/07/15/controlling-plugin-and-theme-auto-updates-ui-in-wordpress-5-5/).
While many externally hosted plugins/themes have been hooking into API for years,
the new auto-updates UI has certain requirements for how the site transients are
populated and not all externally hosted plugins/themes have populated them such 
that the new UI will work properly (see [Recommended usage of the Updates API to support the auto-updates UI for Plugins and Themes in WordPress 5.5](https://make.wordpress.org/core/2020/07/30/recommended-usage-of-the-updates-api-to-support-the-auto-updates-ui-for-plugins-and-themes-in-wordpress-5-5/)).

My hope is that by providing an easy way for developers to inspect the API queries/
responses and the site transients core populates from them, they will more easily
be able to update their code so that the new UI works properly for them.

In future versions, I plan to add many other features, as well as more extensive
on-screen help of an “educational” nature.

## Screenshots

 * [[
 * The `Request` for plugin updates
 * [[
 * The `API Response` for plugin updates
 * [[
 * The `Transient Value as Set` for plugin updates
 * [[
 * The `Transient Value as Read` for plugin updates
 * [[
 * Multisite

## Installation

From your WordPress dashboard

 1. Go to _Plugins > Add New_ and click on _Upload Plugin_
 2. Upload the zip file
 3. Activate the plugin

## FAQ

### Why isn’t the Updates API documented?

That’s a good question, and I honestly don’t know the answer.

### What’s the best hook to use for injecting information about by externally hosted plugin or theme into the site transients?

There is no _best hook_!

The most common hooks used are probably:

 * For plugins:
    - [pre_set_site_transient_update_plugins](https://developer.wordpress.org/reference/hooks/pre_set_site_transient_transient/)(
      fires when the transient is set)
    - [site_transient_update_plugins](https://developer.wordpress.org/reference/hooks/site_transient_transient/)(
      fires when the transient is “got”)
 * For themes:
    - [pre_set_site_transient_update_themes](https://developer.wordpress.org/reference/hooks/pre_set_site_transient_transient/)(
      fires when the transient is set)
    - [site_transient_update_themes](https://developer.wordpress.org/reference/hooks/site_transient_transient/)(
      fires when the transient is “got”)

A number of other hooks can be used, but except in *very special** cases I wouldn’t
recommend them…so I’m not even going to list what they are 🙂

Many considerations go into deciding which hook to use and I couldn’t possibly give
those considerations their due here…so I won’t even try.

### Will this plugin work in versions of WordPress prior to 5.5.0?

It should! My main motivation for releasing it _now_ is to help developers of externally
hosted plugins/themes prepare for the release of 5.5.0, this plugin should work 
just fine with previous versions (although I have only tested it with 5.5.0).

### Does this plugin work in multisite?

Yes it does!

In non-multisite, the Updates API Inspector menu item appers in `Tools`.

In multisite, this plugin can only be network activated (since that’s where updates
happen) and the menu item appears at the top-level of `Network Admin`.

### Can I contribute to this plugin?

Yes you can! Development happens on [GitHub](https://github.com/pbiron/updates-api-inspector).
If you find a bug or have other suggestions, please open an issue there. Pull requests
accepted.

## Reviews

![](https://secure.gravatar.com/avatar/931fe03318e187bc1ffcc23e2357500ffbb42d6cfbf4220a591deca01a2cf9d9?
s=60&d=retro&r=g)

### 󠀁[Great tool for debugging self-hosted updates](https://wordpress.org/support/topic/great-tool-for-debugging-self-hosted-updates/)󠁿

 [skirridsystems](https://profiles.wordpress.org/skirridsystems/) May 15, 2021

I’d put together my own self-hosted update module based on various code samples 
I found, but it stopped working properly in WordPress 5.5. This tool, together with
the link in the description helped me to see what was going on and get it running
again.

 [ Read all 1 review ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/)

## Contributors & Developers

“Updates API Inspector” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Paul Biron ](https://profiles.wordpress.org/pbiron/)
 *   [ Andy Fragen ](https://profiles.wordpress.org/afragen/)

[Translate “Updates API Inspector” into your language.](https://translate.wordpress.org/projects/wp-plugins/updates-api-inspector)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/updates-api-inspector/),
check out the [SVN repository](https://plugins.svn.wordpress.org/updates-api-inspector/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/updates-api-inspector/)
by [RSS](https://plugins.trac.wordpress.org/log/updates-api-inspector/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.1

 * Scrap the use of AJAX: run the update check before the tool page is rendered 
   and output just what we need to.
 * Also adds a minimal help screen and other various code/string cleanup.

#### 0.1.0

 * init commit.

## Meta

 *  Version **0.1.1**
 *  Last updated **6 years ago**
 *  Active installations **10+**
 *  WordPress version ** 4.6 or higher **
 *  Tested up to **5.5.0**
 *  [Advanced View](https://wordpress.org/plugins/updates-api-inspector/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/updates-api-inspector/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/updates-api-inspector/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/updates-api-inspector/reviews/)

## Contributors

 *   [ Paul Biron ](https://profiles.wordpress.org/pbiron/)
 *   [ Andy Fragen ](https://profiles.wordpress.org/afragen/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/updates-api-inspector/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z6D97FA595WSU)