List tracked errors
Returns a single page of tracked production errors as a bare JSON array (no pagination envelope), ordered by lastSeenAt desc. Filter with status,…
Returns a single page of tracked production errors as a bare JSON array (no pagination envelope), ordered by lastSeenAt desc. Filter with status, free-text-search with q, and cap the page with limit.
Tracked errors are never filed by hand — an ingestion path (worker log drain / the see() SDK reporter) folds each occurrence into a row keyed by fingerprint, bumping count and lastSeenAt. This surface only reads them and (via PATCH) flips their status.
Snapshot the project's open issues for a triage dashboard, or drive a CI gate that fails the build when any open error of kind: uncaught exists in prod.
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Query Parameters
Filter by triage state. all (the default) returns every status.
"all""open" | "resolved" | "ignored" | "all"Case-insensitive substring match against message, errorType, and subject.
length <= 200Maximum number of rows to return (1–500). Defaults to 200.
2001 <= value <= 500Header Parameters
Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://shipeasy.ai/api/admin/errors"[
{
"id": "err_01j7w7m9q4hxbf6npe6s9zr3vc",
"projectId": "e976b15e-2f0d-4c6e-9b1a-3a7c1f2d8e90",
"fingerprint": "9c1f4f1f2c0c4a5fa1c2b6d3e7c8e3a1",
"causedByFingerprint": null,
"message": "Cannot read properties of undefined (reading 'id')",
"errorType": "TypeError",
"stack": "TypeError: Cannot read properties of undefined (reading 'id')\n at GateEditor (/app/gates/[id]/page.tsx:42:18)",
"source": "shipeasy",
"url": "https://app.example.com/dashboard/gat_01j7/edit",
"seenUrls": "[\"https://app.example.com/dashboard/#/edit\"]",
"subject": "gate editor",
"outcome": "crash on load",
"side": "client",
"env": "prod",
"kind": "uncaught",
"lastExtrasJson": "{\"gateId\":\"gat_01j7\"}",
"sdkVersion": "6.0.0",
"count": 137,
"status": "open",
"firstSeenAt": "2026-06-20T08:11:02.000Z",
"lastSeenAt": "2026-06-28T14:55:31.000Z",
"createdAt": "2026-06-20T08:11:02.000Z",
"updatedAt": "2026-06-28T14:55:31.000Z"
}
]{
"error": "Malformed request (bad JSON, missing project scope).",
"code": "BAD_REQUEST"
}{
"error": "Missing or invalid admin SDK key.",
"code": "UNAUTHORIZED"
}{
"error": "Key is valid but not allowed to act on this project.",
"code": "FORBIDDEN"
}{
"error": "The resource does not exist or is not visible to the caller.",
"code": "NOT_FOUND"
}{
"error": "A resource with this name already exists in the project.",
"code": "ALREADY_EXISTS"
}{
"error": "The request body failed structural (schema) validation.",
"code": "VALIDATION"
}