Cleanup with WP REST API
SweepPress, both Lite/Free and Pro versions, includes support for running sweeping tasks via WP REST API. The plugin registers a new namespace inside the REST API and several new endpoints to list sweepers and tasks and run sweeping.
SweepPress currently registers namespace: sweeppress/v1
. All endpoints registered by the plugin are added under that main namespace. If, in the future, some of the endpoints need to be changed, they will go into different namespaces.
Also, make sure to understand wich request method you need to use, because some endpoints work with DELETE request, and will return error if you attempt to run it under GET or POST request.
Access to the SweepPress namespace
SweepPress namespace and all the endpoints can be accessed only by the website administrator (the plugin checks for activate_plugins
capability). So, the only way to access any endpoints is by authentication of the administrative account with this capability. Again, more about this is available in the official handbook, and it is irrelevant for this article.
Endpoint: LIST
The basic endpoint lists all the sweepers and individual tasks for each sweeper. These are actually two endoints, with second version returning individual sweeper tasks.
This endpoint is registered with WP_REST_Server::READABLE
or GET
method.
# Main LIST endpoint https://www.example.com/wp-json/sweeppress/v1/list # LIST endpoint for listing tasks for a sweeper https://www.example.com/wp-json/sweeppress/v1/list/sweeper-name
If you run the first one, you will get results like this:
Results are returned as objects, with each sweeper showing a number of tasks, an estimated number of records for removal, and an estimated size that will be recovered. This image shows only few results as opened, but all available sweepers will be listed.
Endpoint: AUTO
This endpoint will initiate the auto-sweeping process and run all the sweepers available for Auto sweeping. No arguments or anything else is needed to adjust things for this endpoint.
This endpoint is registered with WP_REST_Server::DELETABLE
or DELETE
method.
# Run AUTO Endpoint https://www.example.com/wp-json/sweeppress/v1/auto
This endpoint also returns the result, and it looks like this:
Endpoint: SWEEP
With this endpoint, you can run a single sweeper only. Right now, in this implementation, it will run all available tasks for a single sweeper; there is no way only to specify some tasks.
This endpoint is registered with WP_REST_Server::DELETABLE
or DELETE
method.
# Run Single Sweeper Endpoint https://www.example.com/wp-json/sweeppress/v1/sweep/sweeper-name
This endpoint also returns the result; it looks the same as for the AUTO endpoint.