Skip to content
Knowledge base

Error codes

Every refusal RealUptime sends carries one stable RU-XXXX code, banded by domain. Codes never change meaning and are never reused: the page you bookmark today explains the same refusal forever.

How the codes are organized

The first digit of a code is its 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-1004: API key is read-only (HTTP 403)
  • 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)
  • RU-1009: Account is suspended (HTTP 403)
  • RU-1010: Agent sign-up request refused (HTTP 400)
  • RU-1011: Agent sign-up request not found (HTTP 404)

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)
  • RU-2008: Errors project allowance exhausted (HTTP 403)
  • RU-2009: Server allowance exhausted (HTTP 403)
  • RU-2010: Custom domains need a paid plan (HTTP 403)
  • RU-2011: Too many agent sign-up requests (HTTP 429)

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)
  • RU-3013: Invalid check authentication (HTTP 400)
  • RU-3014: Check authentication not available (HTTP 403)
  • RU-3015: Slack webhook already configured (HTTP 409)
  • RU-3016: Account email address not confirmed (HTTP 409)

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)
  • RU-4022: Account is suspended (HTTP 403)

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)
  • RU-5015: Custom domain conflict (HTTP 409)
  • RU-5016: Certificate provider unavailable (HTTP 502)

6xxx: Outages & the public API

  • RU-6001: Service not covered by the outage tracker (HTTP 404)
  • RU-6002: Invalid outage query (HTTP 400)
  • RU-6003: Public outage API rate limited (HTTP 429)
  • RU-6004: Keyless MCP rate limited (HTTP 429)
  • RU-6005: Outage stack not found (HTTP 404)