API Documentation

API Documentation

Overview

The Update Brief API is a RESTful API that allows you to access the brief update summaries of both WordPress Core updates and WordPress plugin updates, generated by Update Brief.

The API is designed to be easy to use with predictable, simple URLs. It uses standard HTTP response codes and requires an API Token for authentication. All responses are returned as JSON with a Content-Type: application/json header.


Quick Start

To get started, make an authenticated GET request to one of the API endpoints. Here is a complete example using curl to retrieve the update summary for the Akismet plugin, upgrading from version 5.4 to 5.5:

curl -H "Authorization: Bearer YourApiToken" \
     https://updatebrief.com/api/v1/plugins/akismet/5.4/5.5

A successful request returns a JSON response like this:

{
    "status": "200",
    "plugin_slug": "akismet",
    "start_version": "5.4",
    "end_version": "5.5",
    "summary": "This update enables webhooks for improved spam detection by Akismet through asynchronous comment processing. It also optimizes performance by loading Akismet widget CSS only when needed and enhances user interface readability with improved contrast.\n"
}

Your API Token can be found in the Update Brief Dashboard. Read on for full details on authentication, endpoints, and response formats.


Authentication

The Update Brief API uses API key authentication. To make an API request, include your API Token in the Authorization header as a Bearer token:

Authorization: Bearer YourApiToken

For example, using curl:

curl -H "Authorization: Bearer YourApiToken" https://updatebrief.com/api/v1/plugins/akismet/5.4/5.5

Or, using PHP with WordPress:

$response = wp_remote_get(
    'https://updatebrief.com/api/v1/plugins/akismet/5.4/5.5',
    array(
        'headers' => array(
            'Authorization' => 'Bearer YourApiToken',
        ),
    )
);

$body = json_decode( wp_remote_retrieve_body( $response ), true );

Your API Token can be found in the Update Brief Dashboard.


Requests

The Update Brief API only accepts GET requests. Any other HTTP method (POST, PUT, DELETE, etc.) will return a 405 error.

The base URL for all requests is:

https://updatebrief.com/api/v1/

Note: Update Brief and the API currently support WordPress Core and plugin updates. Theme updates are not supported at this time.

Plugins

To request a brief update summary for a WordPress or Premium plugin update, use:

https://updatebrief.com/api/v1/plugins/{slug}/{startVersion}/{endVersion}
Parameter Description
{slug} The slug (directory name) of the plugin. For plugins on WordPress.org, this is the last segment of the plugin's URL, e.g. wordpress.org/plugins/akismet/
{startVersion} The version number you have upgraded from
{endVersion} The version number you have upgraded to

Examples:

# Akismet Anti Spam, from version 5.4 to 5.5
https://updatebrief.com/api/v1/plugins/akismet/5.4/5.5

# Yoast SEO, from version 25.8 to 26.1.1
https://updatebrief.com/api/v1/plugins/wordpress-seo/25.8/26.1.1

WordPress Core

To request a brief update summary for a WordPress Core update, use:

https://updatebrief.com/api/v1/core/{startVersion}/{endVersion}
Parameter Description
{startVersion} The WordPress version you have upgraded from
{endVersion} The WordPress version you have upgraded to

Examples:

# WordPress Core, from version 6.7 to 6.8
https://updatebrief.com/api/v1/core/6.7/6.8

# WordPress Core, from version 6.8.1 to 6.8.2
https://updatebrief.com/api/v1/core/6.8.1/6.8.2

Responses

All responses from the Update Brief API are returned as JSON. The API uses standard HTTP response codes to indicate success or failure.

Plugins

A successful plugin request returns a 200 status code with the plugin slug, version range, and summary:

{
    "status": "200",
    "plugin_slug": "seo-by-rank-math",
    "start_version": "1.0.253",
    "end_version": "1.0.255",
    "summary": "This update improves search engine optimization by allowing users to view and edit SEO titles and descriptions for taxonomy terms. It also fixes several bugs, including a broken keyboard shortcut for Content AI, issues with removing Open Graph thumbnails, a PHP warning, and a missing preview in the Content AI Prompts library.\n"
}

