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.


If you are using our MainWP add-on, then please see the Update Brief for MainWP plugin documentation.


The documentation below is for the current active version of the Update Brief API, which is version 2.
( For reference, documentation for the older version of the Update Brief API, version 1, can be found here)


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.6 to 5.7:

curl -H "Authorization: Bearer YourApiToken" \
     https://updatebrief.com/api/v2/en/plugins/akismet/5.6/5.7

A successful request returns a JSON response like this:

{
    "status": 200,
    "language": "en",
    "plugin_slug": "akismet",
    "start_version": "5.6",
    "end_version": "5.7",
    "summary": "This update enhances the platform by adding Abilities API support for stats and comment checking, integrating with the MCP tool, and preparing for the new Connectors page in WordPress 7.0. It also improves the detection of automated spam submissions, makes comment history sorting more robust, and incorporates security enhancements like safer inline script output. Additionally, action hooks have been added for customizing admin page elements, and accessibility has been improved."
}

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/v2/en/plugins/akismet/5.6/5.7

Or, using PHP with WordPress:

$response = wp_remote_get(
    'https://updatebrief.com/api/v2/en/plugins/akismet/5.6/5.7',
    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/v2/

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/v2/{language}/plugins/{slug}/{startVersion}/{endVersion}
Parameter Description
{language} The language you would like to use for the summary. (Options are 'en' for English, 'es' for Spanish, 'fr' for French, 'de' for German, 'it' for Italian or 'nl' for Dutch)
{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, in English, from version 5.6 to 5.7

https://updatebrief.com/api/v2/en/plugins/akismet/5.6/5.7

# Yoast SEO, in German, from version 27.4 to 27.5

https://updatebrief.com/api/v2/de/plugins/wordpress-seo/27.4/27.5

WordPress Core

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

https://updatebrief.com/api/v2/{language}/core/{startVersion}/{endVersion}
Parameter Description
{language} The language you would like to use for the summary. (Options are 'en' for English, 'es' for Spanish, 'fr' for French, 'de' for German, 'it' for Italian or 'nl' for Dutch)
{startVersion} The WordPress version you have upgraded from
{endVersion} The WordPress version you have upgraded to

Examples:

# WordPress Core, in English, from version 6.8.3 to 6.9

https://updatebrief.com/api/v2/en/core/6.8.3/6.9

# WordPress Core, in Spanish, from version 6.9.2 to 6.9.4

https://updatebrief.com/api/v2/es/core/6.9.2/6.9.4

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 language, plugin slug, version range, and summary:

{
    "status": 200,
    "language": "en",
    "plugin_slug": "seo-by-rank-math",
    "start_version": "1.0.268",
    "end_version": "1.0.269",
    "summary": "This update introduces a new feature-based usage system for Content AI, replacing the old AI credits system and offering higher monthly limits per feature. Several bugs have also been fixed, including an issue where deleting a backup incorrectly changed other backup names, JavaScript warnings in the browser console, and the visibility of the redirect option to unauthorized users."
}

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,
    "language": "en",
    "plugin_slug": "seo-by-rank-math",
    "start_version": "1.0.268",
    "end_version": "99.9.99",
    "summary": null
}

WordPress Core

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

{
    "status": 200,
    "language": "en",
    "update": "WP Core",
    "start_version": "6.8.3",
    "end_version": "6.9",
    "summary": "This update introduces WordPress 6.9, focusing on team collaboration, performance, and future automation. The new Notes feature enables block-level commenting for streamlined reviews, while the Command Palette offers faster dashboard navigation. A key addition is the Abilities API, providing a standardized permissions system for potential AI integration. Performance is enhanced through optimized page loading, and accessibility is improved with over 30 fixes."
}

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

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

Response Field Reference

Field Type Description
status integer The HTTP status code as a number
language string The summary language 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. Plain text, HTML-entity-encoded — render directly in the DOM without additional escaping. May contain standard punctuation including double quotes. Parse with a standard JSON library — do not manually parse this field.

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 Update Brief 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: ..{language}/plugins/{slug}/{start}/{end}
Core: ..{language}/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, then please contact us for assistance.

Rate Limiting

To ensure fair and efficient use of the API, rate limits are applied for all users. The per-minute limits are as follows:

Plan Requests per Minute
Developer 240
Agency 240
Business 240
Managed 240

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, then please contact us. We are happy to help!