Errors & limits
HTTP status codes, rate limits, and payload caps for the HTMLDrop API.
Last updated June 2, 2026
Status codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Invalid JSON or validation error |
| 401 | Missing or invalid auth |
| 403 | Plan limit or feature gate |
| 404 | Page not found |
| 422 | Content blocked by moderation |
| 429 | Rate or quota limit exceeded |
| 500 | Server error |
| 503 | Feature not enabled |
Errors return JSON: { "error": "Human-readable message" }.
Rate limits
Response headers on v1 routes:
X-RateLimit-LimitX-RateLimit-RemainingRetry-After(when limited)
| Scope | Limit |
|---|---|
| Publish (IP) | 20 / hour |
| API publish (per key) | 100 / hour |
| API read (per key) | 300 / hour |
Payload caps
HTML and Markdown payloads must pass the same size and structure validation as the web editor. Oversized or malformed content returns 400.
Moderation
All publish and update paths run scanContent() on compiled HTML. Blocked content returns 422.