CDN, cache en logs
CDN-configuratie, cachelagen, edge rules en toegangslogs per site. Alle endpoints zijn genest onder een site en draaien op Bunny.
OAuth-scopes: lezen vereist sites:read, schrijven vereist sites:write
(deletes vereisen daarnaast de can_destroy-rol). Endpoints die met Bunny
communiceren retourneren 409 cdn_not_active wanneer de site geen pull
zone heeft, en 502 bij een upstream Bunny-fout.
CDN-status
GET /api/sites/:site_id/cdn
Status en configuratie van de Bunny pull zone. Retourneert 409 cdn_not_active
als er geen pull zone is.
Geretourneerde params
- active: Boolean
- cdn_type: String | "premium" of "volume"
- optimizer_enabled: Boolean
- origin_url: String
- origin_type: Integer
- enable_logging: Boolean
- origin_shield_enabled: Boolean
- auto_ssl: Boolean
- cache_control_max_age_override: Integer
- smart_cache: Boolean
- cache_enabled: Boolean
- hostnames:
Array<Object>- value: String
- force_ssl: Boolean
- has_certificate: Boolean
- is_system_hostname: Boolean
Caching-instellingen
De caching-configuratie van de pull zone (smart cache, verlooptijden,
vary-toggles, stale-while-). Onderscheiden van het beheer van de Cache-laag
hieronder (dat redis/nginx/bunny in- of uitschakelt). Vereist CDN actief*
(409 cdn_not_active). Synchroon; upstream-fouten retourneren 502.
Caching-instellingen ophalen
GET /api/sites/:site_id/cdn/caching
Scope sites:read.
Geretourneerde params
- smart_cache: Boolean
- cache_expiration: Integer | edge-cache-TTL in seconden;
-1= volg origin,0= niets cachen - browser_cache_expiration: Integer | browser-cache-TTL in seconden
- query_string_ordering: Boolean
- cache_error_responses: Boolean
- vary_avif / vary_webp / vary_mobile / vary_hostname: Boolean
- vary_country_code / vary_country_state_code / vary_cookie: Boolean
- cookie_vary_parameters:
Array<String> - query_string_vary_parameters:
Array<String> - disable_cookies: Boolean
- cache_slice: Boolean
- stale_while_offline / stale_while_updating: Boolean
Caching-instellingen bijwerken
PATCH /api/sites/:site_id/cdn/caching
Scope sites:write. Partial update — alleen de keys die je verstuurt worden
geschreven. Retourneert de ververste instellingen (zelfde vorm als de GET hierboven).
Params
- Elk van de hierboven geretourneerde velden. Scalars en booleans worden as-is verstuurd;
cookie_vary_parametersenquery_string_vary_parameterszijnArray<String>.
De cache leegmaken
POST /api/sites/:site_id/cdn/caching/purge
Scope sites:write (en de can_modify-rol). Maakt de volledige pull-zone-cache
leeg. Synchroon.
Cache
Het :type-segment is de cachelaag: redis, nginx, bunny, of all
(verdeelt over elke laag). Een onbekend type retourneert 422
{"error":"unknown_cache_type","allowed":[...]}.
Cachestatus
GET /api/sites/:site_id/cache
Geretourneerde params
- bunny: Boolean | Bunny CDN-cache ingeschakeld
- nginx: Boolean
- redis: Boolean
Een cachelaag inschakelen
PATCH /api/sites/:site_id/cache/:type
Async — retourneert 202 met de te pollen taak.
Geretourneerde params
- task_id: Integer
- status: String |
"PENDING" - cache_type: String
Een cachelaag uitschakelen
DELETE /api/sites/:site_id/cache/:type
Async — retourneert 202 (zelfde vorm als inschakelen). Vereist de can_destroy-rol.
Een cachelaag leegmaken
DELETE /api/sites/:site_id/cache/:type/purge
Async — retourneert 202 (zelfde vorm als inschakelen). Vereist de
can_modify (bewerk)-rol.
Edge rules
Bunny edge rules voor de site. Vereist CDN actief (409 cdn_not_active).
Alle acties zijn synchroon en geven Bunny's response door. :id is de
Guid van de rule.
Edge rules weergeven
GET /api/sites/:site_id/edge_rules
Een edge rule aanmaken
POST /api/sites/:site_id/edge_rules
Retourneert 201. Laat Guid weg om aan te maken; een opnieuw uitgevoerde
create is niet idempotent (Bunny maakt een duplicaat) — stuur een Guid (of
gebruik PATCH) om ter plekke bij te werken.
Params (verpakt in edge_rule)
- Guid: String | weglaten om aan te maken
- ActionType: Integer | 0–34 (bijv. 0 = ForceSSL, 1 = Redirect, 2 = OriginUrl, 4 = BlockRequest, 5 = SetResponseHeader, 23 = DisableWAF, 28 = DisableShield)
- ActionParameter1 / ActionParameter2 / ActionParameter3: String
- TriggerMatchingType: Integer | hoe de triggers van de rule combineren: 0 = match any, 1 = match all, 2 = match none
- Description: String
- Enabled: Boolean
- OrderIndex: Integer
- Triggers:
Array<Object>- Type: Integer | 0 = Url, 1 = RequestHeader, 2 = ResponseHeader, 3 = UrlExtension, 4 = CountryCode, 5 = RemoteIP, 6 = UrlQueryString, 7 = RandomChance, 8 = StatusCode, 9 = RequestMethod, 10 = CookieValue, 11 = CountryStateCode
- PatternMatchingType: Integer | hoe de waarden van deze conditie combineren: 0 = match any, 1 = match all, 2 = match none
- Parameter1: String
- PatternMatches:
Array<String>| maximaal 5 waarden per conditie (Bunny's maximum per conditie)
- ExtraActions:
Array<Object>- ActionType: Integer
- ActionParameter1 / ActionParameter2 / ActionParameter3: String
Systeembeheerde rules (Description met prefix CPRESS -) worden uit de lijst
gefilterd en zijn niet door de klant te bewerken.
Een edge rule bijwerken
PATCH /api/sites/:site_id/edge_rules/:id
De Guid wordt uit de URL gehaald. Retourneert 200. Volledige
vervanging — velden die je weglaat worden gewist, dus stuur de complete rule.
Een edge rule in-/uitschakelen
PATCH /api/sites/:site_id/edge_rules/:id/enabled
Params
- enabled: Boolean
Een edge rule verwijderen
DELETE /api/sites/:site_id/edge_rules/:id
Retourneert 204. Vereist de can_destroy-rol.
Logs
Vereisen CDN actief (409 cdn_not_active).
CDN-toegangslogs
GET /api/sites/:site_id/logs/cdn
Params (allemaal optioneel)
- from: String | ISO8601-datetime (standaard: 24 uur geleden)
- to: String | ISO8601-datetime (standaard: nu)
- period: String | vooraf ingesteld venster —
1h,6h,24h,72h. Alleen gebruikt wanneer zowelfromalstoleeg zijn. Onbekende waarden → 422. - status: String | filter op HTTP-statuscode
- cache_status: String | filter op cachestatus
- country: String | filter op tweeletterige landcode
- url_contains: String | filter op URL-substring
- limit: Integer | max resultaten (standaard: 100, max: 1000)
- offset: Integer | paginatie-offset (standaard: 0)
- order: String |
ascofdesc(standaard:desc)
Fouten
- 422 |
invalid_period,invalid_range, ofrange_exceeds_3_days - 502 | upstream-fout
CDN-logsamenvatting
GET /api/sites/:site_id/logs/cdn/summary
Geaggregeerde statistieken over dezelfde filters als het endpoint voor CDN-toegangslogs.
Origin-logs
GET /api/sites/:site_id/logs/origin
Params
- date: String | datum geaccepteerd door Bunny (optioneel)