Skip to content

Abilities API

Fresh

Source: MainWP Abilities API

MainWP registers 62 abilities into the WordPress Core Abilities API (WordPress 6.9+), enabling AI agents and automation tools to discover and execute capabilities through a standardized interface.

Prerequisites

  • WordPress 6.9+
  • MainWP Dashboard 6.0+
  • WordPress user with manage_options capability

Base URL

https://your-dashboard.com/wp-json/wp-abilities/v1/

Authentication

Bearer Token

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/wp-abilities/v1/abilities"

Application Passwords

bash
curl -u "USERNAME:APPLICATION_PASSWORD" \
  "https://your-dashboard.com/wp-json/wp-abilities/v1/abilities"

Discovery Endpoints

MethodPathDescription
GET/abilitiesList all abilities (paginated)
GET/abilities/{name}Get single ability with schemas
GET/categoriesList ability categories

Parameters

ParamTypeDefaultDescription
pageinteger1Page number
per_pageinteger50Items per page (max 100)
categorystring-Filter by category slug

Categories

CategoryAbilitiesDescription
mainwp-sites30Site management and monitoring
mainwp-updates13Update detection and execution
mainwp-clients11Client management
mainwp-tags7Tag/group management
mainwp-batch1Batch operation monitoring

Executing Abilities

Read-Only (GET)

bash
curl -u "admin:xxxx" \
  "https://your-dashboard.com/wp-json/wp-abilities/v1/abilities/mainwp/list-sites-v1/run"

Write Operations (POST)

bash
curl -X POST -u "admin:xxxx" \
  -H "Content-Type: application/json" \
  -d '{"input":{"site_id_or_domain":1}}' \
  "https://your-dashboard.com/wp-json/wp-abilities/v1/abilities/mainwp/get-site-v1/run"

Ability Annotations

AnnotationTypeDescription
readonlybooleanOnly reads data
destructivebooleanDeletes data
idempotentbooleanRepeated calls safe
instructionsstringCustom usage guidance

Error Reference

Abilities API Errors

CodeHTTPDescription
ability_invalid_input400Input fails JSON Schema
ability_missing_input_schema400Required input missing
ability_invalid_permissions403Permission denied
ability_invalid_output500Output fails validation
rest_ability_not_found404Ability not registered
rest_ability_invalid_method405Wrong HTTP method

MainWP-Specific Errors

CodeHTTPDescription
mainwp_site_not_found404Site ID/domain not found
mainwp_client_not_found404Client ID/email not found
mainwp_tag_not_found404Tag ID not found
mainwp_job_not_found404Batch job expired
mainwp_confirmation_required400Missing confirm: true
mainwp_site_offline503Site unreachable
mainwp_module_not_available501Required module inactive

Feature-Gated Abilities

ModuleRequired For
Cost Trackerget-site-costs-v1, get-client-costs-v1
Logsget-site-changes-v1