# Verify Route: `/register/validate?c=CODE`. API: POST /v1/auth/verify. Opened from the verification email, and submits automatically on load. This is the only full-card spinner in the product. Visual reference: `RenewCMS Screens Auth.dc.html`, groups "Verify". Frames: `AppFrame.dc.html` (shell, sidebar, topbar, drawer) plus the screen frame where listed in components.md. ## Copy per state (generated from the board source, pass 2) Every state below is drawn in light and dark (theme switch on the board), at 1440×900 and 390×844 (both frames sit side by side). Board: `RenewCMS Screens Auth.dc.html`. Copy is exact; where a cell is empty the state reuses the fixed copy. ### Verify account (group "Verify", 6 states) Route: `/register/validate?c=CODE`. API: POST /v1/auth/verify. Opened from the verification email, and submits automatically on load. This is the only full-card spinner in the product. | # | State | Trigger | Copy | |---|---|---|---| | 1 | Verifying | On load, with a code in the URL. | "Verifying your account…" | | 2 | Success | 200 → /home after 800 ms, with a toast. | "Your account is verified" / "Taking you to your dashboard…" / "Welcome to RenewCMS." | | 3 | Invalid or expired (403) | The code is wrong, used, or older than 2 hours. | "This verification link doesn't work" / "It may have expired (links last 2 hours) or already been used." / "Cancel your registration and start over to get a new link." / "Cancel registration and start over" / "Log out" | | 4 | No session (401) | Opened in another browser or device. Log in inline, then verification retries automatically with the same code. | "Log in to finish verifying" / "You opened this link somewhere you're not logged in. Log in here and we'll verify your account right after." / "Log in and verify" | | 5 | No session, retrying | Logged in inline. Now verifying. | "Verifying your account…" | | 6 | Missing code | The link has no ?c= parameter. No request is made. | "This link is incomplete" / "The verification code is missing. Open the link from your email again, or copy the full address into your browser." / "Go to log in" |