How the codes are organized
The first digit is the domain band: 1xxx authentication and API keys, 2xxx rate limits, quotas and billing, 3xxx monitors, checks and agents, 4xxx realuptime errors ingest, 5xxx status pages and incidents, 6xxx outages and the public API. API responses carry the code as a code field beside the human-readable error; on-screen messages show it in parentheses.
1xxx: Authentication & API keys
- RU-1001: Missing API credentials (HTTP 401)
- RU-1002: Invalid or revoked API key (HTTP 401)
- RU-1003: API access requires a paid plan (HTTP 403)
- RU-1004: API key is read-only (HTTP 403)
- RU-1005: Free plans get read-only MCP access
- RU-1006: Keyless MCP endpoint does not serve this tool (HTTP 403)
- RU-1007: API key is restricted to an IP allowlist (HTTP 403)
- RU-1008: API key is not scoped to this resource (HTTP 403)
2xxx: Rate limits, quotas & billing
- RU-2001: Too many failed authentication attempts (HTTP 429)
- RU-2002: API read rate limit exceeded (HTTP 429)
- RU-2003: API write rate limit exceeded (HTTP 429)
- RU-2004: Plan monitor limit reached (HTTP 403)
- RU-2005: Already subscribed
- RU-2006: Status page allowance exhausted (HTTP 403)
- RU-2007: Notification channel allowance exhausted (HTTP 403)
3xxx: Monitors, checks & agents
- RU-3001: Invalid check request (HTTP 400)
- RU-3002: Monitor target refused (HTTP 400)
- RU-3003: Check not found (HTTP 404)
- RU-3004: Invalid response assertions (HTTP 400)
- RU-3005: Agent request refused (opaque 404) (HTTP 404)
- RU-3006: Interval below plan floor (HTTP 400)
- RU-3007: Invalid notification channel request (HTTP 400)
- RU-3008: Notification channel not found (HTTP 404)
- RU-3009: Duplicate notification channel name (HTTP 409)
- RU-3010: Latency threshold out of range (HTTP 400)
- RU-3011: Region outside plan entitlement (HTTP 400)
- RU-3012: Invalid results query request (HTTP 400)
4xxx: realuptime errors ingest
- RU-4001: Error event quota reached (HTTP 429)
- RU-4002: Ingest key revoked (HTTP 403)
- RU-4003: Ingest rate limited (HTTP 429)
- RU-4004: Malformed error batch (HTTP 400)
- RU-4005: Account does not have realuptime errors (HTTP 403)
- RU-4006: Errors project or issue not found (HTTP 404)
- RU-4007: Invalid errors API request (HTTP 400)
- RU-4008: Referenced previous release not found (HTTP 400)
- RU-4009: Error event context too large (HTTP 400)
- RU-4010: User feedback switched off for this project (HTTP 403)
- RU-4011: Feedback event not found (HTTP 404)
- RU-4012: Feedback body too large (HTTP 413)
- RU-4013: Inbound release webhook token not recognized (HTTP 404)
- RU-4014: Inbound release payload not understood (HTTP 400)
- RU-4015: Inbound release signature missing or wrong (HTTP 401)
- RU-4016: Inbound release webhook rate limited (HTTP 429)
- RU-4017: Error batch body too large (HTTP 413)
- RU-4018: Tracker webhook not recognized (HTTP 404)
- RU-4019: Tracker webhook signature missing or wrong (HTTP 401)
- RU-4020: Tracker webhook payload not understood (HTTP 400)
- RU-4021: Tracker webhook rate limited (HTTP 429)
5xxx: Status pages & incidents
- RU-5001: Invalid incident request (HTTP 400)
- RU-5002: Incident not found or not creatable (HTTP 404)
- RU-5003: Incident conflicts with live outage state (HTTP 409)
- RU-5004: Inbound incident webhook token not recognized (HTTP 404)
- RU-5005: Inbound incident payload not understood (HTTP 400)
- RU-5006: Inbound incident signature missing or wrong (HTTP 401)
- RU-5007: Inbound incident webhook rate limited (HTTP 429)
- RU-5008: Invalid status page request (HTTP 400)
- RU-5009: Status page or component not found (HTTP 404)
- RU-5010: Status page slug already taken (HTTP 409)
- RU-5011: Last status page cannot be deleted (HTTP 409)
- RU-5012: Check already published on this status page (HTTP 409)
- RU-5013: Invalid maintenance window request (HTTP 400)
- RU-5014: Maintenance window not found or not creatable (HTTP 404)