📡 Public API v1.2.0

REST API Documentation

Integrate Wp Admin's WordPress management capabilities directly into your applications. Full CRUD operations, webhooks, and programmatic control.

Base URL: https://api.wpadmin.com/v1
Format: application/json
Auth: Bearer Token

🔐 Authentication

All API requests require authentication via Bearer tokens. Generate tokens from your dashboard under Settings → API Keys.

1. Generate API Key

Navigate to your Wp Admin dashboard and create a new API key with the required permissions (read, write, or admin).

2. Attach to Headers

Include your token in the Authorization header of every request.

Authorization: Bearer wp_live_8f4a2c1d9e7b3f5a6c8d0e2f4a6b8c0d

🔗 API Endpoints

Explore available resources and methods. Click tabs to view detailed specifications.

GET /sites

Retrieve a paginated list of all managed WordPress sites.

ParameterTypeRequiredDescription
pageintegerOptionalPage number for pagination
limitintegerOptionalItems per page (max 100)
statusstringOptionalFilter: active, paused, archived

Response Example (200 OK)

{ "data": [ { "id": "site_8x3k2m9p", "domain": "https://example.com", "status": "active", "wp_version": "6.4.2", "last_backup": "2024-03-15T14:30:00Z", "security_score": 98 } ], "meta": { "total": 42, "page": 1, "per_page": 10 } }
POST /sites

Register a new WordPress site for management.

ParameterTypeRequiredDescription
domainstringRequiredFull URL of the WordPress site
wp_admin_userstringRequiredAdministrator username
wp_admin_passstringRequiredAdministrator password
plan_idstringOptionalManagement plan to apply
POST /sites/{site_id}/tasks

Create a new management task (backup, update, scan, etc.).

ParameterTypeRequiredDescription
site_idstringRequiredTarget site identifier
typestringRequiredbackup, update_core, update_plugins, security_scan, optimize_db
prioritystringOptionallow, normal, high (default: normal)
// cURL Example curl -X POST https://api.wpadmin.com/v1/sites/site_8x3k2m9p/tasks \\ -H "Authorization: Bearer wp_live_..." \\ -H "Content-Type: application/json" \\ -d '{"type": "backup", "priority": "high"}'
GET /sites/{site_id}/reports

Fetch detailed maintenance and security reports for a site.

ParameterTypeRequiredDescription
site_idstringRequiredTarget site identifier
periodstringOptionalday, week, month, quarter, year
formatstringOptionaljson, csv, pdf (default: json)
POST /webhooks

Register webhook endpoints for real-time event notifications.

ParameterTypeRequiredDescription
urlstringRequiredHTTPS endpoint to receive payloads
eventsarrayRequiredList of events: backup.completed, security.threat, update.failed
secretstringOptionalFor payload signature verification
{ "id": "wh_92kd83js", "url": "https://your-app.com/wp-webhook", "events": ["backup.completed", "security.threat"], "status": "active", "created_at": "2024-03-15T10:00:00Z" }

⏱️ Rate Limits

API requests are throttled to ensure platform stability.

Standard Tier100 req/min
Professional Tier500 req/min
Enterprise Tier2,000 req/min
Concurrent Connections20 / IP

Exceeding limits returns 429 Too Many Requests. Retry after the X-RateLimit-Reset header timestamp.

⚠️ Error Codes

CodeDescription
400Malformed request or invalid parameters
401Missing or invalid authentication token
403Insufficient permissions for this action
404Requested resource not found
422Validation error (check payload)
429Rate limit exceeded
500Internal server error