REST API Overview
ZiziCache exposes a REST API for cache control, configuration, monitoring, and optimization tools. This reference reflects the actual implemented routes.
Base URL & Namespaces
Endpoints are registered under multiple namespaces for compatibility. Preferred base:
/wp-json/zizi-cache/v1/...
Also available:
/wp-json/zizi-cache/...
/wp-json/{plugin-dir}/...
Note: LCP collection is additionally available under /wp-json/zizicache/v1/lcp.
Authentication & Permissions
Most endpoints use Authority::rest_api_permission_callback, which requires a logged-in user with an allowed role (default: administrator, editor) and a valid nonce for state-changing requests (POST/PUT/DELETE).
Headers: X-WP-Nonce: [nonce_value] Content-Type: application/json
Allowed roles can be customized via the zizi_cache_allowed_roles filter.
Public endpoints (no auth required)
POST /wp-json/zizi-cache/v1/lcp POST /wp-json/zizi-cache/v1/cwv/metrics GET /wp-json/zizi-cache/v1/cwv/page-summary?url=... POST /wp-json/zizi-cache/v1/font-intelligence/collect
These endpoints allow public access. CWV and font collection are rate-limited (see Rate Limiting).
Cache Management
GET /wp-json/zizi-cache/v1/cached-pages-count GET /wp-json/zizi-cache/v1/cache-stats POST /wp-json/zizi-cache/v1/purge-pages POST /wp-json/zizi-cache/v1/purge-current-page POST /wp-json/zizi-cache/v1/purge-pages-and-preload POST /wp-json/zizi-cache/v1/purge-everything POST /wp-json/zizi-cache/v1/purge-everything-and-preload POST /wp-json/zizi-cache/v1/preload-cache POST /wp-json/zizi-cache/v1/preload-single-url POST /wp-json/zizi-cache/v1/purge-critical-css GET /wp-json/zizi-cache/v1/cache-status-breakdown POST /wp-json/zizi-cache/v1/litespeed-preload/start POST /wp-json/zizi-cache/v1/litespeed-preload/stop GET /wp-json/zizi-cache/v1/litespeed-preload/progress
Notes: cache-status-breakdown and LiteSpeed preload endpoints are only meaningful in LiteSpeed Cache Only mode. purge-current-page and preload-single-url expect a url parameter.
Cache URLs Tracking (Pages Not Cached)
GET /wp-json/zizi-cache/v1/uncached-urls GET /wp-json/zizi-cache/v1/cache-urls-stats POST /wp-json/zizi-cache/v1/sync-cache-urls POST /wp-json/zizi-cache/v1/refresh-cache-urls GET /wp-json/zizi-cache/v1/cache-urls-post-types
Pagination parameters for uncached-urls: page, per_page, post_type, search.
Cache Settings & Exclusions
GET /wp-json/zizi-cache/v1/cache-settings POST /wp-json/zizi-cache/v1/cache-settings GET /wp-json/zizi-cache/v1/cache-exclusions POST /wp-json/zizi-cache/v1/cache-exclusions
Configuration
GET /wp-json/zizi-cache/v1/config POST /wp-json/zizi-cache/v1/config GET /wp-json/zizi-cache/v1/config/defaults
Database Management
POST /wp-json/zizi-cache/v1/optimize-db-tables POST /wp-json/zizi-cache/v1/optimize-db-tables-batch GET /wp-json/zizi-cache/v1/database-statistics GET /wp-json/zizi-cache/v1/database-growth-history POST /wp-json/zizi-cache/v1/db-event-log GET /wp-json/zizi-cache/v1/database-operation-logs GET /wp-json/zizi-cache/v1/database-status GET /wp-json/zizi-cache/v1/cleanup-counts POST /wp-json/zizi-cache/v1/cleanup-counts GET /wp-json/zizi-cache/v1/index-recommendations POST /wp-json/zizi-cache/v1/apply-index-recommendations POST /wp-json/zizi-cache/v1/cleanup-database POST /wp-json/zizi-cache/v1/save-settings
OPcache
GET /wp-json/zizi-cache/v1/opcache/stats POST /wp-json/zizi-cache/v1/opcache/flush GET /wp-json/zizi-cache/v1/opcache/domain-usage
Redis
GET /wp-json/zizi-cache/v1/redis-status POST /wp-json/zizi-cache/v1/redis-flush
Memcached
GET /wp-json/zizi-cache/v1/memcached-status POST /wp-json/zizi-cache/v1/memcached-test POST /wp-json/zizi-cache/v1/memcached-flush GET /wp-json/zizi-cache/v1/memcached-environment
CDN (lightweight endpoints)
GET /wp-json/zizi-cache/v1/cdn/status POST /wp-json/zizi-cache/v1/cdn/clear-cache GET /wp-json/zizi-cache/v1/cdn/recommended-settings
These endpoints currently return placeholder responses (status/ok, success, recommended).
Cloudflare
POST /wp-json/zizi-cache/v1/cloudflare/test-connection GET /wp-json/zizi-cache/v1/cloudflare/status POST /wp-json/zizi-cache/v1/cloudflare/purge-urls GET /wp-json/zizi-cache/v1/cloudflare/cache-rules/status POST /wp-json/zizi-cache/v1/cloudflare/cache-rules/create POST /wp-json/zizi-cache/v1/cloudflare/cache-rules/delete POST /wp-json/zizi-cache/v1/cloudflare/cache-rules/toggle POST /wp-json/zizi-cache/v1/cloudflare/failover/regenerate-secret GET /wp-json/zizi-cache/v1/cloudflare/zones POST /wp-json/zizi-cache/v1/cloudflare/auto-detect-zone POST /wp-json/zizi-cache/v1/cloudflare/validate-zone POST /wp-json/zizi-cache/v1/cloudflare/disconnect
BFCache
GET /wp-json/zizi-cache/v1/bfcache/status POST /wp-json/zizi-cache/v1/bfcache/diagnostics POST /wp-json/zizi-cache/v1/bfcache/test POST /wp-json/zizi-cache/v1/bfcache/clear-tokens
Action Scheduler
GET /wp-json/zizi-cache/v1/actionscheduler-status POST /wp-json/zizi-cache/v1/clean-actionscheduler
Server Info & Performance
GET /wp-json/zizi-cache/v1/server-info GET /wp-json/zizi-cache/v1/performance-metrics
Image Converter
GET /wp-json/zizi-cache/v1/image-converter/settings POST /wp-json/zizi-cache/v1/image-converter/settings GET /wp-json/zizi-cache/v1/image-converter/environment GET /wp-json/zizi-cache/v1/image-converter/diagnostics POST /wp-json/zizi-cache/v1/image-converter/bulk/start GET /wp-json/zizi-cache/v1/image-converter/bulk/status POST /wp-json/zizi-cache/v1/image-converter/bulk/stop POST /wp-json/zizi-cache/v1/image-converter/bulk-original-cleanup GET /wp-json/zizi-cache/v1/image-converter/performance-analysis POST /wp-json/zizi-cache/v1/image-converter/run-performance-analysis POST /wp-json/zizi-cache/v1/image-converter/performance-settings POST /wp-json/zizi-cache/v1/image-converter/apply-recommended-settings POST /wp-json/zizi-cache/v1/image-converter/convert GET /wp-json/zizi-cache/v1/image-converter/stats POST /wp-json/zizi-cache/v1/image-converter/media-indexer/scan GET /wp-json/zizi-cache/v1/image-converter/media-indexer/stats
Notes: image-converter/convert expects attachment_id. Media indexer endpoints require upload_files capability in addition to admin permissions.
Thumbnail Management
GET /wp-json/zizi-cache/v1/thumbnail/sizes POST /wp-json/zizi-cache/v1/thumbnail/sizes GET /wp-json/zizi-cache/v1/thumbnail/settings POST /wp-json/zizi-cache/v1/thumbnail/settings POST /wp-json/zizi-cache/v1/thumbnail/analyze GET /wp-json/zizi-cache/v1/thumbnail/stats POST /wp-json/zizi-cache/v1/thumbnail/cleanup/preview POST /wp-json/zizi-cache/v1/thumbnail/cleanup/execute POST /wp-json/zizi-cache/v1/thumbnail/woocommerce/analyze GET /wp-json/zizi-cache/v1/thumbnail/woocommerce/orphaned POST /wp-json/zizi-cache/v1/thumbnail/woocommerce/cleanup GET /wp-json/zizi-cache/v1/thumbnail/builders/detect POST /wp-json/zizi-cache/v1/thumbnail/builders/analyze POST /wp-json/zizi-cache/v1/thumbnail/advanced/analyze GET /wp-json/zizi-cache/v1/thumbnail/quick-stats
Font Statistics
GET /wp-json/zizi-cache/v1/font-statistics POST /wp-json/zizi-cache/v1/font-intelligence/collect POST /wp-json/zizi-cache/v1/font-statistics/generate-optimized-fonts POST /wp-json/zizi-cache/v1/reset-statistics
Core Web Vitals (CWV)
POST /wp-json/zizi-cache/v1/cwv/metrics GET /wp-json/zizi-cache/v1/cwv/page-summary GET /wp-json/zizi-cache/v1/cwv/issues POST /wp-json/zizi-cache/v1/cwv/reset-metrics DELETE /wp-json/zizi-cache/v1/cwv/reset-all-metrics
LCP Collection
POST /wp-json/zizi-cache/v1/lcp
POST /wp-json/zizi-cache/lcp
POST /wp-json/{plugin-dir}/lcp
POST /wp-json/zizicache/v1/lcp
AJAX fallback (non-REST): /wp-admin/admin-ajax.php?action=zizi_lcp_data
License Management
POST /wp-json/zizi-cache/v1/license/activate GET /wp-json/zizi-cache/v1/license/status POST /wp-json/zizi-cache/v1/license/validate POST /wp-json/zizi-cache/v1/license/deactivate GET /wp-json/zizi-cache/v1/license/updater-status POST /wp-json/zizi-cache/v1/license/updater-status GET /wp-json/zizi-cache/v1/license/updaterstatus POST /wp-json/zizi-cache/v1/license/updaterstatus GET /wp-json/zizi-cache/v1/license/debug GET /wp-json/zizi-cache/v1/license/test-cache
Rate Limiting
Rate limiting is implemented for public collection endpoints:
cwv/metricsuses filterszizicache_cwv_rate_limit_windowandzizicache_cwv_rate_limit.font-intelligence/collectuses filterzizicache_font_rate_limit.
Error Handling
Endpoints return standard WordPress REST errors (rest_forbidden, rest_invalid_param, etc.) and may include additional fields like success or message depending on the handler.