Get a tracked error
Returns a single tracked error by its id, including the latest occurrence's stack, extras, and consequence, plus occurrences — the sampled per-instance…
Returns a single tracked error by its id, including the latest occurrence's stack, extras, and consequence, plus occurrences — the sampled per-instance detail rows behind the issue (newest first; exhaustive while the issue is small, thinned at volume, capped at 100). Returns 404 if no such error exists in the project.
Drill into one issue — fetch its full stack and seenUrls to investigate, or walk occurrences to see how the failing message/stack varies across instances.
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Path Parameters
Stable opaque error id (err_…).
1 <= length <= 128Header 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/string"{
"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",
"assigneeId": "6f1d2c3b-4a5e-4f60-9b7c-8d9e0f1a2b3c",
"assigneeConnectorId": null,
"assigneeAgent": null,
"occurrences": [
{
"id": "occ_01j7w7qq0v3k9d2m5rc8t1xh4n",
"projectId": "e976b15e-2f0d-4c6e-9b1a-3a7c1f2d8e90",
"errorId": "err_01j7w7m9q4hxbf6npe6s9zr3vc",
"message": "Cannot read properties of undefined (reading 'id')",
"stack": "TypeError: Cannot read properties of undefined (reading 'id')\n at GateEditor (/app/gates/[id]/page.tsx:42:18)",
"url": "https://app.example.com/dashboard/gat_01j7/edit",
"env": "prod",
"side": "client",
"sdkVersion": "6.0.0",
"extrasJson": "{\"gateId\":\"gat_01j7\"}",
"sampleRate": 100,
"seenAt": "2026-06-28T14:55:31.000Z"
},
{
"id": "occ_01j7w7pk8s6e3f9b0zad7y5w2q",
"projectId": "e976b15e-2f0d-4c6e-9b1a-3a7c1f2d8e90",
"errorId": "err_01j7w7m9q4hxbf6npe6s9zr3vc",
"message": "Cannot read properties of undefined (reading 'id')",
"stack": "TypeError: Cannot read properties of undefined (reading 'id')\n at GateEditor (/app/gates/[id]/page.tsx:42:18)",
"url": "https://app.example.com/dashboard/gat_02c4/edit",
"env": "prod",
"side": "client",
"sdkVersion": "6.0.0",
"extrasJson": "{\"gateId\":\"gat_02c4\"}",
"sampleRate": 10,
"seenAt": "2026-06-24T09:12:05.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"
}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,…
Update a tracked error's status
Flips the triage state of one error — the only mutation this surface allows. Valid transitions are between open, resolved, and ignored; the body must carry…