Documentation

Login-readiness diagnostic

AdminUpdated Sep 14, 2026

The login-readiness diagnostic answers one question in a single call: "will a browser sign-in from this origin actually complete?" — and every check reflects the effective runtime value, not a theoretical one. It's the fastest way to resolve the "signed in on Atlas, silently broken on my app" class of failure.

Call it

curl "https://<your-fapi-host>/v1/diagnostics/login_readiness?origin=https://<your-app-origin>" \
  -H "Authorization: Bearer sk_…"

Scope: diagnostics:read (a * key works). origin is the full web origin your app is served from.

Response

{
  "object": "login_readiness",
  "origin": "https://app.acme.com",
  "ready": true,
  "checks": [
    { "name": "cors",              "pass": true, "observed": { "exact_match": true, "same_site_custom_domain": true, "allowed_origins": ["https://app.acme.com"] }, "detail": "…" },
    { "name": "session_cookie",    "pass": true, "observed": { "effective_cookie_domain": ".acme.com", "host_only": false, "frontend_api_host": "auth.acme.com" }, "detail": "…" },
    { "name": "email_provisioning","pass": true, "observed": { "include_email_claim": true, "bapi_email_addresses": true }, "detail": "…" },
    { "name": "token_signing",     "pass": true, "observed": { "issuer": "https://auth.acme.com", "jwks_keys": 1 }, "detail": "…" }
  ]
}

The four checks

Check

Passes when

If it fails

cors

the origin is an exact allowed_origins member, OR shares the registrable domain of a verified custom FAPI/accounts host

add the origin under Customization → Paths & origins

session_cookie

the effective cookie Domain reaches this origin first-party

keep app + FAPI on the same registrable domain; enable cross-subdomain cookies

email_provisioning

the session carries an email claim (or the BAPI exposes email_addresses)

turn on includeEmailClaim, or read email_addresses from the BAPI user object

token_signing

a JWKS signing key is provisioned + the issuer is set

(rare) the instance has no signing key yet

ready: true across all four means a real browser sign-in from that origin completes end to end. A red hop's detail names the exact fix. Run it after any custom-domain change.

Was this page helpful?