Skip to main content
4 min read

GET /errors/:websiteId/groups

Retrieve JavaScript error groups for a website. Errors are grouped by fingerprint and include occurrence counts, affected user counts, and timestamps. Optionally filter by status (unresolved, resolved, ignored).

GET/api/external/v1/errors/:websiteId/groups

List error groups with occurrence data

Authentication

All requests require an API key passed via the X-API-Key header. Alternatively, you can use the Authorization: Bearer YOUR_API_KEY header.

AuthenticationBash
curl -X GET 'https://api.zenovay.com/api/external/v1/errors/a1b2c3d4-e5f6-7890-abcd-ef1234567890/groups?status=unresolved&limit=20' \
-H 'X-API-Key: YOUR_API_KEY'

Parameters

NameTypeRequiredDefaultDescription
websiteIdstring (path)Yes-The UUID of the website
limitinteger (query)No50Number of error groups to return (max: 200)
statusstring (query)No-Filter by status: unresolved, resolved, ignored. Omit to return all statuses.

Response

Response (200 OK)JSON
{
"success": true,
"data": {
  "error_groups": [
    {
      "id": "eg_1a2b3c4d-e5f6-7890-abcd-ef1234567890",
      "fingerprint": "TypeError_Cannot_read_properties_abc123",
      "message": "Cannot read properties of undefined (reading 'length')",
      "type": "TypeError",
      "status": "unresolved",
      "occurrence_count": 245,
      "first_seen_at": "2026-01-15T10:00:00.000Z",
      "last_seen_at": "2026-02-07T14:30:00.000Z",
      "affected_users_count": 89
    },
    {
      "id": "eg_2b3c4d5e-f6a7-8901-bcde-f12345678901",
      "fingerprint": "ReferenceError_not_defined_def456",
      "message": "analytics is not defined",
      "type": "ReferenceError",
      "status": "unresolved",
      "occurrence_count": 123,
      "first_seen_at": "2026-01-20T08:15:00.000Z",
      "last_seen_at": "2026-02-07T11:45:00.000Z",
      "affected_users_count": 56
    },
    {
      "id": "eg_3c4d5e6f-a7b8-9012-cdef-123456789012",
      "fingerprint": "SyntaxError_unexpected_token_ghi789",
      "message": "Unexpected token '<'",
      "type": "SyntaxError",
      "status": "resolved",
      "occurrence_count": 45,
      "first_seen_at": "2026-01-10T14:30:00.000Z",
      "last_seen_at": "2026-01-25T09:00:00.000Z",
      "affected_users_count": 12
    }
  ],
  "total": 3
},
"timestamp": "2026-02-07T12:00:00.000Z"
}

Response Fields

FieldTypeDescription
error_groupsarrayList of error groups sorted by last_seen_at descending
error_groups[].idstringUnique error group identifier
error_groups[].fingerprintstringError fingerprint for deduplication
error_groups[].messagestringError message text
error_groups[].typestringError type (e.g., TypeError, ReferenceError)
error_groups[].statusstringError status: unresolved, resolved, or ignored
error_groups[].occurrence_countnumberTotal number of times this error occurred
error_groups[].first_seen_atstringISO 8601 timestamp of first occurrence
error_groups[].last_seen_atstringISO 8601 timestamp of most recent occurrence
error_groups[].affected_users_countnumberNumber of unique users affected
totalnumberTotal number of error groups returned

TypeScript Interface

ErrorGroupsResponseTypeScript
interface ErrorGroup {
id: string;
fingerprint: string;
message: string;
type: string;
status: 'unresolved' | 'resolved' | 'ignored';
occurrence_count: number;
first_seen_at: string;
last_seen_at: string;
affected_users_count: number;
}

interface ErrorGroupsResponse {
success: true;
data: {
  error_groups: ErrorGroup[];
  total: number;
};
timestamp: string;
}

HTTP Status Codes

Status CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - API key does not have access to this website
404Not Found - Website not found
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Code Examples

cURLBash
# Get all unresolved errors
curl -X GET 'https://api.zenovay.com/api/external/v1/errors/a1b2c3d4-e5f6-7890-abcd-ef1234567890/groups?status=unresolved&limit=20' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json'

# Get all errors regardless of status
curl -X GET 'https://api.zenovay.com/api/external/v1/errors/a1b2c3d4-e5f6-7890-abcd-ef1234567890/groups?limit=50' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json'

Error Handling

Error Response (500 Internal Server Error)JSON
{
"success": false,
"error": {
  "message": "Failed to fetch error groups",
  "code": "GENERIC_ERROR",
  "timestamp": "2026-02-07T12:00:00.000Z"
}
}
Was this page helpful?