4 min de lecture
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/groupsList 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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
websiteId | string (path) | Yes | - | The UUID of the website |
limit | integer (query) | No | 50 | Number of error groups to return (max: 200) |
status | string (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
| Field | Type | Description |
|---|---|---|
error_groups | array | List of error groups sorted by last_seen_at descending |
error_groups[].id | string | Unique error group identifier |
error_groups[].fingerprint | string | Error fingerprint for deduplication |
error_groups[].message | string | Error message text |
error_groups[].type | string | Error type (e.g., TypeError, ReferenceError) |
error_groups[].status | string | Error status: unresolved, resolved, or ignored |
error_groups[].occurrence_count | number | Total number of times this error occurred |
error_groups[].first_seen_at | string | ISO 8601 timestamp of first occurrence |
error_groups[].last_seen_at | string | ISO 8601 timestamp of most recent occurrence |
error_groups[].affected_users_count | number | Number of unique users affected |
total | number | Total 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 Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - API key does not have access to this website |
| 404 | Not Found - Website not found |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal 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"
}
}Cette page vous a-t-elle été utile ?