---
title: "Report Client Stall"
method: POST
path: "/api/client-diagnostics/stall"
---

# Report Client Stall

`POST /api/client-diagnostics/stall`

## 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/stall`
- Auth: none declared

Record a main-thread stall reported by the iOS client.

Fire-and-forget from the client. No response body, no short-circuit, no
LLM hop. Used for post-hoc triage of watchdog freezes that don't
symbolicate (see #1483).

## Request body

- ClientStallPayload: Payload from iOS `StallReporter` when MainThreadWatchdog fires.
  - `duration_ms` integer, required
  - `occurred_at` string, date-time, required
  - `view_name` string, nullable
  - `device_model` string, nullable
  - `os_version` string, nullable
  - `app_version` string, nullable
  - `app_build` string, nullable
  - `dynamic_type_size` string, nullable
  - `reduce_motion` boolean
  - `event_count` integer

## 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)
