Most delivery failures are configuration mismatches, not SDK defects. Work through the checks below in order so you isolate the real boundary that is failing.
Checklist
- Confirm the DSN public key belongs to the intended project.
- Check the sender’s HTTP response code and response body.
- Verify the event is not filtered out by environment, level, or search conditions in the UI.
- For browser keys, confirm the request Origin matches an allowed origin when monitoring or enforcement is on.
- For signed keys, confirm the signing secret matches the one-time secret returned at key creation or rotation.
- For short-lived jobs, flush before process exit so queued events can leave the process.
- Inspect proxies or middleware that may rewrite bodies or strip signed headers.
Framework-Specific Checks
- Next.js: if client-only failures are missing, make sure browser init runs once near the app root.
- Node.js: if CLI or worker processes exit quickly, flush before shutdown.
- Python: call
flush(timeout=2.0)andclose()in short-lived jobs.
If direct curl examples work but your application does not, the problem is usually initialization timing, middleware mutation, or missing client/server separation in the app.