Attachments & screenshots
Attach screenshots, logs and diagnostic files to an error report, within your plan's size limits.
Attachments & screenshots
Attach a screenshot and diagnostic files — logs, HARs, stack dumps — to an error report so you can see what the user saw and skip the back-and-forth. Attachments appear on the incident alongside the stack trace and metadata.
Attachments are a paid feature. On the Free plan reports are text-only.
Plan limits
The limit is the total size of a single report — text plus every file:
| Plan | Attachments | Max per report |
|---|---|---|
| Free | — (text only) | 3 KB |
| Pro | ✓ | 1 MB |
| Business | ✓ | 2 MB |
| Enterprise | ✓ | Unlimited |
A report that exceeds the limit, or an attachment on a text-only plan, is rejected with a clear error — your other reports are unaffected.
How to attach files
Send the report to the ingest API as a multipart/form-data request (rather
than JSON). Use image for the screenshot preview and attachments[] for
everything else:
curl -X POST https://error.page/api/v2/ingest \
-H "X-Project-Key: $EP_PROJECT_KEY" \
-F "error_type=server_error" \
-F "message=Checkout failed at payment step" \
-F "image=@screenshot.png" \
-F "attachments[]=@app.log" \
-F "attachments[]=@request.har"
The image becomes the screenshot thumbnail on the incident; each
attachments[] entry is listed as a download.
Allowed file types
To keep stored files safe to serve, only non-executable diagnostic formats are accepted:
- Text & data:
log,txt,json,csv,xml,yaml,yml,md,ini,conf,trace,stacktrace,har - Images:
png,jpg,jpeg,gif,webp(theimagefield is raster only — no SVG) - Documents:
pdf - Archives & dumps:
zip,gz,tgz,tar,dmp,core,hprof
Anything executable or scriptable is refused, so a stored file can never be served or run as active content.
The browser SDK reports over JSON and does not upload files itself. Attachments come from server-side reporting or your own tooling posting a multipart request as shown above.