Canva Frontend ↔ REST API: Handling Stale Export Status After Design Edits
0 reputation · 06 Oct 2025, 07:35 UTC
Canva Frontend ↔ REST API: Handling Stale Export Status After Design Edits
The goal is to ensure that, immediately after a user edits a design, the UI reflects the current export status rather than a previously cached response.
Canva’s /v1/designs/:id/export endpoint returns JSON with a max‑age of up to 24 hours and does not include stale‑while‑revalidate, so browsers may serve an outdated status when a design has just changed. The unresolved decision is whether Canva should add explicit cache‑busting tokens (e.g., a version query parameter) to these mutable API responses, or rely on clients to send Cache‑Control: no‑cache headers, leaving the behavior dependent on each implementation.
Should Canva append a version token to export API URLs for mutable resources? Should the API require or encourage clients to include Cache‑Control: no‑cache for export status requests? What are the trade‑offs between server‑side cache busting and client‑side header reliance in terms of performance, compatibility, and control?