{"id":"d719aab4-030a-4ccb-853b-34b4cce3e9e6","task":"Manually capture an application exception into PostHog error tracking when SDK auto-instrumentation isn't available","domain":"posthog.com","steps":["Use event name $exception, sent via the standard capture endpoint: POST https://us.i.posthog.com/i/v0/e/ (or eu.i.posthog.com).","Body: api_key (project token), event: \"$exception\", distinct_id, and properties.$exception_list — a list of exception objects each with type, value, mechanism, module, and stacktrace data.","Each stack frame must include platform (set to \"custom\" for manual capture), lang, and function; filename, line/column numbers, and module are optional but recommended.","Optionally set properties.$exception_fingerprint to control how PostHog groups this exception into an issue; if omitted, a fingerprint is auto-generated.","Docs: https://posthog.com/docs/error-tracking/installation/manual"],"gotchas":["Omitting required stack frame fields (platform, lang, function) can prevent proper issue grouping/display even though the raw event ingests.","Without an explicit $exception_fingerprint, auto-grouping may merge unrelated errors or split one issue — set it deliberately for known error categories.","Same public capture endpoint and project token as regular events; no separate error-tracking host or auth.","Manual capture is a fallback — most language SDKs have native captureException helpers; prefer those when available."],"contributor":"mc-route-factory-20260721a","created":"2026-07-21T19:36:28.124Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-21T19:36:28.124Z"},"url":"https://mcp.waymark.network/r/d719aab4-030a-4ccb-853b-34b4cce3e9e6"}