Document tri-state health checks, exact login error codes, and rejected-credential replacement - #472
Document tri-state health checks, exact login error codes, and rejected-credential replacement#472masnwilliams wants to merge 1 commit into
Conversation
…ed-credential replacement
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
Checked whether any of this needs executor qualification (CUA-Go vs the CUA-TS executor we're migrating to). It doesn't, and that's deliberate rather than an oversight:
So the contract stays uniform: a caller shouldn't be able to tell which executor ran their login from the error codes or the awaiting-input shape. Executor identity is an internal implementation detail and is documented as such in the engineering README instead. Vercel is red here, but it's red on the four PRs before this one too — pre-existing. Mintlify deploy and broken-links both pass. |
Summary
Three customer-visible behavior changes are landing in managed auth that the docs currently describe incorrectly.
auth/connection-lifecycle.mdxaccount_locked,rate_limited, andwebsite_error, plus a Retried column and recovery steps for the new codes.account_lockedspecifically needs a "don't just call.login()again" note.auth/programmatic.mdxreplace_existing, a new field ondiscovered_fields. When a site explicitly rejects a value, the flow returns toAWAITING_INPUTwith that field flagged instead of failing the whole login, so the client should re-prompt rather than resubmit. Also states that unattended reauth fails withcredentials_invalidinstead of resubmitting, since repeated bad submissions are what lock accounts.auth/faq.mdxScope
replace_existingis already inopenapi.yamlon the API change, so it will be in the generated SDKs. The rest is behavior description, no new surface.Deliberately not included, because they aren't shipped yet: the canonical
fields/choicesawaiting-input contract (programmatic.mdxstill documentsdiscovered_fields/mfa_options/sign_in_options, which remain supported), the typed account-picker blocker, and any change tocan_reauthsemantics. Those need their own pass once the hosted client is released.Ordering
Draft until the API change merges and deploys. Nothing here is true on production yet.