Skip to main content
The WP Manager Pro REST API lets you manage every aspect of your WordPress site programmatically. All endpoints are registered under the wp-manager-pro/v1 namespace. Base URL: https://example.com/wp-json/wp-manager-pro/v1
All endpoints require a valid WordPress nonce passed in the X-WP-Nonce header and the manage_options capability (WordPress Administrator role).

Request format

Request bodies should be sent as JSON (Content-Type: application/json) unless an endpoint accepts file uploads, in which case use multipart/form-data.

Response format

All responses are JSON. Successful responses include an HTTP 2xx status code. Error responses include a code and message field.

Common error responses

StatusMeaning
400Bad request — missing or invalid parameters
401Not authenticated — nonce missing or invalid
403Insufficient permissions or protected resource
404Resource not found
500Server-side error

All endpoints

MethodEndpointDescription
GET/dashboardSite stats & health
GET/pluginsList all plugins
POST/plugins/activateActivate plugin
POST/plugins/deactivateDeactivate plugin
DELETE/plugins/deleteDelete plugin
POST/plugins/installInstall from WP.org
GET/plugins/searchSearch WP.org
POST/plugins/uploadUpload plugin ZIP
GET/plugins/exportCreate plugin ZIP export
GET/plugins/downloadStream plugin ZIP download
POST/plugins/updateUpdate plugin to latest version
POST/plugins/install-versionInstall specific plugin version
GET/themesList all themes
POST/themes/activateActivate theme
DELETE/themes/deleteDelete theme
POST/themes/installInstall from WP.org
GET/themes/searchSearch WP.org
POST/themes/uploadUpload theme ZIP
GET/themes/exportCreate theme ZIP export
GET/themes/downloadStream theme ZIP download
POST/themes/updateUpdate theme to latest version
POST/themes/install-versionInstall specific theme version
GET/filesList directory contents
GET/files/readRead file content
POST/files/writeWrite file content
DELETE/files/deleteDelete file or directory
POST/files/mkdirCreate directory
POST/files/uploadUpload file to directory
POST/files/renameRename file or folder
GET/database/tablesList database tables
GET/database/table-dataBrowse table rows
POST/database/search-replaceSearch & replace
POST/database/optimizeOptimize tables
POST/database/queryRun SQL query
POST/database/rowInsert table row
PUT/database/rowUpdate table row
DELETE/database/rowDelete table row
GET/database/exportExport table as SQL dump
GET/systemSystem information
GET/maintenanceMaintenance status & appearance settings
POST/maintenance/toggleToggle maintenance + save settings
POST/maintenance/settingsSave appearance settings without toggling
GET/usersList users
POST/users/change-roleChange user role
POST/users/login-asGenerate login-as token
DELETE/users/deleteDelete user
POST/users/renameRename user login
GET/notesList notes
POST/notesCreate note
PUT/notes/{id}Update note
DELETE/notes/{id}Delete note
GET/debugDebug status
POST/debug/toggleToggle debug constants
GET/debug/logRead error log
DELETE/debug/log/clearClear error log
GET/images/settingsImage settings
POST/images/settingsSave image settings
POST/images/regenerateRegenerate thumbnails
POST/images/convertBatch convert images to WebP/AVIF
GET/images/convert-statsConversion stats (total/converted/remaining)
DELETE/images/convertDelete all sidecar files for a format
GET/reset/statusGet content counts
POST/reset/executeExecute site reset
GET/securityAdmin URL protection status
POST/security/admin-urlEnable/update custom login slug
DELETE/security/admin-urlDisable admin URL protection
GET/cron/eventsList all scheduled cron events
POST/cron/runTrigger a cron event immediately
DELETE/cron/eventDelete / unschedule a cron event
GET/cron/schedulesList all registered schedules
POST/cron/schedulesCreate a custom schedule
DELETE/cron/schedulesDelete a custom schedule
GET/cron/healthCron health status and real-cron hints
GET/media/overviewStats: total attachments, uploads size, orphaned/unused/duplicate counts
GET/media/orphanedList attachments with missing physical files
DELETE/media/orphanedBulk delete orphaned attachments by ID array
GET/media/unusedList unattached, unreferenced attachments with thumbnails
DELETE/media/unusedBulk delete unused attachments by ID array
GET/media/duplicatesGroup attachments by MD5 hash; returns wasted-space totals
DELETE/media/duplicateDelete a single duplicate attachment
GET/media/compress-candidatesList JPEG/PNG attachments with file sizes
POST/media/compressRe-compress one attachment; returns before/after sizes
GET/security/overviewAll security feature states in one call
POST/security/limiterSave login limiter settings
GET/security/lockoutsList lockout log entries
DELETE/security/lockoutsClear all lockout log entries
POST/security/lockouts/unlockUnlock a specific IP
GET/security/ip-blocklistList blocked IPs
POST/security/ip-blocklistAdd IP or CIDR to blocklist
DELETE/security/ip-blocklistRemove IP from blocklist
POST/security/hardeningSave XML-RPC / hide-version settings
POST/security/integrityRun core file integrity check
GET/security/2faGet 2FA status for current user
POST/security/2fa/setupGenerate TOTP secret + QR URL
POST/security/2fa/verifyVerify code and activate 2FA
DELETE/security/2faDisable 2FA for current user
GET/snippetsList snippets
POST/snippetsCreate snippet
PUT/snippets/{id}Update snippet
POST/snippets/{id}/toggleToggle snippet enabled state
DELETE/snippets/{id}Delete snippet
GET/redirectsList redirects
POST/redirectsCreate redirect
PUT/redirects/{id}Update redirect
DELETE/redirects/{id}Delete redirect
POST/redirects/exportExport redirects as CSV
GET/redirects/downloadDownload CSV export
POST/redirects/importImport redirects from CSV
GET/email/settingsSMTP settings
POST/email/settingsSave SMTP settings
POST/email/testSend test email
GET/email/logEmail log
DELETE/email/log/clearClear email log
GET/backupList backups
POST/backup/createCreate backup
POST/backup/downloadPrepare backup for download
GET/backup/serveStream backup file
DELETE/backup/deleteDelete backup
GET/backup/scheduleGet scheduled backup config
POST/backup/scheduleSave scheduled backup config
GET/settingsGet branding settings
POST/settingsSave branding settings
GET/auditAudit log entries
DELETE/audit/clearClear audit log
POST/audit/exportExport audit log as CSV
GET/audit/downloadDownload CSV export
GET/audit/action-typesAvailable action type filters
GET/developer/hooksBrowse all WordPress hooks
GET/developer/rest-routesList all registered REST routes
POST/developer/rest-requestProxy an authenticated REST request
POST/developer/generateGenerate dummy posts/pages/users/products
GET/developer/dummy-statsCount dummy-tagged items
DELETE/developer/dummyDelete all dummy-tagged items
GET/developer/rewrite-testTest URL against rewrite rules
GET/developer/cache-keysBrowse object cache keys by prefix
GET/developer/cache-valueGet a specific cache key value
DELETE/developer/cache-keyDelete a specific cache key
GET/developer/prefix-infoGet current DB prefix + table list
POST/developer/change-prefixRename database table prefix
GET/scanner/fileRead file content around a flagged line
DELETE/scanner/fileDelete a flagged file
POST/scanner/quarantineMove file to wmp-quarantine/ directory
POST/scanner/ignoreAdd file to scanner ignore list
GET/scanner/ignoredList ignored files
DELETE/scanner/ignoredRemove file from ignore list
GET/scanner/malwareRun malware scan
GET/scanner/vulnsCheck plugin/theme vulnerabilities (WPScan)
GET/scanner/sslSSL certificate check
GET/scanner/coreWordPress core version check
GET/scanner/api-keyGet WPScan API key (masked)
POST/scanner/api-keySave WPScan API key
GET/content/post-typesList public post types
GET/content/authorsList users with edit_posts capability
GET/content/postsPaginated post list with filters
POST/content/posts/bulk-editBulk edit post status or author
POST/content/posts/duplicateDuplicate a post as a draft
GET/content/scheduledList all scheduled posts
GET/content/optionsPaginated wp_options table
GET/content/options/{name}Get a single option value
POST/content/optionsUpdate an option
DELETE/content/optionsDelete an option
GET/dev-tools/wp-configRead wp-config.php constants
POST/dev-tools/wp-configUpdate a wp-config.php constant
GET/dev-tools/htaccessRead .htaccess content
POST/dev-tools/htaccessWrite .htaccess content
GET/dev-tools/phpinfoPHP configuration info
GET/dev-tools/query-monitorDatabase queries for this request
GET/dev-tools/environmentServer environment variables
POST/dev-tools/environmentSet a runtime environment variable
GET/performance/overviewObject cache, transient, and DB stats
GET/performance/transientsPaginated transient list
DELETE/performance/transientsDelete a transient
POST/performance/transients/purge-expiredPurge all expired transients
POST/performance/cleanupRun database cleanup operations
GET/performance/object-cacheObject cache diagnostics
POST/performance/object-cache/flushFlush the object cache
POST/performance/object-cache/drop-inInstall/update/remove cache drop-in
GET/updates/availableList pending plugin/theme/core updates
GET/updates/changelogChangelog for a specific item
POST/updates/runRun one or more updates
POST/updates/rollbackRoll back an update
GET/updates/historyUpdate history log
DELETE/updates/history/clearClear update history
GET/updates/scheduledList scheduled update jobs
POST/updates/scheduleSchedule an update
POST/updates/schedule/cancelCancel a scheduled update
GET/updates/check-selfCheck for WP Manager Pro self-update
GET/agency/mail-settingsMail interceptor settings and log
GET/agency/mail-logPaginated mail log
DELETE/agency/mail-log/clearClear mail log
POST/agency/mail-resendResend a logged email
GET/agency/login-pageWhite-label login page settings
POST/agency/login-pageSave login page settings
GET/agency/admin-customiserAdmin UI visibility settings
POST/agency/admin-customiserSave admin UI settings
GET/agency/reportGenerate client health report
GET/agency/coming-soonComing soon page settings
POST/agency/coming-soonSave coming soon settings
DELETE/agency/coming-soon/emails/clearClear captured email subscribers
POST/plugins/check-updatesForce-check for plugin updates
POST/plugins/bulk-activateBulk activate plugins
POST/plugins/bulk-deactivateBulk deactivate plugins
DELETE/plugins/bulk-deleteBulk delete plugins
POST/plugins/bulk-updateBulk update plugins
POST/themes/check-updatesForce-check for theme updates
GET/settings/exportExport plugin settings as JSON
POST/settings/importImport plugin settings from JSON
GET/settings/export-wp-xmlExport WordPress content as XML

