HACS has two different data sources it reaches out to for information on what to show you.
- HACS Data
- GitHub REST API
HACS Data is the data source accessible on
data-v2.hacs.xyz with the following structures
<section> is one of
<type> is one of
<type> contains a dictionary data generated from the repositories defined for that
<section> in the
<type> contains a list of the repositories defined for that
<section> in the
- hacs/integration - Generate HACS data
- hacs/default - Upload critical file to R2
- hacs/default - Upload removed file to R2
There are multiple times and actions that will trigger your HACS installation to fetch new information.
During startup, HACS will reach out to HACS Data for all the categories you have enabled, it will also get newly removed repositories.
If you have any custom repositories added to HACS, these will use the GitHub REST API during startup.
If any of your downloaded repositories have been removed as default in HACS, you will be presented with a repair issue stating why it was removed.
Every 6 hours after startup
HACS will reach out to HACS Data for all the categories you have enabled, it will also get newly removed repositories.
If any of your downloaded repositories have an update, their update entity will now show an update.
Every 48 hours after startup
Suppose HACS has yet to fetch the contents of https://data-v2.hacs.xyz/integration/data.json at least once successfully. In that case, it will use the GitHub REST API to refresh information about hacs/integration. If it has fetched one or more successfully, this action is skipped.
If you have downloaded any custom repositories, they will refresh their data using the GitHub REST API.
Browse a repository inside HACS
When you browse a repository inside HACS, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.
Click "Update information" inside HACS
When you click the "Update information" action on the "..." repository menu, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.
Update a downloaded repository
When you update a downloaded repository with the "Update" button in the more info dialog of its update entities or the
update.install service, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.
Custom repositories will always reach out to the GitHub API as the generator action of the HACS data does not know about it.