Parsemend has no client library of its own. It implements the Sentry ingest protocol, so your application reports through one of the open-source Sentry SDKs, installed from your normal package manager and pointed at a Parsemend DSN. You do not need a Sentry account, and no data reaches sentry.io: the DSN decides where events go.
todo: this is a stub. Full reference documentation will live on this path, not on a docs subdomain.
What you are installing
The Sentry SDKs are open-source packages under the MIT licence, and they are the reference implementation of the protocol Parsemend speaks. Installing one is a package dependency and nothing else. There is no signup, no key from Sentry, and no traffic to their servers. The SDK builds its upload URL out of the DSN you give it, so a DSN ending in ingest.parsemend.com sends to Parsemend and only to Parsemend.
The cost of that choice is a package named after another product in your lockfile. The benefit is that the client side of your error tracking is code neither of us has to maintain, and it keeps working if you ever leave.
The key is not a password; client SDKs ship it in released code. It does let anyone who has it post events into that project, so keep it out of public repositories the way you would any other environment value.
02
Install a client library and give it the DSN
Pick the SDK for your language. These two are the ones we have run end to end; the compatibility table below says what that means for everything else.
On Laravel 11 and newer, add Integration::handles($exceptions) inside withExceptions() in bootstrap/app.php so unhandled exceptions reach the reporter. Queue workers are covered by the same call.
It shows up as an issue within a second or two. If nothing arrives, the DSN is usually unset rather than wrong. Every SDK treats an empty DSN as “disabled” and stays silent instead of failing loudly.
04
Deploy
Set the DSN in the production environment and ship. Events arrive on the envelope endpoint with their breadcrumbs, tags, environments and releases intact.
Already sending events to Sentry?
Then step 02 is done. Change the DSN value to the Parsemend one and redeploy. Nothing is installed or removed, and no initialisation code moves. The migration guide covers running both in parallel and what does not carry over.
SDK compatibility
Every SDK below installs the same way: package manager, then a DSN. Install it from its own documentation and substitute the Parsemend DSN wherever that documentation says to paste one.
Which Sentry SDKs we have actually run
SDK
Tested version
Status
sentry/sentry (PHP)
4.29.0
verified
@sentry/node
10.64.0
verified
@sentry/browser
—
expected
sentry-python
—
expected
sentry-ruby
—
expected
sentry-go
—
expected
verified means we ran it and captured golden-file fixtures. expected means the SDK speaks the same wire protocol and should work, but we have not run it and will not claim that we have.
Ingest limits
Envelope endpoint
POST /api/{project_id}/envelope
Legacy endpoint
POST /api/{project_id}/store
Content-Encoding
gzip, deflate, identity
Max compressed body
20 MiB
Max decompressed body
200 MiB
Max item size
1 MiB
Default rate limit
300 events / 60s per key
Default retention
90 days
Brotli and zstd request bodies are rejected with a recorded invalid outcome rather than a 500. Transaction, log and check-in envelope items are stored as traces, logs and cron monitors. Session, sessions and client_report items are accepted and dropped.