Endpoint groups

Dashboard

Site stats, health info, and recent activity.

Plugins

List, activate, install, update, and export plugins.

Themes

List, activate, install, update, and export themes.

Files

Browse, read, write, upload, and manage server files.

Database

Browse tables, run queries, search & replace, and export SQL.

Users

List users, change roles, login-as, delete, and rename.

Maintenance

Toggle maintenance mode and manage appearance settings.

Debug

Read and toggle WP_DEBUG constants and the error log.

Images

WebP/AVIF conversion, thumbnail regeneration, and sidecar management.

Security

Admin URL protection, login limiter, IP blocklist, integrity check, and 2FA.

Cron

Manage scheduled events and custom cron schedules.

Media

Orphaned, unused, duplicate media cleanup and compression.

Snippets

Create and manage PHP/CSS/JS code snippets.

Redirects

301/302/307/308 redirect CRUD with CSV import/export.

Email

SMTP configuration, test email, and email log.

Backup

Manual and scheduled SQL backups.

Audit

Plugin, theme, user, and post event log.

Developer

Hook explorer, REST tester, dummy data, rewrite rules, cache browser.

Scanner

Malware scan, vulnerability check, SSL monitor, and file actions.

Settings

Plugin branding/white-label settings.

Content

Bulk post editor, duplicator, scheduled posts, and wp_options.

Dev Tools

wp-config.php, .htaccess, PHP info, query monitor, environment.

Updates

Update manager with history, rollback, and scheduling.

Agency

Mail interceptor, login page, admin customiser, client reports, coming soon.

Performance

Object cache, transients, DB cleanup, and cache drop-in.

Build docs developers (and LLMs) love