precondition_failed
HTTP 412: Precondition failed
When it occurs
The If-Match header names a version or ETag that no longer matches the row's current one (MW-02): someone updated it since you last read it. That may have been the athlete, from their own account.
A stale If-Match against an object a concurrent request just deleted also returns 412. That holds while the deletion's tombstone is still addressable, within the 180-day retention window (SYNC-05). After the tombstone ages out, the same request returns not_found (404). Handle both the same way: re-read instead of retrying the write blind.
What to do next
GET the row again (a 404 there means it is genuinely gone), then reapply your change against whatever version comes back.