---
title: "Bulk Update Client Errors"
method: POST
path: "/admin/client-errors/bulk-status"
tags: ["admin-client-errors"]
---

# Bulk Update Client Errors

`POST /admin/client-errors/bulk-status`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/admin/client-errors/bulk-status`
- Auth: none declared

Conditional claim: flip a fingerprint's still-``new`` rows.

``updated == 0`` ⇒ nothing was ``new`` (another agent already claimed the
group, or it was already triaged).

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Request body

- ClientErrorBulkStatusUpdate: Body of ``POST /admin/client-errors/bulk-status`` — the conditional claim. Only rows still ``new`` (optionally also older than ``before``) flip; ``updated == 0`` in the response means another agent already claimed the fingerprint.
  - `fingerprint` string, required
  - `status` 'new' | 'acknowledged' | 'resolved' | 'ignored', required: Triage lifecycle of a ``client_error_log`` row. ``new`` on ingest; a fixing session claims via a conditional bulk update to ``acknowledged``, then flips ``resolved`` (fix merged) or ``ignored`` (noise). Recurrence after ``resolved`` shows up as fresh ``new`` rows for the same fingerprint — regression detection for free.
  - `before` string, date-time, nullable

## Response `200`

Successful Response

- ClientErrorBulkStatusResponse
  - `updated` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