If no summary is available for the requested version range, the API will return a 200 status code, but with a summary value of null:

{
    "status": "200",
    "plugin_slug": "seo-by-rank-math",
    "start_version": "1.0.253",
    "end_version": "99.9.99",
    "summary": null
}

WordPress Core

A successful WordPress Core request returns a 200 status code with the update type, version range, and summary:

{
    "status": "200",
    "update": "WP Core",
    "start_version": "6.8",
    "end_version": "6.8.3",
    "summary": "This update addresses multiple bugs in WordPress Core and the Block Editor, focusing on issues in the block editor, multisite functionality, and REST API. It includes fixes for automatic updater failures, bulk edit problems, and REST API errors related to sticky posts. Security enhancements include fixes for a data exposure issue allowing access to restricted content and a cross-site scripting vulnerability affecting nav menus. The update also incorporates various enhancements and bug fixes for themes, media handling, and accessibility.\n"
}

As with plugins, if no summary is available the response will contain "summary": null:

{
    "status": "200",
    "update": "WP Core",
    "start_version": "6.8",
    "end_version": "99.9",
    "summary": null
}

Response Field Reference

Field Type Description
status string The HTTP status code as a string
plugin_slug string The plugin slug (plugin responses only)
update string The update type, e.g. "WP Core" (core responses only)
start_version string The version upgraded from
end_version string The version upgraded to
summary string The update summary, or null if unavailable

Error Handling

Error responses are returned as JSON with a status code and a message describing the problem:

{
    "status": "401",
    "message": "Unauthorized - Please check your API authorization credentials"
}

The table below lists all error codes returned by the API, along with troubleshooting guidance.

Code Message Troubleshooting
401 Unauthorized - Please check your API authorization credentials Check that your API Token is included in the Authorization header as a Bearer token:
Authorization: Bearer YourApiToken
403 Forbidden - Please check your current subscription is active Your Update Brief subscription may have expired or there may be an issue with your payment card. Check your subscription status in the dashboard.
403 Forbidden - Exceeded number of plugins allowed in your subscription plan Your plan allows a set number of unique plugins per month. Requesting the same plugin multiple times counts as one unique plugin, but each different plugin counts separately. Upgrade your plan to increase this limit.
404 Not Found - Please check the format of your request Check the request URL matches the correct format:
Plugins: ../plugins/{slug}/{start}/{end}
Core: ../core/{start}/{end}
See the Requests section for full details.
404 Not Found - Please check your plugin slug is valid The plugin slug must correspond to a valid WordPress plugin. For premium plugins, check that the plugin is listed on the available premium plugins page.
405 Method Not Allowed - Only the GET method is allowed The API only accepts GET requests. POST, PUT, DELETE, and other HTTP methods are not supported.
429 Too Many Requests - Monthly rate limit exceeded, please upgrade your subscription You have exceeded the monthly API request limit for your plan. Upgrade your subscription to increase this limit.
429 Too Many Requests - Per minute rate limit exceeded, slow down your requests You are sending requests too quickly. Wait briefly and retry. See the Rate Limiting section for per-minute limits by plan.
500 Internal Server Error - Please try again later An unexpected error occurred on the server. Please retry your request after a short wait. If the problem persists, contact us.

Rate Limiting

To ensure fair and efficient use of the API, rate limits are applied based on your subscription plan. The per-minute limits are as follows:

Plan Requests per Minute
Developer 60
Agency 60
Business 60
Managed 120

Rate Limit Headers

Every API response includes headers so you can monitor your usage programmatically:

Header Description
X-RateLimit-Limit-Month Maximum requests allowed per month
X-RateLimit-Remaining-Month Requests remaining this month
X-RateLimit-Reset-Month Time until the monthly limit resets
X-RateLimit-Limit-Minute Maximum requests allowed per minute
X-RateLimit-Remaining-Minute Requests remaining this minute
X-RateLimit-Reset-Minute Time until the per-minute limit resets

If you have any questions about using the Update Brief API, or need help, please contact us. We are happy to help!