For the complete documentation index, see llms.txt. This page is also available as Markdown.

Why does user_id not match between UI and webhooks?

This is expected behaviour driven by reference_id.

This is expected behaviour driven by reference_id.

Reauth events are emitted only when the same reference_id is reused for the same provider account; reconnecting with a different reference_id creates a separate user record. On the current API, when the same account reconnects the old user record is deleted and replaced, which can explain UI/webhook mismatches. On the newer API version, same account + same reference_id still triggers reauth, but same account + a different reference_id keeps both records.

The dashboard UI shows the most recent user_id/reference_id for an account, while webhooks continue for every active connection, each keeping its original ids. Always use the user_id and reference_id from the webhook payload for data processing.

Blocking the same account under different reference_ids is not natively supported. To detect that an account was connected before:

1

Query the /athlete endpoint.

2

Compare the provider_user_id (the account's unique id on the provider side).

3

Dedupe or disconnect on your side.

Note that for Apple the provider_user_id is OS-managed and can change on app reinstalls.

Last updated

Was this helpful?