Skip to content

internal_error

HTTP status: 500 Internal Server Error

  1. Retry the request. Many 500s are transient — a deploy lap, a connection-pool blip, a one-off DB timeout. Retry once after 5 seconds before deeper investigation.
  2. Check our status page for ongoing incidents.
  3. For repeated 500s on the same endpoint, file a support ticket immediately. We've been notified via $exception capture, but a customer report accelerates triage with the actual user-visible impact.
  4. Don't blame the request body. 500 means our code failed; it's not a hint that your input is wrong. If the input were wrong, you'd see invalid_input or a more specific 4xx.

A bug or unexpected condition in our service caused the request to fail. Our PostHog $exception capture already has the full stack trace and your request_id; we don't need you to forward error details. The static message stays generic by design (per our CLAUDE.md rule: never leak err.message to clients).

Contact support with your request_id (looks like req_01HF3JKB...). We'll find the exact stack trace in our logs.