CMS Assets Documentation

CMS Assets is an edge proxy for headless CMS platforms. It caches API responses and media globally, keeps API credentials off the client, and gives every project its own dedicated edge domain.

New here? Start with Getting Started — you'll be up and running in about 5 minutes.


Choose your integration path

CMS Assets supports two modes. They can be used together or independently.

Route all CMS API requests through the edge. Credentials stay server-side, API responses are cached globally, and asset URLs in JSON are rewritten to your edge domain automatically — before your app ever sees them.

Getting Started · API Proxy Overview · Configuring the API Proxy

Asset proxy only

Serve CMS images, videos, and files through your edge domain without touching your CMS API calls. The lighter integration path — useful if you only need media delivery without credential management.

Getting Started · Response Transformer · CLI Agent


How it works

Your app calls your project's edge domain instead of your CMS directly:

# Before
https://api.your-cms.com/...                      ← CMS API (direct)
https://images.your-cms.com/path/to/image.jpg     ← CMS CDN (direct)

# After
https://your-project.cmsassets.com/~api/...                  ← API proxy
https://your-project.cmsassets.com/path/to/image.jpg         ← asset proxy

The edge worker injects credentials server-side, checks the cache, fetches the upstream CMS when needed, rewrites any asset URLs in the JSON response, and returns the result. Your frontend gets clean, proxy-ready data — no credentials in the bundle, no juggling CDN origins.

For the full request-by-request breakdown, see How It Works.


What CMS Assets does

  • Caches at the edge — API responses and assets are cached on Cloudflare's global network. Cache hits return in under 10ms.
  • Keeps credentials off the client — API tokens are stored encrypted on the edge worker. Your browser never sends a credential.
  • Rewrites asset URLs automatically — JSON responses are parsed and image/file URLs are rewritten to your edge domain before they reach your app.
  • Tracks and limits bandwidth — Monitor usage per project, set hard limits, and prevent CDN overage surprises.
  • Serves from your own domain — Default subdomain at your-project.cmsassets.com, or use your own hostname on the Pro plan.
  • Blocks bots and scrapers — Known scrapers are blocked at the edge before they consume your quota.
  • Supports multiple projects — Each project (tenant) has its own isolated domain, config, and usage tracking.

Integrations

CMS / OriginGuide
PrismicPrismic Integration
ContentfulContentful Integration
SanitySanity Integration
StoryblokStoryblok Integration
ShopifyShopify Integration
CloudinaryCloudinary Integration
ImgixImgix Integration
Any HTTPS originGeneric Origin

Reference

Need help understanding this?Ask CMS Assets Copilot about features, setup, or integrations.
Ask Copilot →