The REST API encountered an error WordPress Origin: Application & API Last updated 12 Oct 2026

Site Health: The REST API encountered an error / Your site could not complete a loopback request (cURL error 28)

WordPress couldn’t call itself over HTTP — needed for the block editor, cron, plugin/theme editors and Site Health.

Exact message you may see The REST API encountered an errorYour site could not complete a loopback requestThe REST API request failed due to an errorcURL error 28: Operation timed out
Seen on: WordPress

Meaning

Loopbacks go from the server to its own public URL. Firewalls, DNS that resolves to an unreachable IP inside the server, basic auth, Cloudflare challenges, or self-signed certificates break them (cURL error 28 timeout, cURL error 6/7/60).

Common causes

  • Server can’t reach its own domain (firewall/NAT hairpin/DNS)
  • Basic authentication on the site
  • Security plugin/WAF blocking server-to-self requests
  • Invalid/self-signed SSL certificate
  • Slow plugin causing timeout

⚡ Quick fix

  1. From the server, curl -I https://yourdomain/wp-json/
  2. Add the domain to /etc/hosts pointing to 127.0.0.1 if NAT hairpin fails
  3. Allow the server IP in WAF/security plugins

Detailed fix by platform

Linux

  1. bash
    curl -sI https://example.com/wp-json/ | head -3
    echo "127.0.0.1 example.com www.example.com" | sudo tee -a /etc/hosts

How to diagnose

  1. Reach — curl from the server
  2. Error — cURL error number
  3. Auth — Basic auth enabled?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

0x80070035 — 0x80070035: The network path was not found (System error 53) (Windows)0x800700350x80072EE7 — Error 0x80072EE7 (Windows Update / Microsoft Store: server name could not be resolved) (Windows)0x80072EE70x8024402C — Windows Update error 0x8024402C (cannot connect to update server) (Windows)0x8024402C2003 — MySQL ERROR 2003 (HY000): Can't connect to MySQL server on 'host:3306' (111) (MySQL)2003407 — HTTP 407 Proxy Authentication Required (HTTP)407511 — HTTP 511 Network Authentication Required (HTTP)511AbortError — AbortError: The user aborted a request. / signal is aborted without reason (JavaScript)AbortErrorclient_loop: send disconnect: Broken pipe — client_loop: send disconnect: Broken pipe (SSH session drops when idle) (Linux)client_loop: send dis…The REST …

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.