Pionne SDKs
Pionne ships native SDKs for every JavaScript runtime and beyond. They all speak the same event format to POST /api/ingest, dedup’d by sha256 fingerprint server-side.
Available
Section titled “Available” React Native + Expo @pionne/react-native — auto-capture, screenshots, source maps. Hermes/JSC.
Web (browser) @pionne/web — onerror, unhandledrejection, UA + viewport + locale.
Node.js @pionne/node — uncaughtException, runtime context (version, hostname, pid).
Coming soon
Section titled “Coming soon” Flutter pionne_flutter — FlutterError.onError + Zone runner. iOS/Android/Web/Desktop.
Laravel & Symfony pionne/pionne — exception handler, request context, queue jobs.
Common event format
Section titled “Common event format”Every SDK ships events to the same endpoint with the same schema:
POST https://api.pionne.app/ingestX-Pionne-Token: pio_live_…
{ "exception_type": "TypeError", "message": "Cannot read property 'x' of undefined", "stack": [...], "level": "error", "release": "1.0.0", "environment": "production", "tags": { "feature": "checkout" }, "contexts": { "device": {...}, "os": {...}, "app": {...} }, "user_id_anon": "u_42", "breadcrumbs": [...]}→ The /api/ingest doc has the full schema.
One token across every SDK
Section titled “One token across every SDK”The same pio_live_… token can be used from any SDK. If your stack is React Native + Node + Laravel, you can either:
- One project per runtime (recommended) — you immediately see where the error came from in the dashboard
- One project for everything — all errors share the same stream but you lose platform-level filtering
Create your projects from the Pionne mobile app, paste the token into each SDK.
See also
Section titled “See also”- Quickstart — install in 5 minutes
- Pricing — €9.99/month, unlimited projects
- REST API — ingest endpoint schema