{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"pattern:versioned-static-assets","label":"Versioned static assets","facet":"pattern","nodeType":"atom","canonicalPath":"/discover/pattern/versioned-static-assets","breadcrumbs":[{"id":"discovery","label":"Agent hosting discovery","canonicalPath":"/discover/discovery","kind":"root"},{"id":"pattern","label":"Architecture and data patterns","canonicalPath":"/discover/pattern","kind":"facet"},{"id":"pattern:cdn-patterns","label":"CDN patterns","canonicalPath":"/discover/pattern/cdn-patterns","kind":"group"},{"id":"pattern:versioned-static-assets","label":"Versioned static assets","canonicalPath":"/discover/pattern/versioned-static-assets","kind":"atom"}],"parents":{"items":[{"id":"pattern:cdn-patterns","label":"CDN patterns","canonicalPath":"/discover/pattern/cdn-patterns","kind":"group"}],"total":1,"offset":0,"limit":100},"children":{"items":[],"total":0,"offset":0,"limit":50},"recipes":{"items":[{"id":"page:migrate:cloudfront-distribution:versioned-static-assets","label":"Migrate CloudFront distribution: Versioned static assets","canonicalPath":"/migrate/cloudfront-distribution/versioned-static-assets","kind":"recipe"},{"id":"page:migrate:cloudflare-cdn-configuration:versioned-static-assets","label":"Migrate Cloudflare CDN configuration: Versioned static assets","canonicalPath":"/migrate/cloudflare-cdn-configuration/versioned-static-assets","kind":"recipe"},{"id":"page:guides:next-js:cdn-assets","label":"Deliver public assets through CDN for Next.js","canonicalPath":"/guides/next-js/cdn-assets","kind":"recipe"},{"id":"page:guides:nuxt:cdn-assets","label":"Deliver public assets through CDN for Nuxt","canonicalPath":"/guides/nuxt/cdn-assets","kind":"recipe"},{"id":"page:guides:sveltekit:cdn-assets","label":"Deliver public assets through CDN for SvelteKit","canonicalPath":"/guides/sveltekit/cdn-assets","kind":"recipe"},{"id":"page:guides:astro:cdn-assets","label":"Deliver public assets through CDN for Astro","canonicalPath":"/guides/astro/cdn-assets","kind":"recipe"},{"id":"page:guides:react-router:cdn-assets","label":"Deliver public assets through CDN for React Router","canonicalPath":"/guides/react-router/cdn-assets","kind":"recipe"},{"id":"page:guides:express:cdn-assets","label":"Deliver public assets through CDN for Express","canonicalPath":"/guides/express/cdn-assets","kind":"recipe"},{"id":"page:guides:fastify:cdn-assets","label":"Deliver public assets through CDN for Fastify","canonicalPath":"/guides/fastify/cdn-assets","kind":"recipe"},{"id":"page:guides:nestjs:cdn-assets","label":"Deliver public assets through CDN for NestJS","canonicalPath":"/guides/nestjs/cdn-assets","kind":"recipe"},{"id":"page:guides:hono:cdn-assets","label":"Deliver public assets through CDN for Hono","canonicalPath":"/guides/hono/cdn-assets","kind":"recipe"},{"id":"page:guides:django:cdn-assets","label":"Deliver public assets through CDN for Django","canonicalPath":"/guides/django/cdn-assets","kind":"recipe"},{"id":"page:guides:fastapi:cdn-assets","label":"Deliver public assets through CDN for FastAPI","canonicalPath":"/guides/fastapi/cdn-assets","kind":"recipe"},{"id":"page:guides:flask:cdn-assets","label":"Deliver public assets through CDN for Flask","canonicalPath":"/guides/flask/cdn-assets","kind":"recipe"},{"id":"page:guides:starlette:cdn-assets","label":"Deliver public assets through CDN for Starlette","canonicalPath":"/guides/starlette/cdn-assets","kind":"recipe"},{"id":"page:guides:laravel:cdn-assets","label":"Deliver public assets through CDN for Laravel","canonicalPath":"/guides/laravel/cdn-assets","kind":"recipe"},{"id":"page:guides:symfony:cdn-assets","label":"Deliver public assets through CDN for Symfony","canonicalPath":"/guides/symfony/cdn-assets","kind":"recipe"},{"id":"page:guides:rails:cdn-assets","label":"Deliver public assets through CDN for Rails","canonicalPath":"/guides/rails/cdn-assets","kind":"recipe"},{"id":"page:guides:sinatra:cdn-assets","label":"Deliver public assets through CDN for Sinatra","canonicalPath":"/guides/sinatra/cdn-assets","kind":"recipe"},{"id":"page:guides:gin:cdn-assets","label":"Deliver public assets through CDN for Gin","canonicalPath":"/guides/gin/cdn-assets","kind":"recipe"},{"id":"page:guides:echo:cdn-assets","label":"Deliver public assets through CDN for Echo","canonicalPath":"/guides/echo/cdn-assets","kind":"recipe"},{"id":"page:guides:spring-boot:cdn-assets","label":"Deliver public assets through CDN for Spring Boot","canonicalPath":"/guides/spring-boot/cdn-assets","kind":"recipe"},{"id":"page:guides:quarkus:cdn-assets","label":"Deliver public assets through CDN for Quarkus","canonicalPath":"/guides/quarkus/cdn-assets","kind":"recipe"},{"id":"page:guides:asp-net-core:cdn-assets","label":"Deliver public assets through CDN for ASP.NET Core","canonicalPath":"/guides/asp-net-core/cdn-assets","kind":"recipe"},{"id":"page:guides:axum:cdn-assets","label":"Deliver public assets through CDN for Axum","canonicalPath":"/guides/axum/cdn-assets","kind":"recipe"},{"id":"page:guides:phoenix:cdn-assets","label":"Deliver public assets through CDN for Phoenix","canonicalPath":"/guides/phoenix/cdn-assets","kind":"recipe"}],"total":26,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":26,"scopeNote":"Architecture pattern to validate. Application code or external services may be needed; not a claimed managed feature.","nextActions":[{"actionId":"browse-catalog","label":"Browse the catalog index","operationId":"catalog_index","method":"GET","relativePath":"/v1/catalog","origin":"api","parameters":{},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"search-recipes","label":"Search published recipes by intent, stack and constraints","operationId":"search_recipes","method":"POST","relativePath":"/v1/catalog/search","origin":"api","parameters":{"body":{"limit":5,"query":"Versioned static assets"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:cloudfront-distribution:versioned-static-assets","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Acloudfront-distribution%3Aversioned-static-assets","origin":"api","parameters":{"recipeId":"page:migrate:cloudfront-distribution:versioned-static-assets"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:cloudflare-cdn-configuration:versioned-static-assets","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Acloudflare-cdn-configuration%3Aversioned-static-assets","origin":"api","parameters":{"recipeId":"page:migrate:cloudflare-cdn-configuration:versioned-static-assets"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:guides:next-js:cdn-assets","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Aguides%3Anext-js%3Acdn-assets","origin":"api","parameters":{"recipeId":"page:guides:next-js:cdn-assets"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:guides:nuxt:cdn-assets","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Aguides%3Anuxt%3Acdn-assets","origin":"api","parameters":{"recipeId":"page:guides:nuxt:cdn-assets"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:guides:sveltekit:cdn-assets","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Aguides%3Asveltekit%3Acdn-assets","origin":"api","parameters":{"recipeId":"page:guides:sveltekit:cdn-assets"},"requiresAuthentication":false,"requiresApproval":false}]}