---
title: "Update My First Run"
method: PATCH
path: "/api/asclepius/me/first-run"
tags: ["asclepius"]
---

# Update My First Run

`PATCH /api/asclepius/me/first-run`

## Request

- Base URL: `https://app.archangelhealth.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.archangelhealth.ai/api/asclepius/me/first-run`
- Auth: none declared

One transition on the caller's own first-login walkthrough.

Server-authoritative and server-STORED (§6): doctors switch devices, and a
checklist in localStorage restarts on the phone. The rules that make a stop
permanent live here, not in client flags.

## Headers

- `authorization` string, nullable

## Request body

- FirstRunUpdate: PATCH /me/first-run — one transition on the caller's own walkthrough. ``done`` closes a stop for good; it is monotonic and it is the only outcome a REQUIRED stop (welcome, start, practice) stores in its stops map. ``skip_practice`` is an approved physician's separate practice-only opt-out; it records a timestamp without fabricating a completion or dismissing other stops. ``defer`` is Welcome package v2 §1's replacement for ``skip`` on the three OPTIONAL stops, and the difference is the whole point of that PRD: a skip was terminal, so the product asked once and then never again, while a defer means "asked, declined this session" and may be rewritten every session. ``defer`` against a required stop is a 400 — there is no skip control on those screens, and a client that invents one is refused rather than obeyed. ``defer_all`` is the re-entry page's "Go to my cases": every optional stop still open is deferred in one call, so leaving is one request rather than three racing ones. ``skip`` is kept ONLY as a compatibility alias for a cached client still running the previous bundle — it behaves as ``defer`` on an optional stop and is refused on a required one. Removing it outright would 422 every physician with a stale tab open during the deploy. ``dismiss`` collapses the whole checklist without marking the remaining stops done, which is what the "You're all set" line reads from.
  - `action` 'done' | 'skip' | 'skip_practice' | 'defer' | 'defer_all' | 'dismiss' | 'reset', required
  - `stop` 'welcome' | 'start' | 'practice' | 'community' | 'earnings' | 'manual', nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform.md) - [All operations](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/revisions/3514f4e119da?raw)
