> 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/connecting/end-user-authentication-and-sso/backend-only-auth-link-flow.md).

# How do I generate a per-user auth URL backend-only?

For a backend-only setup with no frontend:

{% stepper %}
{% step %}
Your server calls `POST /v2/auth/generateWidgetSession` with a `reference_id` and success/failure redirect URLs. The response `url` is the link you email the user.
{% endstep %}

{% step %}
The link **expires in \~15 minutes**, so generate it close to send time.
{% endstep %}

{% step %}
To skip the provider selection screen and go straight to one provider, use `POST /v2/auth/authenticateUser?resource=PROVIDER` instead, which returns an `auth_url` to the provider login.
{% endstep %}

{% step %}
After the user authenticates, **data flows to your configured destination automatically**.
{% endstep %}
{% endstepper %}

See the [authentication flow](https://docs.tryterra.co/health-and-fitness-api/user-authentication/authentication-flow) for the full walkthrough.
