# \[Question\] How to control cache (Cache-Control) for files uploaded to the Files tool

**URL:** <https://community.hubspot.com/t/files-cache-control/153598>\
**Category:** CMS Development\
**Created:** [July 21, 2026, 1:23am UTC](https://community.hubspot.com/t/files-cache-control/153598 "2026-07-21T01:23:55Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![muramasa](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@muramasa](https://community.hubspot.com/u/muramasa)\
**Post date:** [July 21, 2026, 1:23am UTC](https://community.hubspot.com/t/files-cache-control/153598/1 "2026-07-21T01:23:55Z")

</div>

Hello,

I am currently using JSON files uploaded to HubSpot’s Files tool, reading them from our own app, and using them to control the display of the “New Arrivals” popup within the app.

■ The Issue  
Upon checking the response headers for the file, I found that it is cached with `max-age=1209600` (2 weeks).

As a result, even when I update the file’s content, the changes are not reflected immediately on users’ devices, making it impossible to trigger the new arrivals popup at the intended time.

■ Desired State  
• I would like to shorten `Cache-Control` to `no-cache` or approximately `max-age=86400` (1 day).  
• Alternatively, I am interested in any workarounds that could achieve a similar effect.

■ Support Inquiry Results  
I contacted HubSpot Support, but they stated that “there is currently no feature to individually configure Cache-Control for files uploaded to Files,” so I did not receive a clear solution.

■ Question  
Has anyone else used Files as a data source for external apps and faced issues with immediate reflection of updates?

I am currently considering the following two workarounds, but I would appreciate any advice if there is a better approach.

1. Re-upload the file each time with a versioned filename (e.g., `data_20260721.json`)
2. Append a query parameter to the reference URL on the app side (e.g., `data.json?v=20260721`)

If you have experience with similar use cases, I would greatly appreciate your insights.

Thank you.

---

<div class="post-metadata">

**Author:** ![Berangere](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/berangere/32/220784_2.png) [@Berangere](https://community.hubspot.com/u/Berangere)\
**Post date:** [July 21, 2026, 7:55am UTC](https://community.hubspot.com/t/files-cache-control/153598/2 "2026-07-21T07:55:47Z")

</div>

Hi @muramasa and welcome, it’s a pleasure to have you here!

Thanks for reaching out to the HubSpot Community!

I can confirm that, at the moment, the files tool serves files via CDN with automatic browser and server caching, and there’s no way to configure Cache-Control per file.

I’ve noticed a similar idea already present in our Ideas Forum: [Website/landing pages should link to latest file version](https://community.hubspot.com/t/website-landing-pages-should-link-to-latest-file-version/88526) . To contribute, you can upvote the existing idea and share more details about your specific use case in the comments.

As an alternative, instead of a static JSON file, you could be storing your “New Arrivals” config data in a [HubDB table](https://developers.hubspot.com/docs/cms/start-building/features/storage/hubdb). You can query it externally via the [HubDB API](https://developers.hubspot.com/docs/api-reference/legacy/cms/hubdb/guide), and since it’s an API response (not a CDN-cached static file), updates are reflected immediately after publishing the table.

I’d love to hear from our Top Experts: Hi @Makoto, @marykashima and @skimura can you think of other workarounds to help @muramasa, please?

Thanks so much and have a lovely day!  
Bérangère

_This post was created with the assistance of AI tools_

---

<div class="post-metadata">

**Author:** ![danielsinewe](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/danielsinewe/32/20100_2.png) [@danielsinewe](https://community.hubspot.com/u/danielsinewe)\
**Post date:** [July 21, 2026, 10:18am UTC](https://community.hubspot.com/t/files-cache-control/153598/4 "2026-07-21T10:18:46Z")

</div>

Since Support already confirmed the file headers are not configurable, I wouldn’t try to use Files as the live control plane for this popup.

If you keep the JSON in Files, the safer workaround is to make the app request a versioned config URL and change that URL whenever the popup content changes, for example `new-arrivals.v2026-07-21.json` or a `?v=2026-07-21-1` query string if your consuming path respects query strings. That works with the two-week cache instead of fighting it: old requests may keep the old config, but new requests point at a fresh object.

For same-day campaign timing, HubDB or a small API endpoint is the cleaner fit. I’d only use Files when some staleness is acceptable.

Disclosure: drafted with AI assistance.

---

<div class="post-metadata">

**Author:** ![Navya\_21](https://avatars.discourse-cdn.com/v4/letter/n/c2a13f/32.png) [@Navya\_21](https://community.hubspot.com/u/Navya_21)\
**Post date:** [July 21, 2026, 10:27am UTC](https://community.hubspot.com/t/files-cache-control/153598/5 "2026-07-21T10:27:58Z")

</div>

I’ve run into the same caching issue. Using versioned filenames or appending query parameters has worked well for me to force refreshes, since HubSpot doesn’t let us change Cache-Control directly. Both approaches are simple and reliable.

---

<div class="post-metadata">

**Author:** ![muramasa](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@muramasa](https://community.hubspot.com/u/muramasa)\
**Post date:** [July 21, 2026, 11:13am UTC](https://community.hubspot.com/t/files-cache-control/153598/6 "2026-07-21T11:13:28Z")

</div>

Thank you! It seems that specifying query parameters can solve the issue!

---

<div class="post-metadata">

**Author:** ![muramasa](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@muramasa](https://community.hubspot.com/u/muramasa)\
**Post date:** [July 21, 2026, 11:13am UTC](https://community.hubspot.com/t/files-cache-control/153598/7 "2026-07-21T11:13:59Z")

</div>

Thank you! It looks like I can resolve it by specifying query parameters!!!

---

<div class="post-metadata">

**Author:** ![muramasa](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@muramasa](https://community.hubspot.com/u/muramasa)\
**Post date:** [July 21, 2026, 11:15am UTC](https://community.hubspot.com/t/files-cache-control/153598/8 "2026-07-21T11:15:32Z")

</div>

Thank you! It looks like specifying query parameters can solve it!!!

---

<div class="post-metadata">

**Author:** ![Kavya\_H\_N](https://avatars.discourse-cdn.com/v4/letter/k/90db22/32.png) [@Kavya\_H\_N](https://community.hubspot.com/u/Kavya_H_N)\
**Post date:** [July 22, 2026, 5:01am UTC](https://community.hubspot.com/t/files-cache-control/153598/9 "2026-07-22T05:01:32Z")

</div>

I learned something new from this post. Caching improves performance, but having more control over cache duration would be very helpful for external app integrations.

---

<div class="post-metadata">

**Author:** ![system](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/system/32/124_2.png) [@system](https://community.hubspot.com/u/system)\
**Post date:** [July 22, 2026, 7:00am UTC](https://community.hubspot.com/t/files-cache-control/153598/10 "2026-07-22T07:00:36Z")

</div>

Automatically bumped on July 22, 2026, 7:00am UTC


