---
title: "Report Metrickit Diagnostic"
method: POST
path: "/api/client-diagnostics/metrickit"
---

# Report Metrickit Diagnostic

`POST /api/client-diagnostics/metrickit`

## Request

- Base URL: `https://api.yourbeckett.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.yourbeckett.com/api/client-diagnostics/metrickit`
- Auth: none declared

Record a MetricKit diagnostic delivered to the iOS client.

MetricKit payloads are delivered asynchronously by iOS (typically on
the next launch after a hang/crash/CPU-exception). They survive
watchdog and jetsam kills, which is exactly the class of Claudia's
freezes that never produce symbolicated Xcode crash logs — see #1483.

## Request body

- MetricKitReportPayload: One row from iOS `MetricKitReporter`. iOS unpacks each `MXDiagnosticPayload` into per-sub-diagnostic rows so queries can filter by `kind` cleanly (one hang report per row, not one envelope per row).
  - `kind` string, required
  - `app_version` string, nullable
  - `app_build` string, nullable
  - `os_version` string, nullable
  - `device_model` string, nullable
  - `view_name` string, nullable
  - `breadcrumb_at` string, date-time, nullable
  - `breadcrumb_metadata` object
  - `dynamic_type_size` string, nullable
  - `reduce_motion` boolean, nullable
  - `payload` object

## Response `204`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/yourbeckett/apis/beckett-platform.md) · [All operations](https://skmtc.dev/yourbeckett/apis/beckett-platform/llms.txt) · [OpenAPI document](https://skmtc.dev/yourbeckett/apis/beckett-platform/revisions/a1cb8f2c8961?raw)
