Wp Admin API

Programmatically manage your WordPress sites, backups, updates, and security scans. RESTful, JSON-based, and built for developers.

https://api.wpadmin.com/v1

🔑 Authentication

All API requests require authentication via API Key. Include it in the Authorization header as a Bearer token.

API Key Format

Generate your API key from the Wp Admin Dashboard under Settings → API Keys. Keep it secure and never expose it in client-side code.

Authorization: Bearer wp_live_sk_8f4k29x7m3p1qz...

📡 Endpoints

Explore the available API endpoints. Click a tab to view details, parameters, and response examples.

GET /v1/sites

Returns a paginated list of all WordPress sites managed under your account.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerItems per page (default: 20, max: 100)
statusstringFilter by: active, maintenance, suspended

Response Example

{ "data": [ { "id": "site_9x2k4m", "name": "client-main.com", "status": "active", "wp_version": "6.4.2", "last_backup": "2024-05-12T08:30:00Z", "health_score": 98 } ], "meta": { "total": 14, "page": 1, "has_more": true } }
POST /v1/sites/:id/backup

Triggers an immediate full backup of the specified WordPress site.

Path Parameters

ParameterTypeDescription
idstringThe unique site identifier *

Response Example

{ "success": true, "backup_id": "bkp_7h3n9w", "status": "processing", "message": "Backup initiated. You will receive a webhook when complete.", "eta_minutes": 4 }
GET /v1/sites/:id/updates

Fetches pending core, plugin, and theme updates for a site.

Response Example

{ "core": { "current": "6.4.1", "available": "6.4.3" }, "plugins": [ { "name": "woocommerce", "version": "8.2.1", "latest": "8.3.0" }, { "name": "wordpress-seo", "version": "21.5", "latest": "21.7" } ], "themes": [], "total_pending": 3 }
POST /v1/sites/:id/security/scan

Initiates a deep security scan checking for malware, suspicious files, and vulnerabilities.

Response Example

{ "scan_id": "sec_4m8p2x", "status": "queued", "estimated_completion": "2024-05-12T09:45:00Z" }
PUT /v1/sites/:id/settings

Updates management preferences for a specific site.

Request Body

ParameterTypeDescription
auto_updatesbooleanEnable automatic updates
backup_schedulestring"daily", "weekly", or "none"
staging_modebooleanEnable testing updates on staging first

Response Example

{ "success": true, "updated_settings": { "auto_updates": true, "backup_schedule": "daily", "staging_mode": true } }

âš¡ Rate Limits & Errors

Rate Limits

API requests are throttled to ensure platform stability. Limits are calculated per API key per hour.

Standard Plan500 requests/hr
Pro Plan2,000 requests/hr
EnterpriseCustom / Unlimited

Headers X-RateLimit-Limit and X-RateLimit-Remaining are included in every response.

Error Format

Wp Admin uses standard HTTP status codes. All errors return a consistent JSON structure.

"error": { "code": "not_found", "message": "Site with ID site_x9z2 not found.", "status": 404 } }
400 Bad Request  |  401 Unauthorized  |  403 Forbidden  |  429 Rate Limited  |  500 Server Error
"}{