> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/faq/help-topics/data-api-sdk/authentication-users-and-connection-state/userinfo-verification-flow.md).

# How do I verify a connection with userInfo?

**Verify a connection by calling `GET /v2/userInfo` with the `user_id` taken from the `user.user_id` field of the `auth_success` webhook payload**, not the widget redirect URL or your own DB. A "user never existed" result usually means `user_id` was read from the wrong place.

Things to check:

* Ensure the path has **no trailing slash**: `/v2/userInfo`.
* **Look up by `user_id` rather than `reference_id`.** A `reference_id` lookup is heavier (it resolves all matching connections, then fetches full context for each), making it prone to occasional 504s/timeouts, whereas `user_id` resolves a single connection directly.
* Call Terra **from your backend, not a mobile app bundle**, to avoid exposing your API key.

See [handling authentication events](https://docs.tryterra.co/health-and-fitness-api/user-authentication/handling-authentication-events) for the `auth_success` payload.
