Skip to main content
MainWP registers 30 site management abilities into the WordPress Abilities API framework. These enable programmatic control over your WordPress network through standardized schemas.

What You’ll Learn

  • Listing, filtering, and retrieving site information
  • Adding, updating, and deleting sites
  • Managing site connectivity (sync, reconnect, disconnect, suspend)
  • Managing plugins and themes on individual sites
  • Retrieving security, change logs, and cost data

mainwp/list-sites-v1

List MainWP child sites with pagination and filtering. Method: GET (readonly)
Input Parameters: Response:

mainwp/get-site-v1

Get detailed information about a single site. Method: POST (requires input)
Input Parameters: Response:

mainwp/sync-sites-v1

Trigger synchronization for one or more sites. Operations with more than 200 sites are queued for background processing. Method: POST
Input Parameters: Response (Immediate - 200 sites or fewer):
Response (Queued - more than 200 sites):

mainwp/add-site-v1

Add a new MainWP child site. Method: POST
Input Parameters: MainWP Child requires at least one connection authentication method. Provide adminpassword, uniqueid, or both according to the child site’s MainWP Child settings. Response: Returns the created site object (same format as get-site-v1).

mainwp/update-site-v1

Update an existing site’s properties. Method: POST
Input Parameters: Response: Returns the updated site object.

mainwp/delete-site-v1

Delete a site from MainWP. This is a destructive operation that requires confirmation. Method: POST
Input Parameters: Response:

mainwp/reconnect-site-v1

Reconnect a single disconnected site. Method: POST
Input Parameters: Response:

mainwp/disconnect-site-v1

Disconnect a site. The site remains in the database but communication is disabled. Method: POST
Input Parameters: Response:

mainwp/suspend-site-v1

Suspend a site. Suspended sites are excluded from sync and update operations. Method: POST
Input Parameters: Response:

mainwp/unsuspend-site-v1

Unsuspend a previously suspended site. Method: POST
Input Parameters: Response:

mainwp/check-site-v1

Check connectivity status of a single site. Method: POST
Input Parameters: Response:

mainwp/get-site-plugins-v1

Get list of plugins installed on a child site. Method: POST
Input Parameters: Response:

mainwp/activate-site-plugins-v1

Activate plugins on a site. Method: POST
Input Parameters: Response:

mainwp/deactivate-site-plugins-v1

Deactivate plugins on a site. Method: POST
Input Parameters: Response:

mainwp/delete-site-plugins-v1

Delete plugins from a site. This is a destructive operation that requires confirmation. Method: POST
Input Parameters: Response:

mainwp/get-site-themes-v1

Get list of themes installed on a child site. Method: POST
Input Parameters: Response:

mainwp/activate-site-theme-v1

Activate a theme on a site. Method: POST
Input Parameters: Response:

mainwp/delete-site-themes-v1

Delete themes from a site. This is a destructive operation that requires confirmation. Method: POST
Input Parameters: Response:

mainwp/get-abandoned-plugins-v1

Get list of abandoned plugins across all sites. Abandoned plugins have not received updates in 2+ years. Method: GET (readonly)
Input Parameters: Response:

mainwp/get-abandoned-themes-v1

Get list of abandoned themes across all sites. Method: GET (readonly)
Input Parameters: Response:

mainwp/get-site-security-v1

Get security information about a site. Method: POST
Input Parameters: Response:

mainwp/get-site-changes-v1

Get change/activity log for a site. Requires the Logs module to be active. Method: POST
Input Parameters: Response:
This ability requires the Logs module. If inactive, returns mainwp_module_not_available error.

mainwp/get-site-client-v1

Get the client associated with a site. Method: POST
Input Parameters: Response:

mainwp/get-site-costs-v1

Get cost tracking data for a site. Requires the Cost Tracker module to be active. Method: POST
Input Parameters: Response:
This ability requires the Cost Tracker module. If inactive, returns mainwp_module_not_available error.

mainwp/count-sites-v1

Get total count of sites. Method: GET (readonly)
Input Parameters: Response:

mainwp/get-sites-basic-v1

Get minimal site information (ID, URL, name only) for all sites. Method: GET (readonly)
Response:

mainwp/reconnect-sites-v1

Batch reconnect multiple disconnected sites. Method: POST
Input Parameters: Response:

mainwp/disconnect-sites-v1

Batch disconnect multiple sites. Method: POST
Input Parameters: Response:

mainwp/check-sites-v1

Batch connectivity check for multiple sites. Method: POST
Input Parameters: Response:

mainwp/suspend-sites-v1

Batch suspend multiple sites. Method: POST
Input Parameters: Response: