Skip to main content
The Abilities-enabled release of MainWP SSL Monitor registers three read-only abilities in the mainwp-ssl-monitor category. All use the mainwp/ namespace on your MainWP Dashboard. Use these abilities to feed certificate expiration data into scripts, reports, or AI assistants connected through the MainWP MCP Server. They return the certificate data SSL Monitor already stored. They do not run certificate checks or contact your sites.

What You’ll Learn

  • List stored certificate summaries for your monitored HTTPS sites
  • Read one site’s stored certificate details and automatic check times
  • Read the effective monitoring settings for a site
  • Interpret certificate status values and handle errors

Prerequisites

  • WordPress 6.9 or later on the MainWP Dashboard site
  • MainWP Dashboard with Abilities API support; use version 6.2 or later for the input_json examples below
  • An SSL Monitor release with Abilities support, active on MainWP Dashboard
  • An authenticated WordPress user with manage_options and access to the SSL Monitor Add-on
  • Access to the target sites
Use an Application Password or the authentication methods in the Abilities API overview. The examples use an Application Password. Every call checks the SSL Monitor Add-on permission, including requests made over REST, WP-CLI, or cron. Site-specific calls also check access to the requested site. The status list omits sites the user cannot access.

Available Abilities

All three abilities are marked readonly, non-destructive, and idempotent. Discover the abilities and their schemas:
Site-specific calls require site_id, a positive integer such as 1. These abilities reject extra input properties.
Results reflect the last stored check. To refresh certificate data, run a check from the SSL Monitor Dashboard or with WP-CLI, then read the results again.

List Site Certificate Statuses

Ability: mainwp/list-ssl-monitor-site-statuses-v1
Method: GET
Input is optional. Omit it, or send an empty object or null, to get the first page of 20 sites. Example response:
The list includes only sites that meet all of these conditions:
  • The site URL starts with https://
  • SSL Monitor has a stored monitoring record for the site
  • The authenticated user can access the site
Sites are sorted by ascending site ID. total is the number of matching sites across all pages. Increase page until you have read total sites.

Certificate summary fields

Timestamps use ISO 8601 format in UTC, such as 2026-12-14T08:12:39Z. Missing timestamps and days_left are null. Missing text fields are empty strings.

Status values

The expiring_soon boundary uses the same threshold that triggers email notifications. Read it with Get Site Monitoring Policy. When no threshold is set, the threshold is 0 and certificates are never reported as expiring_soon. The SSL Monitor Dashboard table colors certificates using a fixed 30-day boundary, so its colors can differ from this status.

Get Site Certificate Status

Ability: mainwp/get-ssl-monitor-site-status-v1
Method: GET
Example response:
The response contains every certificate summary field plus these details:

Get Site Monitoring Policy

Ability: mainwp/get-ssl-monitor-site-policy-v1
Method: GET
Example response:
This returns the effective settings that SSL Monitor applies to the site. To change them, use the general settings or the single-site settings.

Error Handling

Standard authentication, schema, and method errors follow the Abilities API error reference. Invalid input, such as a per_page above 100, returns ability_invalid_input with HTTP 400. SSL Monitor abilities can also return: