---
title: "Record Client Metrics"
method: POST
path: "/browser-extension/client-metrics/"
tags: ["browser-extension"]
---

# Record Client Metrics

`POST /browser-extension/client-metrics/`

Accept aggregate scan-outcome counters from the extension.

The extension fails closed on every extraction problem, so these counters
are the only signal that distinguishes "Google changed their markup" from
"no cheaper price today". Counter names are schema-validated; values are
counts only. One structured log line per batch keeps the payload
Render-queryable and lets a Sentry/log alert fire on a reason spike.

## Request body

- ExtensionClientMetricsRequest
  - `extension_version` string, required
  - `counts` object, required

## Response `200`

Successful Response

- ExtensionClientMetricsResponse
  - `accepted` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/helloaxel/apis/client-api-gateway.md) · [All operations](https://skmtc.dev/helloaxel/apis/client-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/helloaxel/client-api-gateway/revisions/d3c4c29fede7/schema)
