Home / Docs / Errors & limits

Errors & limits

Stable error codes and rate-limit defaults.

JSON errors:

{
  "error": "slug_taken",
  "message": "That slug is taken"
}
errorHTTPWhen
unauthorized401Missing or invalid OAuth access token
insufficient_scope403Token missing a required scope
upgrade_required403Plan too low (API and MCP are Growth+)
slug_taken409Custom slug in use
validation400Bad URL, expiry, CSV row
not_found404Unknown link or webhook
rate_limited429Burst exceeded
payload_too_large413CSV over 5000 rows or body too big

Rate limits

SurfaceLimit
DashboardComfortable interactive use
REST /v1 (Growth)Generous; Retry-After on 429
REST /v1 (Premium)Higher than Growth
MCPSame class as the org’s REST tier

message is human; error codes stay English.