Skip to content
Documentation

Getting started

Put a hostname behind the edge in about five minutes. You keep your origin; we sit in front, cache, and serve over HTTPS.

Quick start

Install the CLI or use the dashboard — either way the flow is the same: create a zone, point DNS, done. During the beta the CLI is handed out with your invite.

shell
# 1. create a zone for the hostname you want to accelerate
utya zones create assets.example.com \
  --origin https://origin.example.com

# 2. utya prints the CNAME target to add at your DNS provider
 add assets.example.com CNAME edge.utyacdn.com.

Pointing DNS

Add a single CNAME from the hostname you want to accelerate to your edge target. We watch for the record, issue a certificate over ACME, and start serving once it validates — usually within a couple of minutes.

dns
# zone file excerpt
assets   300  IN CNAME  edge.utyacdn.com.

# verify propagation
dig +short assets.example.com
 edge.utyacdn.com.
 94.228.170.55

Apex domains that cannot take a CNAME can delegate a subdomain or use our nameservers. See the API reference for programmatic zone management.

Cache behaviour

Utya CDN is origin-directed: your Cache-Control headers decide what gets cached and for how long. We add stale-while-revalidate support so a revalidation never blocks a user, and we surface a hit/miss header so you can see what the edge is doing.

http
# your origin stays in control — we honour these
Cache-Control: public, max-age=86400, stale-while-revalidate=600
ETag: "a1b2c3"
Vary: Accept-Encoding

# the edge adds a hit/miss indicator on the way back
X-Cache: HIT
X-Edge-Location: eu3

Purging

Purge by exact path, by prefix, or by cache tag. Purges fan out to every PoP and typically complete in a few seconds. Wire this into your deploy step so a release invalidates only what changed.

bash
# purge specific paths
curl -X POST https://api.utyacdn.com/v1/zones/$ZONE/purge \
  -H "Authorization: Bearer $UTYA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"paths":["/app.css","/app.js"]}'

# or purge everything under a prefix
  -d '{"prefixes":["/static/"]}'

Changelog

  • 2026-08   Public beta opens — EU core live, status API, tag-based purge.
  • 2026-08   Real-time per-zone log streaming enters beta.
  • 2026-08   HTTP/3 (QUIC) enabled on all three PoPs.

Read the API reference