> 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/historical-data-and-backfill/s3-reference-id-and-backfill-completion.md).

# How do I detect backfill completion with S3 destinations?

**`reference_id` is only populated if you pass it when connecting users** (in the widget session or the `generateAuthToken` call); otherwise it is `null`.

You can still map `user_id` to `reference_id` from the [auth event](https://docs.tryterra.co/health-and-fitness-api/user-authentication/handling-authentication-events) files. Every S3 file is named `{user_id}-{start_time}.json` and carries `user.user_id` in the body.

For S3 there is **no explicit backfill-completion signal** (the `terra-reference` chunk count only applies to webhook destinations). Treat historical files as done once the `start_time` values in the filenames catch up to the present.
