[{"data":1,"prerenderedAt":362},["ShallowReactive",2],{"docs-\u002F":3},{"id":4,"title":5,"body":6,"description":354,"extension":355,"meta":356,"navigation":357,"path":358,"seo":359,"stem":360,"__hash__":361},"docs\u002Fdocs\u002Findex.md","Cachely Documentation",{"type":7,"value":8,"toc":342},"minimark",[9,13,17,30,33,38,41,46,49,63,67,70,82,84,88,91,102,105,113,115,119,174,176,180,288,290,294],[10,11,5],"h1",{"id":12},"cachely-documentation",[14,15,16],"p",{},"Cachely 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.",[14,18,19,23,24,29],{},[20,21,22],"strong",{},"New here?"," Start with ",[25,26,28],"a",{"href":27},"\u002Fdocs\u002Fgetting-started","Getting Started"," — you'll be up and running in about 5 minutes.",[31,32],"hr",{},[34,35,37],"h2",{"id":36},"choose-your-integration-path","Choose your integration path",[14,39,40],{},"Cachely supports two modes. They can be used together or independently.",[42,43,45],"h3",{"id":44},"api-proxy-asset-proxy-recommended","API Proxy + Asset Proxy (recommended)",[14,47,48],{},"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.",[14,50,51,52,54,55,54,59],{},"→ ",[25,53,28],{"href":27}," · ",[25,56,58],{"href":57},"\u002Fdocs\u002Fapi-proxy-overview","API Proxy Overview",[25,60,62],{"href":61},"\u002Fdocs\u002Fconfiguring-api-proxy","Configuring the API Proxy",[42,64,66],{"id":65},"asset-proxy-only","Asset proxy only",[14,68,69],{},"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.",[14,71,51,72,54,74,54,78],{},[25,73,28],{"href":27},[25,75,77],{"href":76},"\u002Fdocs\u002Fresponse-transformer","Response Transformer",[25,79,81],{"href":80},"\u002Fdocs\u002Fagent","CLI Agent",[31,83],{},[34,85,87],{"id":86},"how-it-works","How it works",[14,89,90],{},"Your app calls your project's edge domain instead of your CMS directly:",[92,93,98],"pre",{"className":94,"code":96,"language":97},[95],"language-text","# Before\nhttps:\u002F\u002Fapi.your-cms.com\u002F...                      ← CMS API (direct)\nhttps:\u002F\u002Fimages.your-cms.com\u002Fpath\u002Fto\u002Fimage.jpg     ← CMS CDN (direct)\n\n# After\nhttps:\u002F\u002Fyour-project.cmsassets.com\u002F~api\u002F...                  ← API proxy\nhttps:\u002F\u002Fyour-project.cmsassets.com\u002Fpath\u002Fto\u002Fimage.jpg         ← asset proxy\n","text",[99,100,96],"code",{"__ignoreMap":101},"",[14,103,104],{},"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.",[14,106,107,108,112],{},"For the full request-by-request breakdown, see ",[25,109,111],{"href":110},"\u002Fdocs\u002Fhow-it-works","How It Works",".",[31,114],{},[34,116,118],{"id":117},"what-cachely-does","What Cachely does",[120,121,122,129,135,141,147,162,168],"ul",{},[123,124,125,128],"li",{},[20,126,127],{},"Caches at the edge"," — API responses and assets are cached on Cloudflare's global network. Cache hits return in under 10ms.",[123,130,131,134],{},[20,132,133],{},"Keeps credentials off the client"," — API tokens are stored encrypted on the edge worker. Your browser never sends a credential.",[123,136,137,140],{},[20,138,139],{},"Rewrites asset URLs automatically"," — JSON responses are parsed and image\u002Ffile URLs are rewritten to your edge domain before they reach your app.",[123,142,143,146],{},[20,144,145],{},"Tracks and limits bandwidth"," — Monitor usage per project, set hard limits, and prevent CDN overage surprises.",[123,148,149,152,153,156,157,161],{},[20,150,151],{},"Serves from your own domain"," — Default subdomain at ",[99,154,155],{},"your-project.cmsassets.com",", or use ",[25,158,160],{"href":159},"\u002Fdocs\u002Fcustom-domains","your own hostname"," on the Pro plan.",[123,163,164,167],{},[20,165,166],{},"Blocks bots and scrapers"," — Known scrapers are blocked at the edge before they consume your quota.",[123,169,170,173],{},[20,171,172],{},"Supports multiple projects"," — Each project (tenant) has its own isolated domain, config, and usage tracking.",[31,175],{},[34,177,179],{"id":178},"integrations","Integrations",[181,182,183,196],"table",{},[184,185,186],"thead",{},[187,188,189,193],"tr",{},[190,191,192],"th",{},"CMS \u002F Origin",[190,194,195],{},"Guide",[197,198,199,211,222,233,244,255,266,277],"tbody",{},[187,200,201,205],{},[202,203,204],"td",{},"Prismic",[202,206,207],{},[25,208,210],{"href":209},"\u002Fdocs\u002Fprismic","Prismic Integration",[187,212,213,216],{},[202,214,215],{},"Contentful",[202,217,218],{},[25,219,221],{"href":220},"\u002Fdocs\u002Fcontentful","Contentful Integration",[187,223,224,227],{},[202,225,226],{},"Sanity",[202,228,229],{},[25,230,232],{"href":231},"\u002Fdocs\u002Fsanity","Sanity Integration",[187,234,235,238],{},[202,236,237],{},"Storyblok",[202,239,240],{},[25,241,243],{"href":242},"\u002Fdocs\u002Fstoryblok","Storyblok Integration",[187,245,246,249],{},[202,247,248],{},"Shopify",[202,250,251],{},[25,252,254],{"href":253},"\u002Fdocs\u002Fshopify","Shopify Integration",[187,256,257,260],{},[202,258,259],{},"Cloudinary",[202,261,262],{},[25,263,265],{"href":264},"\u002Fdocs\u002Fcloudinary","Cloudinary Integration",[187,267,268,271],{},[202,269,270],{},"Imgix",[202,272,273],{},[25,274,276],{"href":275},"\u002Fdocs\u002Fimgix","Imgix Integration",[187,278,279,282],{},[202,280,281],{},"Any HTTPS origin",[202,283,284],{},[25,285,287],{"href":286},"\u002Fdocs\u002Fgeneric-origin","Generic Origin",[31,289],{},[34,291,293],{"id":292},"reference","Reference",[120,295,296,301,308,315,321,328,335],{},[123,297,298,300],{},[25,299,111],{"href":110}," — Architecture and full request flow",[123,302,303,307],{},[25,304,306],{"href":305},"\u002Fdocs\u002Fapi","API Reference"," — Domain-based tenant, billing, usage, admin, and user API docs",[123,309,310,314],{},[25,311,313],{"href":312},"\u002Fdocs\u002Fanalytics","Analytics"," — Cache hit ratios, bandwidth savings, and traffic patterns",[123,316,317,320],{},[25,318,319],{"href":159},"Custom Domains"," — Use your own hostname (Pro plan)",[123,322,323,327],{},[25,324,326],{"href":325},"\u002Fdocs\u002Fbilling","Billing & Plans"," — Free and Pro plan details",[123,329,330,334],{},[25,331,333],{"href":332},"\u002Fdocs\u002Flimits","Limits & Usage"," — Bandwidth tracking and quotas",[123,336,337,341],{},[25,338,340],{"href":339},"\u002Fdocs\u002Ffaq","FAQ"," — Common questions answered",{"title":101,"searchDepth":343,"depth":343,"links":344},2,[345,350,351,352,353],{"id":36,"depth":343,"text":37,"children":346},[347,349],{"id":44,"depth":348,"text":45},3,{"id":65,"depth":348,"text":66},{"id":86,"depth":343,"text":87},{"id":117,"depth":343,"text":118},{"id":178,"depth":343,"text":179},{"id":292,"depth":343,"text":293},"Edge proxy and CDN for headless CMS platforms. Cache API responses globally, keep credentials server-side, and serve media from your own domain. Works with Contentful, Prismic, Sanity, Storyblok, and more.","md",{},true,"\u002Fdocs",{"title":5,"description":354},"docs\u002Findex","-bV7_x_nl4Pwp5NRc6uSWyItwJEQ03d15sQYIXGNuB0",1777579477467]