Skip to content

MainWP REST API v2

Fresh

Source: MainWP REST API Overview

Base URL

https://your-dashboard.com/wp-json/mainwp/v2/

Authentication

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://your-dashboard.com/wp-json/mainwp/v2/sites/basic"

Consumer Key/Secret (Legacy v1)

bash
curl -u "CONSUMER_KEY:CONSUMER_SECRET" \
  "https://your-dashboard.com/wp-json/mainwp/v1/sites"

API Key Setup

  1. Set Permalinks - WP Admin > Settings > Permalinks > anything except Plain
  2. Create Key - MainWP Dashboard > API Access > API Keys > Add API Keys
  3. Set Permissions:
    • Read: GET requests
    • Write & Delete: POST, PUT, PATCH, DELETE requests
  4. Optional v1: Enable "MainWP REST API v1 Compatibility" for legacy keys
  5. Store Credentials - API keys display only once

Permission Scope

PermissionMethodsPurpose
ReadGETFetch data
Write & DeletePOST, PUT, PATCH, DELETECreate, update, remove

Endpoint Categories

ResourceKey Operations
SitesInventory, sync, plugins, themes, security
UpdatesList, execute, ignore settings
ClientsCRUD, custom fields, suspend
TagsCRUD, related sites/clients
PostsCross-site listing and CRUD
PagesCross-site listing and CRUD
UsersList, create, CSV import, passwords
MonitoringUptime, incidents, heartbeat
ExtensionsSSL, Domain, Lighthouse, Reports, Time
SettingsGeneral, Advanced, Email, Costs
CostsTracker records, linked resources
API KeysKey management
BatchGlobal multi-controller operations

Batch Update Response

Long-running updates return immediate confirmation:

json
{
  "success": 1,
  "message": "Batch updates all started successfully.",
  "last_time_start_batch_updates": "2024-09-03T16:57:29"
}

Dashboard Accessibility

Your Dashboard URL must be reachable from systems sending API requests. Local-only dashboards cannot be accessed by external API clients.