rest-api.md 6.1 KB

Jetpack HTTP API

Jetpack's HTTP API is built as an extension to the WP-API. Thus, you may find additional information on approaching the API in the WP API Docs.

API Authentication and authorization

The API requests rely on cookie-based authentication and a specific nonce for requests to be authorized.

API Request Authorization via nonces

The WP REST API infrastructure requires a nonce for authorizing of the request itself.

Ensure to use the X-WP-Nonce header on your request.

X-WP-Nonce: e1cff122e1

The nonce is being served on the Jetpack admin page by usage of the wp_localize_script mechanism for passing values from PHP code to the JS scope. It's created for the action wp_rest and made available in the Jetpack Admin Page as:

window.Initial_State.WP_API_nonce;

The root URL for the the API is found on the same page as:

window.Initial_State.WP_API_root;

Discovery

WP-API-compatible capabilities document for the endpoints registered by Jetpack.

GET /wp-json/jetpack/v4

API Reference

All endpoints return and accept JSON. Make sure you add the proper content-type header to your PUT/POST requests sending JSON objects.

'Content-type': 'application/json'

Jetpack connection

Operations related to Jetpack's connection to WordPress.com

GET /wp-json/jetpack/v4/connection-status

Fetch Jetpack's current connection status.

GET /wp-json/jetpack/v4/connect-url

Fetch a fresh WordPress.com URL for connecting the Jetpack installation.

GET /wp-json/jetpack/v4/user-connection-data

Fetch the data of the current's user WordPress.com account.

POST /wp-json/jetpack/v4/disconnect/site

Disconnect the Jetpack installation from WordPress.com servers.

This endpoint does not take Body parameters

POST /wp-json/jetpack/v4/recheck-ssl

Check if the site has SSL enabled.

This endpoint does not take Body parameters

Jetpack modules

GET /wp-json/jetpack/v4/module/all

Get a list of all Jetpacks modules, its description, other properties and the module's options

GET /wp-json/jetpack/v4/module/:module-slug

Get a single module description and properties by its slug.

URL parameters

  • module-slug: {String} The identifier of the module to get info about.

POST /wp-json/jetpack/v4/module/:module-slug/active

Activate or deactivate a module by its slug

Accepts a JSON object in the body like:

{
	"active": true
}

URL parameters

  • module-slug: {String} The identifier of the module on which to act.

Body parameters

  • active: {Boolean} Send false to deactivate the module.

POST /wp-json/jetpack/v4/module/activate

Activate several modules at a time by their slug

Body parameters

  • modules: {Array} An array of strings of identifiers of the modules to activate
{
	"modules": [ "protect", "monitor", "likes" ]
}

POST /wp-json/jetpack/v4/module/:module-slug

Update an option's value for a module

URL parameters

  • module-slug: {String} The identifier of the module on which to act.

Body parameters

  • Accepts a simple object with the key of the option to update and the new value.

Accepts a JSON object in the body like:

{
	"option-key": "new-option-value"
}

Jetpack miscellaneous settings

GET /wp-json/jetpack/v4/settings

Fetch a list of Jetpack settings not related to a particular module.

POST /wp-json/jetpack/v4/settings/update

Update a setting value

Body parameters

  • Accepts a simple object with the key of the setting to update and the new value.

Accepts a JSON object in the body like:

{
	"setting-key": "new-setting-value"
}

POST /wp-json/jetpack/v4/jumpstart/activate

Activate Jumpstart turning on some options and settings to a recommended state.

This endpoint does not take Body parameters

POST /wp-json/jetpack/v4/jumpstart/deactivate

Deactivate Jumpstart reverting options to their default state.

This endpoint does not take Body parameters

POST /wp-json/jetpack/v4/reset/:options_or_modules

Reset Jetpack module options or Jetpack modules activation state to default values.

URL parameters

  • options_or_modules: {String} Available values:

    • "options": all the modules' options will be re-set to their default values.
    • "modules": the modules activation state will be reset to their defaults.

    This endpoint does not take Body parameters

Users

Operations related to the site's users linked to WordPress.com accounts.

POST /wp-json/jetpack/v4/unlink

Unlink current user from the related WordPress.com account.

This endpoint does not take Body parameters

Site information

Operations related to information about the site.

Jetpack notices

POST /wp-json/jetpack/v4/notice/:notice/dismiss

Dismiss a Jetpack notice by Id.

URL parameters

  • notice: {String} The identifier of the notice to dismiss. Possible values:
    • "feedback_dash_request"
    • "welcome".

** HTTP Status codes**

  • 404 - When :notice is not valid or absent

GET /wp-json/jetpack/v4/site

Get current site data

Protect module related operations

GET /wp-json/jetpack/v4/module/protect/count/get

Get count of blocked attacks by Protect.

Monitor module related operations

GET /wp-json/jetpack/v4/module/monitor/downtime/last

Get from the Monitor module, the last time the site was down.

Verification Tools module related operations

GET /wp-json/jetpack/v4/module/verification-tools/services

Get services that this site is verified with.

Site's plugins related operations

GET /wp-json/jetpack/v4/updates/plugins

Get number of updated available for currently installed WordPress plugins.

Akismet related operations

GET /wp-json/jetpack/v4/akismet/stats/get

Get stats from Akismet filtered spam.

VaultPress options

GET /wp-json/jetpack/v4/module/vaultpress/data

get date of last backup or status and information about actions for user to take.