GGATH Developers

Actual error behavior

401 — unauthorized

{"success":false,"code":"unauthorized","message":"Invalid or missing API key."}

Missing/invalid Bearer key. The guard runs before protected route matching, so an unknown path also returns 401. Do not infer route existence or successful schema validation from 401.

404 — authenticated unknown path or method

{"success":false,"message":"Endpoint not found"}

Observed with an authorized GET to the old /wp-json/gath/v1/services. This is not a WordPress rest_no_route response. Do not try production writes to discover a contract.

204 — preflight only

OPTIONS is generic and does not enumerate implemented methods. The advertised POST is not a write API contract.

Data and operational limits

Empty rates can mean no matches or a failed data-file read; health alone cannot distinguish these cases. No rate-limit, pagination or formal validation error contract is implemented in this handler. For network/TLS failures, preserve the actual status and sanitized body; contact GATH rather than substituting sample success data.